在现代信号处理系统中,数据采集处理系统越来越广泛地用于各行各业。现代船舶为了实现安全、经济的运行,自动化程度越来越高,需要采集处理各种数据。由于船舶本身的特殊性,各设备运行工况非常恶劣,环境干扰因素多,为了保障船舶安全,对数据采集处理的可高性有很高的要求。本文介绍一种用于船舶监测报警系统的数据采集单元,该单元由采集模块实现对多通道现场各数据的实时采集,然后由专用的多路冗余处理模块输出至本地人机界面显示和上位机进行综合处理,具有很强的实用性、通用性及可扩展性,且冗余度高,稳定可靠,已在多个船舶监测报警系统实际工程中应用。
1 系统总体设计
为满足对现场多种数据采集和处理、显示与上传,采集单元由开关量采集模块、4~20 mA采集模块、Pt100采集模块、热电偶采集模块构成集总式采集系统,再由双CPU专用处理模块实现多路冗余输出至本地人机界面显示和PC机。单片机的运算能力强,运算速度快,I/0接口功能完善,抗干扰能力强,可靠性高,系统结构简单、价格优廉,是现场数据采集器的核心元件之一。采集终端采用基于单片机ATmegal6的各专用采集模块。RS 485硬件设计简单,控制方便成本低廉,支持远距离多机通信,故采用RS 485总线进行数据传输。图1为系统的总体框图。
2 系统的设计实现
本文主要对数据采集单元硬件部份的实现做介绍,包括单片机采集模块、多路冗余输出处理模块。开发工具为Protel 2004 DXP和Keil μVision 2。
2.1 单片机采集模块
为满足工程需要,开发设计了4~20 mA输入与输出模块、PTlOO输入模块、热电偶输入模块、开关量输入与输出模块等系列采集终端,各终端采用模块化设计,可以方便灵活地组成不同要求的采集单元。以下以8路4~20 mA输入模块为例说明其设计与实现。
2.1.1 单片机选择及ATmegal6单片机主要特征
该系列采集模块采用功能强大的ATmegal6(TQFP封装)作为主处理器。ATmegal6是RISC结构的低功耗8位AVR微控制器,其主要特点如下:16 KB的系统内可编程FLASH512 B E2PROM,1KBSRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,3个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益的ADC(TQFP封装),具有片内振荡器的可编程看门狗定时器,1个SPI串行端口,以及6个可以通过软件进行选择的省电模式。片内ISP FLASH允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用FLASH存储区(Application FLASH Memory)。在更新应用FLASH存储区时引导FLASH区(Boot FLASH Memory)的程序继续运行,实现了RWW操作。由于其先进的指令集以及单时钟周期指令执行时间,ATmegal6的数据吞吐率高达1 MIPS/MHz。
2.1.2 电源及电压基准源
本模块外部由直流24 V电源供电,内部由3个鑫飞达DC/DC隔离电源实现分开供电,互不干扰,一路经DFA5-24S12输入24 V隔离输出5 V供通道采样与A/D转换工作电源;一路经DFA5-24S5输入24 V隔离输出5 V供CPU工作电源;一路S05HIS05-2W输入5 V隔离输出5 V供RS 485通讯工作电源。模块前向通道的信号调理电路和模数转换芯片都需要一个高精度的5 V的电压基准源,TL431就是基准源电路的核心器件。其主要特点是:稳压值从2.5~36 V连续可调;参考电压源误差±l%,低动态输出电阻,典型值O.22 Ω,输出电流1.O~100 mA,全温度范伟内温度特性平坦,典型值为50 ppm;低输出电压噪声。TL431适用作12位模数转换器的基准电压参考源。本模块用TL431构建的5 V基准电路。
2.1.3 工作过程
8路4~20 mA信号经信号调理电路(TLC279ID),再经数模转换(TLC2543)、隔离(6N137)送入ATmegal6单片机,它利用内部自带的ADD转换器采集8路数据,将其经由RS 485接口电路传送给上位机,RS 485通讯模块采用带磁隔离的ADM2483。其原理框图见图2。
2.1.4 程序设计
系统上电后执行初始化程序,复位各个端口。当处于监听状态时,各监测点数据采集模块处于自动巡回监测状态,系统开始对各通道按设定间隔时间进行采集;当接收到上位机发送来的指令便选中相应的采集通道执行数据采集,调用数字滤波子程序进行滤波得到精确的数值,再通过数据转换和处理后送微处理器的数据存储器,等待上位机的读取。单片机程序采用C语言编写,系统主程序为一个循环,在循环中完成以下工作:系统初始化,包括初始化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 结语
本文所介绍的采集单元实现了对多通道现场数据的实时采集,实现了多路冗余处理模块输出,有很强的实用性、通用性及可扩展性,且冗余度高。该数据采集单元在工程上具有广泛的应用价值,经在多个船舶监测报警系统实际工程中应用表明其性能稳定可靠。
上一篇:基于GPRS的单片机固件升级系统设计
下一篇:基于双CPU在多I/O口系统中的硬件电路设计
推荐阅读最新更新时间:2024-03-16 12:29
- 热门资源推荐
- 热门放大器推荐