<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 用單片機實現(xiàn)異步串行數(shù)據(jù)再生

          用單片機實現(xiàn)異步串行數(shù)據(jù)再生

          作者: 時間:2012-02-09 來源:網(wǎng)絡 收藏

          1 引言

          本文引用地址:http://www.ex-cimer.com/article/172147.htm

          在現(xiàn)代移動通信的傳輸網(wǎng)絡中,普遍采用同步數(shù)字體系(SDH)光傳輸設備。很多移動通信基站的光傳輸設備提供的輔助通道都保留接口,如:RS232、RS422方式。通信接口雖然效率低、速度慢,但具有技術簡單,產(chǎn)品成本低、使用方便的優(yōu)點,在計算機監(jiān)控、智能化設備等方面仍有廣泛的應用。這些光傳輸設備一般在每個基站提供兩個口,分別通向鏈路上相鄰的兩個基站,稱為端到端方式。通過這些輔助信道可傳輸一些基他設備的網(wǎng)管信息或基站的動力環(huán)境監(jiān)控信息。要想利用這種分段的輔助信道在鏈路上傳遞信息,必須在每個基站將兩個方向的口進行溝通、連接。這樣,串行數(shù)據(jù)每經(jīng)過一個基站都要進行一次“同步—”、“異步—同步”的轉(zhuǎn)換。

          異步串行數(shù)據(jù)要通過同步數(shù)字體系傳送,必然要進行碼速調(diào)整。由于異步通信的波特率(9600、4800等)一般都不是標準的通信碼速(64K、128K 等),在碼速調(diào)整的過程中,會改變每位數(shù)據(jù)對應的電平寬度,從而造成異步數(shù)據(jù)的波形畸變。隨著經(jīng)過的基站數(shù)量的增加,波形的畸變逐漸累積。對于異步接口,通常使用的是稱為起止式通信方式。在接收操作時,接口電路使用自己的時鐘(通常是波特率的16倍或64倍)對信號進行取樣,當確認收到一個起始位后,每隔 16個或64個時鐘對接收信號采樣一次,并移入移位寄位器,直到一個字符接收完畢。當數(shù)據(jù)的波形畸變累積到一定程度后,接收數(shù)據(jù)就會出現(xiàn)誤碼,嚴重時就會導致通信中斷。

          出現(xiàn)這種情況后,最簡單的辦法是降低通信波特率。但降低波特率并不能消除數(shù)據(jù)的波形畸變,只是有限地延長了通信距離,代價是降低了系統(tǒng)數(shù)據(jù)的實時性。徹底的解決方案是在波形畸形嚴重到產(chǎn)生誤碼之前,對傳輸?shù)漠惒酱袛?shù)據(jù)進行

          2 硬件設計

          AT89C2051是ATMAL公司生產(chǎn)的一種MCS-51系列兼容產(chǎn)品,20個引腳封裝,片內(nèi)集成了2K 字節(jié)的Flash Memory、128字節(jié)的RAM和一個全雙工的串行口。AT89C2051體積小、價格低廉,比很多串行口擴展芯片還便宜,片內(nèi)的RAM還可以靈活地用作收發(fā)數(shù)據(jù)的緩存,很適合作為異步串行數(shù)據(jù)器。MAX202用于TTL-RS232電平轉(zhuǎn)換,如果使用的是RS422接口,則可將MAX202換成 MAX490完成TTL-RS422電平轉(zhuǎn)換。MAX818是AT80C2051的上電復位和WATCHDOG電路。硬件原理圖見圖1。

          22.jpg

          兩個AT89C2051的功能是將他們從RXD管腳收到的數(shù)據(jù)再按設定的波特率從TXD管腳發(fā)送出去。這樣,從COM1口來的信號被D1接收后,發(fā)送到 COM2口,從COM2口來的信號被D2接收后,發(fā) 送到COM1口。通過異步串行數(shù)據(jù)器的串行數(shù)據(jù)都經(jīng)過了AT80C2051的轉(zhuǎn)發(fā),經(jīng)過了一次:串-并”(接收)、“并-串”(發(fā)送)的轉(zhuǎn)換。在“并-串”轉(zhuǎn)換(發(fā)送)的過程中,數(shù)據(jù)在精確的波特率時鐘的作用下從發(fā)送移位寄存器中移出,消除了接收數(shù)據(jù)中的波形畸變,從而完成了異步串行數(shù)據(jù)的再生功能。通過改變AT89C2051上P17、P16、P15三個引腳的電平可設定通信的波特率。

          3 軟件設計

          基于上述硬件設計,兩個AT89C2051的功能是完全相同的,因此,它們的軟件也是完全相同的。在進行了變量初始化之后,根據(jù)P17、 P16、P15三個管腳的電平,設置串行口的波特率。波特率范圍是150、300、600、1200、2400、4800、9600、 19200BPS。因為沒有其他任務,串行口的操作采用了簡潔的查詢方式。軟件中,需要在RAM中為接收數(shù)據(jù)設置一個FIFO緩沖區(qū),否則在轉(zhuǎn)發(fā)過程中容易出現(xiàn)溢出現(xiàn)象導致數(shù)據(jù)丟失。程序流程圖見圖2。

          AT89C2051與MCS-51指令集兼容,可通過C語言編寫,大大提高了編程效率。本設計中的軟件在Keil μ Vision2 V205集成環(huán)境中編譯、調(diào)試通過。目標代碼僅150字節(jié)左右,因此軟件功能還有擴充的余地。

          以下是C語言源程序清單:

          23.jpg

          24.jpg

          25.jpg

          26.jpg

          4 結(jié)語

          該設計產(chǎn)品已在多個現(xiàn)場作用,性能良好。一般情況下,每隔三到四個基站增加一個異步串行數(shù)據(jù)再生器,可保證整個通信鏈路穩(wěn)定工作在9600BPS狀態(tài)下。

          用AT89C2051異步串行數(shù)據(jù)的再生,硬件成本低、工作可靠,軟件編程方便、簡潔。如果增加光耦,還可收發(fā)端的電氣隔離。在通信規(guī)約的支持下,通過擴充軟件功能可使AT89C2051自動適應各種通信波特率。お

          參考文獻
          [1]陳建鐸.Intel單片機應用技術[M].陜西科學技術出版社,1991



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();