“串口下載”是大多數(shù)工程師最早接觸的程序下載方式,,尤其是一開始使用51單片機的工程師們,。隨著硬件集成度越來越高,芯片資源不斷被壓縮,,工程師也想到了另一種“串口下載”方式,,只需一根數(shù)據(jù)線即可,。
隨著半導(dǎo)體行業(yè)的飛速發(fā)展,芯片集成度越來越高,,隨之研發(fā)設(shè)計出來的PCBA大小已經(jīng)能和硬幣比肩,,功能卻一點都沒有受到影響,是如何做到的呢,?在不影響功能的情況下盡量裁剪硬件資源,,這是每個工程師都頭疼的問題,關(guān)鍵在于裁剪后如何保證編程能夠正常進行,。
編程接口多種多樣,,包括工程師們熟悉的UART、I2C,、SPI,、SWD等,一般需要2-6根線進行燒錄,,而其中有一種編程接口只需要一根數(shù)據(jù)線即可實現(xiàn)程序的燒寫,這對必須盡量壓縮硬件資源的工程師來說是一個很好的消息,。
圖1 硬幣大小的PCBA
如圖硬幣大小的PCBA如今并不少見,,要在如此小的體積上集成完善的功能,硬件資源復(fù)用或壓縮是一種可靠的手段,,其中使用盡可能少的接口完成編程動作可以達到壓縮硬件資源的目的,。
單線串口
單纖串口是串行接口的一種通訊方式,。串行接口 (Serial Interface) 是指數(shù)據(jù)一位一位地順序傳送,其特點是通信線路簡單,,只要一對傳輸線就可以實現(xiàn)雙向通信(可以直接利用電話線作為傳輸線),,從而大大降低了成本,特別適用于遠距離通信,,但傳送速度較慢,。一條信息的各位數(shù)據(jù)被逐位按順序傳送的通訊方式稱為串行通訊。串行通訊的特點是:數(shù)據(jù)位的傳送,,按位順序進行,,最少只需一根傳輸線即可完成。
圖 2 串行數(shù)據(jù)幀
l單線串口:全稱為“單線異步串行通訊接口”,,本文中簡稱為“單線串口”,。
l標(biāo)準(zhǔn)串口:全稱為“標(biāo)準(zhǔn)異步串行通訊接口”,本文中簡稱為“標(biāo)準(zhǔn)串口”,。
單線串口與標(biāo)準(zhǔn)串口均使用一樣的通訊協(xié)議,,區(qū)別在于標(biāo)準(zhǔn)串口使用兩根數(shù)據(jù)線通訊(TXD和RXD),單線串口只有一根數(shù)據(jù)線來同時兼?zhèn)浒l(fā)送和接收功能,。因此,,單線串口采用半雙工的通訊方式,具體的單線串口接線圖可參考下圖所示,。
圖 3 單線串口接線示意圖
從圖中可以看出,,只需接入四根線(MOD,/RESET,,VCC,,GND)就可以進行程序燒寫了。其中只有一根為數(shù)據(jù)線,,用于收發(fā)數(shù)據(jù),。
芯片內(nèi)標(biāo)示的這個通訊口(MOD/IO)還可以被用來做工作模式選擇,比如在上電復(fù)位的同時,,檢測MOD管腳的輸入時序波形,,根據(jù)這個時序波形判斷進入到不同的工作模式,比如進入單線串口編程模式,。進入單線串口編程模式后,,MOD管腳的功能即轉(zhuǎn)換為數(shù)據(jù)通訊。這樣可以最大化的減少程序燒寫所使用的編程口線,,達到進一步壓縮硬件資源的目的,。