VK32系列多總線(xiàn)UART串口擴展芯片的原理和應用
摘 要:UART以其簡(jiǎn)單可靠,抗干擾強,傳輸距離遠,組網(wǎng)方便,被認為是嵌入式系統中進(jìn)行串行數據傳輸的最佳方式。本文介紹了專(zhuān)為嵌入式系統設計的VK32系列新型多總線(xiàn)接口UART器件的原理及應用技術(shù)。
1.嵌入式系統中串口擴展的需求:
而在嵌入式領(lǐng)域,由于UART具有操作簡(jiǎn)單,工作可靠,抗干擾強,傳輸距離遠(組成485網(wǎng)絡(luò )可以傳輸1200米以上),設計人員普遍認為UART是從CPU或微控制器向系統的其他部分傳輸數據的最佳方式,因此它們被大量地應用在工業(yè)、通信、和家電控制等嵌入式領(lǐng)域。通常MCU/CPU都會(huì )自帶一個(gè)UART串口,但實(shí)際應用中一個(gè)串口往往不夠用,需要進(jìn)行UART串口擴展。
目前的大多數UART器件是以計算機總線(xiàn)轉換UART為應用基礎的,其通用性、管腳、寄存器與20年前很少改變,針對嵌入式應用,目前的UART器件普遍存在操作復雜,引腳多,價(jià)格較高等弱點(diǎn),不能滿(mǎn)足和適應的嵌入式系統發(fā)展的需要。
針對嵌入式系統中UART的發(fā)展趨勢,維肯電子設計推出了VK32XX系列新型多總線(xiàn)接口UART器件,其特點(diǎn)為:
支持8位并行總線(xiàn),SPI總線(xiàn),UART等多種主機總線(xiàn)接口:
8位并行總線(xiàn)接口產(chǎn)品可以替代目前廣泛使用的16C55X系列UART用于為8位,16位,32位MCU進(jìn)行UART串口擴展。VK32系列8位并行總線(xiàn)接口UART產(chǎn)品采用了精簡(jiǎn)控制寄存器設計),并通過(guò)管腳復用減少了芯片管腳,簡(jiǎn)化的軟件設計和PCB設計都更適合嵌入式系統需求。
SPI接口總線(xiàn)系列產(chǎn)品為帶有SPI接口的DSP、MCU實(shí)現同步SPI串口到異步UART串口的橋接和擴展,尤其針對目前廣泛應用的DSP系統,大多數DSP都只有同步串口,只能用于與具有同步通信接口的外設進(jìn)行通信。V32系列SPI總線(xiàn)接口可以將一個(gè)SPI同步串行接口橋接/擴展成為1~4個(gè)通用異步串口,方便的實(shí)現DSP和外設的異步串行通信。
UART接口產(chǎn)品創(chuàng )新的實(shí)現了將一個(gè)標準3線(xiàn)異步串口(UART)擴展成為2~4個(gè)增強功能串口(UART)。芯片內置的UART擴展協(xié)議處理邏輯,無(wú)需無(wú)需其它的地址信號、控制信號線(xiàn)就可以實(shí)現多個(gè)獨立配置的全雙工串口擴展,為需要擴展串口的嵌入式系統提供了一個(gè)最簡(jiǎn)潔的解決方案。
支持高速傳輸,每個(gè)子波特率可以獨立設置為300bps—960 kbps,主機支持的SPI總線(xiàn) 最高傳輸速率為5M bits/s, 主機8位并行總線(xiàn)的最高傳輸速率為10M bit/s.
寬工作電壓和低功耗設計,考慮到目前嵌入式領(lǐng)域中新型的DSP/FPGA的工作電壓大多為2.5V,而大量的工業(yè)控制領(lǐng)域的MCU仍然需要在5V電壓下工作,VK32系列UART設計的工作電壓范圍為2.5V~5.5V。同時(shí),該系列芯片可以工作在自動(dòng)休眠和喚醒模式下,有效的降低功耗。
完善的FIFO功能,每個(gè)通道獨立的16級接收和發(fā)送FIFO,每個(gè)FIFO有4個(gè)可編程觸發(fā)點(diǎn)設置。完善的FIFO功能可以進(jìn)行發(fā)送/接收的數據緩沖,減少DSP/CPU對數據傳輸的操作,提高CPU/DSP的效率和數據傳輸的可靠性。
子串口通道具備軟件或硬件自動(dòng)流量控制,滿(mǎn)足高速數據傳輸中流量控制的需要。
子串口具備可編程的硬件RS-485自動(dòng)控制功能和自動(dòng)9位網(wǎng)絡(luò )地址識別功能,大大降低處理器的負擔,尤其適用于工業(yè)RS-485組網(wǎng)。
每個(gè)通道具備獨立可控的數據廣播接收功能,可以應用與需要數據廣播傳輸和控制的嵌入式系統中。
所有UART(包括UART主接口和子通道UART)都支持IrDA紅外通信.
2.VK32系列新型多總線(xiàn)接口UART器件的原理及框圖:
VK3266是VK32系列中功能最全的型號,本文以VK3266的原理圖為基礎,對VK32系列UART芯片原理進(jìn)行介紹:
VK3266原理框圖
VK3266內部結構包括主機接口,子通道部分,MODEM控制邏輯,中斷控制邏輯幾部分。
主機接口為VK3266與CPU/DSP相連的接口,通過(guò)M1,MO模式選擇信號線(xiàn),可以分別選擇8位并行總線(xiàn),SPI總線(xiàn),UART三種接口與主機相連。
MODEM控制邏輯用于與MODEM相連時(shí)的狀態(tài)信號線(xiàn)的監控和控制。
中斷控制邏輯用于產(chǎn)生和控制各種內部中斷。
時(shí)鐘發(fā)生器為芯片的提供時(shí)鐘,可以用CLKSEL引線(xiàn)選擇從晶振還是外部時(shí)鐘源獲取時(shí)鐘。
子通道邏輯部分處理各個(gè)的數據接收和發(fā)送。數據發(fā)送的處理過(guò)程為:主機接口將從主口總線(xiàn)發(fā)送來(lái)的數據進(jìn)行處理后傳送到相應的子通道FIFO,FIFO里的數據經(jīng)過(guò)流量控制邏輯后,在波特率發(fā)生器的作用下,通過(guò)發(fā)送移位寄存器順次將數據發(fā)送到TX串行輸出信號線(xiàn)上。接收數據與此正好相反。子通道處理模塊中,控制寄存器用于對各個(gè)子通道進(jìn)行設置,IR編解碼器用于對紅外信號進(jìn)行編解碼,子通道流量控制器用于子通道傳輸數據時(shí)的自動(dòng)流量控制。
3.VK32系列多種總線(xiàn)的主機接口和操作:
3.1 SPI主機接口連接和操作:
如圖所示 SPI與主機(CPU或者DSP)接口包括如下四個(gè)信號: SDIN:SPI數據輸入。 SDOUT:SPI數據輸出。SCLK:SPI串行時(shí)鐘。SCS:SPI片選(從屬選擇)。
VK32XX工作在SPI同步串行通信的從機模式下 ,支持SPI模式0標準。為實(shí)現主機和VK32XX的通信,在主機端需要設置CPOL=0(SPI時(shí)鐘極性選擇位),CPHA=0( SPI時(shí)鐘相位選擇位)。SPI接口的操作時(shí)序如圖9.2所示:
SPI接口讀寫(xiě)操作:
SPI寫(xiě)寄存器操作
|
控制字節 CMD |
數據字節 DB | ||||||||||||||
BIT |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
DIN |
1 |
C1 |
C0 |
A3 |
A2 |
A1 |
A0 |
D8t |
D7t |
D6t |
D5t |
D4t |
D3t |
D2t |
D1t |
D0t |
DOUT |
INT1 |
INT2 |
INT3 |
INT4 |
X |
X |
X |
X |
TC3 |
TC2 |
TC1 |
TC0 |
RC3 |
RC2 |
RC1 |
RC0 |
SPI讀寄存器
|
控制字節 CMD |
數據字節 DB | ||||||||||||||
BIT |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
DIN |
0 |
C1 |
C0 |
A3 |
A2 |
A1 |
A0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
DOUT |
INT1 |
INT2 |
INT3 |
INT4 |
X |
X |
X |
X |
D7r |
D6r |
D5r |
D4r |
D3r |
D2r |
D1r |
D0r |
各位的原理
C1 C0:子串口通道號? 00~11分別對應子串口1到子串口4;
A3-A0:子串口寄存器地址
D8t:9位數據長(cháng)度發(fā)送時(shí)第9位的數據
INT1—INT4:通道1到4的中斷標志
TC3—TC0:發(fā)送FIFO數據的個(gè)數
RC3—RC0:接收FIFO數據的個(gè)數?
3.2 UART主機接口的連接和操作:
當VK32XX的主接口為UART時(shí),僅需要RX,TX連接主機。采用標準的UART協(xié)議進(jìn)行通信。上電后,主機以VK32XX的復位值所確定的波特率和數據格式對VK32XX進(jìn)行初始化設置后即可方便的實(shí)現串口擴展功能。
VK32XX與主機的接口如圖所示:
UART接口與主機連接圖
主UART接口的操作時(shí)序
寫(xiě)操作時(shí),先向VK3266的RX寫(xiě)入一個(gè)命令字節(Command Byte),隨后寫(xiě)入相應的數據字節,其操作時(shí)序(無(wú)校驗,禁止轉義和紅外模式)如圖10.2所示:
UART主接口寫(xiě)操作時(shí)序
讀操作時(shí),先向VK3266的RX寫(xiě)入命令字節,相應的數據字節從TX讀取,其操作時(shí)序(無(wú)校驗,禁止轉義和紅外模式)如圖
UART主接口讀操作時(shí)序
主UART通信傳輸協(xié)議描述:
寫(xiě)寄存器:
|
控制字節 CMD |
1個(gè)數據字節 DB(下行) | ||||||||||||||
BIT |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
TX |
1 |
0 |
C1 |
C0 |
A3 |
A2 |
A1 |
A0 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
RX |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
寫(xiě)FIFO:(多字節寫(xiě)入)
|
控制字節 CMD |
[N3 N2 N1 N0]個(gè)數據字節 DB(下行) | ||||||||||||||
BIT |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
TX |
1 |
1 |
C1 |
C0 |
N3 |
N2 |
N1 |
N0 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
RX |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
讀寄存器:
|
控制字節 CMD |
1個(gè)數據字節 DB(上行) | ||||||||||||||
BIT |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
TX |
0 |
0 |
C1 |
C0 |
N3 |
N2 |
N1 |
N0 |
|
|
|
|
|
|
|
|
RX |
|
|
|
|
|
|
|
|
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
讀FIFO:(多字節讀?。?
|
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂) 相關(guān)推薦技術(shù)專(zhuān)區
|
評論