找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于FPGA的智能变送器的设计

[复制链接]
admin 发表于 2013-3-21 02:42:16 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘要:根据工业应用的实际需要以及网络通信发展的功能要求,提出了基于FPGA智能变送器控制系统的总体方案,设计了以XILINX公司的Spartan3系列XC3S4005PO208C可编程逻辑器件为主控制器、DM9000A为以太网通信接口、SJA1000为CAN控制器的硬件系统,并给出了系统软件流程图,重点论述了数据采集和数据模拟输出控制电路的FPGA实现,结合ISE10.1设计软件给出了A/D、D/A的仿真结果。
关键词:FPGA;智能变送器;数据采集;可编程逻辑器件

     在工业自动化控制系统中,过程参数压力、差压、绝对压力、流量等工艺参数均要严格控制,而这类参数的测量与监控大多使用变送器。变送器是玉业过程重要的基础自动化设备之一,是工业过程自动控制中应用最广、使用最多的一种现场仪表。随着高参数、大容量设备的增加和过程工艺的复杂化,变送器用量不断增多。
     随着工业自动化控制技术的发展,自控水平越来越高,对过程参数控制精度要求越来越严,要求变送器表不仅精度高,而且要功能多、稳定可靠、能准确传送过程参数(压力、差压、绝压、流量)、抗干扰能力强、使用维护简单,并能与控制器、执行器等设备组成功能强大的控制系统,实现通讯和过程的自动控制。所以,过去的变送器由于受测量原理和通讯所限,很难实现这种高精度控制要求,因此,自然而然地产生了原理先进具有通讯功能的智能变送器。这类先进的智能变送器集现代科技与一身,是微电子技术、精密机械加工技术、计算机技术和现代通讯技术完美结合的产物,能实现过程控制的多种要求,推动了整个自控技术的向前发展。先进的智能变送器是工业过程控制技术发展的需要,也是工艺过程实现高精度控制的必须,具有很好的市场前景。
     本文根据工业应用的实际需要以及网络通信发展的功能要求,提出了基于FPGA智能变送器控制系统的总体方案,硬件系统设计、软件设计。该设计实现了系统MCU主控模块、数据采集模块、电源控制模块、数据处理模块、数据通信模块等硬件电路,并给出了系统软件流程图,重点论述了数据采集和数据模拟输出控制电路的FPGA实现,详细阐述了系统各模块电路的组成原理和实现方法,给出了整个电路系统的原理图,并制作了印刷电路板。结合XILINX公司的ISE10.1设计软件给出了模/数转换、数/模转换的仿真结果,验证了系统功能。

1 智能变送器的总体设计
     本智能变送器由前端信号调理电路、高速A/D采样电路、数字信号处理电路、模拟输出电路和数字输出电路组成。如图1所示。
    20121107053434134213081.jpg
   
     分析不同类型的传感器,其输出信号可分为电流信号、电压信号和电荷信号3大类,相应地设计了3种信号调理电路。以大型设备振动监测项目为例,县体的传感器有加速度、速度和位移传感器。选择不同的前端信号调理电路,变成统一规格的电压信号供后面的A/D采样。
     A/D采样部分对前端电路的输出电压信号进行采样。A/D采样芯片采用ADI公司的AD7264,AD7264是双通道同步采样、14-bit、高速、低功耗、逐次逼近型模数转换器,采用5V单电源供电,采样速率高达1 MSPS。A/D采样电路与前端信号调理电路用同一隔离电源供电,与后级数字信号处理电路隔离。AD7264的数据接口为串行接口,便于隔离处理。
     数字信号处理电路选择带有CPU软核的FPGA。FPGA是智能式变送器的核心,它不但能对采样数据进行计算、存储和数据处理,还可以通过反馈回路对传感器进行调节。在整个系统中,FPGA主要实现对系统的控制和数据的预处理。
     智能式变送器有两种输出方式:模拟输出和数字输出。数字输出将处理后的信号直接输出,通过CAN接口、TCP/IP接口传给上位机。模拟输出通过DAC芯片将信号转换成标准电压电流信号输出。
   2 系统硬件设计与实现
     智能变送器具有采集、处理、指示、通讯等功能,其硬件设计围绕功能进行。整个智能变送器单元根据所完成的功能分为以下几个主要功能模块:信号采集模块(传感器放大电路)、信号转换模块(模/数转换和数/模转换电路)、FPGA控制模块、通信模块(以太网和CAN总线通信)以及为整个系统提供电源的电路部分等。其中FPGA系统为整个控制器单元的核心,是变送器实现数字智能化的标志。
   
    20121107053434165463082.jpg
   
     智能变送器的硬件总体结构框图如图2所示。变送器工作时,由传感器把被测量转变为电信号,然后将信号作A/D转换,把模拟信号变换成数字信号,送入到FPGA(XC3S4005PQ205)控制模块,FIGA通过FIR滤波器核对信号进行滤波,并通过查表法对信号进行自动补偿,然后根据实际需要。经数/模转换后将数据传给下级电路,同时也可能通过以太网或CAN总线传给局域网,实现智能变送功能。系统PCB板实物图如图3所示。
    20121107053434212333083.jpg
   

3 系统软件设计与仿真
     该系统以XILINX公司的XC3S4005PQ208C作为中央处理器,整个系统主要包括初始状态(Initialization)、数据采集状态(Data_Sample)、数据处理状态(Data_Processing)、以太网传输状态(Enet_Transfers)、CAN总线传输状态(CAN_Transfers)、和模拟输出状态(Analog_ Transfers)等6种状态,因此,可以利用有限状态机的设计方案来实现。其状态转换图如图4所示,通过开发工具ISE10.1对各个模块的VHDL源程序及顶层电路进行编译、逻辑综合,电路的纠错、验证、自动布局布线及仿真等各种测试,最终将设计编译的数据下载到芯片中即可。
    20121107053434243583084.jpg
   
     初始状态:实现系统初始化;数据采集状态:完成数据采集过程;数据处理状态:对采集的信号进行一系列的滤波处理,非线性校正等;以太网传输状态,CAN总线传输状态:根据实际需要将信号数字输出;模拟输出状态:进行数模转换,输出标准的电压电流信号。
3.1 数据采集的FPGA设计
     数据采集是工业测量和控制系统中的重要部分,它是测控现场的模拟信号源与上位机之间的接口,其任务是采集现场连续变化的被测信号。对数字系统来说,数据采集主要由传感器放大电路和A/D转换电路构成,由硬件电路可见,系统通过AD7264模/数转换器来实现模/数转换。AD7264内含6个寄存器,分别是A/D转换器的结果寄存器、控制寄存器、A/D转换器A和B的内部失调寄存器、A/D转换器A和B通道的外部增益寄存器。由于XC3S4005PQ208C和AD7264都兼容SPI接口,两者的编程只需按照时序图进行即可。AD7264与FPGA的接口主要包括PD0数据输入选择端:DoutA(DoutB)两路数据输出端;OUTa(OUTb)两路数据输入端;CoutA(CoutB、CoutC、CoutD)比较器输出;G3(G2、G1、G0)四路增益控制输入信号。增益由控制寄存器的低四位控制;ADSCLK时钟信号;ADCS片选信号,低电平有效。AD7264工作频率为20 MHz,在CS下降沿,跟踪保持器处于保持模式。此时,采样、转换同时被初始化模拟输入。这需要至少19个SCLK周期。第19个SCLK的下降沿到来时。AD7262恢复至跟踪模式,并设置DOUTA、DOUTB为使能。数据流由14位组成,MSB在前。图5为AD7264读寄存器时序仿真图。
    20121107053434274833085.jpg
   
3.2 数据输出的FPGA实现
     智能化信号调理器的输出分为数字输出和模拟输出,数字输出通过CAN接口和TCP/IP输出到上位机,或者通过总线方式输出;模拟输出通过DA转换成标准的电压电流信号输出。系统选用ADI公司AD5422数/模转换器来实现数/模转换。AD5422通过数据移位寄存器输入数据,数据在串行时钟输入SCLK的控制下首先作为24位字载入器件MSB中。数据在SCLK的上升沿逐个输入。该24位字在LATCH引脚的上升沿无条件锁存,然后数据继续逐个输入,此时与LATCH的状态无关。图6为AD5422写操作时序仿真图。
    20121107053434321713086.jpg
   

4 结束语
     采用XILINX公司的ISE10.1设计软件及MODELSIM软件对系统进行反复调试仿真,给出了试验结果,验证了系统功能。并运用美国PCB公司的608A11作为加速度传感器。对设备的振动进行监测,其模拟输出的测试结果如表1所示。
    20121107053434352953087.jpg
   
     最终的调试结果表明,本文所设计的智能变送器器能够稳定的实现温度、压力等变量的变送,并且频率、幅值的调节精度等技术指标均达到了预期的设计要求。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 04:15 , Processed in 0.071534 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表