新聞中心

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

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

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


        摘 要:UART以其簡單可靠,抗干擾強,傳輸距離遠,組網(wǎng)方便,被認為是系統(tǒng)中進行串行數(shù)據(jù)傳輸?shù)淖罴逊绞?。本文介紹了專為系統(tǒng)設計的新型多總線接口UART器件的原理及應用技術。

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

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

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

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

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

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

          支持高速傳輸,每個子波特率可以獨立設置為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ā)送/接收的數(shù)據(jù)緩沖,減少DSP/CPU對數(shù)據(jù)傳輸?shù)牟僮鳎岣逤PU/DSP的效率和數(shù)據(jù)傳輸?shù)目煽啃浴?

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

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

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

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

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


         

                          VK3266原理框圖

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

            主機接口為VK3266與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ù)進行處理后傳送到相應的子通道FIFO,F(xiàn)IFO里的數(shù)據(jù)經(jīng)過流量控制邏輯后,在波特率發(fā)生器的作用下,通過發(fā)送移位寄存器順次將數(shù)據(jù)發(fā)送到TX串行輸出信號線上。接收數(shù)據(jù)與此正好相反。子通道處理模塊中,控制寄存器用于對各個子通道進行設置,IR編解碼器用于對紅外信號進行編解碼,子通道流量控制器用于子通道傳輸數(shù)據(jù)時的自動流量控制。

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

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


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


         


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


        SPI

        控制字節(jié) CMD

        數(shù)據(jù)字節(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

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

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

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

        RC3—RC0:接收FIFO數(shù)據(jù)的個數(shù)?

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

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

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


        UART接口與主機連接圖


        主UART接口的操作時序

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

        UART主接口寫操作時序

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

        UART主接口讀操作時序

            主UART通信傳輸協(xié)議描述:

        寫寄存器:


        分類

        控制字節(jié) CMD

        1個數(shù)據(jù)字節(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]個數(shù)據(jù)字節(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個數(shù)據(jù)字節(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操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


        評論


        相關推薦

        技術專區(qū)

        主站蜘蛛池模板: 龙里县| 榆树市| 上高县| 深圳市| 米易县| 马龙县| 潜江市| 平利县| 蚌埠市| 永善县| 正蓝旗| 光泽县| 衡山县| 濮阳市| 青州市| 佛山市| 禹城市| 剑阁县| 潜江市| 贵州省| 化州市| 华宁县| 洪江市| 通化市| 枣强县| 靖边县| 河南省| 论坛| 水城县| 阳谷县| 平安县| 南漳县| 平利县| 崇仁县| 峨眉山市| 普兰店市| 保康县| 金川县| 普洱| 连山| 康保县|
          <tfoot id="kccqq"><rt id="kccqq"></rt></tfoot>
          <del id="kccqq"></del><fieldset id="kccqq"><table id="kccqq"></table></fieldset>
        • <fieldset id="kccqq"><input id="kccqq"></input></fieldset>
          <abbr id="kccqq"><sup id="kccqq"></sup></abbr>