多總線UART芯片在嵌入式系統(tǒng)設(shè)計(jì)中的應(yīng)用
本文介紹了專(zhuān)為嵌入式系統(tǒng)設(shè)計(jì)的VK32系列新型多總線接口通用異步串行收發(fā)接器(UART)器件的原理以及在稅控POS、遠(yuǎn)程自動(dòng)抄表系統(tǒng)、嵌入式車(chē)載信息平臺(tái)和串口服務(wù)器中的應(yīng)用技術(shù)。
UART產(chǎn)生于上個(gè)世紀(jì)70年代,是第一塊大規(guī)模集成電路。1981年的推出的IBM PC采用了8250 UART與外設(shè)進(jìn)行數(shù)據(jù)通信,直到上個(gè)世紀(jì)末,UART一直是PC中最主要的串行通信接口。隨著高速串行總線USB的出現(xiàn),USB以其諸多的優(yōu)點(diǎn)取代了UART成為個(gè)人電腦中應(yīng)用最廣泛的串行接口。
而在嵌入式領(lǐng)域,由于UART具有操作簡(jiǎn)單、工作可靠、抗干擾強(qiáng)、傳輸距離遠(yuǎn)(組成485網(wǎng)絡(luò)可以傳輸1,200米以上),設(shè)計(jì)人員普遍認(rèn)為UART是從CPU或微控制器向系統(tǒng)的其他部分傳輸數(shù)據(jù)的最佳方式,因此它們被大量地應(yīng)用在工業(yè)、通信和家電控制等嵌入式領(lǐng)域。通常MCU/CPU都會(huì)自帶一個(gè)UART串口,但實(shí)際應(yīng)用中一個(gè)串口往往不夠用,需要進(jìn)行UART串口擴(kuò)展。
截止到目前,全球范圍內(nèi)有超過(guò)40種UART器件可以選擇,大多數(shù)UART器件是以計(jì)算機(jī)總線轉(zhuǎn)換UART為應(yīng)用基礎(chǔ)的,其通用性、管腳、寄存器與20年前很少改變。針對(duì)嵌入式應(yīng)用,目前的UART器件普遍存在操作復(fù)雜、引腳多、價(jià)格昂貴等弱點(diǎn),不能滿足和適應(yīng)的嵌入式系統(tǒng)的需要。
VK系列UART器件
維肯公司針對(duì)嵌入式系統(tǒng)中UART的發(fā)展趨勢(shì),設(shè)計(jì)推出了VK32xx系列新型多總線接口UART器件,其特點(diǎn)為:
1. 支持8位并行總線、SPI總線、UART等多種主機(jī)總線接口。其中,8位并行總線接口產(chǎn)品可以替代目前廣泛使用的16C55x系列UART用于為8位、16位、32位MCU進(jìn)行UART串口擴(kuò)展。VK32系列8位并行總線接口UART產(chǎn)品采用了精簡(jiǎn)控制寄存器設(shè)計(jì),并通過(guò)管腳復(fù)用減少了芯片管腳,簡(jiǎn)化的軟件設(shè)計(jì)和PCB設(shè)計(jì)都更適合嵌入式系統(tǒng)需求。
SPI接口總線系列產(chǎn)品為帶有SPI接口的DSP、MCU實(shí)現(xiàn)同步SPI串口到異步UART串口的橋接和擴(kuò)展,尤其針對(duì)目前廣泛應(yīng)用的DSP系統(tǒng),大多數(shù)DSP都只有同步串口,只能用于與具有同步通信接口的外設(shè)進(jìn)行通信。VK32系列SPI總線接口產(chǎn)品可以將一個(gè)SPI同步串行接口橋接/擴(kuò)展成為1~4個(gè)通用異步串口,方便實(shí)現(xiàn)DSP和外設(shè)的異步串行通信。
UART接口產(chǎn)品創(chuàng)新地實(shí)現(xiàn)了將一個(gè)標(biāo)準(zhǔn)3線UART擴(kuò)展成為2~4個(gè)增強(qiáng)功能UART。芯片內(nèi)置的UART擴(kuò)展協(xié)議處理邏輯,無(wú)需其它的地址信號(hào)和控制信號(hào)線就可以實(shí)現(xiàn)多個(gè)獨(dú)立配置的全雙工串口擴(kuò)展,為需要擴(kuò)展串口的嵌入式系統(tǒng)提供了一個(gè)最簡(jiǎn)潔的解決方案。
2. 支持高速傳輸。每個(gè)子波特率可以獨(dú)立設(shè)置子串口最高通信速度可以達(dá)到920kbps(5V工作電壓),主機(jī)支持的SPI總線最高傳輸速率為4Mbps,主機(jī)8位并行總線的最高傳輸速率為10Mbps。
3. 寬工作電壓和低功耗設(shè)計(jì)??紤]到目前嵌入式領(lǐng)域中新型的DSP/FPGA的工作電壓大多為2.5V,而大量的工業(yè)控制領(lǐng)域的MCU仍然需要在5V電壓下工作,VK32系列UART設(shè)計(jì)的工作電壓范圍為2.5V~5.5V。同時(shí),該系列芯片可以工作在自動(dòng)休眠和喚醒模式下,有效地降低功耗。
4. 完善的FIFO功能。每個(gè)通道獨(dú)立的16級(jí)接收和發(fā)送FIFO,每個(gè)FIFO有4個(gè)可編程觸發(fā)點(diǎn)設(shè)置。完善的FIFO功能可以進(jìn)行發(fā)送/接收的數(shù)據(jù)緩沖,減少DSP/CPU對(duì)數(shù)據(jù)傳輸?shù)牟僮?,提高CPU/DSP的效率和數(shù)據(jù)傳輸?shù)目煽啃浴?BR>
5. 子串口通道具備軟件或硬件自動(dòng)流量控制,滿足高速數(shù)據(jù)傳輸中流量控制的需要。
6. 子串口具備可編程的硬件RS-485自動(dòng)控制功能和自動(dòng)9位網(wǎng)絡(luò)地址識(shí)別功能,大大降低處理器的負(fù)擔(dān),尤其適用于工業(yè)RS-485組網(wǎng)。
7. 每個(gè)通道具備獨(dú)立可控的數(shù)據(jù)廣播接收功能,可以應(yīng)用于需要數(shù)據(jù)廣播傳輸和控制的嵌入式系統(tǒng)中。
8. 所有UART(包括UART主接口和子通道UART)都支持IrDA紅外通信。
VK系列UART器件的原理及框圖
VK3200是VK32系列中功能最全的型號(hào),本文以VK3200的原理圖為基礎(chǔ),對(duì)VK32系列UART芯片原理進(jìn)行介紹。VK3200內(nèi)部結(jié)構(gòu)包括主機(jī)接口、子通道部分、MODEM控制邏輯、中斷控制邏輯幾部分。主機(jī)接口為VK3200與CPU/DSP相連的接口,通過(guò)M1、MO模式選擇信號(hào)線,可以分別選擇8位并行總線、SPI總線和UART三種接口與主機(jī)相連;MODEM控制邏輯用于與MODEM相連時(shí)的狀態(tài)信號(hào)線的監(jiān)控和控制;中斷控制邏輯用于產(chǎn)生和控制各種內(nèi)部中斷。
時(shí)鐘發(fā)生器為芯片提供時(shí)鐘,可以用CLKSEL引線選擇從晶振還是外部時(shí)鐘源獲取時(shí)鐘。子通道邏輯部分處理各個(gè)的數(shù)據(jù)接收和發(fā)送。數(shù)據(jù)發(fā)送的處理過(guò)程為:主機(jī)接口將從主口總線發(fā)送來(lái)的數(shù)據(jù)進(jìn)行處理后傳送到相應(yīng)的子通道FIFO,F(xiàn)IFO里的數(shù)據(jù)經(jīng)過(guò)流量控制邏輯后,在波特率發(fā)生器的作用下,通過(guò)發(fā)送移位寄存器順次將數(shù)據(jù)發(fā)送到TX串行輸出信號(hào)線上,接收數(shù)據(jù)與此正好相反。子通道處理模塊中,控制寄存器用于對(duì)各個(gè)子通道進(jìn)行設(shè)置,IR編解碼器用于對(duì)紅外信號(hào)進(jìn)行編解碼,子通道流量控制器用于子通道傳輸數(shù)據(jù)時(shí)的自動(dòng)流量控制。
評(píng)論