一種小區(qū)遠程控制的實現(xiàn)方案
2 軟件實現(xiàn)流程
本方案的另一個特點是軟件開發(fā)簡單,因為CMX869對外提供了豐富的命令和狀態(tài)可讀寫寄存器資源,以及完善穩(wěn)定的V.32bis協(xié)議棧,開發(fā)人員只需在控制單元的89X51系列單片機上進行匯編語言或C語言編程,通過調(diào)用構(gòu)造的函數(shù)對各寄存器的設(shè)置和讀寫,就可以完成對CMX869狀態(tài)的控制和數(shù)據(jù)的收發(fā),縮短了軟件開發(fā)和調(diào)試的周期。
由于CMX869功能和協(xié)議封裝相對獨立,開發(fā)人員只需要熟悉其特定寄存器的讀寫和單片機CX51程序編寫就可以實現(xiàn)網(wǎng)絡(luò)互連。本方案的軟件主要包括管理終端軟件和遠端控制軟件,實現(xiàn)從管理終端控制單元串口,把業(yè)務(wù)查詢指令發(fā)送到CMX869接口,經(jīng)過調(diào)制解調(diào),將數(shù)據(jù)轉(zhuǎn)發(fā)到遠端控制單元串口,再由遠端控制單元把采集到的數(shù)據(jù)經(jīng)原路徑回傳到管理終端控制單元串口。串口使用的波特率是115.2 Kb/s,傳輸協(xié)議采用V.32bis協(xié)議。圖3是軟件實現(xiàn)流程圖。
本方案中實現(xiàn)功能用到的主要函數(shù)如下:
(1)IinitCMX869函數(shù)
Return=IinitCMX869(Mode,Speed)
用途:對CMX869進行初始化。
(2)Read16Data函數(shù)
ReceiveData=Read16Data(Address);
用途:從特定寄存器中讀出數(shù)據(jù)。
(3)Write16Data函數(shù)
CommOrData=Write16Data(Address,Data);
用途:向特定寄存器中寫入數(shù)據(jù)。
(4)CMX869Coding函數(shù)
ReturnTxCode=CMX869Coding();
用途:將從CMX869串口接收到的數(shù)據(jù)調(diào)制編碼向遠端發(fā)送。
(5)CMX869Decode函數(shù)
ReturnRxCode=CMX869Decode();
用途:對CMX869接收的調(diào)制信號進行解調(diào)。
評論