關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 利用16C554實現主從式單片機遠距離通信擴展

        利用16C554實現主從式單片機遠距離通信擴展

        作者: 時間:2006-05-07 來源:網絡 收藏

        摘要:通過16C554完成上位主機對多臺MODEM的控制,利用背靠背連接實現主機與下位機的遠距離通信。該系統(tǒng)已成功地用于城市交通路口的信息傳輸。

        本文引用地址:http://www.104case.com/article/244625.htm

        關鍵詞:MODEM 單片機系統(tǒng) 16C554 通信

        引言

        在交通路口的紅綠燈控制系統(tǒng)中,需要將各器口車流量、車速等狀態(tài)信息時傳到主控室,另外,上位主機隨時可能下發(fā)各種道路控制信息。這種遠距離通信常通過MODEM以點對點的方式進行。常用MODEM通信鏈路的連接方式有兩種。第一種是通過電話以撥號方式完成通信鏈接。采用這種方式,上位主機與各路口機的距離可無限遠,但缺點是每個路口占用1個電話號。由于主機與路口機的通信是頻繁的,若不采用專線電話,則難以保證信息收發(fā)的實時性;而采用專線連接,勢必增加系統(tǒng)成本和設備開銷。另一種連接是直接通過調制電纜連接兩臺MODEM,即背靠背連接。背靠背的連接在數據傳輸波特率為9600 baud時,通信距離可以達到10 km,完全能夠滿足中小城市道路控制系統(tǒng)中的通信要求。本系統(tǒng)采用了后一種連接方式。

        1 系統(tǒng)硬件設計

        系統(tǒng)由兩大部分組成:插在計算機中的上位主機和各路口的下位機。根據通信鏈路的連接方式,89C52為核心組成的上位主機需要通過多臺MODEM實現與各路口機的數據傳輸。系統(tǒng)選用了EXAR公司的UART(通用異步收發(fā)器)16C554來擴展單片機異步通信妝口。1片16C554可以完成對4臺MODEM的操作。下位路口機也是由89C52組成,對MODEM的操作通過其自身UART及部分P1口線實現。圖1為系統(tǒng)結構框圖。

        1.1 MODEM鏈路的連接

        系統(tǒng)采用背靠背連接方式,只要用調制電纜直接連接對應MODEM的Line口就實現了鏈路的連接。

        1.2 上位主機電路組成

        上位機主要完成兩部分工作。一是與計算機交換數據,將車輛檢測數據及當前各路口紅綠燈狀態(tài)等信息送計算機顯示,同時接收計算機下發(fā)的控制數據。這部分任務通過ISA總線完成,在這里不作敘述。二是控制MODEM與路口機鏈接,完成數據的收發(fā)。對MODEM的操作由單片機對16C554編程實現。圖2是上位主機的原理圖。其中62256用于暫存所有路口的收發(fā)數據;16C554用于擴展單片機的異步通信接口,實現對4路MODEM的控制;MAX238完成TTL電平至RS-232的電平轉換;GAL20V8實現擴展外設的譯碼。

        16C554是內部帶有16字節(jié)收發(fā)FIFO的通用異步收發(fā)器,具有獨立的收發(fā)控制電路。4路標準的MODEM接口,通過軟件可分別設置允許每一路中斷。波特率、數據幀格式等也都可由軟件編程設置。該芯片可工作在24MHz或14.7464MHz,當時鐘頻率為24MHz時,數據傳輸率可達1.5Mbps;時鐘頻率為14.746 4MHz時,數據傳輸率達912.6Kbps,完全可以用于高速MODEM的控制中。

        1.3 路口機電路組成

        以89C52為核心的單片機系統(tǒng)實現了路口機的全部功能:與上位機的通信及車輛信息的處理。系統(tǒng)擴展了1片6264,現MODEM的通信接口由89C52內部的UART及P1口實現。圖3給出了通信接口的電路原理圖。

        RS-232標準定義的接口有兩種形式:25針和9針。這里采用了9針連接器。當MODEM工作于全雙工方式時,不需要使用RTS/CTS握手信號。另外,背靠背的連接MODEM沒有接電話機,故無需檢測振鈴信號RI。這樣,9根線中只有連接6根線。

        89C52單片機內部有1個全雙工的UART,但沒有對MODEM的控制接口。對MDOEM的控制由P1口實現,它們分別為載波檢測DCD、數據設備就緒DSR、數據終端就緒DTR,這樣共同實現MODEM的鏈接和數據的收發(fā)。

        2 系統(tǒng)軟件設計

        2.1 通信線路的鏈接與掉線的處理

        采用背靠背連接方式,首先要解決通信的鏈接問題。由于無振鈴信號觸發(fā)自動應答,因此被動一方的MODEM應在開機工作過程中定時地云檢測裁波信號。如果鏈路未通,則采用應答方式摘機,直至鏈接成功。主動方、被動方MDOEM的通信鏈接過程如圖4所示。

        根據系統(tǒng)要求,上位主機應能隨時發(fā)送命令或接收數據,這樣與上位機連接的MODEM定為主動方。由于上位機與下位機的摘機是異步的,因此,上位機MDOEM等待載波建立時間要大于下位機MODEM等待載波的建立時間。這里上、下位機等待載波建立時間分別設為2.5min和50s。若上位機定時器的定時時間到而未建立鏈接,則被視為通信有問題,通過計算機反映出鏈接失敗,同時下位機定時摘機時間可設為1min,這樣才能保證線路由于掛機或非正常掉線后能再次接通鏈路。

        2.2 16C554的初始化

        16C554集成有全部的MODEM控制邏輯,通過對其內部的13個寄存器的讀寫,就可以完成對標準MODEM的操作。

        系統(tǒng)上電后需先對16C554進行初始化,包括設置波特率及傳輸數據的幀格式、設置中斷允許位、對FIFO的控制設置等。

        INIMODEM:

        MOV DPTR,#0F803H ;DPTR指向線控寄

        ;存器LCR

        MOV A,#80H ;設置波特率

        MOVX @DPTR,A

        ANL DPL,#0F8H

        MOV A,#0CH

        MOVX @DPTR,A ;送波特率常數:9600baud

        INC DPL

        CLR A

        MOVX @DPTR,A

        INC DPL

        INC DPL ;DPTR指向線控寄存器LCR

        MOV A,#03H

        MOVX @DPTR,A ;設置數據幀格式

        INC DPL ;指向MODEM控制寄存器

        MOV A,#01H

        MOVX @DPTR,A ;置設備終端準備就緒

        ANL DPL,#0F8H

        ORL DPL,#02H ;指向MODEM控制寄存器

        ;MCR

        MOV A,#03H ;置FIFO有效,清接收FIFO

        ANL DPL,#0F08H

        ORL DPL,#01H ;DPTR指向中斷允許寄存器

        ;IER

        MOV A,#01H

        MOVX @DPTR,A;設置接收寄存器中有數則

        ;中斷

        RET

        結束語

        以背靠背方式連接的通信網絡,由于無需任何電話資源,對10km以內的通信連接,不失為較好的選擇。在實際應用中,為保證數據傳輸的實時性,系統(tǒng)在上電初始化后,即可以對線路進行鏈接。正常情況下線路應處于鏈接狀態(tài),這樣才能保證上位機對下位機的及時控制,避免線路重新鏈接帶的延遲。該系統(tǒng)已成功用于交通路口聯(lián)網控制。



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 尚义县| 嘉兴市| 陆丰市| 大庆市| 栖霞市| 大石桥市| 南川市| 正定县| 张家口市| 赣州市| 长寿区| 佛坪县| 怀安县| 汽车| 张北县| 历史| 华池县| 泸西县| 亚东县| 夏邑县| 胶州市| 东山县| 抚顺县| 武威市| 德昌县| 老河口市| 襄汾县| 惠州市| 华安县| 互助| 无棣县| 洛浦县| 莲花县| 昌都县| 辽阳市| 于都县| 安宁市| 治多县| 正定县| 永年县| 南陵县|