基于MSP430和nRF905的塔吊無線遙控系統(tǒng)
3 系統(tǒng)軟件設計
系統(tǒng)軟件包括發(fā)射器和接收器軟件。發(fā)射器和接收器軟件的功能劃分對遙控系統(tǒng)性能的影響很大,為提高系統(tǒng)可靠性,加快緊急故障出現(xiàn)時的恢復速度,所有控制的邏輯處理全部在發(fā)射器中實現(xiàn),發(fā)射器的發(fā)送采用定時發(fā)送和中斷發(fā)送兩種方式:當有按鈕動作時,用中斷方式發(fā)送,在隨后的時間內(nèi)按定時方式發(fā)送。接收器僅實現(xiàn)信號接收、譯碼和驅(qū)動輸出,當連續(xù)3次收不到信息時,接收器自動關(guān)閉所有輸出,恢復初始狀態(tài)。這樣做的優(yōu)點是:
?。?) 對發(fā)送器的按鈕控制的捕捉可靠。當中斷信號萬一丟失時,接收器失去控制而保持原來狀態(tài),但隨后的定時發(fā)送的控制信息會作出相應的控制。
?。?) 當射頻信號受到干擾或發(fā)射器出現(xiàn)故障而使接收器收不到控制信息時,接收器自動關(guān)閉所有輸出而恢復初始狀態(tài),防止事故的擴大,同時可實現(xiàn)發(fā)射器關(guān)閉或電能不足時,接收器自動關(guān)機.
3. 1 發(fā)射器軟件
發(fā)射器剛上電時,完成的初始化主要包括: I/O端口初始化、無線芯片配置、打開定時器和I/O 中斷使能。其余的功能主要在定時中斷和I/O中斷服務子程序中實現(xiàn)。中斷服務子程序的主要功能為:判斷各按鈕的狀態(tài)、按鈕狀態(tài)編碼、編碼狀態(tài)發(fā)送。MSP430微控制器和nRF905通過SP I口通訊的處理流程如下:
?。?) 微控制器有數(shù)據(jù)要發(fā)送時通過SP I接口,按時序把接收機的地址和要發(fā)送的數(shù)據(jù)送傳給nRF905;
(2) 微控制器置高TRX _CE 和TX _ EN, 激發(fā)nRF905的ShockBurstTM發(fā)送模式;
(3) nRF905 按ShockBurstTM 發(fā)送: ①射頻寄存器自動開啟; ②數(shù)據(jù)打包(加字頭和CRC校驗碼) ;③發(fā)送數(shù)據(jù)包; ④當數(shù)據(jù)發(fā)送完成時,數(shù)據(jù)準備好引腳被置高。
?。?) AUTO_RETRAN被置高, nRF905不斷重發(fā),直到TRX_CE被置低;
(5) 當TRX_CE被置低, nRF905發(fā)送過程完成,自動進入待機模式。
發(fā)射器流程圖,如圖3所示。
圖3 發(fā)射器主程序流程圖
3. 2 接收端軟件
接收器上電初始化主要包括: I/O端口初始化、無線芯片配置、打開定時器和I/O中斷使能、繼電器輸出使能。其余的功能主要在I/O 中斷服務子程序中實現(xiàn)。nRF905進入接收模式后,不斷監(jiān)聽接收信號。當收到載波信號時,發(fā)出CD中斷信號;當接收地址正確時,發(fā)出AM中斷信號;當接收數(shù)據(jù)正確時, nRF905自動移去字頭、地址和CRC校驗位,然后把數(shù)據(jù)準備好引腳置高,發(fā)出DR中斷信號。微控制器中斷服務子程序通過SP I口讀取所實現(xiàn)的主要功能為:判斷各按鈕的狀態(tài)、按鈕狀態(tài)編碼、編碼狀態(tài)發(fā)送。MSP430微控制器通過SP I口讀取nRF905內(nèi)的數(shù)據(jù),接收端主程序流程圖,如圖4所示。
圖4 接收器主程序流程圖
4 結(jié)束語
本系統(tǒng)采用超低功耗MSP430單片機和低功耗無線收發(fā)芯片nRF905實現(xiàn)了塔吊無線遙控系統(tǒng)。系統(tǒng)采用了軟件編碼和硬件譯碼的方式、系統(tǒng)發(fā)射器采用定時掃描、接收器采用無記憶輸出控制方式以及電氣互鎖等技術(shù),提高了系統(tǒng)的可靠性和抗干擾能力,系統(tǒng)可廣泛應用于塔吊等一般工業(yè)遙控系統(tǒng)中,該系統(tǒng)的功能在實踐中得到了應用與驗證。
評論