SPC3与收发器连接时用于串行通信的四个引脚分别为XCTS、RTS、TXD和RXD。XCTS是SPC3的清除发送输入信号引脚,表示允许SPC3发送数据,低电平有效,这里始终接低电平。RTS为SPC3请求发送信号接收发器的输出使能端。RXD和TXD分别为串行接收和发送端口。为提高系统的抗干扰性,SPC3内部线路必须与物理接口在电气上隔离,此处采用速率可达2 5Mb/s的HCPL7721高速光耦,收发器采用SN75ALS176,足以满足本系统的应用。
3 系统软件设计
3.1 主处理器软件
本系统主处理器统软件采用TI公司的430单片机软件开发工具-IAR Embedded Workbench作为终端软件的开发平台,编程语言采用以C430。TI公司的430单片机软件开发工具专门用于430单片机以实现嵌入式应用开发。包含以下实用工具:具有语法表现能力的文本编辑器、编译器、汇编器、连接器、函数库管理器、实现操作自动化的Make工具和内嵌C语言级与汇编级的调试器C-SPY。
主处理器软件主要由主程序、键盘菜单处理、定时器中断、三值梯形波励磁信号产生、A/D采样、LCD显示、串口通信等部分组成。主程序流程图如图3所示。
3.2 PROFIBUS-DP通信接口
PROFIBUS-DP接口中的SPC3集成了完整的PROFIBUS-DP协议,因此PIC18F4520不用参与处理PROFIBUS-DP状态机。PIC18F4520的主要任务就是上电后先根据MSP430的初始化数据对SPC3进行初始化,初始化成功后根据SPC3产生的中断,对SPC3接收到的、主站发出的输出数据转存,组织要通过SPC3发给主站的数据,并根据要求组织外部诊断等。
整个程序采用了结构化、模块化的方法,包括四个部分:主程序一包括了初始化、数据输入输出和诊断模块;中断模块一包括了参数分配和配置模块;子程序模块一包括对缓冲区的组织和分配;程序的头文件一包括程序的宏和变量定义。:PROFIBUS-DP通信接口主程序流程图见图4所示。
4 结束语
本文介绍的、带PROFIBUS-DP接口的智能电磁流量计,采用双核技术,简化了硬件电路和软件资源的分配,设计相对独立,程序的修改和移植更容易,提高了系统的性价比,降低了功耗。用带SIEMENS公司CP5611卡的工控机作为上位机对智能氧量分析仪的通信功能进行测试的通信速率,最高可达12 Mb/s,通信速率设为1 Mb/s时数据传输稳定可靠。该系统为实现现场总线仪表的自主开发提供了重要借鉴,具有广阔的应用前景。