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