單片機(jī)在波特率變換器中的應(yīng)用
發(fā)布時(shí)間:2008/5/27 0:00:00 訪問次數(shù):459
    
    
    來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 作者:北京航天動(dòng)力研究所 鄭大生 孫文英 翟麗婷
    
    在一些復(fù)雜的系統(tǒng)中,系統(tǒng)與分系統(tǒng)、分系統(tǒng)與設(shè)備等之間存在數(shù)據(jù)的傳遞問題,往往采用通信的方式來解決。由于分系統(tǒng)、沒備等通信波特率的不同,特別是一些特殊波特率設(shè)備的存在,使得系統(tǒng)中設(shè)備間的相互通信不易實(shí)現(xiàn)。例如,在一個(gè)系統(tǒng)中,上位機(jī)接收某一設(shè)備的數(shù)據(jù),如圖1所示,設(shè)備l和設(shè)備2采用的是172.8 kbps的波特率,而上位機(jī)用vb編程,其通信波特率為115.2 kbps、128 kbps或256 kbps,等,這樣設(shè)備之間就不能相互通信,給設(shè)計(jì)帶來困難。為了解決上述問題,采用雙單片機(jī)電路,設(shè)計(jì)了波特率變換器,將接收波特率為172.8 kbps的數(shù)據(jù),轉(zhuǎn)換成波特率為115.2 kbps的輸出,從而使不同波特率設(shè)備之間的通信成為可能。
    
    
    
    1 波特率變換電路
    
    波特率變換電路如圖2所示。電路采用2片單片機(jī)89c5l作為電路的核心,利用單片機(jī)的uart串行口與相關(guān)設(shè)備通信。單片機(jī)u1_l.(接波特率低的設(shè)備)與波特率為115.2 kbps的設(shè)備通信,單片機(jī)u2_h(接波特率高的設(shè)備)與波特率為172.8 kbps的設(shè)備通信。ul_i,與u2_h的通信采用并行口方式,以加快ul_i。與u2_h之間數(shù)據(jù)傳遞的速率。u1_l與u2_h的通信可以采用中斷查詢的方式,也可以采用握手查詢的方式進(jìn)行數(shù)據(jù)傳遞。
    
    
    電路采用2片75176接口驅(qū)動(dòng)芯片組成一個(gè)rs-422通信接口。u3和u4組成的通信接口與115.2 kbps的設(shè)備相連,u5和u6組成的通信接口與172.8 kbps的設(shè)備相連,通信接口采用中斷技術(shù)。波特率變換器工作原理如下:u1_i。從串行口收到設(shè)備的數(shù)據(jù)后,從pl口輸出數(shù)據(jù),并通知u2_h取數(shù),u2_h取到數(shù)據(jù)后向設(shè)備發(fā)出數(shù)據(jù),同時(shí)通知ul_i.已取走數(shù)據(jù),為u1一l下一次輸出數(shù)據(jù)做準(zhǔn)備。當(dāng)u2_h從串行口收到設(shè)備的數(shù)據(jù)后,查詢u1_i,是否允許接收數(shù)據(jù),如允許接收數(shù)據(jù),u2_h從p1口輸出數(shù)據(jù),并通知ul_l取數(shù),ul_l取到數(shù)據(jù)后向設(shè)備發(fā)出數(shù)據(jù),同時(shí)通知u2_h已取走數(shù)據(jù),為u2_h下一次輸出數(shù)據(jù)做準(zhǔn)備;如ul_l不允許接收數(shù)據(jù),則u2_h暫緩送數(shù)。
    
    2 波特率變換器的應(yīng)用
    
    波特率變換器在應(yīng)用中,根據(jù)使用情況可以分為單向傳送和雙向傳送。兩單片機(jī)之間的數(shù)據(jù)傳遞可以采用中斷方式.也可以采用查詢方式。如采用查詢方式,編程時(shí)利用p2口的幾位作為查詢信號,實(shí)現(xiàn)單向或雙向傳送。
    
    2.1 單向傳送
    
    單向傳送就是通信口的數(shù)據(jù)流只向一個(gè)方向,即從ul_l接收到的數(shù)據(jù),從u2_h發(fā)送出去,或從u2_h接收到的數(shù)據(jù),從ul_l發(fā)送出去。用這種方式進(jìn)行軟件編程比較簡單,F(xiàn)以u1_l只接收外部設(shè)備數(shù)據(jù),u2_h只向外部設(shè)備發(fā)送數(shù)據(jù),采用查詢方式為例,兩單片機(jī)之間數(shù)據(jù)傳送的流程圖如圖3所示。其中ul_l的p2.2作為向u2_h傳送新數(shù)據(jù)的查詢信號(u2_h的p2.5),p2.2=“0”表示有新的數(shù)據(jù),p2.2=“1”表示沒有新的數(shù)據(jù);u2_h的p2.2作為接收u1_l數(shù)據(jù)的查詢信號(u1_l的p2.5),p2.2=“o”表示可以接收新的數(shù)據(jù),p2.2=“1”表示不能接收新的數(shù)據(jù)。如果采用中斷方式,兩單片機(jī)的查詢信號更簡單,只要ul_l查詢u2_h是否可以接收數(shù)據(jù)的信號就可以,u2_h無需查詢u1_l的查詢信號。
    
    
    
    2.2 雙向傳送
    
    雙向傳送就是通信口可以同時(shí)接收數(shù)據(jù)和發(fā)送數(shù)據(jù),數(shù)據(jù)流是雙向的,ul_l和u2_h既接收數(shù)據(jù)也發(fā)送數(shù)據(jù)。這種方式軟件編程比較復(fù)雜,特別是雙向傳送數(shù)據(jù)采用查詢方式時(shí)。單片機(jī)之間的查詢信號就更加復(fù)雜了,F(xiàn)以雙向查詢方式為例,兩單片機(jī)之間數(shù)據(jù)傳送的流程圖如圖4所示,u2_h的流程與u1_l一樣。其中u1_l向u2_h傳送數(shù)據(jù)時(shí)的查詢信號與單向傳送的定義一樣,u2_h的p2.3作為向u1_l傳送新數(shù)據(jù)的查詢信號(u1_l的p2.4),p2.3=“0”表示有新的數(shù)據(jù),p2.3=“l(fā)”表示沒有新的數(shù)據(jù);ul_l的p2.3作為接收u2_h數(shù)據(jù)的查詢信號(u2_h的p2.4),p2.3=“o”表示可以接收新的數(shù)據(jù),p2.3=“1”表示不能接收新的
    
    
    來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 作者:北京航天動(dòng)力研究所 鄭大生 孫文英 翟麗婷
    
    在一些復(fù)雜的系統(tǒng)中,系統(tǒng)與分系統(tǒng)、分系統(tǒng)與設(shè)備等之間存在數(shù)據(jù)的傳遞問題,往往采用通信的方式來解決。由于分系統(tǒng)、沒備等通信波特率的不同,特別是一些特殊波特率設(shè)備的存在,使得系統(tǒng)中設(shè)備間的相互通信不易實(shí)現(xiàn)。例如,在一個(gè)系統(tǒng)中,上位機(jī)接收某一設(shè)備的數(shù)據(jù),如圖1所示,設(shè)備l和設(shè)備2采用的是172.8 kbps的波特率,而上位機(jī)用vb編程,其通信波特率為115.2 kbps、128 kbps或256 kbps,等,這樣設(shè)備之間就不能相互通信,給設(shè)計(jì)帶來困難。為了解決上述問題,采用雙單片機(jī)電路,設(shè)計(jì)了波特率變換器,將接收波特率為172.8 kbps的數(shù)據(jù),轉(zhuǎn)換成波特率為115.2 kbps的輸出,從而使不同波特率設(shè)備之間的通信成為可能。
    
    
    
    1 波特率變換電路
    
    波特率變換電路如圖2所示。電路采用2片單片機(jī)89c5l作為電路的核心,利用單片機(jī)的uart串行口與相關(guān)設(shè)備通信。單片機(jī)u1_l.(接波特率低的設(shè)備)與波特率為115.2 kbps的設(shè)備通信,單片機(jī)u2_h(接波特率高的設(shè)備)與波特率為172.8 kbps的設(shè)備通信。ul_i,與u2_h的通信采用并行口方式,以加快ul_i。與u2_h之間數(shù)據(jù)傳遞的速率。u1_l與u2_h的通信可以采用中斷查詢的方式,也可以采用握手查詢的方式進(jìn)行數(shù)據(jù)傳遞。
    
    
    電路采用2片75176接口驅(qū)動(dòng)芯片組成一個(gè)rs-422通信接口。u3和u4組成的通信接口與115.2 kbps的設(shè)備相連,u5和u6組成的通信接口與172.8 kbps的設(shè)備相連,通信接口采用中斷技術(shù)。波特率變換器工作原理如下:u1_i。從串行口收到設(shè)備的數(shù)據(jù)后,從pl口輸出數(shù)據(jù),并通知u2_h取數(shù),u2_h取到數(shù)據(jù)后向設(shè)備發(fā)出數(shù)據(jù),同時(shí)通知ul_i.已取走數(shù)據(jù),為u1一l下一次輸出數(shù)據(jù)做準(zhǔn)備。當(dāng)u2_h從串行口收到設(shè)備的數(shù)據(jù)后,查詢u1_i,是否允許接收數(shù)據(jù),如允許接收數(shù)據(jù),u2_h從p1口輸出數(shù)據(jù),并通知ul_l取數(shù),ul_l取到數(shù)據(jù)后向設(shè)備發(fā)出數(shù)據(jù),同時(shí)通知u2_h已取走數(shù)據(jù),為u2_h下一次輸出數(shù)據(jù)做準(zhǔn)備;如ul_l不允許接收數(shù)據(jù),則u2_h暫緩送數(shù)。
    
    2 波特率變換器的應(yīng)用
    
    波特率變換器在應(yīng)用中,根據(jù)使用情況可以分為單向傳送和雙向傳送。兩單片機(jī)之間的數(shù)據(jù)傳遞可以采用中斷方式.也可以采用查詢方式。如采用查詢方式,編程時(shí)利用p2口的幾位作為查詢信號,實(shí)現(xiàn)單向或雙向傳送。
    
    2.1 單向傳送
    
    單向傳送就是通信口的數(shù)據(jù)流只向一個(gè)方向,即從ul_l接收到的數(shù)據(jù),從u2_h發(fā)送出去,或從u2_h接收到的數(shù)據(jù),從ul_l發(fā)送出去。用這種方式進(jìn)行軟件編程比較簡單,F(xiàn)以u1_l只接收外部設(shè)備數(shù)據(jù),u2_h只向外部設(shè)備發(fā)送數(shù)據(jù),采用查詢方式為例,兩單片機(jī)之間數(shù)據(jù)傳送的流程圖如圖3所示。其中ul_l的p2.2作為向u2_h傳送新數(shù)據(jù)的查詢信號(u2_h的p2.5),p2.2=“0”表示有新的數(shù)據(jù),p2.2=“1”表示沒有新的數(shù)據(jù);u2_h的p2.2作為接收u1_l數(shù)據(jù)的查詢信號(u1_l的p2.5),p2.2=“o”表示可以接收新的數(shù)據(jù),p2.2=“1”表示不能接收新的數(shù)據(jù)。如果采用中斷方式,兩單片機(jī)的查詢信號更簡單,只要ul_l查詢u2_h是否可以接收數(shù)據(jù)的信號就可以,u2_h無需查詢u1_l的查詢信號。
    
    
    
    2.2 雙向傳送
    
    雙向傳送就是通信口可以同時(shí)接收數(shù)據(jù)和發(fā)送數(shù)據(jù),數(shù)據(jù)流是雙向的,ul_l和u2_h既接收數(shù)據(jù)也發(fā)送數(shù)據(jù)。這種方式軟件編程比較復(fù)雜,特別是雙向傳送數(shù)據(jù)采用查詢方式時(shí)。單片機(jī)之間的查詢信號就更加復(fù)雜了。現(xiàn)以雙向查詢方式為例,兩單片機(jī)之間數(shù)據(jù)傳送的流程圖如圖4所示,u2_h的流程與u1_l一樣。其中u1_l向u2_h傳送數(shù)據(jù)時(shí)的查詢信號與單向傳送的定義一樣,u2_h的p2.3作為向u1_l傳送新數(shù)據(jù)的查詢信號(u1_l的p2.4),p2.3=“0”表示有新的數(shù)據(jù),p2.3=“l(fā)”表示沒有新的數(shù)據(jù);ul_l的p2.3作為接收u2_h數(shù)據(jù)的查詢信號(u2_h的p2.4),p2.3=“o”表示可以接收新的數(shù)據(jù),p2.3=“1”表示不能接收新的
熱門點(diǎn)擊
- 單片機(jī)多字節(jié)BCD碼加法減法
- 單片機(jī)C51串口中斷接收和發(fā)送測試
- 用單片機(jī)制作通用型電視遙控器
- P89C51RD2的Boot ROM與ISP
- 單片機(jī)系統(tǒng)低功耗設(shè)計(jì)策略
- DVB-C信道解調(diào)解碼芯片GX1001的設(shè)計(jì)
- C51絕對地址訪問
- 用MCS-51單片機(jī)串行口對MAX7219及
- 測試PIC單片機(jī)如何省電
- 指針類型和存儲(chǔ)區(qū)的關(guān)系詳解
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究