0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于89C52單片機和16C554收發(fā)器實現(xiàn)擴展通信接口的設計

電子設計 ? 來源:單片機與嵌入式系統(tǒng)應用 ? 作者:楊凌云;樊桂花; ? 2020-06-09 07:50 ? 次閱讀

引言

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

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

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

基于89C52單片機和16C554收發(fā)器實現(xiàn)擴展通信接口的設計

1.1 MODEM鏈路的連接

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

1.2 上位主機電路組成

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

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

1.3 路口機電路組成

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

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

基于89C52單片機和16C554收發(fā)器實現(xiàn)擴展通信接口的設計

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

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

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

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

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

2.2 16C554的初始化

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

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

INIMODEM:

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

基于89C52單片機和16C554收發(fā)器實現(xiàn)擴展通信接口的設計

;存器LCR

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

MOVX @DPTR,A

ANL DPL,#0F8H

MOV A,#0CH

MOVX @DPTR,A ;送波特率常數(shù):9600baud

INC DPL

CLR A

MOVX @DPTR,A

INC DPL

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

MOV A,#03H

MOVX @DPTR,A ;設置數(shù)據(jù)幀格式

INC DPL ;指向MODEM控制寄存器

MOV A,#01H

基于89C52單片機和16C554收發(fā)器實現(xiàn)擴展通信接口的設計

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;設置接收寄存器中有數(shù)則

;中斷

RET

3、結(jié)束語

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

責任編輯:gt


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6040

    文章

    44592

    瀏覽量

    636891
  • 收發(fā)器
    +關注

    關注

    10

    文章

    3440

    瀏覽量

    106110
  • 計算機
    +關注

    關注

    19

    文章

    7523

    瀏覽量

    88315
收藏 人收藏

    評論

    相關推薦

    89C52 單片機

    單片機89C52用六個數(shù)碼管實現(xiàn)簡單的加減乘除
    發(fā)表于 12-29 13:49

    如何去實現(xiàn)一種基于89C52單片機的按鍵計數(shù)仿真設計?

    怎樣去設計基于89C52單片機的按鍵計數(shù)仿真硬件電路?怎樣去實現(xiàn)基于89C52單片機的按鍵計數(shù)仿真軟件代碼?
    發(fā)表于 07-19 07:32

    利用16C554實現(xiàn)主從式單片機遠距離通信擴展

    通過 16C554完成上位主機對多臺 MODEM的控制,采用背靠背連接實現(xiàn)主機與下位的遠距離通信。該系統(tǒng)已成功地用于城市交通路口的信息傳輸。
    發(fā)表于 04-08 09:49 ?42次下載

    基于89C52的GPS板電路設計與實現(xiàn)

    摘要:介紹了基于89C52的GPS板電路設計與實現(xiàn),基于GPS技術,利用89C52單片機實現(xiàn)衛(wèi)星導航電文的接收與處理,將緯度、經(jīng)度、高度、速
    發(fā)表于 05-04 10:34 ?87次下載

    89C52單片機模塊

    模塊結(jié)構(gòu)框圖和功能描述 模塊結(jié)構(gòu)框圖如圖:采用8位單片機89C52,時鐘電路使用片內(nèi)時鐘振蕩,具有上電復位和手動按鍵復位功能,外接WDG復位電路。通過并行總線外擴
    發(fā)表于 12-17 21:55 ?245次下載

    at89c52單片機引腳說明,AT89C52高性能8位單片機

    at89c52單片機引腳說明,AT89C52高性能8位單片機
    發(fā)表于 04-29 22:05 ?2.7w次閱讀
    at<b class='flag-5'>89c52</b><b class='flag-5'>單片機</b>引腳說明,AT<b class='flag-5'>89C52</b>高性能8位<b class='flag-5'>單片機</b>

    基于89C52單片機和DS1302的萬年歷設計

    基于89C52單片機和DS1302的萬年歷設計.
    發(fā)表于 03-09 14:10 ?935次下載
    基于<b class='flag-5'>89C52</b><b class='flag-5'>單片機</b>和DS1302的萬年歷設計

    74LS164的管腳定義與89C52單片機秒表的設計

    本文介紹了89C52單片機秒表的設計要求與方法。 (1)理解數(shù)碼管動態(tài)顯示的原理 (2)掌握數(shù)碼管動態(tài)顯示程序的設計方法 (3)掌握74LS164 擴展端口的方法 (4)掌握單片機定時
    發(fā)表于 11-27 10:30 ?25次下載
    74LS164的管腳定義與<b class='flag-5'>89C52</b><b class='flag-5'>單片機</b>秒表的設計

    89c52單片機代碼

    89c52單片機代碼
    發(fā)表于 01-29 15:54 ?2次下載

    89C52單片機和nRF24L01無線收發(fā)器芯片應用的收發(fā)程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是89C52單片機和nRF24L01無線收發(fā)器芯片應用的收發(fā)程序免費下載。
    發(fā)表于 05-06 16:40 ?60次下載
    <b class='flag-5'>89C52</b><b class='flag-5'>單片機</b>和nRF24L01無線<b class='flag-5'>收發(fā)器</b>芯片應用的<b class='flag-5'>收發(fā)</b>程序免費下載

    使用89C52單片機實現(xiàn)DHT11的應用和LCD1602顯示的程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用89C52單片機實現(xiàn)DHT11的應用和LCD1602顯示的程序免費下載。
    發(fā)表于 03-20 08:00 ?17次下載
    使用<b class='flag-5'>89C52</b><b class='flag-5'>單片機</b><b class='flag-5'>實現(xiàn)</b>DHT11的應用和LCD1602顯示的程序免費下載

    AT89C52單片機實現(xiàn)喇叭驅(qū)動的設計

    AT89C52單片機實現(xiàn)喇叭驅(qū)動的設計
    發(fā)表于 11-23 17:06 ?53次下載
    AT<b class='flag-5'>89C52</b><b class='flag-5'>單片機</b><b class='flag-5'>實現(xiàn)</b>喇叭驅(qū)動的設計

    單片機基礎】89C52單片機串口通信

    )RI1、89C52串口通信簡介STC89C52系列單片機內(nèi)部集成有一個功能很強的全雙工串口通信,與傳統(tǒng)8051
    發(fā)表于 11-23 17:21 ?10次下載
    【<b class='flag-5'>單片機</b>基礎】<b class='flag-5'>89C52</b><b class='flag-5'>單片機</b>串口<b class='flag-5'>通信</b>

    基于89C52單片機的洗衣控制程序及proteus模擬

    基于89C52單片機的洗衣控制程序及proteus模擬
    發(fā)表于 11-25 15:36 ?44次下載
    基于<b class='flag-5'>89C52</b><b class='flag-5'>單片機</b>的洗衣<b class='flag-5'>機</b>控制程序及proteus模擬

    單片機發(fā)送數(shù)據(jù)給上位程序89c52資料

    單片機發(fā)送數(shù)據(jù)給上位程序89c52資料
    發(fā)表于 12-28 10:00 ?24次下載