系统硬件实现
ATmega16单片机主要特征及片内A/D转换器
ATmega16单片机芯片内集成了较大容量的非易失性程序和数据存储器以及工作存储器;丰富强大的外部接口性能;特殊的微控制处理器性能。其主要优点是芯片本身自带看门狗电路,片内程序Flash及8通道复用的10位A/D转换器;通用I/O接口具有很强的驱动能力,可省去部分驱动电路,节约了系统成本;附带同步和异步串行接收和转发器(USART),可以实现与PC机和无线电台的联网通讯功能。ATmega16有一个10位的逐次比较的A/D转换器,ADC与一个8通道的模拟多路复用器连接,能够对以PORTA口作为ADC输入引脚的8路单端电压输入进行采样。
多路数据采集的实现
A/D多路数据采集系统是本设计的关键之一,它主要由微处理器、A/D采集处理部分、参数设置、输出单元和通讯接口等功能模块组成。ADC包括样保持电路,以确保输入电压在ADC转换过程中保持恒定。ADC功能单元有独立的专用模拟电源引脚AVCC供电。AVCC和VCC的电压差别不能大于0.3V。ADC转换的参考电源可采用外部的参考电源,外部参考电源由引脚AREF接入,同时AREF引脚外部并接一个0.1μF的电容来提高ADC的抗噪性能。
采集的3路数据是0-15mA的电流信号,通过在输出端加上匹配的负载电阻,可将电流值转换为电压值,电路连接如图2所示。
放大后的模拟信号利用微处理器提供的内部ADC进行模数转换处理,并将10位转换结果放在ADC数据寄存器ADCH和ADCL中。在连续采样模式下,ADC连续取样,并不断更新ADC数据寄存器。通过读取ADC内的数据即可得到所要采集数值的二进制值。
单片机与数传电台的通信
RS-232串口标准是低速率串行通讯中的单端标准。RS-232采取不平衡传输方式,即单端通讯,其收发端的数据信号都是相对于地信号的,所以共模抑制能力差,再加上双绞线的分布电容,传输距离最大约为15米。由于本系统需要工作在室外,气候环境相对恶劣,且需要长距离传输,针对RS-232串口的局限性,所以系统采用具有极强的抗共模干扰能力的RS-485接口。单片机的RS-485接口电路原理图如图3所示,RS-485的A、B为总线接口,DI是发送端,RO是接收端,/RE、DE为RS-485收发使能端,由单片机的PD4口控制
。
通信网络
监控中心和若干监测点的数传电台联网组成无线监控网络,通过应答式通信协议可实时监测不同地域的水情。本系统采用GD230V-8电台,该电台的主要参数如下:(1)调制方式:MSK/FSK;(2)接收灵敏度:≤0.25μV;(3)输出功率:8W ;(4)频率范围:220-240MHz;(5)信道速率:2400/1200bps(MSK方式),0-1200bps(FSK方式);(6)数据接口:异步传输,EIA-232/ EIA - 485 /TTL。
监控中心在向各监测点发出指令前先发送一组地址信息,各监测点收到地址信息后首先需要进行身份,如果收到的地址信息与自身相符便给监控中心返回一应答信号,监控中心收到应答信号后即可发出各项指令,被选中的监测点便开始执行相应的指令,并把数据传回监控中心,从而实现多点联网监测。
系统软件设计
软件编程也是实现该多路数据采集的关键之一,本文主要介绍数据采集部分。系统上电后执行初始化程序,复位各个端口。当处于监听状态时,各监测点数据采集模块处于3路自动巡回监测状态,系统开始对0~3通道间隔1s时间采集一次电压值;当接收到监控中心发送来的指令便选中相应的采集通道执行数据采集,调用数字滤波子程序进行滤波得到精确的数值。再通过数据转换和处理后送微处理器的数据存储器,等待数传电台的读取,其工作流程如图4所示。
A/D采集子程序
结束语
ATmega16单片机本身带有多路10位精度的逐次比较式A/D转换器,在该多回路数据采集器系统中可以显著地降低成本。由于ATmega16的A/D转换器转换速度比较高,可以采取一些数字滤波算法来得到较为精确和稳定的转换结果。利用C语言编程,使该多回路数据采集器系统的硬件设计变得简单,A/D采集处理编程也更为容易,大大缩短了开发周期。该方案可应用在河道水文、湖泊水库和沿海潮汛潮位等监测项目上,经山西某水文站实际使用,结果表明:系统工作稳定可靠,具有建网费用低、建设周期短、维护量小等优点。