新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于TL16C554的水情中心站多路數據接收

        基于TL16C554的水情中心站多路數據接收

        作者: 時間:2005-07-27 來源:網絡 收藏
        摘要:自動測報系統中,常常要求和各路終端共享遙測,為此使用了TI公司的4通道異步收發器集成芯片對AT89S8252進行串口擴展,實現和各終端的多路與發送。

        關鍵詞: 多路 異步串行通信

        1 引 言

        自動測報系統一般由中心站、中繼站和遙測站組成。自動測報系統的中心站用來遙測站(或經中繼站轉發)的數據并進行解調、存儲和處理,通過數據庫和應用軟件實現防汛調度需求。其中中心站一般由天線、饋線、避雷器、無線接收機(電臺)、解碼器、工業控制計算機(或PC)組成。

        為了滿足水情、城市防洪計算機監控等遙測遙控系統中心站的數據交換的需要,常常要求幾個終端共享遙測數據,即要求把中心站獲取的數據資料通過無線或有線信道,傳送到各個共享數據的終端,而各個終端也可以與中心站進行數據交換。最為常用的是采用異步串行通信方式,實現中心站與各終端的多路數據的接收與發送。

        2 系統設計

        2.1

        在異步串行通信中,一般都要求設備的串行口要符合RS-232、RS-485等串行通信標準,并按該標準定義的信號進行信息控制和數據傳輸,能夠實現該功能的集成電路通常稱為UART,即通用異步接收器/發送器。利用At89s8252構成主從式多機串行通信系統時發現,主機At89s8252一方面要和從機通訊,另一方面還要和終端機通訊,此時便有必要進行串口擴展,同時多臺從機有可能同時與主機傳送數據,此時采用4通道異步收發器TL16C554顯然是一種較好的選擇。

        TL16C554是TI公司生產的4通道異步收發器集成芯片,它的每個通道能從外圍設備或MODEM接收數據,實現串-并轉換;同時它也可從CPU端接受數據,實現并-串轉換。在FIFO模式下,傳輸和接收前將數據緩沖為16字節數據包,減少了CPU的中斷數量。內部包含4片改良的16C550異步傳輸器件,使得串行I/O更加可靠,每個信道可實現串行和并行兩種連接方式的轉換,每個信道的狀態可以通過CPU的操作讀取,可以獲取操作情況或任何的錯誤狀態。三態輸出為雙向數據總線和控制總線提供TTL驅動能力、優先級中斷系統控制、可編程的串行接口特性。

        TL16C554的主要特點如下:(1)由4個帶有邏輯控制的TL16C550異步通信單元組成;(2)最高可達1 Mbps的波特率,具有可編程的波特率發生器,便于靈活選擇數據收發頻率;(3)具有16字節的收發FIFO 緩沖器;(4)具有可獨立控制的發送、接收、線路狀態和MODEM 狀態中斷;(5)具有全雙工的接收發送線路,可獨立進行接收發送控制;(6)全面的線路狀態報告功能;(7)充分分級的中斷系統控制;(8)三態TTL電平輸出。

        TL16C554有68引腳PLCC和80引腳TQFP兩種封裝形式,各個引腳的功能為:A0~A2為片內寄存器的選擇信號端;D0~D7為雙向8位數據線;IOR為讀選通端(低電平有效);IOW為寫選通端(低電平有效);INTA~INTD為中斷A、B、C、D(高電平有效);CSA~CSD為片選A、B、C、D(低電平有效);XTAL1、XTAL2為外部時鐘端,該兩腳可接晶振或外部時鐘信號;RXA~RXD為串行輸入A、B、C、D端;TXA~TXD為串行輸出A、B、C、D端;RXRDY為接收準備好信號端(低電平有效);TXRDY為發送準備好信號端(低電平有效)。

        2.2 系統框圖

        利用TL16C554實現中心站與各終端之間多路數據接收的系統框圖如圖1所示,數據采集器將采集到的水文數據存儲在單片機里,這里的主控MCU使用的是ATMEL公司的AT89S8252。主控MCU要完成的工作是將收集到的水文信息存儲到本地計算機,同時通過TL16C554的4個異步串行口向各個電臺發送,另外也可以通Internet向遠程計算機發送。四個電臺也能通過四個Modem向本地PC發送信息。

        2.3 硬件電路圖

        下面介紹一下中心站多路數據接收的硬件電路圖。圖3中,TL16C554的數據線D0~D7直接與AT89S8252的P0口相連;TL16C554的片內寄存器選擇線A2~A0經過地址鎖存器74HC373接AT89S8252的低位地址P0.2~P0.0,此時AT89S8252對TL16C554片內寄存器的讀寫操作同對外部RAM讀寫一樣。TL16C554 的片選CSA~CSD 分別接P1.0~P1.3,這樣可以通過對P1.0~P1.3的清零來選通通道A~D。TL16C554 的中斷線INTA~INTD 分與AT89S8252的P1.4~P1.7相連,并經過一個四輸入或非門接AT89S8252的INT0。這樣當多個串口同時使用時,任一個指定通信事件的出現都將使UART產生一次通信中斷,并觸發外部INT0中斷。在中斷服務子程序中,通過對P1.4~P1.7的檢測來確定中斷到底來自于哪個口,并完成相應的數據處理。TL16C554的IOR、IOW和RESET直接與AT89S8252的RD、WR和RESET相連,串行輸出口A通過調制解調器MC145442與電臺J1相連,由于B、C、D口與電臺連接方式雷同,故省略未畫出。

        3 軟件設計

        系統軟件設計的重要部分就是TL16C554 的初始化。系統上電后,應分別初始化要使用的每一個通道,并對其內部13個寄存器的讀寫、波特率、數據幀格式以及FIFO 控制等進行設置。下面是TL16C554 的初始化程序:

        ini16554 :

        mov dptr , # 0fffbh ;指向線性控制寄存器

        mov a , # 80h

        movx @dptr ,a

        anl dpl , # 0f8h

        mov a , # 0ch

        movx @dptr ,a ;送波特率常數9600

        inc dpl

        clr a

        movx dptr ,a ;送波特率常數高位00

        inc dpl

        inc dpl

        mov dptr , # 0fffbh

        mov a , # 03h ;設置數據幀格式,數據位8 位,1個停止位

        movx @dptr ,a

        inc dpl ;modem 控制器bit3 控制中斷

        正確產生

        mov a , # 02bh

        movx @dptr ,a anl dpl , # 0f8h

        orl dpl , # 02h

        mov a , # 083h

        movx @dptr ,a ;接收FIFO 有效, 8個字節一次中斷

        anl dpl , # 0f8h

        orl dpl , # 01h ; IER 中斷允許控制器

        mov a , # 001h

        movx @dptr ,a ;接收緩沖區有數中斷

        ret

        4 結束語

        實驗表明,上述軟硬件設計可以實現四路串行信號的可靠及時異步收發服務。而且利用TL16C554及AT89S8252構成的串口擴展系統,硬件接口簡單,使用經濟,并且數據傳輸距離可遠可近。這種主從式多機串行通信系統已被應用到實際系統中,該電路穩定可靠,具有一定的應用價值。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 伊宁县| 洞口县| 奉贤区| 金堂县| 鹤峰县| 宽甸| 广东省| 恩平市| 咸丰县| 九龙县| 德庆县| 三门县| 乌鲁木齐县| 青海省| 望奎县| 石景山区| 且末县| 万源市| 汝州市| 达孜县| 慈利县| 黔西县| 漠河县| 山丹县| 桐庐县| 新干县| 蒙城县| 仙桃市| 楚雄市| 定西市| 多伦县| 淮安市| 资兴市| 黄浦区| 广昌县| 彭水| 桑日县| 张家港市| 锡林郭勒盟| 齐河县| 恭城|