基于SOPC的现场总线多通道实时温度采集系统设计

2014-11-14 08:39:51来源: 21ic 关键字:温度采集  FPGA  NiosII  PROFIBUS
引言

温度是表征物体冷热程度的物理量,是工业生产中常见和最基本的参数之一,在生产过程中常常需要对温度进行监控。传统的温度采集系统,通常采用单片机数字信号处理器DSP作为微控制器,控制模数转换器ADC及其他外围设备的工作;但是,基于单片机或DSP的高速多路温度采集系统都有一定的不足。由于单片机运行的时钟频率较低,并且单片机是基于顺序语言的,各种功能都要靠软件的运行来实现,因此随着程序量的增加,如果程序的健壮性不好,会出现“程序跑飞”和“复位”现象。DSP的运算速度快,处理复杂的乘加运算有一定的优势,但是很难完成外围设备的复杂硬件逻辑控制。因而单片机或DSP很难满足在复杂的工业现场进行多路温度采集时对实时性和同步性的要求。鉴于此,本文介绍一种基于SOPC技术的多通道实时温度采集系统。该系统开发周期短、资源配置灵活、稳定性良好,满足了对温度采集实时性和同步性有较高要求的工业生产领域中的应用。

1 系统的总体结构

温度采集系统的硬件主要由温度采集模块、数据存储模块、FPGA逻辑控制模块以及通信模块组成,其总体架构如图1所示。

基于SOPC的现场总线多通道实时温度采集系统设计

系统上电后,先由静态存储器EPCS16自动将配置数据载入到FPGA(CycloneII系列的EP2C8Q208C)的SDRAM(HY57V641620)之中,即将固化在其中的数字逻辑电路映射到FPGA器件中。温度传感器单元AD590首先采集温度信号,然后经过信号调理电路的处理,使信号的输出幅度满足A/D采样量程要求。此时FPGA控制模拟选择开关ADG706进行通道选择,同时控制多片16位A/D转换器ADS8402进行A/D转换,并将采集到的实时数据分时存储到两片类型为FIFO、容量为16K×9位的存储器IDT72V06中。然后,将其中处于读状态的IDT72V06中的数据读取出来,并经过FPGA控制SPC3通信模块,通过PROFIBUS总线传送至上位机

2 温度采集系统设计

2.1 温度采集模块

温度采集模块由多片温度传感器单元、多路信号调理电路、多路模拟开关电路以及多路A/D转换器四大部分组成。

温度传感器单元采用热电偶。它具有以下优点:测温范围宽,性能稳定;测量精度高,热电偶与被测对象直接接触,不受中间介质的影响;热响应时间快,热电偶对温度变化反应灵活;测量范围大,-40~+1600℃均可连续测温;性能牢靠,机械强度好;寿命长,按装方便,特别适合于在复杂的工业生产过程中对温度的实时检测。

多路模拟开关电路选用16路模拟选择开关ADG706。其4位地址位.A0、A1、A2、A3的输入直接由FPGA的I/O端口CH0、CH1、CH2、CH3控制,决定16路输入信号中要输出的通道,每条通道选择指令将同时启动多片ADG706相应的温度采集通道。然后启动相应的温度采集通道进行A/D转换。本设计采用高速逐次逼近寄存器(SAR)类比数位转换器ADS8402,多片ADS8402A/D转换器的启动转换引脚共用FPGA的一个I/O端口A/D Start。ADS8402A/D转换结果的高、低字节控制引脚BYTE及ADS8402的数据输出控制,分别由FPGA单独的I/O控制。FPGA每给A/DStart端口一个100ns的负脉冲即可启动多片ADS8402进行相应通道上的数据采集。转换结束后,可通过控制BYTE端口读取A/D转换结果,并暂存到相应的数据单元。

2.2 数据存储模块

多通道采集信号的路数多、处理的数据量大,需要外扩数据存储模块来缓存FPGA处理结果。与此同时,由于上位机的多任务性,它不可能专一对并行口读取数据,为了保证FPGA控制核心与上位机通信一次性读取大量数据,本系统用到了2片异步FIFO芯片IDT72V06,其存储容量16K×9位,存取时间15 ns,其中一片用来对采集过来的数据进行存储,另一片用来读取存储在FIFO中的采集数据,以便与上位机进行并行口通信。系统运行过程中,两片FIFO位扩展进行双缓存乒乓控制,轮流进行读写操作,可大大提高并口通信速度及数据吞吐量。

2.3 通信模块

PROFIBUS—DP是一种经过优化的高速、廉价的通信连接方式,专为自动控制系统和设备级的分散I/O之间的通信而设计,用于分布式控制系统的高速数据传输,实现自控系统和分散外围I/O设备及智能现场仪表之间的高速数据通信。SPC3集成了全部的PROFIBUS—DP协议,SP C3在DP方式下将完成所有DP—SAP的设置。

SPC3内部集成了1.5 KB的双口RAM,包括参数寄存器、方式寄存器、状态寄存器和中断控制器等。SPC3内部集成的看门狗定时器有3种工作状态:波特率检测、波特率控制和从站控制。内部的USART可实现并行数据流和串行数据流的相互转换,微顺序控制器控制整个工作过程,空闲定时器直接控制串行总线时序。通信模块的设计选用了PROFIBUS—DP专用通信协议芯片SPC3,这样可加速通信的执行,而且可以减轻微处理器的负担。

2.4 FPGA逻辑控制模块

基于FPGA的采集控制单元,采用自顶而下的模块化设计方法,使用Verilog HDL语言完成各控制模块的设计。FPGA逻辑控制模块包括A/D采样控制模块、FIFO读写控制模块和SPC3控制模块。

2.4.1 A/D采样控制模块

A/D采样控制模块负责控制外部ADS8402芯片多路模拟输入量的选通,并实现对A/D采样过程的合理控制。

由于ADS8402对16通道的模拟量采取分时转换的方式,因此在启动转换的同时还要进行通道选择。ADS8402设置了4根通道地址线A0、A1、A2、A3,以及地址锁存允许信号ALE。当ALE变高时,锁存由A0、A1、A2、A3编码所确定的通道号,将该通道的模拟量接入A/D转换器进行转换。依据这样的特性,设计一个带复位端的十六进制计数器,其计数输出端Q3、Q2、Q1、Q0分别与ADS8402的4根地址线相连。计数器上电复位以确保系统从0号通道开始采样。将ADS8402的转换结束信号EOC作为计数器的时钟信号,实现一路转换结束后自动启动对下一路模拟输入的采样控制。

基于SOPC的现场总线多通道实时温度采集系统设计

A/D采样过程的控制采用有限状态机来实现,把某一通道的采样过程划分为7个状态,如图2所示。首先S0状态对各个控制信号进行初始化。在S1状态产生ALE信号的上升沿,锁存通道地址。启动信号START应在产生ALE信号的同一时钟下降沿产生,由于VHDL语言在同一进程内不允许时钟的两个沿作为敏感变量,所以将产生START信号单列为一个状态S2,启动转换。在启动转换后,ADS8402使EOC置为低电平,设置S3状态等待A/D转换结束。转换结束后,EOC信号由低电平转换为高电平,状态机进入S4状态,开启输出允许OE。状态机进入S5状态,开启数据锁存信号LOCK锁存数据。为产生与其他进程通信的信号,状态机设置S6作为最后一个状态,然后跳转回SO初始状态。

[1] [2]

关键字:温度采集  FPGA  NiosII  PROFIBUS

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2014/1114/article_10063.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:高阻器件低频噪声测试技术与应用研究--高阻器件噪声测试技术的验证和应用
下一篇:保健品包装质量检测技术的应用

论坛活动 E手掌握
关注eeworld公众号
快捷获取更多信息
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
温度采集
FPGA
NiosII
PROFIBUS

小广播

独家专题更多

东芝在线展会——芯科技智社会创未来
东芝在线展会——芯科技智社会创未来
2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved