新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 串行通信控制器85C30及其應用

        串行通信控制器85C30及其應用

        作者: 時間:2004-12-07 來源:網絡 收藏
        摘要:是美國AMD公司生產的高性能雙通道串并轉換,它支持多種協議,可用于各種多串口領域,文中介紹了的特性、結構和功能,給出了在異步通信中的方法。

        關鍵詞:通信 85C30 異步通信

        1 概述

        85C30是AMD公司生產的雙通道、全雙工、支持多種通信協議的通信控制芯片,該芯片自身帶有串并、并串轉換功能,可廣泛于微組成的多串口通信應用系統中。其內部集成了波特率生成器、數字鎖相環和晶體振蕩器等可編程器件,因而可大大減少對外圍電路的需要,提高了系統的可靠性,更適用于高速通信應用領域。

        85C30的主要特性如下:

        ● 具有兩個可全雙工工作的通信通道;

        ● 可異步、同步通訊;

        ● 符合面向字符的同步協議,如IBM BISYNC(二進制同步通信協議);

        ● 符合面向比特的同步協議,如同步數據鏈路控制協議HDLC和高級數據鏈路控制協議SDLC;

        ● 最高數據傳輸率為4M bit/s(同步模式);

        ● 內含波特率生成器、鎖相環和晶體振蕩器;

        ● 具有奇偶校驗、字符插入或刪除、CRC(循環冗余碼)生成和校驗等多種自動糾錯功能。

        2 內部結構和引腳功能

        2.1 內部結構

        圖1所示為85C30的內部結構框圖。85C30可用于各種微控制器系統中,并具有查詢、中斷和DMA工作方式。

        2.2 引腳功能

        85C30具有40-PDIP和44-PLCC兩種封裝形式?圖2為其44-PLCC封裝的引腳排列圖。85C30的主要引腳功能如下:

        D0~D7:數據線引腳;

        RD、WR:讀、寫控制端?低電平有效;另外,若兩個引腳同時為低,可使芯片復位;

        A/ B:通道A/通道B選擇;

        D/C :數據/命令選擇;

        CE:片選信號;

        +5V,GND:電源接入端;

        PCLK:系統時鐘輸入端;

        INT:中斷請求;

        INTACK:中斷響應;

        IEI,IEO:分別為中斷使能輸入、輸出端口;

        RxDA,TxDA:分別為通道A的串行輸入、輸出;

        RxDB,TxDB:分別為通道B的串行輸入、輸出;

        TRxCA,RtxCA:分別為通道A的時鐘控制端;

        TRxCB,RtxCB:通道B的時鐘控制端;

        SYNCA、W/REQA、DRT/REQA、RTSA、CTSA、DC-DA:通道A的同步通訊控制端;

        SYNCB、W/REQB、DRT/REQB、RTSB、CTSB、DCDB:通道B的同步通訊控制端。

        3 85C30中的寄存器

        在數據通信過程中,系統是否能準確地按照規定的協議完成通信任務,主要取決于初始化及系統運行期間程序對85C30的讀寫寄存器的合理運用。使用時,對片上每個通道的設置都應包括16個寫寄存器和11個讀寄存器。在這16個寫寄存器中,有10個寫寄存器用于通用控制,2個用于同步字符的生成控制,2個用于片上波特率設置。此外,還有兩個雙通道共享的寫寄存器,一個用于中斷向量控制,另一個用于芯片總中斷開關控制。在11個讀寄存器中,有9個讀寄存器用于存儲通信狀態和數據。

        4 應用電路

        85C30的接口電路如圖3所示,利用該電路可實現雙通道的全雙工異步通信,波特率為115.2kbps。電路中采用無響應中斷模式,即在85C30有中斷申請且沒有進行中斷服務時,將85C30 的INT引腳拉低有效,以向MCU申請中斷,而MCU不用向85C30輸出INTACK中斷響應信號,從而簡化了電路。判定接收發送不同中斷源的中斷優先級可由程序實現。該電路主要由電平轉換電路、譯碼電路和MCU電路組成。

        電平轉換電路的主要作用是提高板間通信的可靠性,由于板間通信采用的是485電平標準,因此,可利用MAX490全雙工通信轉換芯片將TTL電平信號轉換為485電平標準的差分信號。而對于譯碼電路,由于85C30中有兩個通道,每個通道又有各自的命令口和數據口,而且每個口都需要有相應的硬件地址。因此,該譯碼電路由MCU的高8位地址線、低2位地址線及GAL和地址鎖存器573組成。

        MCU電路主要由80C196KC組成,與MCU的連線有數據線D0~D7、RD、WR控制線和INT線,其中INT連至MCU的外部中斷EXINT引腳,這樣,一旦85C30有中斷申請,MCU可將其作為一個外部中斷申請來自動生成相應的中斷向量,從而執行相應的中斷服務程序。中斷服務程序入口地址為0X203E。另外,PCLK外接11.05926M的晶振可用于為系統提供時鐘。

        圖4 接收、發送中斷服務程序

        5 應用程序

        5.1 初始化

        圖4給出了85C30一個通道的初始化流程圖,由于芯片的兩個通道所采用的通信協議完全相同,因此初始化過程也相同。每個通道的初始化可分為三個步驟:第一是進行各協議設置(如異步、校驗、波特率、字符長度等);第二是對各種功能的使能(包括波特率生成器,接收中斷,發送中斷);第三為開中斷。

        5.2 接收發送中斷服務程序

        MCU在收到85C30的INT有效信號后將進入外部中斷服務程序。圖4給出了該中斷服務的流程圖。用該程序的一定順序查詢芯片的RR2即可實現芯片間和芯片內的中斷優先處理任務,對85C30各中斷事件的優先級設定如表1所列。

        表1 85C30各中斷事件的優先級

        通道A接收中斷
        通道A發送中斷
        RR2=6
        RR2=4
        HIGH

        LOW
        通道B接收中斷
        通道B發送中斷
        RR2=2
        RR2=0

        85C30中的讀寄存器RR2能實時反映出芯片內申請中斷的各個中斷源優先級最高的中斷源,當芯片沒有中斷申請時,RR2的默認值為3。程序執行時,系統將首先判斷U4是否有中斷申請,若有,則處理相應任務。另外,在MCU處理了一個85C30的中斷源后,再次讀取RR2,則可再次得知當前申請中斷的優先級最高的中斷源。這樣,就可以通過一次硬件中斷申請來完成多個中斷源的任務,從而大大節省了頻繁進出中斷的現象,從而節約了中斷處理時間,提高了系統的可靠性和靈活性。

        6 結束語

        85C30具有兩個通道,可支持多種通信協議,并可方便地擴展系統串口,提高系統通信的靈活性和可靠性。當系統中各子通道通信速度不一樣時,僅需修改各自通道中的波特率寄存器的設置即可。實驗證明:在異步模式下,該系統可實現雙通道115.2kbps的通信速度,且其錯誤率為0%。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 三门县| 武义县| 巴彦县| 海林市| 临清市| 城固县| 明光市| 哈密市| 钟祥市| 梁山县| 江山市| 南华县| 芮城县| 舒城县| 抚宁县| 崇信县| 大名县| 道孚县| 苍山县| 巴里| 桂东县| 包头市| 德昌县| 乌鲁木齐县| 东兴市| 湘西| 龙州县| 紫云| 茶陵县| 莒南县| 肃宁县| 邻水| 高平市| 芦山县| 瓮安县| 鞍山市| 仙桃市| 汝州市| 屯昌县| 昭通市| 镇原县|