UART產生于上個世紀70年代,是第一塊大規模集成電路。1981年的推出的IBM PC采用了8250 UART與外設進行數據通信,直到上個世紀末,UART一直是PC中最主要的串行通信接口。隨著高速串行總線USB的出現,USB以其諸多的優點取代了UART成為個人電腦中應用最廣泛的串行接口。
而在嵌入式領域,由于UART具有操作簡單、工作可靠、抗干擾強、傳輸距離遠(組成485網絡可以傳輸1,200米以上),設計人員普遍認為UART是從CPU或微控制器向系統的其他部分傳輸數據的最佳方式,因此它們被大量地應用在工業、通信和家電控制等嵌入式領域。通常MCU/CPU都會自帶一個UART串口,但實際應用中一個串口往往不夠用,需要進行UART串口擴展。
圖1
截止到目前,全球范圍內有超過40種UART器件可以選擇,大多數UART器件是以計算機總線轉換UART為應用基礎的,其通用性、管腳、寄存器與20年前很少改變。針對嵌入式應用,目前的UART器件普遍存在操作復雜、引腳多、價格昂貴等弱點,不能滿足和適應的嵌入式系統的需要。
VK系列UART器件
維肯公司針對嵌入式系統中UART的發展趨勢,設計推出了VK32xx系列新型多總線接口UART器件,其特點為:
1. 支持8位并行總線、SPI總線、UART等多種主機總線接口。其中,8位并行總線接口產品可以替代目前廣泛使用的16C55x系列UART用于為8位、16位、32位MCU進行UART串口擴展。VK32系列8位并行總線接口UART產品采用了精簡控制寄存器設計,并通過管腳復用減少了芯片管腳,簡化的軟件設計和PCB設計都更適合嵌入式系統需求。
SPI接口總線系列產品為帶有SPI接口的DSP、MCU實現同步SPI串口到異步UART串口的橋接和擴展,尤其針對目前廣泛應用的DSP系統,大多數DSP都只有同步串口,只能用于與具有同步通信接口的外設進行通信。VK32系列SPI總線接口產品可以將一個SPI同步串行接口橋接/擴展成為1~4個通用異步串口,方便實現DSP和外設的異步串行通信。
UART接口產品創新地實現了將一個標準3線UART擴展成為2~4個增強功能UART。芯片內置的UART擴展協議處理邏輯,無需其它的地址信號和控制信號線就可以實現多個獨立配置的全雙工串口擴展,為需要擴展串口的嵌入式系統提供了一個最簡潔的解決方案。
圖2 VK32系列產品在嵌入式稅控POS平臺設計中的應用
2. 支持高速傳輸。每個子波特率可以獨立設置子串口最高通信速度可以達到920kbps(5V工作電壓),主機支持的SPI總線最高傳輸速率為4Mbps,主機8位并行總線的最高傳輸速率為10Mbps。
3. 寬工作電壓和低功耗設計。考慮到目前嵌入式領域中新型的DSP/FPGA的工作電壓大多為2.5V,而大量的工業控制領域的MCU仍然需要在5V電壓下工作,VK32系列UART設計的工作電壓范圍為2.5V~5.5V。同時,該系列芯片可以工作在自動休眠和喚醒模式下,有效地降低功耗。
4. 完善的FIFO功能。每個通道獨立的16級接收和發送FIFO,每個FIFO有4個可編程觸發點設置。完善的FIFO功能可以進行發送/接收的數據緩沖,減少DSP/CPU對數據傳輸的操作,提高CPU/DSP的效率和數據傳輸的可靠性。
5. 子串口通道具備軟件或硬件自動流量控制,滿足高速數據傳輸中流量控制的需要。
6. 子串口具備可編程的硬件RS-485自動控制功能和自動9位網絡地址識別功能,大大降低處理器的負擔,尤其適用于工業RS-485組網。
7. 每個通道具備獨立可控的數據廣播接收功能,可以應用于需要數據廣播傳輸和控制的嵌入式系統中。
8. 所有UART(包括UART主接口和子通道UART)都支持IrDA紅外通信。
VK系列UART器件的原理及框圖
VK3200是VK32系列中功能最全的型號,本文以VK3200的原理圖為基礎,對VK32系列UART芯片原理進行介紹。VK3200內部結構包括主機接口、子通道部分、MODEM控制邏輯、中斷控制邏輯幾部分。主機接口為VK3200與CPU/DSP相連的接口,通過M1、MO模式選擇信號線,可以分別選擇8位并行總線、SPI總線和UART三種接口與主機相連;MODEM控制邏輯用于與MODEM相連時的狀態信號線的監控和控制;中斷控制邏輯用于產生和控制各種內部中斷。
時鐘發生器為芯片提供時鐘,可以用CLKSEL引線選擇從晶振還是外部時鐘源獲取時鐘。子通道邏輯部分處理各個的數據接收和發送。數據發送的處理過程為:主機接口將從主口總線發送來的數據進行處理后傳送到相應的子通道FIFO,FIFO里的數據經過流量控制邏輯后,在波特率發生器的作用下,通過發送移位寄存器順次將數據發送到TX串行輸出信號線上,接收數據與此正好相反。子通道處理模塊中,控制寄存器用于對各個子通道進行設置,IR編解碼器用于對紅外信號進行編解碼,子通道流量控制器用于子通道傳輸數據時的自動流量控制。
在嵌入式系統中的應用
VK系列UART器件的在嵌入式產品中的應用領域包括:多串口服務器/多串口卡,工業/自動化現場RS-485控制,使用CDMA/GPRS MODEM的無線數據傳輸,車載信息平臺/車載GPS定位系統,遠傳自動抄表(AMR)系統,稅控POS/銀行終端等金融機具,DSP數據采集和傳輸系統等。其應用實例如下:
1. 在稅控POS中的應用
稅控POS機是一個控制密集形的嵌入式系統,需要控制大量外設。其基本配置要求的串口打印機、MODEM、RS-485網絡接口,以及稅控IC卡(異步卡)都工作在基于UART的串行通信方式。同時,大量的外設如密碼鍵盤、條碼掃描器、條碼稱、接觸IC卡/非接觸IC卡讀卡器、磁卡讀卡器、串口顯示屏等設備都是通過RS-232串口與POS機相連。
采用VK32xx系列UART器件可以根據MCU/CPU的接口特性,選擇SPI/8位并行總線/UART進行靈活的UART串口擴展。該方案與采用目前GPIO來模擬串口的方案相比,占用CPU的I/O和資源都很少,即使普通的8位MCU也可以勝任。同時,擴展的子串口都是標準的硬件UART,使得數據傳輸也更加可靠。
2. 在遠程自動抄表系統中的應用
如圖3所示,遠傳自動抄表系統由遠傳表和集中抄表器以及MODEM等部分組成。
圖3 VK32系列產品在遠程自動抄表系統設計中的應用
在遠傳表中,應用VK3212雙串口擴展IC將單片機的一個UART擴展成兩個UART,擴展出來的兩個串口UART1和UART2分別接RS-485/M-BUS接口和紅外接口。VK3212的UART1設置為RS-485自動收發和RS-485網絡模式,可以無需MCU的控制,自動完成RS-485/M-BUS的數據自動收發和自動網絡地址識別。VK3212的UART2設置為紅外模式,用于連接遠傳表的紅外設置窗口。