2 软件实现流程
本方案的另一个特点是软件开发简单,因为CMX869对外提供了丰富的命令和状态可读写寄存器资源,以及完善稳定的V.32bis协议栈,开发人员只需在控制单元的89X51系列单片机上进行汇编语言或C语言编程,通过调用构造的函数对各寄存器的设置和读写,就可以完成对CMX869状态的控制和数据的收发,缩短了软件开发和调试的周期。
由于CMX869功能和协议封装相对独立,开发人员只需要熟悉其特定寄存器的读写和单片机CX51程序编写就可以实现网络互连。本方案的软件主要包括管理终端软件和远端控制软件,实现从管理终端控制单元串口,把业务查询指令发送到CMX869接口,经过调制解调,将数据转发到远端控制单元串口,再由远端控制单元把采集到的数据经原路径回传到管理终端控制单元串口。串口使用的波特率是115.2 Kb/s,传输协议采用V.32bis协议。图3是软件实现流程图。
本方案中实现功能用到的主要函数如下:
(1)IinitCMX869函数
Return=IinitCMX869(Mode,Speed)
用途:对CMX869进行初始化。
(2)Read16Data函数
ReceiveData=Read16Data(Address);
用途:从特定寄存器中读出数据。
(3)Write16Data函数
CommOrData=Write16Data(Address,Data);
用途:向特定寄存器中写入数据。
(4)CMX869Coding函数
ReturnTxCode=CMX869Coding();
用途:将从CMX869串口接收到的数据调制编码向远端发送。
(5)CMX869Decode函数
ReturnRxCode=CMX869Decode();
用途:对CMX869接收的调制信号进行解调。