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