多路温度采集系统

2024-10-19

多路温度采集系统(精选8篇)

多路温度采集系统 篇1

近些年来, 随着计算机与电子科学的飞速发展, 实时视频采集与处理技术被广泛应用于医疗诊断、交通检测、银行监控等领域, 并且取得了巨大的社会效益。在银行监控领域, 视频采集系统需要实时监护银行客户, 并在有危险情况出现时发出警报, 使得警方能够在第一时间赶到现场处理突发情况, 保护人民生命财产安全。因此, 一个视频监管系统, 不仅需要多角度、无死角采集大量视频数据, 更对采集系统的实时性、精确性有着极高的要求[1]。

视频采集是多媒体技术中的研究内容之一。进入21世纪, 多媒体技术迎来了它的高速发展期, 凭借着其自身强大的技术优势得到了社会生活、生产各个方面的关注与应用, 为社会的带来了巨大的变化和变革。多媒体技术是指通过计算机对文字、音视频等多种媒体信息进行分类管理、分析和处理, 使用户具有以不同的感官接触与计算机进行实时交互的技术。Direct Show是Microsoft互联网公司所开发的媒体Direct X中的一部分, 是一套能够在Windows平台上处理流媒体的开发包。运用Direct Show技术, 能够方便快捷地从流媒体采集设备上获得数据, 并且对其进行处理。Direct Show技术为在Windows平台上对音视频采集等高性能要求的多媒体应用提供了完整的解决方案。

1 Direct Show技术

Direct Show是微软公司在Active Movie和Video for Windows的基础上推出的新一代基于COM (Component Object Model) 的流媒体处理开发包, 与Direct X开发包一起发布[2]。它支持各种多媒体格式, 包括Mpeg、Avi、Dv、Mp3等, 为流媒体的捕获提供了强有力的支持。

1.1 Direct Show体系架构

Direct Show主要解决的问题是:快速处理流媒体的大量数据;音频和视频同步;处理来自各种途径的源数据, 如本地文件、计算机网络、广播电视、摄像机等。Direct Show架构如图1所示, 虚线以下的部分是Ring0特权级层的硬件设备, 包括WDM视频采集卡 (WDM Capture Devices) 、VFW视频采集卡 (Legacy VFW Capture Devices) 、MPEG2硬解码卡 (Hardware MPEG2 Decoders) 、声卡 (Sound Card) 以及显卡 (Video Graphics Card) 等。Direct Show能够为这些硬件设备提供强有力的支持, 并在Ring3 (图1虚线以上部分) 应用层上提供统一的COM接口, 通过将底层的硬件设备与高层的应用程序分隔开, 能够方便又快捷地从硬件设备中获取所需的多媒体数据, 而不必考虑具体的硬件设备的特性。

Direct Show系统使用一种叫做过滤器图表 (Filter Graph) 的结构模型, 对整个多媒体数据流的处理过程进行统一管理, 参与数据处理的功能模块叫做过滤器 (Filter) , 每个Filter通过引脚 (Pin) 在Filter Graph中按照一定的顺序连接成一条“流水线”协同工作[3]。

依照功能来划分, Filter可以划分为三类:Source Filters、Transform Filters和Rendering Filters。Source Filters的具体功能是负责获取数据, 数据的来源可以是文件、计算机网络、各种采集设备等。Transform Filters则具体负责转换格式, 例如流媒体的分离与合成、编码与解码等。Rendering Filters负责数据流的最终流向, 将音视频发送到声卡、显卡中进行数据的预览与演示, 或者输出到文件系统中存储起来[4]。

1.2 Direct Show开发过程

如果要在Direct Show中实现一个算法, 必须首先将该算法封装成一个Filter, 而要处理算法中的数据实质上就是在Filter中对Pin所接收到的数据进行处理, 然后将处理后的结果经过Pin发送到下一级的Filter中。

Direct Show应用系统开发一般分为三个步骤。

从Filter Graph Manager组件中得到各种接口, 进行程序的控制, 并且完成Filter Graph Manager与应用程序的交互[5]。

为了方便验证构造的Filter Graph能否实现设计的目标, 可以使用微软公司提供的Direct X工具集中的Graph Edit查看程序中Filter的连接情况。通过Graph Edit, 可以清晰明了地观察到Filter Graph的运行情况以及处理的流程, 方便程序的调试以及对各种流媒体数据的处理。

2 多路视频采集系统开发

2.1 系统概述

系统演示效果如图2所示。

通过多个连接在PC机上的摄像机的实时数据采集, 系统可以随时预览视频。在“设备”下拉菜单中, 可以选取想要查看的具体方位的视频采集设备[6]。在采集前, 先设置存储路径、文件名及采集视频格式, 同时可以设置采集时间。系统结构如图3所示。

2.2 系统实现

系统使用VC++6.0开发, 首先需要对Direct Show进行环境配置。

系统中, 将常用的变量、指针等参数都放到一个全局结构体中, 便于随时随地调用。常用变量或指针如下:

TCHAR sz Capture File[_MAX_PATH];//捕获到的视频文件的存储路径

WORD w Cap File Size;//捕捉文件的大小

IVideo Window*p VW;//视频显示的指针, 利用该指针将视频显示在界面上

double Frame Rate;//用户设定的帧速率, 即每秒帧数int i Num VCap Devices;//现有视频捕捉设备数量

BOOL f Preview Graph Built;//是否已建立了预览用的filter graph的布尔变量

Direct Show提供了一个Capture Graph Builder对象, 这个对象实现了ICapture Graph Builder2接口, 用于建立Capture Graph[7]。如果用普通的视频格式捕捉视频, 并保存到Avi文件中, 可以直接使用ICapture Graph Builder2接口提供的一个方法, 即Render Stream, 使用该方法可以将必需的Filter自动添加到Graph中, 并将每个Filter的Pin智能地连接起来, 构成一个Capture Filter Graph, 从而省去了自己手动添加Filter、查找接口、查找上游Filter的输出Pin和下游Filter的输入Pin、连接两个Filter的Pin等复杂且易出错的编码工作[8]。

一般的采集设备有两个输出Pin, 其中一个用于预览视频, 而另一个用于采集视频。预览和采集这两种功能在硬件采集设备的前端链路上是相同的, 而在后端链路上有一些不同:预览时只需要连接视频渲染器 (Video Renderer) , 而在采集时还需要连接视频编码过滤器, 然后利用过滤器写入器 (Filter Writer) 讲数据传送到文件中去, 所以在为采集设备创建预览使用的Filter时, 也可采用Capture Graph Builder来简化它的Filter Graph的构建过程[9]。

可以通过可视化实用工具Graph Edit验证视频预览的Filter Graph是否有效建立起来, 。视频预览Filter链路如图4所示。

首先, 需要在Graph Edit中添加视频捕捉器件, 系统将捕捉器件的Filter添加到可视化界面中的方法是:

为了显示视频图像, 需要一个视频预览的Filter, 这样就添加了一个视频渲染器 (Video Renderer) 的Filter。

从图4中可以看出, 每个Filter的框架上都内嵌了小矩形方块, 这些小矩形方块就代表每个Filter的Pin, 位于左边的是输入Pin, 位于右边的是输出Pin。若要让整个Filter链路运行起来, 首先要把上游Filter的输出Pin与下游Filter的输入Pin连接起来, 在连接的过程中, 需要协商能够共同使用的多媒体格式, 若没有相同的多媒体格式可用, 连接将会出错[10]。系统中, Pin的连接是通过调用Render Stream函数来进行的:

3 结语

本系统基于Direct Show技术开发, 能够稳定运行, 采集的视频清晰流畅, 具有通用性和扩展性。系统不需要视频采集卡等硬件设备, 节约成本, 并具有良好的升级能力和二次开发能力, 利于开发人员进一步完善系统的功能。系统还存在一些不足, 如采集到的视频数据量较大时, 需要在存储过程中对视频数据进行处理, 这是在今后工作中需要改进的地方。

摘要:视频采集系统是银行监控、交通监测等领域中的研究内容之一。笔者采用Direct Show技术开发了一套功能更加完备的多路视频采集系统, 介绍了Direct Show技术和体系架构, 给出了Direct Show过滤器和过滤器图表的构建方法, 描述了应用Direct Show系统实现多路视频采集系统的具体实现过程。实验结果证明, 使用Direct Show技术, 能够简化多媒体系统的开发, 缩短开发周期。

关键词:DirectShow,视频采集,过滤器,过滤器图表

参考文献

[1]倪绪能.基于银行的数字监控系统的研究和开发[D].西安:西安工业大学, 2004.

[2]王安, 仲丽媛, 孙加军.基于Direct Show和UDP协议的网络视频监控系统[J].计算机工程与设计, 2010, 31 (12) :2695-2697.

[3]豆俊锋, 赵辽英.基于Direct Show和RTP的网络视频监控系统[J].计算机技术与发展, 2014, 24 (8) :231-233.

[4]孟月华, 邓基园.Direct Show技术的应用研究与开发[J].计算机系统应用, 2013, 22 (6) :196-199.

[5]彭峰, 林和志, 黄联芬.基于Direc Show的H.264网络视频监控客户端实现[J].现代电子技术, 2011, 34 (8) :118-120.

[6]武凤翔.基于Direct Show和WPF的实时视频图像采集与处理系统设计与实现[J].计算机应用与软件, 2015, 32 (3) :331-333.

[7]孙盼, 康维新.基于Direc Show RTMP协议的视频采集传输系统的设计与实现研究[J].应用科技, 2015, 42 (6) :40-44.

[8]Q Li, YD Zhang.Implementation of Video Capture Based on Direc Show Technology[J].Fire Control Radar Technol ogy, 2011, 65 (113) :113-116.

[9]Z Wei, Y Ding.Implementation of simple video clip device based on Directshow[J].Circuits, Communications&System, 2010:83-85.

[10]J Hao, Y Zhang.Multi-channel video capture based on Direct Show[A]//International Conference on Information Science and Engineering, 2010:2201-2204.

多路温度采集系统 篇2

1.1 单片机概述

单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。它又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。1.2 温度采集设计背景

随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技构中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域己经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。

测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段: ①传统的分立式温度传感器

②模拟集成温度传感器

中北大学计算机控制课程设计说明书

图(9)系统流程图 软件程序设计

PORTA EQU 020H

;定义端口地址 PORTB EQU 021H PORTC EQU 022H

中北大学计算机控制课程设计说明书

PORTD EQU 023H DATA SEGMENT

TABLE DB 40H

DB 4FH

DB 24H

DB 30H

DB 19H

DB 12H

DB 02H

DB 78H

DB 00H

DB 10H

BUFDA1 DB ?

BUFDA2 DB ?

BUFDA3 DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA

MOV DS,AX

MOV AL,98H

OUT PORTD,AL

;8255的初始化

;*****************************

MOV AL,01

OUT PORTC,AL

MOV AL,00

OUT PORTC,AL

;PC0 为0,启动A/D转换 FIND: IN AL,PORTC

TEST AL,010H

中北大学计算机控制课程设计说明书

JNZ FIND

;读PC4的值,如为1则继续查询

MOV AL,01

OUT PORTC,AL

;使PC0为1,撤消启动信号

IN AL,PORTA

;读取转换数据

;******************************

MOV CL,100

;计算百位,十位,个位

DIV CL

MOV BUFDA1,AL

XOR AL,AL

MOV CL,10

MOV BL,AH

MOV AL,BL

MOV AH,0

DIV CL

MOV BUFDA2,AL

MOV BUFDA3,AH

;****************************** DISPLAY:MOV BX,OFFSET TABLE

MOV AL,[DI+0]

XLAT

;换码

MOV DX,PORTB

OUT DX,AL

MOV CX,30H

;延迟程序 DELAY: LOOP DELAY

RET

;**********************************

MOV CX,30H DISPLAY1:MOV AL,06H

OUT PORTD,AL

中北大学计算机控制课程设计说明书

MOV AL,05H

OUT PORTD,AL

MOV AL,03H

OUT PORTD,AL

MOV DI,OFFSET BUFDA1

CALL DISPLAY ;使LED0工作

MOV AL,07H

OUT PORTD,AL

MOV AL,04H

OUT PORTD,AL

MOV AL,03H

OUT PORTD,AL

MOV DI,OFFSET BUFDA2

CALL DISPLAY ;使LED1工作

MOV AL,07H

OUT PORTD,AL

MOV AL,05H

OUT PORTD,AL

MOV AL,02H

OUT PORTD,AL

MOV DI,OFFSET BUFDA3

CALL DISPLAY ;使LED2工作

LOOP DISPLAY1;延迟

;***********************************

MOV AH,4CH

INT 21H CODE ENDS

END START

中北大学计算机控制课程设计说明书 总结心得

本课程设计是基于AT89C51单片机的温室检测系统。该课程是以单片机8051为核心,以热敏电阻为测温元件对温度进行有效的测量,通过ADC0809芯片将电压信号转化为数字信号,经过单片机处理后通过8255芯片扩展的I/O以动态方式显示,再加上相应的时钟电路、复位电路、分频电路,最后编写程序,温度采集系统的设计就完成了。

在做课程设计的过程中,除了了解相关设计的硬件原理电路图外,还要了解具体的型号,熟悉相关软件的使用,如AutoCAD、Protel、Word等,虽然在实际操作过程中遇到了很多困难,但经过不懈努力还是完成了本课程的设计。

在这一周的设计中,不仅使我增长了很多课堂上所学不到的知识,而且还让我对A/D转换和扩展I/O有了更深入的了解。对一些单片机原理及应用有了更加深刻的认识。

第 13 页

共 15 页

中北大学计算机控制课程设计说明书

附图 电路接线仿真图

256912151619Q0Q1Q2Q3Q4Q5Q6Q7U374LS373OELE3478***C11nFD0D1D2D3D4D5D6D7U2VREF(-)VREF(+)***21282726U1X1CRYSTAL19XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD*********617C21nF18XTAL2RST1nF293031PSENALEEA22232425ALEADD CADD BADD AADC0809R1100k12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51U5NORU4NOR第 14 页

共 15 页

27.0C39***192021GND2-8LSB2-72-62-52-42-32-22-1MSBVCCCLOCKOUTPUT ENABLEEOCSTARTIN7IN6IN5IN4IN3IN2IN1IN03U6VOUTLM351中北大学计算机控制课程设计说明书

参考文献

[1] 李朝青.单片机原理及接口技术〔简明修订版).杭州:北京航空航天大学出版社,1998年

[2] 李广弟.单片机*MB rmi.北京:北京航空航天大学出版社,1994年 [3] 孙育才.单片机微型计算机及其应用.南京:东南大学出版社,2004年 [4] 沈德金,陈粤初.单片机接口电路与应用称序实例.北京:北京航天航空大学出版社,1990年

[5] 李广弟.单片机基础[M].北京:北京航空航天大学出版杜,1994年

[6] 陈汝全.电子技术常用器件应用手册,第二版.北京:机械工业出版社,2001年7月

[7] 戴梅萼,史嘉权.微型计算机技术及应用,第三版.北京:清华大学出版社,2003年11月

[8] 沈美明,温冬婵.IBM-PC汇编语言程序设计.北京:清华大学出版社,1998年8月

[9] 顾德英.计算机控制技术,第二版.北京:北京邮电大学出版社,2005年 [10] 李顺增,吴国东,赵河明,乔志伟.微机原理及接口技术.北京:机械工业出版社,2004年

第 15 页

多路温度测量系统软件设计与应用 篇3

关键词:温度多路循环采样,抗干扰,DS18B20数字温度传感器

1 概述

在现代化工业生产中, 电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中, 人们都需要对各种环境下的温度进行检测和控制。采用MCS-51单片机来对温度进行控制, 不仅具有控制方便、组态简单和灵活性大等优点, 而且可以大幅度提高被控温度的技术指标, 从而能够大大提高产品的质量和数量。因此, 单片机对温度的控制是工业生产中经常会遇到的问题。随着传感器技术的不断向前发展, 各种数字式的传感器应运而生, 有利地推动了检测技术的进步。

相比于传统的温度测量控制系统, 本次设计中的温度参数测试系统不仅精度高, 稳定性好, 而且抗干扰性强, 具有对温度多路循环采样、储存采样温度值和与上位机通信, 实现人机对话功能。对温度的测量采用了DS18B20数字温度传感器, 这不仅简化了硬件电路的设计, 而且提高了测量精度和测量的稳定性, 为了增强设计的实用性, 增加了EEPROM-AT24C02储存温度值模块, 对过去采样的温度值有记忆功能。另外, 由于采用了RS232通信协议实现了人机对话, 能够实现上位机对现场温度的监测。在上位机可随时以表格和图形等直观形式了解温度变化规律。

2 系统监控软件总体设计

根据单片机监控子系统的功能需求分析, 以及监控硬件电路的要求, 设计系统监控软件结构框图如图1所示。该监控系统软件由串口通信、温度采集、温度参数储存、定时中断、7279键盘控制显示软件模块组成。通信软件模块接收系统机的指令并设置执行标志。时钟软件部分为整个系统提供准确的时钟源。温度采集是整个软件系统的重点, 也是本次软件设计的核心, 包括AT24C02对温度值的读/写操作。

对软件的编程必须要对硬件电路的结构非常熟悉, 单片机的P口是怎么分配的, 多路模拟开关CD4067的地址选择端A、B、C、D的连接方式, AT24C02数据传输引脚SDA和时钟输入引脚SCL挂在单片机P口什么地方, 这些都将直接影响软件的编程。

3 单片机内存资源分配

MCS-51内部有128个字节的数据存储器, 其编址为00H-7FH, 这128个字节可分成不同的区域, 即:工作寄存器区, 00H-1FH;位寻址区, 20H-2FH;其对应的位地址范围为00H-7FH;通用RAM区, 30H-7FH, 当位寻址区不作为位空间使用时, 可作为普通内部RAM使用, 和30H-7FH空间一样, MCS-51的所有128字节单元, 即可直接寻址, 也可以寄存器间接寻址。

4 主程序模块

系统启动工作以后, 定时中断开始运行, 每一秒钟将采样温度值向上位机发送一次, 采样好的数据保存在具有掉电保护功能的模块电路中, 数据将储存在EEPROM-AT24C02中。当系统机发来通信命令后, 则下位机按照具体的指令实现和系统机通信与数据传输。

主程序流程图如图2所示, 系统初始化包括:

(1) 设置栈底, 置P口初值;

(2) HD7279工作单元和位标志初始化;

(3) 初始化定时器T0/T1, 指令为:MOV TMOD, #21H;

(4) 初始化定时器T1;

(5) 初始化串行通信口, 串口工作于方式1, 异步通信方式, 波特率4 800;

(6) 对所定义的温度及显示缓冲区进行初始化。

主程序如下:

MAIN1:LCALL JIANSAO (调用键盘扫描程序)

LCALL DISPBCD (调用温度BCD码处理程序)

LCALL TONGXUN (调用串口通信程序)

LCALL JIANCE (调用24C02读/写温度值程序)

LCALL DISP1 (调用显示子程序)

LJMP MAIN1

模块名:GET_TEMPER;入口:READTEMP;出口:温度值。

功能:采集环境温度即检测DS18B20温度, 温度值保存在TEMPL、TEMPH两个单元。这两个单元的数据为温度值的补码, 再经过BCD码的转换将这两个单元的温度值转换为压缩的BCD码并保存在TEMPLC、TEMPHC两个单元中, 以便为转换为非压缩的BCD码并保存到显缓区作准备。

模块名:CONVTEMP;入口:DISPBCD;出口:温度十进制44H、43H, 小数位42H。

功能:将采集好的温度数据转换为十进制。将采集的两字节温度数据 (补码形式) 转换为一个字节的温度数据, 再调二进制转十进制程序将温度转为十进制。并且将所转换好的温度数值保存到显缓区44H、43H、42H单元中。

模块名:SERVE;入口:串口接收中断;出口:无。

功能:串口中断服务程序主要完成接收PC机发到下位机的一串数个字节的指令并作累加和校验, 校验成功后置相应标志位供主程序查询并执行相应操作。串口接收严格按照数据报文的一般格式:头文件、命令号、字节数、数据、尾文件、校验位。

关于串口中断服务程序说明如下:

(1) 下位机:波特率4 800, 数据位8位, 无奇偶效验, 停止位1位。通信方式采用串口中断方式。

(2) 上位机发55、66通信指令后, 在串口中断中对接收的指令进行奇偶校验。校验成功后将上位机发过来的55、66返还给上位机表示通信成功。

(3) PC机发55、66的数据传送指令后, 在串口中断中对指令校验成功后置数据传送标志, 主程序查询到后将所采样的数据通过RS232通信接口送给上位机管理。

模块名:TONGXUN;入口:串口通信标志;出口:无。

功能:完成串口通信。先调用键盘扫描子程序, 有S00键按下的时候将置1串口通信标志位, 这时将向上位机发送温度值。当有S01键按下时, 这时将对串口通信标志位清零, 程序每运行一次都会对串口通信标志位进行判断来决定是否向上位机发送温度值, 而温度值将由定时器T0中断来决定发送频率, 将以每一秒向上位机发送一个温度值。

5 AT24C02温度储存服务程序模块

AT24C02可通过数据线引脚传送数据和时钟线引脚的控制, 方便对温度值进行读/写。但AT24C02的编程对时序的要求非常严格, 不能有半点的差错。对AT24C02的操作分为以下几个步骤:

(1) 时钟及数据传输:SDA引脚通常被外围器件拉高。SDA引脚的数据应在SCL为低时变化;当数据在SCL为高时变化, 将视为一个起始或停止命令。

(2) 起始命令:当SCL为高, SDA由高到低的变化被视为起始命令, 必须以起始命令作为任何一次读/写操作命令的开始。

(3) 停止命令:当SCL为高, SDA由低到高的变化被视为停止命令, 在一个读操作后, 停止命令会使EEPROM进入等待低功耗模式。

(4) 应答:所有的地址和数据字节都是以8位为一组串行输入和输出的。每收到一组8位的数据后, EEPROM都会在第9个时钟周期时返回应答信号。每当主控器件接收到一组8位的数据后, 应当在第9个时钟周期向EEPROM返回一个应答信号。收到该应答信号后, EEPROM会继续输出下一组8位的数据。若此时没有得到主器件的应答信号, EEPROM会停止读出数据, 直到主控器件返回一个停止命令来结束读周期。

(5) 等待模式:24C02特有一个低功耗的等待模式。可以通过下述方法进入该模式:上电 (B) 收到停止位并且结束所有的内部操作后。

6 结语

综上所述, 本系统为一检测系统, 能为用户提供直观的历史温度资料数据查询。从那些温度数据的变化情况, 就可掌握最近一段时间的温度状况, 对以后的温度变化也有一个很好的预测, 大大地增加了在工业现场的实用性。

参考文献

[1]陶树平.数据库系统原理与应用.北京:科学出版社, 2005

[2]张友德, 赵志英, 涂时亮.单片微型机原理、应用与实验.上海:复旦大学出版社, 2003

[3]石东海.单片机数据通信技术从入门到精通.西安:西安电子科技大学出版社, 2002

[4]汤庸.Delphi6程序设计基础教程.北京:冶金工业出版社, 2002

[5]卢文科.电子检测技术.北京:国防工业出版社, 2002

[6]王福瑞.单片微机测控系统设计大全.北京:北京航空航天大学出版社, 1999

多路温度采集系统 篇4

目前, 在PCM/FM遥测体系中模拟信号采集普遍采用8位量化, 全部模拟信号均归一化到0~5 V范围内, 随着需要采集的模拟信号的类型多样化, 势必增加信号调理电路的多样性, 不利于系统的简化和模块化。在量化位数一定的系统中, 被衰减处理的信号中实际量化误差等于N倍 (N是信号被衰减的倍数) 的最小量化误差, 因此合理的信号调理电路和A/D取值是保证量化精度的关键。本文提供的方式有效地解决了这个问题, 既简化了前端信号调理电路的复杂度, 又充分利用了A/D转换器的输入电压动态范围和量化位数优势, 实现了对多路模拟信号的自适应采集, 对其他信号采集系统也具有一定的借鉴意义。

1 系统设计[1,2,3]

该系统主要由信号调理电路、采集电路和时序控制等几部分组成。被测模拟信号经过信号调理电路后, 经多路选择器的快速切换, 按需求依次送入A/D转换器进行采样, 采样后的数据送入FPGA中处理, 系统框图如图1所示。

系统设计的主要指标:模拟信号通道数为46路;系统采样率大于300 Kb/s;量化位数为8位;频率响应范围为DC~1 kHz;通道采样率为100 Hz, 200 Hz, 400 Hz, 500 Hz, 800 Hz, 1 kHz, 2 kHz, 4 kHz可选;A/D转换器允许输入信号的最大幅度为±10 V。

2 系统各部分功能及实现

2.1 信号调理电路[4]

信号调理电路主要完成被测信号的阻抗匹配和电压变换, 设计时信号调理电路均采用差分输入电路形式。针对不同类型的信号, 通过调整电阻阻值即可实现信号的衰减、放大或者阻抗匹配, 有利于电路形式的模块化和标准化。信号调节电路如图2所示。

整个信号调理电路采用±12 V供电, 根据信号类型将全部模拟信号调理到合适的范围内, 以便充分利用A/D的输入动态范围来实现自适应采集。

2.2 采集电路[5,6]

采集电路主要包括多路选择器和A/D转换器等, 多路选择器采用ADG406, 通过级联可以形成46路模拟信号通道, 采用±12 V供电, 保证调理后的信号不失真通过, 12根地址线用来控制模拟信号的切换;A/D转换器采用AD7892-1, 其具有±10 V的输入电压动态范围和12位的量化能力, 信号输入范围设置为±10 V, 控制线用来控制A/D转换器的工作状态, 并将转换后的12位数据全部接入FPGA中进行处理。

2.3 时序控制[7,8]

时序控制通过FPGA程序来实现, 主要完成多路选择器的切换, A/D转换器的控制和自适应采集逻辑等功能。对于多路选择器的切换和A/D转换器的控制逻辑, 只要注意多路选择器的开关稳定时间和A/D转换器的采样时刻即可完成数据采集。自适应采集就是根据已知模拟信号的类型自动选择A/D的转换器输出码位来实现的。为了便于对后文的理解, 表1给出AD7892-1输入/输出对应码表和处理后的码表。

前面信号调理电路根据模拟信号的类型把信号分别调理到0~5 V, -5~-0 V, -5~+5 V, 0~+10 V, -10~-0 V, -10~+10 V等范围内, 结合表1的内容即可实现对模拟信号的自适应采集, 保证信号的采集精度。数据自动转换模块的FPGA程序示例如下:

通过测试验证, 该法是可行的。在不改变任何硬件电路的情况下, 通过FPGA程序可有效实现模拟信号的动态量化, 确保信号的量化精度。通过数据处理软件即可恢复原始信号, 如图3所示。

3 结语

设计的基于FPGA的多路模拟信号自适应采集系统, 在有限的量化位数限制下, 充分利用信号调理电路、A/D转换器的输入电压动态范围和12位的位宽, 在相同的量化位数下提高了大部分模拟信号的采样精度, 具有一定的参考价值。

参考文献

[1]郑俭锋.多路高速信号并行采样及实时存储解决方案[J].电子设计应用, 2007 (3) :98-101.

[2]许锦峰, 陈炳泉.双通道逻辑控制高速实时数据采集系统的设计[J].电子技术应用, 2007 (11) :77-79.

[3]赵红梅, 米启超.基于DSP和CPLD的信号采集与编码系统设计[J].矿山机械, 2007 (6) :43-45.

[4]吴居娟, 齐娟.基于可编程增益放大器的多路高速数据采集系统设计[J].煤矿现代化, 2007 (5) :54-55.

[5]张志刚.常用A/D、D/A器件手册[M].北京:电子工业出版社, 2008.

[6]吴巍, 李相平, 段鲁生, 等.一种基于A/D和DSP的高速数据采集技术[J].单片机与嵌入式系统应用, 2007 (3) :26-28.

[7]李洪伟, 袁斯华.基于QuartusⅡ的CPLD/FPGA设计[M].北京:电子工业出版社, 2006.

[8]侯伯亨, 顾新.VHDL硬件描述语言与数字逻辑电路设计[M].西安:西安电子科技大学出版社, 2006.

[9]皮代军, 张海勇, 叶显阳.基于FPGA的高速实时数据采集系统设计[J].现代电子技术, 2009, 32 (6) :12-14.

[10]孙炎辉, 丁纪峰.基于FPGA的数据采集控制模块设计[J].现代电子技术, 2009, 32 (22) :189-191.

多路温度采集系统 篇5

在设计电路时, 可以有异步电路和同步电路两种实现方法。

异步电路使用组合逻辑电路实现, 没有统一的时钟信号, 容易产生毛刺和竞争冒险;

同步电路使用组合逻辑电路和触发器实现电路功能, 主要信号和输出信号都是由时钟驱动触发器产生, 能够避免毛刺, 信号稳定。

因此本系统选择同步技术的FPGA作为高速多路同步数据采集系统的控制核心。

1 系统工作原理

采集系统上电后, 由静态存储器EPC1将固化在其中的数字逻辑电路映射到FPGA器件EP2C5T144C8中, 从而使FPGA器件EP2C5T144C8成为真正意义上的控制核心。然后FPGA控制模拟选择开关进行通道选择, 并控制8位高速模数转换器TLC549进行模拟电压的采集, 将采集到的实时数据存储到外置RAM中, 然后将实时数据读取出来, 通过串口传送给上位机, 数据也能通过数码管实时显示。图1是系统总体硬件结构框图。

2 系统主要器件的选型

2.1 FPGA芯片的选型及依据

由于本系统采集通道数较多, 实时性和同步性要求较高, 要求提供的时钟频率高, 内部延时小, 因此系统选择FPGA芯片EP2C5T144C8作为主控制芯片, 该芯片具有40万系统门、8064个逻辑单元内嵌18K位块RAM, 包含4个时钟管理模块和8个全局时钟网络, 配置芯片 (EPCS1) , 有源晶振, 下载调试接口, 电源芯片:3.3V、1.2V AS、JTAG调试接口50 MHz最大支持264个用户I/O。这些丰富的片上资源在加上其灵活的编程方式使得该芯片成为最适合的选择[3]。

2.2 AD芯片的选型及依据

本数据采集系统主要工作在实际测控领域的现场层次, 而工作现场具有环境复杂, 传感器的种类, 特性亦复杂, 多路采集的数据具有频率跨度、幅度阈值较大、精度要求不同的多种复杂特点。因此本系统从功耗、成本、精度等多方面考虑选择TLC549芯片作为模数转换控制芯片。该芯片是以开关电容逐次逼近原理工作的8位串行模数转换芯片, 具有多个增强型串口, 4MHz片内时钟, 最高转换速率为40000次/s, 转换时间最长为17μs, 功耗仅为6毫瓦。

3 FPGA EP2C5T144C8的逻辑设计

根据以上的设计思想, 整个FPGA逻辑模块划分为:时钟单元、采样控制单元、串行传输模块、通道选择单元、存储单元、结果实时显示单元。下面具体给出各模块的设计过程。

时钟单元。时钟单元是提供时序工作节拍和同步信号序列的发生器。本设计采用了50MHz的频率输出, 以保证测控中同步脉冲的实时性。同时, 选择基于时钟触发沿设计, 可以保证时钟信号具有很好的延时及抖动控制, 根据该芯片自身的特性可以选择自身时钟资源即可完成设计要求。

采样控制单元。该单元控制TLC549芯片的数据采样、保持、模数转换任务。同步采样脉冲到来时刻, 根据片选信号CS的控制, 芯片进行数据采样、保持、模数转换。

串行传输单元。该单元利用芯片提供的高速增强型串口与上位工控机进行数据传输。

通道选择单元。该单元是多路数据采集的通道仲裁者。并将寻址信号传送至存储单元处。

存储单元。该单元完成数据的暂存, 管理等功能, 采用“乒乓原理”进行大批量数据的写入, 读出及管理功能, 系统采用的双口RAM是在1个SRAM存储器上具有两套完全独立的数据线、地址线和读写控制线, 并允许两个独立的系统同时对其进行随机性访问的存储器, 即共享式多端口存储器。双口RAM最大的特点是存储数据共享。1个存储器配备两套独立的地址、数据和控制线, 允许两个独立的CPU或控制器同时异步地访问存储单元。因为数据共享。则必须具有访问仲裁控制。内部仲裁逻辑控制提供以下功能:对同一地址单元访问的时序控制;存储单元数据块的访问权限分配:信令交换逻辑 (例如中断信号) 等。双口RAM可用于提高RAM的吞吐率, 适用于实时数据缓存。

图3是采样模块与串口传输模块的设计原理图。

4 软件实现

本设计采用自顶向下的设计方法, 采用VHDL来分别设计顶层模块和各底层模块, 该语言支持自顶向下和基于库的设计方法, 并且电路仿真和验证机制以保证设计的正确性。下面以采样控制模块为例来说明其控制算法。

本文完成高速、多通道的数据采集系统的FPGA设计。利用EDA工具和语言对FPGA行设计, 并在EDA软件中进行系统仿真和验证。由FPGA在线编程的特点可以依据现场的具体情况, 对FPGA的内部配置进行修改, 进一步增加了系统应用的灵活性, 因此该系统是一种比较理想的实时高速数据采集方案。从实际成品测试效果来看, 基于EP2C5T144C8的高速多路数据采集系统的具有多路同时采集处理、运算速度高、功耗低延时小等优点, 十分适合工业测控领域数据采集的要求。

参考文献

[1]徐海军, 叶卫东.FPGA在高性能数据采集系统中的应用[J].计测技术, 2005, 1 (25) :40-43.

[2]张伟, 等.基于FPGA的高速数据采集系统的设计[J].电力情报, 2002, 4 (3) :45-49.

[3]基于FPGA的高速多路数据采集系统的设计[J].计算机工程, 2007, 4 (7) :247-248.

[4]王剑.可变频幅相一体化测量系统研究[J].工业控制计算机, 2011, 11 (5) :78-81.

[5]王剑.多点采样的幅度和相位自适应测量方法研究[J].长江大学学报:自然科学版, 2008, 15 (4) :78-81.

多路温度采集系统 篇6

笔者设计的数据采集存储系统可以完成6通道0~5V模拟信号(压力、噪声)的采集、编帧和存储,并可在存储系统回收后完成数据的回读和处理。

1 系统组成及各模块设计

该系统主要由信号调理模块、A/D转换模块、FPGA主控单元、Flash存储单元、USB单片机接口和电源调理模块组成,其原理框如图1所示。

1.1 信号调理模块

根据采样定理,在进行模数转换时,当采样频率大于信号中最高频率2倍时,采样之后的数字信号才可以完整地保留原始信号中的信息[2]。在实际应用中一般保证采样频率为信号最高频率的5~10倍。本系统需要采集的模拟量信号最高频率为3k Hz,因此在设计中,将各通道采样率设置为20k Hz完全可以满足要求。同时,采用一阶低通滤波器对各路模拟量输入信号作相应的滤波处理,将输入信号的上限截止频率设置为30k Hz,经过滤波处理后的信号经运放跟随电路后,再输出到A/D转换器,这样不仅可以提高输入阻抗,而且可以使采集信号完全进入采样电路,避免对信号进行处理时,由于输入信号的输出阻抗过高而导致损耗[3~5]。

1.2 A/D转换模块

ADS8365是TI公司的一款高速、低功耗、16位并行接口,且单+5V供电的高性能模数转换芯片。当参考时钟信号最高为5MHz时,ADS8365的转换时间为3.2μs,此时的采样率最高的为250k Hz。ADS8365的6个模拟输入通道可分为A、B、C 3组,每组各有一个保持信号用于启动各组A/D转换。ADS8365的6个通道可以进行同步并行采样和转换,信号保持至少20ns的低电平后进入采样保样保持、转化阶段,转换完成后,引脚的输出将保持半个时钟周期的低电平,FPGA等待信号有效后,通过设置为低电平,将数据从并行接口中以直接地址模式、循环模式或FIFO模式读回。ADS8365的时序如图2所示。

ADS8365的模拟量输入端既可以采用单端输入,也可以采用差分输入。该系统的模拟输入信号范围为0~5V,因此ADS8365采用单端输入模式,电路设计如图3所示。此时,-IN端输入为共模电压CV(2.5V),而+IN端输入则围绕共模电压摆动,峰-峰值分别为CV+VREF和CV-VREF,VREF的大小决定了共模电压的变化。另外,在设计电路时应当注意的是,驱动输入端的电源输出阻抗应当匹配,通常在-IN端与+IN端之间接一个20p F的电容以匹配输入端的电源输出阻抗,否则将导致失调误差[4]。

1.3 FLASH存储单元

该系统选用SAMSUNG公司的NAND型Flash K9WAG08U0M作为存储器件,它具有功耗低、抗振动和冲击及温度适应范围宽等特点。该Flash存储容量为2G,由8 192块(Block)组成,每块有64页(Page),每页内有4K+128个字节,其中4KB用于存储数据,128个字节用于存储坏块标志位、ECC码等状态信息[5]。FPGA通过控制Flash的读写信号和指令数据选择,即可实现Flash的块擦除、数据写入和读取。该系统在实际应用时,需要连续采集6路模拟量输入并存储80min,6路模拟量输入单通道采样率为20k Hz,通过计算,采集的数据按照相应的帧格式编帧后的数据量为1 648MB,因此选用一片K9WAG08U1M即可满足要求。

1.4 USB通讯接口

系统选用Cypress公司的CY7C68013来实现数据的传输,该芯片内部集成了USB2.0收发器、串行接口引擎(SIE)、增强型8051微处理器、通用可编程接口(GPIF)和片内FIFO[6]。在设计中,采用CY7C68013的GPIF接口来实现计算机与FPGA无缝的、高速的数据传输,作为整个系统的通讯桥梁,USB通讯模块主要实现以下两个功能:

a.将计算机的控制命令传输到FPGA模块,由控制系统进行数据记录或数据上传;

b.将记录模式下的实时监测数据或读数模式下Flash中的数据传输到计算机,由计算机分析和处理。

2 系统逻辑设计与功能实现

在设计中,选用Xilinx公司Spartan-2E系列的XC2S300E来实现整个系统的功能,使用VHDL语言,将各功能模块化、将顶层设计图形化。系统工作时,6路模拟量输入信号通过调理电路后,由FPGA控制ADS8365对其进行同步采集,并将转换得到的数字量编帧,FPGA控制Flash采用边擦边写的方式将编帧后的数字量存储,同时,根据计算机“监测”命令,将采集的数据和Flash的工作状况信息通过USB接口传输到计算机实时检测。系统采集完成后,FPGA根据计算机发送的“读数”命令,将FLASH中的数据读出并传输到计算机。程序的状态转换如图4所示。

系统有两种工作模式:记录模式和读数模式。系统上电工作后首先将各模块复位,并将输入输出端口初始化,初始化完成后的10s内处于等待状态,如果10s内判断到计算机通过CY7C68013发送了“读数”命令则进入读数模式,否则,进入记录模式。

记录模式下的系统基本工作过程为:FPGA将外部60M时钟输入20分频得到的3M时钟作为ADS8365的参考时钟。FPGA控制将ADS8365的信号同时拉低并保持32ns后,6个通道同时进入数据采集状态。大约5.5μs后,ADS8365的管脚被连续3次拉低,说明一次模数转换完成,ADS8365选用cycle模式,由FP-GA控制信号将数据连续读出并按照相应的帧格式将其编帧,编帧后的数据写入到外部FIFO IDT7206中。同时,FPGA控制对Flash进行边擦边写操作,先进行块擦除,如果擦除失败,则向该块中写入无效块标志,如果擦除成功,则根据外部FIFO IDT7206的半满信号,从FIFO中读取4K字节的数据,在Flash写时钟的下降沿将其写入Flash,随后Flash进入页编程状态,R/B信号会拉低,当R/B信号拉高时,则完成了1页数据的写入。重复以上操作直到完成1块(64页)数据的写入。

在记录模式下,如果FPGA检测到计算机发送的实时“监测”指令时,还会选择部分采集的数据并将其写入内部4K FIFO,由USB单片机检测内部4K FIFO的半满信号,当检测到半满信号变低后,通过GPIF接口从内部4K FIFO中读取512个字节的数据,USB单片机会自动将这些数据打包并传输到计算机以实时显示。

而读数模式下,当FPGA检测到计算机发送的“读数”指令,执行Flash的读操作,首先判断该块是否为有效块,如果是无效块则跳过该块,如果是有效块则将其中的数据按页读出并将其写入另外一个内部4K FIFO,USB单片机从4K FIFO中读取数据并上传到计算机,具体过程与记录模式下数据实时监测过程相似。

3 系统时序仿真与实验结果分析

图5为使用Model Sim软件对FPGA控制A/D转换和写外部FIFO进行仿真的时序图。图中,ads_clk为ADS8365的参考时钟;ads_byte为低表明ADS8365采用16位输出模式,ads_add为低说明一个信号即可将一个通道的数据读出;add_a(A2,A1,A0)被设置为“110”表明采用ADS8365的循环模式,循环读取A0、A1、B0、B1、C0和C1通道的数据。每次转换完成后,将每通道2字节的数据按高8位、低8位的顺序从第1通道到第6通道依次写入FIFO,图中“00000000H”为帧计数,“146FH”为帧标志。

图6中的波形为系统进入记录状态进行实时监测时,计算机发送实时“监测”命令后,根据USB单片机上传的实时监测数据画出的第一通道的波形。图中上面部分为计算机将接收的实时监测数据按通道区分并将当前各通道模拟量电压进行实时显示。

图7为将Flash中存储的数据读出后截取的一部分。图中,第1、2列为第1通道采集的数据;第3~12列为第2~6通道采集的数据;第13~16列为帧计数,从图中可以看出帧计数是连续的,说明数据没有丢失;第17、18列为帧标志“146F”。

4 结束语

笔者介绍了基于ADS8365的多路数据采集系统的功能与实现过程,系统以FPGA为控制核心,充分利用FPGA的逻辑功能,实现数据的同步采集与存储,同时采用USB单片机实现数据的上传,利用计算机软件来分析和处理数据,并将结果显示。系统接口电路简单、采集精度高,已成功应用于某飞行实验中,系统各项性能和可靠性均满足要求。

参考文献

[1]刘志平.基于FPGA的高速数据采集存储系统设计[D].西安:西安电子科技大学,2009.

[2]马明建.数据采集与分析计数[M].西安:西安交通大学出版社,2005.

[3]何鹏,王娜,徐刚.分光光度计数据采集与处理系统的改造[J].化工自动化及仪表,2010,37(8):118~120.

[4]王维刚,龙飞.基于BP神经网络和改进遗传算法的蒸发器支座结构优化设计[J].化工机械,2009,36(4):317~322,325.

[5]马培娇,张宇光,姚永兴等.高速大容量存储系统的关键技术实现[J].化工自动化及仪表,2010,37(7):869~872.

多路温度采集系统 篇7

关键词:PID控制,KV2000组态软件,温度控制系统,ADAM5000

0 引言

温度控制是工业控制中发展最早,最重要的分支之一,其应用已涉及社会生活的各个领域,如家电,汽车,材料,电力电子等。在工业控制领域,温度通常也是控制的主要被控物理量之一,尤其一些对运行环境要求苛刻的场合,温度更是一个主要的控制参数。为保证生产过程正常进行,提高产品的数量与质量,减轻工人的劳动强度以及节约能源,常要求被控对象的工作环境温度按某种指定规律变化。随着PID控制的发展,在以前的控制理论中加入了PID控制的思想,从而在控制策略上实现了一次飞跃,丰富了类似于温度特性控制对象的控制方式。

1 多路温度控制系统的结构和控制策略

设计以恒温箱为控制对象。根据实际温控系统设计,利用热电偶作为温度传感器,检测的温度信号直接加到XMPA7000的给定值(SP1)与ADAM5000结合在一起。基于KV2000、运用PID控制算法实现对温度的控制,既具有控制灵活、响应快、适应性强等优点,又具有PID控制精度高的特点,并充分发挥KV2000可靠性高、编程简单灵活、抗干扰能力强的优势,使温度按设定曲线上升,完成温度控制。系统结构如图1所示,由智能调节器XMPA7000和ADAM5000模块组成。

采集温度信号传送到智能温度变送器,转换为亚当模块可接受的模拟量信号,然后将数据传送到计算机,通过计算机分析后得到的数据来确定控制参数。

系统中PID参数调整的规则:将比例参数由小变大,并观察相应的系统响应,直至得到反应快、超调小的响应曲线,如果系统没有静差或静差已经小到允许范围内,并且对响应曲线已经满意,则只需要比例调节器即可;如果在比例调节的基础上系统的静差不能满足要求,则必须加入积分环节,在整定时先将积分时间设定到一个比较大的值,然后将已经调节好的比例系数略为缩小(一般缩小为原值的0.8),然后减小积分时间,使得系统在保持良好动态性能的情况下,静差得到消除,在此过程中,可根据系统的响应曲线的好坏反复改变比例系数和积分时间,以期得到满意的控制过程和整定参数;如果上述对系统的动态过程反复调整还不能得到满意的结果,则可以加入微分环节,首先把微分时间D设置为0,在上述基础上逐渐增加微分时间,同时相应地改变比例系数和积分时间,逐步凑试,直至得到满意的调节效果.

2 基于KV2000的控制实现

2.1 KV2000

KV2000通用监控软件是一种先进的工业控制用软件,它融过程控制设计、现场操作以及工厂资源管理于一体,将一个企业内部的各种生产系统和应用以及信息交流汇集在一起,实现最优化管理。它基于MicrosoftWindows98、Windows2000、WindowsNT操作系统,内部采用真正的Client/Server体系结构,用户在企业网络的所有层次的各个位置上都可以及时获得系统的实时信息,无论是在控制现场还是在办公室内,都可以进行交互式的操作。采用KV2000通用监控软件制作工业监控工程,可以极大地增强用户生产线的能力、提高工厂的生产力和效率、提高产品的质量、减少成本及原材料的消耗。它适用于从单一设备的生产运营管理和故障诊断,到网络结构的分布式大型集中监控管理系统的开发。

2.2 智能控制器XMPA7000

XMPA7000系列双回路串级控制可编程调节器为First Control公司引进产品,具有5个模拟输入(AI)、2个模拟输出(AO)、一个开关量输入、4个开关量输出和丰富的控制算法。适用于锅炉汽包水位三冲量控制或两冲量控制并可带汽包水位压力补偿功能;适用于锅炉主汽温度减温水串级控制;适用于一般工业过程中温度、压力、液位、流量等各种过程参数的串级控制、前馈控制、双回路控制等。可带后备操作器,并与后备控制器配合实现手动/自动无扰切换。

2.3 上位和下位组态软件的设计

按照系统的设计思想和被控对象的特点,设计上位结构和下位结构分别如图2、图3所示。

图2中热电偶检测到的电信号传入到智能控制器XMPA7000后转换为ADAM5000模块可接受的标准信号,并通过RS-485通信线传送至计算机用于分析。

从图2得到的数据经过分析后算出较理想的控制参数,以此来确定PID控制器的各参数,并按照图3应用于现场。选择智能调节仪表的串级控制模式,由于对象比较简单,利用XMPA7000与恒温箱构成一阶系统。控制模式如图4所示。

2.4 人机界面的制作

主监控页面(见图5)采用KV2000提供的多种控件,开发了现场面板,并提供数字显示及曲线显示。

主监控页能直接实现控制单个温度箱的要求,并显示实时曲线与历史曲线,如图6所示。

3 实验实时数据与MATLAB软件仿真

图7为一个温度控制系统的结构框图。本系统的被控制量为温度,控制任务是控制温度等于给定值,采取了常规PID调节。实时曲线如图8所示,用仿真软件得到的曲线如图9所示。

当发现智能调节效果不佳时可启动自整定功能。当自整定结束后,以前设定的参数会被整定出来的参数所替代,并自动将开锁参数设为18,这样就无法再次从面板上启动自整定功能,可以避免人为的误操作再次启动自整定。之后系统直接将整定出来的参数投入运行,根据自整定得出来的参数去控制被控对象,若此效果不是很满意,可根据输出特性,适当修改参数,可达到满意效果。

一般通过自整定得出来的δ、Ti、Td参数效果都比较好,超调量小,过渡过程时间短。但如果一开始,温控对象的温度不是最低,此时自整定得出的δ、Ti、Td参数并不一定很理想。

参考文献

[1]孔峰,梁岚珍.微型计算机控制技术[M].重庆:重庆大学出版社,2003

[2]马盛骏.热动专业实验指导书[M].新疆:新疆大学出版社,2006

[3]梁岚珍.微型计算机控制技术实验指导书[M].新疆:新疆大学出版社,2005

[4]邵裕森.过程控制工程(第二版)[M].北京:机械工业出版社,2004

[5]李国勇.控制系统数字仿真与CAD[M].北京:电子工业出版社,2005

[6]邹伯敏.自动控制理论(第二版)[M].北京:机械工业出版社,2004

多路温度采集系统 篇8

1 系统总体设计

基于FPGA的采集控制模块用来控制通道选择开关和A/D转换器工作, 完成对多路模拟输入信号的选择, 并对经过多通道选择开关后的模拟信号进行采样。采集的模拟信号转换成数字信号, 存入双口RAM中, DSP芯片将数据从双口RAM中读出, 对采集后的信号进行自适应滤波处理, 在计算机上实时显示波形。系统的组成框架如图1所示。

2 系统硬件设计

系统采用+5 V直流电源供电, 内部将5 V电压转换为3.3 V和1.5 V电压以供各器件使用。所有输入的模拟信号范围都是0~5 V, 输入阻抗大于1 MΩ, 由于电源模块的输出电源只有5 V, 为了保证信号的完整性, 选用具有轨对轨输出特性的运算放大器OPA4340, 进行适当的分压及阻抗匹配处理[3], 同时也对输入进行了适当的滤波处理。

2.1 多路模拟开关电路

数据采集模块选用的多路模拟选择开关是AD7506, 它是一款单芯片CMOS 16通道模拟多路复用器, 采用28引脚表贴封装。它根据4条地址线和1个使能的状态, 将1路公共输出切换至16路输入之一[4]。它的工作原理是:使能端EN决定着AD7506的工作状态, 当使能端EN有效时, 表示该多通道选择开关被选中, 而EN为高电平有效, 故当EN为高电平时AD7506处于工作状态。而它的输出通道号的选择则由其4位地址位来决定。可以通过FPGA控制多片AD7506芯片进行周期片选采集n路模拟信号。在本设计中16路采集信号分别通过1片AD7506多通道选择开关把信号送入A/D转换器。由FP-GA控制多通道选择开关的控制信号, 包括使能信号EN和4位地址信号。当使能信号有效时, 根据4位地址控制信号来选择要输出的通道, 从而使AD7506能对16路模拟输入信号进行周期性选择。

2.2 A/D转换电路

在数据采集系统中, A/D转换芯片的作用是把模拟信号转换成数字信号[5]。它的性能参数直接影响整个系统的性能, 有2个很重要的性能参数:转换速度和转换精度。本系统的采集控制模块中选用的A/D转换器是AD公司生产的AD7886, 一款内置采样保持放大器的12位ADC, 兼具高速性能和低功耗特性。它是一款三通Flash型ADC, 利用15个比较器和4位Flash技术来实现12位精度和1μs/750 ns的转换时间。片内时钟振荡器为各转换级提供适当的时序, 无需任何外部时钟[6]。AD7886引脚绑定的输入提供三种模拟输入范围选择:0~5 V、0~10 V或±5 V。由于所有输入的模拟信号范围都是0~5 V, AD7886的输入选为第一种模拟输入范围, 连接芯片的VIN1引脚和VIN2引脚, 选定模拟输入范围0~5 V。

2.3 FPGA控制电路

本设计采用Altera公司的FPGA芯片EP1C3T144C8对AD7886进行采样控制, 并将数据存储到双口RAM中。Altera公司的Cyclone系列现场可编程逻辑阵列具有丰富的I/O端口, 因此对外围设备的控制全部可以通过单独的I/O端口进行控制, 没有端口复用的现象, 极大地提高了系统的采集速度。其原理框图如图3所示。

系统中AD7506的通道选择I/O直接由FPGA的输出端口PORTOUT[3:0]控制, 当使能信号有效时, 通道选择指令将启动相应的数据采集通道。A/D转换电路工作时, 基于FPGA的采集控制模块会产生对AD7886的控制信号, 其输出数据DB0~DB11直接与FPGA的数据总线D0~D11相连接, 一旦AD7886接收到信号就对模拟输入信号IN进行采样、转换并保持, 完成之后由信号通知FPGA, 从而控制AD7886工作完成模拟信号到数字信号的转换。经过模数转换后的结果通过12位数据总线一次读出经FPGA存储到双口RAM中。

2.4 DSP与双口RAM的接口电路

双口RAM的兼容性很强, 工作时序与普通单端口存储器完全一样, 存取速度可以满足各种CPU的要求。在FPGA的外围配置适当的双口RAM, 用来实现和DSP的高速通信, 使整个系统达到最佳[7]。IDT70V27是美国IDT公司采用高性能CMOS工艺生产的高速32 k×16 bit双端口静态RAM。它可以作为16位双口RAM单独使用, 也可以进行位扩展, 将数据线扩展到32位。

本系统采用TI推出的TMS320VC5509高性能定点DSP处理采集到的数据, 它采用统一编址的方式划分存储空间, 程序与数据总线均能对其访问。C5509上具有EMIF接口, EMIF将多种不同的接口方式统一用相应的DSP芯片片内资源来实现, 简化了DSP和外部存储器的接口。EMIF可以与基于并口的所有类型存储器直接相连, 其寻址空间被划分为4个不同的CE空间[8,9]。将最低位的扩展空间CE0作为程序区, CE1作为程序ROM空间进行扩展, CE2和双口RAM连接作为外部数据存储区。其连接方式如图4所示。

从图中可以看出TMS320VC55的外部存储器接口和IDT70V27的右端数据、地址和读写控制信号相连, 而IDT70V27的左端和FPGA线连接, 从而实现了它们之间的通信。C5509内部以字节为单位寻找, 由于EMIF接口采用了16位接口器件, 因此地址总线的最低位A0不需要使用, C5509的地址线A[15:1]和双口RAM的AR[14:0]相连[10]。当FPGA和DSP对同一存储空间同时进行存储操作, RAM左右端口将发生冲突。为避免这种情况, 将右端口的信号置低, 则DSP优先进行操作。

3 系统软件设计

3.1 数据采集模块

本设计采用Altera公司Quartusⅱ软件平台下的Verilog HDL硬件描述语言进行软件编程。对控制模块的Verilog HDL程序进行综合后, 利用Model Sim仿真工具进行仿真。仿真结果如图5所示。

3.2 数据处理模块

在数据处理模块中DSP芯片首先通过BOOTLEADE程序将存储在Flash中的程序代码搬移到片内RAM, 高速运行程序。程序首先进行初始化, 完成到双口RAM的通信[12]。采集后的数据暂存到双口RAM中, 当采集到一定数量的一组数据, 由DSP芯片对数据进行处理。

在实际的采集过程中, 由于一些所需的相关信号比较弱, 加上环境噪声干扰, 必然会降低采集到的数据的精度。本系统采用最小均方误差 (LMS) 自适应算法对数据进行滤波处理, 增加系统的精度。自适应滤波器采用16阶FIR滤波器, 采用相同的信号作为参考信号d (n) 和输入信号x (n) , 并采用上一时刻的误差值来修正本时刻的滤波器系数。采用最小均方误差自适应滤波算法对一路输入信号x (n) 滤波后, 用CCS3.3在计算机上实时显示处理的波形如图6所示。

可以看出:输出波形y (n) 在自适应滤波的调整中逐渐与输入波形x (n) 重合。滤波过程中, 以输入信号x (n) 为参考信号进行滤波, 根据滤波器的输出与参考信号的误差调节滤波参数, 使下一次的输出误差有所减少。这样重复下去, 直到滤波参数调节到最佳。在图6中, 一定时刻后, 输入信号和输出信号逐渐重合, 误差逐渐减小为零, 证明自适应滤波器正常工作。本系统实现了对输入信号的实时处理, 能够较好地消除环境噪声。

4 结束语

本文阐述了基于FPGA的多路信号采集的设计, 同时给出了通过数字信号处理器 (DSP) 实时处理数据的设计。系统通过FPGA产生控制时序信号, 利用其时钟频率高、I/O资源丰富等特点, 提高系统采集速度和稳定性。同时, 利用DSP强大的数据处理能力对采集得到的数据进行滤波处理, 去除环境噪声。在本设计中仅针对16路信号采集与处理, 可以通过增加多路模拟选择开关数量采集更多路的模拟信号, 而在FPGA中仅需要增加对多路选择开关片选信号的控制时序。该设计方案具有良好的可扩展性和通用性。

参考文献

[1]卓浩泽, 龚仁喜, 谢玲玲.基于FPGA的多路高速数据采集系统的设计[J].电测与仪表, 2011, 48 (9) :65-68.

[2]郑佳, 任勇峰, 李辉景.基于FPGA的多路数据采集卡的研究与设计[J].电视技术, 2012, 36 (1) :52-54.

[3]李鹏, 马游春, 李锦明.基于FPGA的多路数据采集模块硬件设计[J].仪表技术与传感器, 2010 (3) :80-82.

[4]AD7506 Data Sheet[EB/OL].[2013-03-20].http://www.alldatasheet.com/view.jsp?Searchword=AD7506.

[5]郭铮, 刘文怡, 冯妮.基于FPGA多通道高速数据采集存储器设计[J].电视技术, 2012, 36 (17) :55-57.

[6]AD7886 Data Sheet[EB/OL].[2013-03-15].http://www.analog.com/static/imported-files/data_sheets/AD7886.pdf.

[7]赵保军, 史彩成, 韩月秋.利用FPGA和DSP结合实现雷达多目标实时检测[J].电子学报, 2001, 29 (8) :1-3.

[8]张雄伟, 曹铁勇, 陈亮.DSP芯片的原理与开发应用[M].北京:电子工业出版社, 2009.

[9]赵洪亮, 卜凡亮, 黄鹤松.TMS320C55x DSP应用系统设计[M].北京:北京航空航天大学出版社, 2008.

[10]黄霞, 鲍慧, 赵伟.基于TMS320VC5509A的多路同步数据采集与存储系统[J].继电器, 2007, 35 (23) :24-27.

[11]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社, 2008.

上一篇:超声引导下穿刺活下一篇:空调通风