本文介紹了專為嵌入式系統(tǒng)設(shè)計的VK32系列新型多總線接口通用異步串行收發(fā)接器(UART)器件的原理以及在稅控POS,、遠程自動抄表系統(tǒng),、嵌入式車載信息平臺和串口服務(wù)器中的應(yīng)用技術(shù)。
UART產(chǎn)生于上個世紀70年代,,是第一塊大規(guī)模集成電路,。1981年的推出的IBM PC采用了8250 UART與外設(shè)進行數(shù)據(jù)通信,直到上個世紀末,,UART一直是PC中最主要的串行通信接口,。隨著高速串行總線USB的出現(xiàn),,USB以其諸多的優(yōu)點取代了UART成為個人電腦中應(yīng)用最廣泛的串行接口。
而在嵌入式領(lǐng)域,,由于UART具有操作簡單,、工作可靠、抗干擾強,、傳輸距離遠(組成485網(wǎng)絡(luò)可以傳輸1,200米以上),,設(shè)計人員普遍認為UART是從CPU或微控制器向系統(tǒng)的其他部分傳輸數(shù)據(jù)的最佳方式,因此它們被大量地應(yīng)用在工業(yè),、通信和家電控制等嵌入式領(lǐng)域,。通常MCU/CPU都會自帶一個UART串口,但實際應(yīng)用中一個串口往往不夠用,,需要進行UART串口擴展,。
截止到目前,全球范圍內(nèi)有超過40種UART器件可以選擇,,大多數(shù)UART器件是以計算機總線轉(zhuǎn)換UART為應(yīng)用基礎(chǔ)的,,其通用性、管腳,、寄存器與20年前很少改變,。針對嵌入式應(yīng)用,目前的UART器件普遍存在操作復(fù)雜,、引腳多,、價格昂貴等弱點,不能滿足和適應(yīng)的嵌入式系統(tǒng)的需要,。
VK系列UART器件
維肯公司針對嵌入式系統(tǒng)中UART的發(fā)展趨勢,,設(shè)計推出了VK32xx系列新型多總線接口UART器件,其特點為:
1. 支持8位并行總線,、SPI總線,、UART等多種主機總線接口。其中,,8位并行總線接口產(chǎn)品可以替代目前廣泛使用的16C55x系列UART用于為8位,、16位、32位MCU進行UART串口擴展,。VK32系列8位并行總線接口UART產(chǎn)品采用了精簡控制寄存器設(shè)計,,并通過管腳復(fù)用減少了芯片管腳,簡化的軟件設(shè)計和PCB設(shè)計都更適合嵌入式系統(tǒng)需求,。
SPI接口總線系列產(chǎn)品為帶有SPI接口的DSP,、MCU實現(xiàn)同步SPI串口到異步UART串口的橋接和擴展,尤其針對目前廣泛應(yīng)用的DSP系統(tǒng),,大多數(shù)DSP都只有同步串口,,只能用于與具有同步通信接口的外設(shè)進行通信,。VK32系列SPI總線接口產(chǎn)品可以將一個SPI同步串行接口橋接/擴展成為1~4個通用異步串口,方便實現(xiàn)DSP和外設(shè)的異步串行通信,。
UART接口產(chǎn)品創(chuàng)新地實現(xiàn)了將一個標準3線UART擴展成為2~4個增強功能UART,。芯片內(nèi)置的UART擴展協(xié)議處理邏輯,無需其它的地址信號和控制信號線就可以實現(xiàn)多個獨立配置的全雙工串口擴展,,為需要擴展串口的嵌入式系統(tǒng)提供了一個最簡潔的解決方案,。
2. 支持高速傳輸。每個子波特率可以獨立設(shè)置子串口最高通信速度可以達到920kbps(5V工作電壓),,主機支持的SPI總線最高傳輸速率為4Mbps,,主機8位并行總線的最高傳輸速率為10Mbps。
3. 寬工作電壓和低功耗設(shè)計,??紤]到目前嵌入式領(lǐng)域中新型的DSP/FPGA的工作電壓大多為2.5V,而大量的工業(yè)控制領(lǐng)域的MCU仍然需要在5V電壓下工作,,VK32系列UART設(shè)計的工作電壓范圍為2.5V~5.5V,。同時,該系列芯片可以工作在自動休眠和喚醒模式下,,有效地降低功耗,。
4. 完善的FIFO功能,。每個通道獨立的16級接收和發(fā)送FIFO,,每個FIFO有4個可編程觸發(fā)點設(shè)置。完善的FIFO功能可以進行發(fā)送/接收的數(shù)據(jù)緩沖,,減少DSP/CPU對數(shù)據(jù)傳輸?shù)牟僮?,提高CPU/DSP的效率和數(shù)據(jù)傳輸?shù)目煽啃浴?br />
5. 子串口通道具備軟件或硬件自動流量控制,滿足高速數(shù)據(jù)傳輸中流量控制的需要,。
6. 子串口具備可編程的硬件RS-485自動控制功能和自動9位網(wǎng)絡(luò)地址識別功能,,大大降低處理器的負擔,尤其適用于工業(yè)RS-485組網(wǎng),。
7. 每個通道具備獨立可控的數(shù)據(jù)廣播接收功能,,可以應(yīng)用于需要數(shù)據(jù)廣播傳輸和控制的嵌入式系統(tǒng)中。
8. 所有UART(包括UART主接口和子通道UART)都支持IrDA紅外通信,。
VK系列UART器件的原理及框圖
VK3200是VK32系列中功能最全的型號,,本文以VK3200的原理圖為基礎(chǔ),對VK32系列UART芯片原理進行介紹,。VK3200內(nèi)部結(jié)構(gòu)包括主機接口,、子通道部分、MODEM控制邏輯,、中斷控制邏輯幾部分,。主機接口為VK3200與CPU/DSP相連的接口,,通過M1、MO模式選擇信號線,,可以分別選擇8位并行總線,、SPI總線和UART三種接口與主機相連;MODEM控制邏輯用于與MODEM相連時的狀態(tài)信號線的監(jiān)控和控制,;中斷控制邏輯用于產(chǎn)生和控制各種內(nèi)部中斷,。
時鐘發(fā)生器為芯片提供時鐘,可以用CLKSEL引線選擇從晶振還是外部時鐘源獲取時鐘,。子通道邏輯部分處理各個的數(shù)據(jù)接收和發(fā)送,。數(shù)據(jù)發(fā)送的處理過程為:主機接口將從主口總線發(fā)送來的數(shù)據(jù)進行處理后傳送到相應(yīng)的子通道FIFO,F(xiàn)IFO里的數(shù)據(jù)經(jīng)過流量控制邏輯后,,在波特率發(fā)生器的作用下,,通過發(fā)送移位寄存器順次將數(shù)據(jù)發(fā)送到TX串行輸出信號線上,接收數(shù)據(jù)與此正好相反,。子通道處理模塊中,,控制寄存器用于對各個子通道進行設(shè)置,IR編解碼器用于對紅外信號進行編解碼,,子通道流量控制器用于子通道傳輸數(shù)據(jù)時的自動流量控制,。
在嵌入式系統(tǒng)中的應(yīng)用
VK系列UART器件的在嵌入式產(chǎn)品中的應(yīng)用領(lǐng)域包括:多串口服務(wù)器/多串口卡,工業(yè)/自動化現(xiàn)場RS-485控制,,使用CDMA/GPRS MODEM的無線數(shù)據(jù)傳輸,,車載信息平臺/車載GPS定位系統(tǒng),遠傳自動抄表(AMR)系統(tǒng),,稅控POS/銀行終端等金融機具,,DSP數(shù)據(jù)采集和傳輸系統(tǒng)等。其應(yīng)用實例如下:
1. 在稅控POS中的應(yīng)用
稅控POS機是一個控制密集形的嵌入式系統(tǒng),,需要控制大量外設(shè),。其基本配置要求的串口打印機、MODEM,、RS-485網(wǎng)絡(luò)接口,,以及稅控IC卡(異步卡)都工作在基于UART的串行通信方式。同時,,大量的外設(shè)如密碼鍵盤,、條碼掃描器、條碼稱,、接觸IC卡/非接觸IC卡讀卡器,、磁卡讀卡器、串口顯示屏等設(shè)備都是通過RS-232串口與POS機相連。
采用VK32xx系列UART器件可以根據(jù)MCU/CPU的接口特性,,選擇SPI/8位并行總線/UART進行靈活的UART串口擴展,。該方案與采用目前GPIO來模擬串口的方案相比,占用CPU的I/O和資源都很少,,即使普通的8位MCU也可以勝任,。同時,擴展的子串口都是標準的硬件UART,,使得數(shù)據(jù)傳輸也更加可靠,。
2. 在遠程自動抄表系統(tǒng)中的應(yīng)用
如圖3所示,遠傳自動抄表系統(tǒng)由遠傳表和集中抄表器以及MODEM等部分組成,。
在遠傳表中,,應(yīng)用VK3212雙串口擴展IC將單片機的一個UART擴展成兩個UART,擴展出來的兩個串口UART1和UART2分別接RS-485/M-BUS接口和紅外接口,。VK3212的UART1設(shè)置為RS-485自動收發(fā)和RS-485網(wǎng)絡(luò)模式,,可以無需MCU的控制,自動完成RS-485/M-BUS的數(shù)據(jù)自動收發(fā)和自動網(wǎng)絡(luò)地址識別,。VK3212的UART2設(shè)置為紅外模式,,用于連接遠傳表的紅外設(shè)置窗口。
在集中抄表器中,,用一片SPI接口的4通道UART器件VK3234將擴展出4個子串口UART,,MCU通過SPI總線與VK3234相連。VK3234的子串口UART設(shè)置為RS-485自動收發(fā)模式,,每個子通道UART控制的RS-485/MBUS收發(fā)器通過RS-485/M-BUS總線連接最多250個遠傳表,。一個基于VK3234的集中抄表器可以實現(xiàn)最多1,000個遠傳表的數(shù)據(jù)讀取。
由于是通過SPI接口擴展的串口,,集中抄表器單片機自身的串口可以連接PSTN/GSM MODEM將集抄數(shù)據(jù)傳給遠程服務(wù)器,。
3. 在嵌入式車載信息平臺中的應(yīng)用
VK3233主接口有SPI和UART兩種接口可以選擇,。嵌入式平臺中的DSP/CPU通過SPI/UART接口與VK3233相連,,VK3233擴展出來的三個子串口分別連接GPS模塊、倒車雷達模塊和GSM/CDMA模塊,,MODEM控制線連接GSM/CDMA MODEM,。整個嵌入式系統(tǒng)共用一個顯示設(shè)備,有效地節(jié)省了車內(nèi)有限的空間,。
4. 在串口服務(wù)器中的應(yīng)用
在工業(yè)控制等領(lǐng)域,,眾多設(shè)備的對外通訊接口仍然是低速串口。串口服務(wù)器將多個串口設(shè)備的數(shù)據(jù)存儲,、轉(zhuǎn)換以后通過IP網(wǎng)進行傳輸,。
圖5顯示了一個8串口服務(wù)器(4個RS-232串口、4個RS485串口)的電路原理圖,,嵌入式系統(tǒng)中的DSP/CPU的并行位數(shù)據(jù)線連接2片VK3266實現(xiàn)了8個串口的擴展,,通過地址譯碼器控制2片VK3266的CS實現(xiàn)片選控制,。在上圖中,VK3266 A連接4個RS-232收發(fā)器,,擴展出了4個帶硬件流量控制信號的RS-232串口,;VK3266B則連接了4個RS-485收發(fā)器,將VK3266設(shè)置在RS-458自動收發(fā)控制模式下,,通過RTS信號控制RS-485收發(fā)器的數(shù)據(jù)發(fā)送使能DE和數(shù)據(jù)讀取使能RD信號,,能實現(xiàn)RS-485的自動收發(fā)控制。
選型參考和設(shè)計建議
1. 選型參考
VK32系列UART包括5個產(chǎn)品系列,,各個產(chǎn)品系列的特點如下:
VK321x系列為主接口為UART的產(chǎn)品,,僅通過RX,TX和GND三根信號線與主機相連,,通過芯片內(nèi)部的處理協(xié)議采用時分復(fù)用的方式將一個串口擴展成為2~4個可以同時工作的全雙工串口,。在該模式下,MCU以查詢方式操作UART器件,,設(shè)計中需要注意的是為保證在時分復(fù)用下各個子通道能夠同時全雙工通信,,主接口的波特率需要設(shè)置為大于各個子串口波特率之和。VK321x產(chǎn)品適用于對通信速度要求不高,,需要設(shè)計可靠簡單的嵌入式產(chǎn)品,。
VK322x系列產(chǎn)品的主接口為SPI同步傳行總線,最高傳輸速度為4Mbps,。適合于帶SPI接口的MCU/DSP擴展異步串口,。大多數(shù)DSP都只有同步串口,通過SPI接口實現(xiàn)異步串口的橋接和擴展,,可以簡化并行總線擴展串口的硬件規(guī)模和模擬異步串口的軟件開銷,。
VK323x系列產(chǎn)品同時具備SPI和UART兩種可以選擇的主接口,擴展子串口具備硬件流量控制和RS-485自動收發(fā)功能,,尤其適合于需要高可靠數(shù)據(jù)傳輸?shù)腞S-485總線應(yīng)用,。
VK325x產(chǎn)品為8位并行總線接口的UART器件,VK326x為同時具備3種可選主機接口的UART器件,。這兩個器件應(yīng)用于需要減少備貨種類,,需要進行大量數(shù)據(jù)傳輸?shù)膽?yīng)用。
2. 設(shè)計建議
異步IC卡的接口設(shè)計,。遵從7816-3的異步IC卡為半雙工異步通信接口,。在實際應(yīng)用中,可以將子串口的RX和TX短接后直接與IC卡的I/O信號連接,,為可靠起見,,也可以通過連接7407來驅(qū)動IC卡的I/O信號。
MODEM接口的設(shè)計。目前的PSTN/GPRS/CDMA/GSM MODEM支持三線串口(TX,、RX,、GND)通過AT命令操作。但實際應(yīng)用中,,僅僅使用三線串口容易丟包,造成數(shù)據(jù)重發(fā),使得上傳速度變慢,建議使用VK32系列中帶MODEM接口的UART器件,,用DSR、DTR,、RI和DCD來監(jiān)控MODEM狀態(tài),,用RTS和CTS來做流控,這樣速度可以達到最高,。
RS-485總線的設(shè)計,。RS-485是目前工業(yè)領(lǐng)域應(yīng)用最廣的半雙工通信系統(tǒng)。直接用MCU對RX485進行控制,,有一些細節(jié)難于處理:通過MCU的I/O對485收發(fā)控制,,在系統(tǒng)復(fù)位時,I/O可能使485收發(fā)器處在發(fā)送狀態(tài),,造成總線上正在進行的通信失效,;在數(shù)據(jù)收發(fā)切換中,一般依靠發(fā)送緩沖的狀態(tài)來控制MCU的I/O對收發(fā)切換,,而此時最后一個字節(jié)可能還在移位寄存器中,,會造成少發(fā)送一個字節(jié)的情況;同時,,當RS485總線上有大量數(shù)據(jù)進行傳送時,,MCU不得不花大量的資源去判斷該數(shù)據(jù)是否是發(fā)送給本機的,造成工作效率低,。針對這些問題,,建議用戶在需要用到RS-485時,選用帶有RS-485自動收發(fā)控制和9位網(wǎng)絡(luò)自動識別的器件,。
VK32系列UART器件可以工作在自動RS-485模式下:復(fù)位時,,RTS處于接收狀態(tài),只有在數(shù)據(jù)發(fā)送時,,RTS才工作在發(fā)送狀態(tài),,當最后一位數(shù)據(jù)從移位寄存器中發(fā)送完成后,RTS自動轉(zhuǎn)為接收狀態(tài),。同時,VK32系列的UART支持9位網(wǎng)絡(luò)地址自動識別,,僅當RS-485總線上的地址與UART設(shè)定的RS-485網(wǎng)絡(luò)地址一致時,,才產(chǎn)生中斷,可以使MCU從大量的與自己無關(guān)的數(shù)據(jù)處理中解脫出來,提高系統(tǒng)的處理能力,。
無鉛化是半導(dǎo)體行業(yè)勢不可擋的趨勢,,VK32系列UART產(chǎn)品全部實現(xiàn)無鉛化封裝,在回流焊時需要注意焊接溫度滿足相應(yīng)的溫度要求,。