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