亚洲精品影院一区二区-亚洲精品永久一区-亚洲精品中文一区不卡-亚洲精品中文字幕久久久久久-国产亚洲精品aaa大片-国产亚洲精品成人a在线

您好,歡迎光臨電子應用網![登錄] [免費注冊] 返回首頁 | | 網站地圖 | 反饋 | 收藏
在應用中實踐
在實踐中成長
  • 應用
  • 專題
  • 產品
  • 新聞
  • 展會
  • 活動
  • 招聘
當前位置:中國電子應用網 > 技術應用 > 正文

基于雙單片機的波特率變換器設計

2011年09月19日14:49:53 本網站 我要評論(2)字號:T | T | T
關鍵字:應用 通信 單片機 

  在一些復雜的系統中,系統與分系統、分系統與設備等之間存在數據的傳遞問題,往往采用通信的方式來解決。由于分系統、沒備等通信波特率的不同,特別是一些特殊波特率設備的存在,使得系統中設備間的相互通信不易實現。例如,在一個系統中,上位機接收某一設備的數據,如圖1所示,設備l和設備2采用的是 172.8 kbps的波特率,而上位機用VB編程,其通信波特率為115.2 kbps、128 kbps或256 kbps,等,這樣設備之間就不能相互通信,給設計帶來困難。為了解決上述問題,采用雙單片機電路,設計了波特率變換器,將接收波特率為172.8 kbps的數據,轉換成波特率為115.2 kbps的輸出,從而使不同波特率設備之間的通信成為可能。 

  

 

  1 波特率變換電路

 

  波特率變換電路如圖2所示。電路采用2片單片機89C5l作為電路的核心,利用單片機的UART串行口與相關設備通信。單片機u1_L.(接波特率低的設備)與波特率為115.2 kbps的設備通信,單片機U2_H(接波特率高的設備)與波特率為172.8 kbps的設備通信。Ul_I,與U2_H的通信采用并行口方式,以加快Ul_I。與U2_H之間數據傳遞的速率。U1_L與U2_H的通信可以采用中斷查詢的方式,也可以采用握手查詢的方式進行數據傳遞。

 

  

 

  電路采用2片75176接口驅動芯片組成一個RS-422通信接口。U3和U4組成的通信接口與115.2 kbps的設備相連,U5和U6組成的通信接口與172.8 kbps的設備相連,通信接口采用中斷技術。波特率變換器工作原理如下:U1_I。從串行口收到設備的數據后,從Pl口輸出數據,并通知U2_H取數, U2_H取到數據后向設備發出數據,同時通知Ul_I.已取走數據,為U1一L下一次輸出數據做準備。當U2_H從串行口收到設備的數據后,查詢 U1_I,是否允許接收數據,如允許接收數據,U2_H從P1口輸出數據,并通知Ul_L取數,Ul_L取到數據后向設備發出數據,同時通知U2_H已取走數據,為U2_H下一次輸出數據做準備;如Ul_L不允許接收數據,則U2_H暫緩送數。

 

  2 波特率變換器的應用

 

  波特率變換器在應用中,根據使用情況可以分為單向傳送和雙向傳送。兩單片機之間的數據傳遞可以采用中斷方式.也可以采用查詢方式。如采用查詢方式,編程時利用P2口的幾位作為查詢信號,實現單向或雙向傳送。

  2.1 單向傳送

  單向傳送就是通信口的數據流只向一個方向,即從Ul_L接收到的數據,從U2_H發送出去,或從U2_H接收到的數據,從Ul_L發送出去。用這種方式進行軟件編程比較簡單,F以U1_L只接收外部設備數據,U2_H只向外部設備發送數據,采用查詢方式為例,兩單片機之間數據傳送的流程圖如圖3所示。其中 Ul_L的P2.2作為向U2_H傳送新數據的查詢信號(U2_H的P2.5),P2.2=“0”表示有新的數據,P2.2=“1”表示沒有新的數據; U2_H的P2.2作為接收U1_L數據的查詢信號(U1_L的P2.5),P2.2=“O”表示可以接收新的數據,P2.2=“1”表示不能接收新的數據。如果采用中斷方式,兩單片機的查詢信號更簡單,只要Ul_L查詢U2_H是否可以接收數據的信號就可以,U2_H無需查詢U1_L的查詢信號。

 

  

 

  在一些復雜的系統中,系統與分系統、分系統與設備等之間存在數據的傳遞問題,往往采用通信的方式來解決。由于分系統、沒備等通信波特率的不同,特別是一些特殊波特率設備的存在,使得系統中設備間的相互通信不易實現。例如,在一個系統中,上位機接收某一設備的數據,如圖1所示,設備l和設備2采用的是 172.8 kbps的波特率,而上位機用VB編程,其通信波特率為115.2 kbps、128 kbps或256 kbps,等,這樣設備之間就不能相互通信,給設計帶來困難。為了解決上述問題,采用雙單片機電路,設計了波特率變換器,將接收波特率為172.8 kbps的數據,轉換成波特率為115.2 kbps的輸出,從而使不同波特率設備之間的通信成為可能。 

  

 

  1 波特率變換電路

 

  波特率變換電路如圖2所示。電路采用2片單片機89C5l作為電路的核心,利用單片機的UART串行口與相關設備通信。單片機u1_L.(接波特率低的設備)與波特率為115.2 kbps的設備通信,單片機U2_H(接波特率高的設備)與波特率為172.8 kbps的設備通信。Ul_I,與U2_H的通信采用并行口方式,以加快Ul_I。與U2_H之間數據傳遞的速率。U1_L與U2_H的通信可以采用中斷查詢的方式,也可以采用握手查詢的方式進行數據傳遞。

 

  

 

  電路采用2片75176接口驅動芯片組成一個RS-422通信接口。U3和U4組成的通信接口與115.2 kbps的設備相連,U5和U6組成的通信接口與172.8 kbps的設備相連,通信接口采用中斷技術。波特率變換器工作原理如下:U1_I。從串行口收到設備的數據后,從Pl口輸出數據,并通知U2_H取數, U2_H取到數據后向設備發出數據,同時通知Ul_I.已取走數據,為U1一L下一次輸出數據做準備。當U2_H從串行口收到設備的數據后,查詢 U1_I,是否允許接收數據,如允許接收數據,U2_H從P1口輸出數據,并通知Ul_L取數,Ul_L取到數據后向設備發出數據,同時通知U2_H已取走數據,為U2_H下一次輸出數據做準備;如Ul_L不允許接收數據,則U2_H暫緩送數。

 

  2 波特率變換器的應用

 

  波特率變換器在應用中,根據使用情況可以分為單向傳送和雙向傳送。兩單片機之間的數據傳遞可以采用中斷方式.也可以采用查詢方式。如采用查詢方式,編程時利用P2口的幾位作為查詢信號,實現單向或雙向傳送。

  2.1 單向傳送

  單向傳送就是通信口的數據流只向一個方向,即從Ul_L接收到的數據,從U2_H發送出去,或從U2_H接收到的數據,從Ul_L發送出去。用這種方式進行軟件編程比較簡單,F以U1_L只接收外部設備數據,U2_H只向外部設備發送數據,采用查詢方式為例,兩單片機之間數據傳送的流程圖如圖3所示。其中 Ul_L的P2.2作為向U2_H傳送新數據的查詢信號(U2_H的P2.5),P2.2=“0”表示有新的數據,P2.2=“1”表示沒有新的數據; U2_H的P2.2作為接收U1_L數據的查詢信號(U1_L的P2.5),P2.2=“O”表示可以接收新的數據,P2.2=“1”表示不能接收新的數據。如果采用中斷方式,兩單片機的查詢信號更簡單,只要Ul_L查詢U2_H是否可以接收數據的信號就可以,U2_H無需查詢U1_L的查詢信號。

 

  

 

  2.2 雙向傳送

  雙向傳送就是通信口可以同時接收數據和發送數據,數據流是雙向的,Ul_L和U2_H既接收數據也發送數據。這種方式軟件編程比較復雜,特別是雙向傳送數據采用查詢方式時。單片機之間的查詢信號就更加復雜了,F以雙向查詢方式為例,兩單片機之間數據傳送的流程圖如圖4所示,U2_H的流程與U1_L一樣。其中U1_L向U2_H傳送數據時的查詢信號與單向傳送的定義一樣,U2_H的P2.3作為向U1_L傳送新數據的查詢信號(U1_L的P2.4), P2.3=“0”表示有新的數據,P2.3=“l”表示沒有新的數據;Ul_L的P2.3作為接收U2_H數據的查詢信號(U2_H的P2.4),P2. 3=“O”表示可以接收新的數據,P2.3=“1”表示不能接收新的數據。如果采用中斷方式,查詢信號可以減少,編程可以簡化。

 

  

 

  2.3 應用時的注意事項

  兩個單片機之間的握手方式如果采用中斷,由于U2_H向外部發送數據比U1_L接收外部數據快,Ul_L向U2_H傳送數據時,無需考慮U2_H的狀態,而U2_H向U1_L傳送數據時,由于U2_H接收外部數據比U1_L向外部發送數據快,U2_H必須查詢Ul_L的狀態,即U1_L是否處于接收 U2_H數據的狀態,否則,U2_H就不能向Ul_L傳送數據。

  若作為RS_485通信接口使用,只需對圖2中的電路稍做改動,增加對75176芯片的讀寫控制,同時兩個單片機中與主通信設備相連的單片機作為主機,通過P2口的一位來協調兩個單片機是接收數據還是發送數據。

  值得注意的是,該波特率變換器在不同的應用中會受到一定的限制,在使用時要注意下面幾點:①波特率很高時,要考慮單片機串行口能否實現;②從波特率高的向波特率低的變換時,要考慮波特率低的單片機能否實現不丟數據的發送;③當雙向變換時,既要考慮上述情況,還有考慮程序的大小,以及執行時間對雙向傳送數據的影響,計算兩個單片機能否實現不丟數據的變換,在時間上要留有余量;④在查詢時,要注意握手信號的關系,不要對同一數據產生重復讀取,以至于數據重復; ⑤波特率不同時,單片機可以選用不同的晶振頻率。

  2.4 實例及源程序

網友評論:已有2條評論 點擊查看
登錄 (請登錄發言,并遵守相關規定)
如果您對新聞頻道有任何意見或建議,請到交流平臺反饋。【反饋意見】
關于我們 | 聯系我們 | 本站動態 | 廣告服務 | 歡迎投稿 | 友情鏈接 | 法律聲明
Copyright (c) 2008-2025 01ea.com.All rights reserved.
電子應用網 京ICP備12009123號-2 京公網安備110105003345號