新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > VK32系列多總線UART串口擴展芯片的原理和應用

VK32系列多總線UART串口擴展芯片的原理和應用

——
作者:四川維肯電子有限公司 趙廣宇 時間:2007-01-26 來源:21IC中國電子 收藏


摘 要:UART以其簡單可靠,抗干擾強,傳輸距離遠,組網方便,被認為是系統中進行串行數據傳輸的最佳方式。本文介紹了專為系統設計的新型多總線接口UART器件的原理及應用技術。

1.系統中串口擴展的需求:
 
    而在嵌入式領域,由于UART具有操作簡單,工作可靠,抗干擾強,傳輸距離遠(組成485網絡可以傳輸1200米以上),設計人員普遍認為UART是從CPU或微控制器向系統的其他部分傳輸數據的最佳方式,因此它們被大量地應用在工業(yè)、通信、和家電控制等嵌入式領域。通常MCU/CPU都會自帶一個,但實際應用中一個串口往往不夠用,需要進行擴展。

    目前的大多數UART器件是以計算機總線轉換UART為應用基礎的,其通用性、管腳、寄存器與20年前很少改變,針對嵌入式應用,目前的UART器件普遍存在操作復雜,引腳多,價格較高等弱點,不能滿足和適應的嵌入式系統發(fā)展的需要。

    針對嵌入式系統中UART的發(fā)展趨勢,維肯電子設計推出了VK32XX系列新型多總線接口UART器件,其特點為:

支持8位并行總線,SPI總線,UART等多種主機總線接口:
 
    8位并行總線接口產品可以替代目前廣泛使用的16C55X系列UART用于為8位,16位,32位MCU進行擴展。8位并行總線接口UART產品采用了精簡控制寄存器設計),并通過管腳復用減少了芯片管腳,簡化的軟件設計和PCB設計都更適合嵌入式系統需求。

    SPI接口總線系列產品為帶有SPI接口的DSP、MCU實現同步SPI串口到異步UART串口的橋接和擴展,尤其針對目前廣泛應用的DSP系統,大多數DSP都只有同步串口,只能用于與具有同步通信接口的外設進行通信。V32系列SPI總線接口可以將一個SPI同步串行接口橋接/擴展成為1~4個通用異步串口,方便的實現DSP和外設的異步串行通信。

    UART接口產品創(chuàng)新的實現了將一個標準3線異步串口(UART)擴展成為2~4個增強功能串口(UART)。芯片內置的UART擴展協議處理邏輯,無需無需其它的地址信號、控制信號線就可以實現多個獨立配置的全雙工串口擴展,為需要擴展串口的嵌入式系統提供了一個最簡潔的解決方案。

  支持高速傳輸,每個子波特率可以獨立設置為300bps—960 kbps,主機支持的SPI總線 最高傳輸速率為5M bits/s, 主機8位并行總線的最高傳輸速率為10M bit/s.

  寬工作電壓和低功耗設計,考慮到目前嵌入式領域中新型的DSP/FPGA的工作電壓大多為2.5V,而大量的工業(yè)控制領域的MCU仍然需要在5V電壓下工作,UART設計的工作電壓范圍為2.5V~5.5V。同時,該系列芯片可以工作在自動休眠和喚醒模式下,有效的降低功耗。

  完善的FIFO功能,每個通道獨立的16級接收和發(fā)送FIFO,每個FIFO有4個可編程觸發(fā)點設置。完善的FIFO功能可以進行發(fā)送/接收的數據緩沖,減少DSP/CPU對數據傳輸的操作,提高CPU/DSP的效率和數據傳輸的可靠性。

  子串口通道具備軟件或硬件自動流量控制,滿足高速數據傳輸中流量控制的需要。

  子串口具備可編程的硬件RS-485自動控制功能和自動9位網絡地址識別功能,大大降低處理器的負擔,尤其適用于工業(yè)RS-485組網。
 
  每個通道具備獨立可控的數據廣播接收功能,可以應用與需要數據廣播傳輸和控制的嵌入式系統中。

  所有UART(包括UART主接口和子通道UART)都支持IrDA紅外通信.

2.VK32系列新型多總線接口UART器件的原理及框圖:

    VK3266是VK32系列中功能最全的型號,本文以VK3266的原理圖為基礎,對VK32系列UART芯片原理進行介紹:


 

                  VK3266原理框圖

    VK3266內部結構包括主機接口,子通道部分,MODEM控制邏輯,中斷控制邏輯幾部分。

    主機接口為VK3266與CPU/DSP相連的接口,通過M1,MO模式選擇信號線,可以分別選擇8位并行總線,SPI總線,UART三種接口與主機相連。
 
    MODEM控制邏輯用于與MODEM相連時的狀態(tài)信號線的監(jiān)控和控制。
 
    中斷控制邏輯用于產生和控制各種內部中斷。

    時鐘發(fā)生器為芯片的提供時鐘,可以用CLKSEL引線選擇從晶振還是外部時鐘源獲取時鐘。

    子通道邏輯部分處理各個的數據接收和發(fā)送。數據發(fā)送的處理過程為:主機接口將從主口總線發(fā)送來的數據進行處理后傳送到相應的子通道FIFO,FIFO里的數據經過流量控制邏輯后,在波特率發(fā)生器的作用下,通過發(fā)送移位寄存器順次將數據發(fā)送到TX串行輸出信號線上。接收數據與此正好相反。子通道處理模塊中,控制寄存器用于對各個子通道進行設置,IR編解碼器用于對紅外信號進行編解碼,子通道流量控制器用于子通道傳輸數據時的自動流量控制。

3.VK32系列多種總線的主機接口和操作:
 
3.1 SPI主機接口連接和操作:

    如圖所示 SPI與主機(CPU或者DSP)接口包括如下四個信號: SDIN:SPI數據輸入。 SDOUT:SPI數據輸出。SCLK:SPI串行時鐘。SCS:SPI片選(從屬選擇)。 
 


    VK32XX工作在SPI同步串行通信的從機模式下 ,支持SPI模式0標準。為實現主機和VK32XX的通信,在主機端需要設置CPOL=0(SPI時鐘極性選擇位),CPHA=0( SPI時鐘相位選擇位)。SPI接口的操作時序如圖9.2所示:


 


SPI接口讀寫操作:
                  SPI寫寄存器操作


SPI

控制字節(jié) CMD

數據字節(jié) 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讀寄存器


分類

控制字節(jié) CMD

數據字節(jié) 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位數據長度發(fā)送時第9位的數據

INT1—INT4:通道1到4的中斷標志

TC3—TC0:發(fā)送FIFO數據的個數

RC3—RC0:接收FIFO數據的個數?

3.2 UART主機接口的連接和操作:

    當VK32XX的主接口為UART時,僅需要RX,TX連接主機。采用標準的UART協議進行通信。上電后,主機以VK32XX的復位值所確定的波特率和數據格式對VK32XX進行初始化設置后即可方便的實現串口擴展功能。

VK32XX與主機的接口如圖所示:


UART接口與主機連接圖


主UART接口的操作時序

    寫操作時,先向VK3266的RX寫入一個命令字節(jié)(Command Byte),隨后寫入相應的數據字節(jié),其操作時序(無校驗,禁止轉義和紅外模式)如圖10.2所示:

UART主接口寫操作時序

    讀操作時,先向VK3266的RX寫入命令字節(jié),相應的數據字節(jié)從TX讀取,其操作時序(無校驗,禁止轉義和紅外模式)如圖

UART主接口讀操作時序

    主UART通信傳輸協議描述:

寫寄存器:


分類

控制字節(jié) CMD

1個數據字節(jié) 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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


寫FIFO:(多字節(jié)寫入)


分類

控制字節(jié) CMD

[N3 N2 N1 N0]個數據字節(jié) 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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


讀寄存器:


分類

控制字節(jié) CMD

1個數據字節(jié) 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:(多字節(jié)讀?。?


    • 分類

      linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


      評論


      相關推薦

      技術專區(qū)

      <dfn id="6ndyy"></dfn>