多冗余输出的数据采集处理单元设计与实现
序为一个循环,在循环中完成以下工作:系统初始化,包括初始化I/0端口,外部中断,计数器O,USART等;扫描上位机采集指令;开中断;响应INTO中断和计数器0溢出中断;读取ADC转换结果;将采集的数据调用通讯子程序由串口通讯模块输出;接收上位机发出的命令并进行相应的操作。
2.2 多路冗余输出处理模块
为解决对所采集的数据进行多路冗余处理输出,提高可靠性,特设计一双CPU协同处理的串口扩展模块实现多路冗余处理输出。数据通过RS 485总线输入至该模块,经隔离进双CPU处理,扩展为三路串口输出,原理框图见图3。模块采用双ATmega64芯片作为处理器,双CPU并口总线通讯,CPU数据RAM映射,数据交换速度快,实时性高。串口通讯RS 485总线,通讯模块芯片为带磁隔离的ADM2483,输出采用标准的MODBUS RTU通讯协议。电源采用鑫飞达的5W DC/DC隔离模块DFA5-24S5。
ATmega64是高性能、低功耗的AVR、8位微处理器,先进的RISC结构,其特性如下:133条指令大多数可以在一个时钟周期内完成,32×8通用工作寄存器和外设控制寄存器,全静态工作,工作于16 MHz时性能高达16 MIPS,只需两个时钟周期的硬件乘法器;非易失性的程序和数据存储器,128 KB的系统内可编程FLASH,具有独立锁定位、可选择的启动代码区,通过片内的启动程序实现系统内编程,可以对锁定位进行编程以实现软件加密,可以通过SPI实现系统内编程;JTAG接口(与IEEE 1149.1标准兼容),遵循JTAG标准的边界扫描功能,支持扩展的片内调试,通过JTAG接口实现对FLASH、E2PROM、熔丝位和锁定位的编程。
2.3 通讯设计
RS 232/422/485都是串行数据接口的标准。RS 232是非平衡传输,RS 422/485是平衡传输。RS 232传送距离最大仅为15 m,最高速率为20 Kb/s,比较适合近距离的本地设备之间的通信连接;RS485连接最长可达1.2 km,可连接至256个设备节点,数据传输率能高达10 Mb-/s。为实现底层多采集模块和上位机间远距离通讯,在底层采用RS 485总线进行数据传输。因PC机端的串口是RS 232接口,故需在PC端接专用的RS 232/RS 485转换模块将RS 232信号转换成RS 485的信号。本采集单元使用通讯模块芯片为带磁隔离的ADM2483,采用工业标准协议--MODBUS RTU通讯协议。图4为RS 485通信接口硬件电路。
3 实现结果
本文所开发设计的4~20 mA输入与输出模块、Ptl00输入模块、热电偶输入模块、开关量输入与输出模块系列模块均已定型生产,并获得CCS的型式认可。4-20MA输入模块实物如图5所示,技术参数如下:工作电压:(24土0.48)V;工作温度:O~60℃;4~20 mA输入类型:有源、无源;量程:4~20 mA;转换分辨率:12 B;转换时间小于1 ms;通讯方式:RS 485;协议:MODBUS RTU;波特率:9 600 b/s;外型尺寸(W×D):108 mmXl45 mm。
多路冗余处理输出模块中数据采集系统的地址、类型、参数等通过可从上位机导入,从而适应各种类型采集模块,具有高的灵活与可扩展性。可将采集终端的数据处理后同步提拱给触摸屏独立显示与上位PC机,也可独立使用直接驱动本地人机界面显示与打印机。模块实物如图6所示。
4 结语
本文所介绍的采集单元实现了对多通道现场数据的实时采集,实现了多路冗余处理模块输出,有很强的实用性、通用性及可扩展性,且冗余度高。该数据采集单元在工程上具有广泛的应用价值,经在多个船舶监测报警系统实际工程中应用表明其性能稳定可靠。
- 8位高速A/D转换器TLC5510的应用(02-16)
- 毫欧姆电阻在汽车电子系统中的应用(05-11)
- 24位高精度模数转换器ADSl258的原理应用(11-28)
- 电子式互感器中数据采集系统误差补偿的设计与实现(01-01)
- 用于大型地震勘探网的高精度低功耗自检测数据采集系统(02-20)
- 为应变计应用选择合适的放大器(03-25)