可编址串行模拟量采集板卡的设计

2013-12-07 01:10闫瑞杰李海香
山东电力高等专科学校学报 2013年6期
关键词:板卡模拟量通讯

闫瑞杰 李海香

山西电力职业技术学院 山西 太原 030021

0 引言

许多科研课题在实验过程中都需要实时地记录不同测量仪器测量的物理量,然后对数据进行分析研究。例如在火电厂温排放水水力热力特性的研究中就需要采集多个点的流速、水位和温度值,流速、水位和温度又属不同的物理量须用不同的仪器进行测量,而水力热力特性需同时分析这三个测量数据。如何将多个物理量的测量数据采集到计算机,是一个十分重要的前提。专用的工业采集板卡价格昂贵且应用软件的灵活性较差,往往不能满足科研实验的特殊要求。并行输入串行采集是一种低成本、高效率的处理方法,据此原理设计了控制电路单元、采集电路单元、通讯电路单元,开发硬件驱动程序,以此为基础设计的串行模拟量采集板卡,具有编址功能,可与计算机配合完成对多个仪表测量数据的采集与存储。该采集板卡已经应用到可门电厂、三门电厂温排放特性研究等科研课题中。

1 控制电路单元

控制电路单元是可编址串行模拟量采集板卡的控制中心,选用Atmel公司生产的8位嵌入式低功耗单片机ATmega 32作为控制器。ATmega 32有着丰富的硬件资源,32K字节的系统内可编程 Flash,512字节EEPROM,1K SRAM,32个通用I/O,三个定时器/计数器,一个串行USART,一个SPI串行接口,支持JTAG片内调试与编程等,软件支持汇编语言和C语言,编程方便灵活、程序可移植性强,可以满足多种应用[1]。

控制电路单元完成前端采集电路单元的配置及数据采集,控制电路单元如图1所示。利用其SPI接口控制A/D转换并读取转换结果,将转换结果暂存于片内SRAM,再通过USART接口经由通讯电路单元与计算机进行数据交互。单片机ATmega 32的供电电压VCC为+3.3V,晶振Y1选用12M,谐振电容C9、C10选用20pF,单片机时钟频率设置寄存器配置为12MHz。PB5为串行外设接口SPI的主机输出端,PB6为主机输入端,PB7为SPI时钟,PB3、PD4、PD5用作普通的数字接口。AVCC为模拟电源,经LC网络接至数字电源VCC。

图1 控制电路单元

2 采集电路单元

采集电路单元分两部分,一部分是模拟量输入端处理电路,一部分是A/D转换电路,采集电路单元如图2所示。模拟量输入端处理电路可同时接受4~20mA直流电流和1~5V直流电压两路标准信号,其中4~20mA电流信号经由250欧、50欧精密电阻串联网络转换为1~5V标准电压输出信号输入至A/D转换电路;1~5V直流电压输入信号直接输入至A/D转换电路。

图2 采集电路单元

为实现高精度A/D转换,从众多的A/D转换芯片精心挑选了AD公司的16位转换芯片AD7705。AD7705接受两路模拟输入信号,分别是AN1+、AN1-和AN2+、AN2-,两路输入信号并行输入,串行分时进行转换。时钟频率设计为2.4576MHz,晶振Y2两端需各接一20pF电容到地以保证获得精准的时钟频率。AD7705获得精准A/D转换结果须向其提供基准电压,选用AD公司生产的精密基准电压源芯片REF192提供2.5V基准电压,REF192其输出引脚6到地之间须并接0.1u和10u的电容以保证其输出电压平坦。

AD7705与单片机Atmega 32连接方式如下:片选端CS—PD4、复位端RESET—PD5、逻辑输出端DRRY—PB3、串行数据输入端DIN—PB5、串行数据输出端DOUT—PB6、串行时钟SCLK—PB7。

3 通讯电路单元

通讯电路单元用于实现模拟量采集板卡与计算机之间的数据交互。计算机的RS232串口电平与TTL电平不兼容,因此,不能直接与计算机连接,须进行逻辑电平转换,将TTL电平转换为RS232电平,通讯电路单元如图3所示。转换芯片使用MAX232E,其中,稳压管D11、D12用于保护计算机串口,TXD接ATmega 32的异步串口发送端PD1,RXD接AT-mega 32的异步串口接收端PD0,RS-T接计算机的RS232发送端3,RS-R接计算机的RS232接收端2,RS232的GND与采集板卡共地。ATmega 32通过异步串口与计算机进行通讯,将采集的模拟量传送至计算机。

图3 通讯电路单元

4 软件设计

软件设计包括两部分:一部分是采集板卡的底层驱动软件,完成AD7705设置、转换结果读取、暂存SRAM、与计算机通讯等。采集板卡的底层驱动软件分为采集板卡编址模块、串行异步通讯模块、AD7705驱动模块、定时器中断应用模块。另一部分是计算机应用软件,结合具体的测量仪器,完成对采集板卡的编址、数据读取与存储等功能,软件流程如图4所示。

图4 软件流程

4.1 采集板卡的底层驱动软件

采集板卡编址模块与计算机应用软件结合,设置采集板卡地址。采集板卡启动后将初始地址设为00H,使用时如需修改地址,则由计算机应用软件发送编址命令,板卡接收到编址命令后设置为相应地址,将地址符固化于EEPROM起始字节中,此功能主要是用于实现多块采集板卡通过数据总线与计算机进行数据传输,若采用RS485总线进行远距离数据传输时,须配接一对RS232-RS485转换器。

串行异步通讯模块配置ATmega 32的各项通讯参数,通过USART接口与计算机进行通讯。初始设置波特率为9600bps,根据应用可由计算机应用软件在线修改波特率以实现不同的数据传输速率,接收器、发送器与接收中断使能,设置帧格式为 8个数据位,1个停止位,在接收中断函数中读取计算机发送来的命令。

AD7705驱动模块分别通过读写操作完成对AD7705的配置。定时器中断模块利用定时器1按一定的周期定时地读取AD7705的转换结果。读取数据之前必须确定数据寄存器的状态,在定时器中断函数中查询AD7705的DRDY引脚状态,如果为低电平,表示转换完成则读取转换结果,否则继续等待直到转换完成,如此循环,不断读出所需的数据量。

4.2 计算机应用软件

计算机应用软件用VC编写,完成与模拟量采集板卡之间的数据通信,具有地址设定、参数设置、测量数据自动保存和绘制实时曲线等功能[2]。当计算机连接多块模拟量采集板卡时需分别对每块板卡进行编址以进行区分,地址不能重复,参数设置用于对采集的物理量根据量程进行线性计算,如对于量程0~100℃、4~20mA温度测量仪表,4mA代表温度为0℃,20mA代表温度为100℃。数据自动保存功能将采集数据以txt文件形式存储于计算机以供日后进行数据分析,txt文件以当前日期时间为文件名命名规则,首行分别代表日期、时间、数量、板卡地址,其他行代表不同时间测量数据。

5 结论

实际应用结果表明硬件合理,运行稳定、采样精度高,应用方便。编址功能为总线应用提供了基础,利用总线可以同时挂接多块模拟量采集卡实现多个仪表不同参数的采集。可编址串行模拟量采集板卡已经成功应用到城市污水处理工艺优化研究课题中,完成了对水位、流量、温度等多个测量参数的采集与保存,为课题日后数据分析提供了基础。

[1]Atmel Corporation.ATmega32 Datasheet[EB/OL].http://www.atmel.com.2011,(1):1-305.

[2]闫瑞杰,李海香,郝瑞霞.基于ATmega 16的AD7705多通道模拟量采集系统的设计[J].化工自动化及仪表,2011,38(4):466-469.

[3]Analog Devices Corporate.AD7705 Datasheet[EB/OL].http://www.analog.com.2010,(6):1-30.

猜你喜欢
板卡模拟量通讯
《茶叶通讯》简介
《茶叶通讯》简介
通讯报道
基于PCI9054的多总线通信板卡的研制
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
通讯简史
关于600MW火电机组模拟量控制系统设计和研究
一种基于光纤数据传输的多板卡软件程序烧写技术
模拟量输入式合并单元测试仪的研制
一种通用模拟量及开关量信号采集板卡的设计