新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于AVR單片機的多路遙控開關(guān)編解碼實現(xiàn)

基于AVR單片機的多路遙控開關(guān)編解碼實現(xiàn)

作者: 時間:2011-10-06 來源:網(wǎng)絡(luò) 收藏

  3.1 串行通信協(xié)議

  在從遙控臺端單片機和負(fù)荷缸被控端單片機的通信中.我們選擇通信協(xié)議為:9600波特率,8個數(shù)據(jù)位,1位停止位,無奇偶校驗。


  基于AVR單片機的多路遙控開關(guān)編解碼實現(xiàn)

  遙控臺端單片機和負(fù)荷缸被控端單片機之間的通信方式采用主從定時請求應(yīng)答方式,遙控臺端單片機始終具有主動發(fā)送權(quán),定時向負(fù)荷缸被控端單片機發(fā)送設(shè)置16個開關(guān)狀態(tài)命令幀和讀取回傳指示燈開關(guān)狀態(tài)命令,負(fù)荷缸單片機處于被動狀態(tài)響應(yīng)狀態(tài)。


  3.2 數(shù)據(jù)幀格式


  在負(fù)荷缸的控制中,當(dāng)發(fā)電機帶負(fù)荷運行時,意外的主開關(guān)分閘信號等同于發(fā)電機突卸負(fù)荷,特別是當(dāng)滿負(fù)荷運行時意外的主開關(guān)分閘信號等同于發(fā)電機的瞬時100%突卸負(fù)荷,將導(dǎo)致發(fā)電機出現(xiàn)飛車現(xiàn)像,嚴(yán)重的損害發(fā)電機的性能,因此信號傳輸?shù)目煽啃苑浅V匾诒鞠到y(tǒng)中遙控臺到負(fù)荷缸的命令幀格式采用如圖4所示的方法進(jìn)行通訊握手和數(shù)據(jù)校驗保證遙控臺和負(fù)荷缸端的數(shù)據(jù)的可靠傳輸和控制。


  

基于AVR單片機的多路遙控開關(guān)編解碼實現(xiàn)

  其中:@為幀開始標(biāo)志符,$為幀結(jié)束標(biāo)志符,D1,D2分別為第一、第二組8個開關(guān)狀態(tài)組成的1個字節(jié)的無符號字符,V1,V2為其對應(yīng)校驗碼,這里采用其按位取反。當(dāng)D1,D2,V1,V2都為ASCII碼0xff時為請求負(fù)荷缸端回傳開關(guān)狀態(tài)命令幀,負(fù)荷缸端單片機響應(yīng)命令回傳負(fù)荷缸端開關(guān)狀態(tài)命令幀的格式為:


  

基于AVR單片機的多路遙控開關(guān)編解碼實現(xiàn)

  其中:@為幀開始標(biāo)志符,D1為8個回傳指示燈開關(guān)狀態(tài)組成的1個字節(jié)的無符號字符,V1為D1按位取反較驗碼,$為幀結(jié)束標(biāo)志符。

3.3 通訊握手和數(shù)據(jù)較驗編程實現(xiàn)

  在單片機編程中,為了方便命令幀數(shù)據(jù)較驗,我們在單片機程序中設(shè)置了30個字節(jié)的堆??臻g用于緩存接收的數(shù)據(jù),負(fù)荷缸端單片機程序流程圖如圖5所示,該程序在實際工作中運行穩(wěn)定,滿足工作的要求。

  4 結(jié) 語


  本文利用的高速運行速度,采用74SL244緩沖器和74SL273鎖存器擴展單片機I/O口,實現(xiàn)了多路遠(yuǎn)程遙控開關(guān)量采集監(jiān)控和數(shù)字信號編碼,采用了握手和數(shù)據(jù)較驗的方法保證了數(shù)據(jù)的可靠傳輸和控制,用SN75LBC184 RS 232/RS 485串行通信轉(zhuǎn)換芯片實現(xiàn)了串行通信信號的遠(yuǎn)距離傳送。本文的方法也可用于其他開關(guān)量信號采集和自動化控制場所,實現(xiàn)設(shè)備的智能監(jiān)控。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉