电竞作品基于SOPC的高精度多路数据采集系统.docx
- 文档编号:24194325
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:42
- 大小:538.87KB
电竞作品基于SOPC的高精度多路数据采集系统.docx
《电竞作品基于SOPC的高精度多路数据采集系统.docx》由会员分享,可在线阅读,更多相关《电竞作品基于SOPC的高精度多路数据采集系统.docx(42页珍藏版)》请在冰豆网上搜索。
电竞作品基于SOPC的高精度多路数据采集系统
电竞作品基于SOPC的高精度多路数据采集系统
IndustrialFieldHighAccuracyMulti-ChannelDataAcquisitionSystem
BasedonSOPC
(陕西科技大学 指导老师:
张震强 学生:
易长文邓亚明 曾志强)
摘要:
本作品应用SOPC技术来完成在工业现场高精度数据的采集。
采用通用输入端子,实现了多通道多信号输入、高精度的数据采集。
用户可以自由选择输入信号,具有克服温度漂移的自校准、手动校准、键盘输入、液晶显示和标准的RS232串口通讯的功能。
在本设计中结合FPGA的特点与V/F转换器配合使用,实现高于16位分辨率的ADC转换功能。
V/F转换器相当于一个双积分A/D转换器,抗工频干扰能力强。
信号调理电路采用增益可调的仪表放大器,提高了共模抑制比。
由于合理使用了ALTERADE2板的资源,使外围硬件电路的结构更加简单,系统稳定性好,运行可靠。
关键词:
SOPC高精度多通道数据采集自校准 串口通讯
ABSTRACT:
High-accuracydatacollectionsystemisimplementedBasedontheSOPCTechnology,whichcanachievemulti-channelsignalviacommoninputport.Inputsignalcanbeselectedbyusersastheirwish.canovercomeTemperatureDriftcanbeovercomebyautoadjustmentormanualadjustmentviakeyboardinputinsystem.DatadisplayandtransportviaRS-232SerialPorttocomputer.Systemachievehigherthan16bitsResolutionA/DConvertionduetotheresistanceofIndustrialFrequencydisturbanceinV/FConvertor.AndSignalamplifyingcircuitenhancestheCMRR(CommonModeRejectionRatio)viaProgrammable-gaininstrumentationamplifier.ThankstoresourcesintheAlteraDE2Board,systemisrunningstableandreliablewithsimplerexternalcircuit.
KEYWORDS:
SOPC,HighAccuracy,Multi-Channel,DataAcquisitionAuto-Adjustment,SerialCommunication
一、选题意义
数据采集系统广泛应用于多个领域,比如医药、化工、食品等领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等参数,因此,数据采集是工业测控中至关重要的一环。
本系统采用SOPC技术针对工业控制中的过程量4~20mA的变送器信号、0~5V的电压信号、-200~850℃的PT100的温度测量、频率<1MHZ的变送器的脉冲信号的采集、数据传送进行设计。
利用Altera公司DE2开发板与外部配置接口电路实现多路高精度数据采集。
通过DE2板上标准的RS232通讯接口与上位机连接,实现将现场采集数据上传和监控管理,使监控人员直接在监控机房通过上位机观察现场的数据并采取相应措施实现对现场设备的控制,从而使现场的仪器设备能够正常运行。
通过RS232/485转换接口,还可实现远程数据传送和远程监控。
本系统设计的输入信号接口电路为通用接口,用户可以自由选用外挂变送器设备,使用更加灵活方便。
如果用传统方法设计多路数据电路,完成键盘设置、液晶显示、通讯等功能,则需要大量的外围硬件电路实现。
采用Altera公司的DE2开发板,可以充分利用板上资源实现上述功能,大大简化了硬件电路设计。
本设计以采集16路工业现场信号作为设计目标。
如果充分利用板上资源,还可实现更多通道的数据采集。
这样的电路可以被应用到分布型综合控制系统中。
二、方案选定
系统框图如图1所示。
各部分功能分述如下:
图1系统框图
1.16路信号输入
16路信号输入电路由接线端子组成,分别可接工业现场的8路电流信号、3路电压信号、3路Pt100的温度信号和2路脉冲信号。
2.输入接口电路
输入接口电路的框图如图2所示。
该部分电路完成对输入信号的调理和实现A/D转换功能。
其中对频率信号的采样,采用光电耦合和整形电路实现现场信号与系统的电气隔离和电平转换功能,既能保护DE2板上元件的安全,又能实现电平转换使输入的频率信号幅值能满足FPGA元件对输入电平的要求。
对于输入电压、输入电流和Pt100的电阻信号,首先将其转换为电压信号,再通过增益可调的测量放大器和V/F转换,将其转化为频率信号,进入FPGA内部计数电路,实现A/D转换。
图2输入接口电路
为了克服输入电路由于温度漂移、时间漂移产生的测量误差,系统采用内部基准源自校正电路,定时进入自校准模式,重新确定标度变换斜率以减小系统测量误差。
3.FPGA内部电路
本设计使用了ALTERA公司提供的NIOSII系统开发平台,该平台给提供了大量的模块。
由该系统开发平台提供的NIOSII可以控制7段显示、LCD、LED、各种PIO、以及RAM等,通过它还可以设置定时器,UART模块。
设计方框图如图3所示,通过系统结构图,利用SPOCBUILDER搭建和生成自己的系统。
主CPU是由NIOSII构成,包括Flash和Ram控制器,通过三态AVALON桥和NIOSIICPU连接;由于采用V/F类型A/D转换,因而通过PLL模块产生稳定的系统时钟频率和AD的工作频率;另外在系统中加入定时器来精确的定时25ms,让计数器来精确的计数,以提高系统A/D转换的精度;LCD模块用来即时显示采集的各个通道的数据,通过按键可以控制要显示的通道和系统参数的设定。
最后通过UART把采集的数据传输到上位机储存以用来实现后期的数据分析。
图3设计方框图
4.串口通讯
UART(即UniversalAsynchronousReceiverTransmitter通用异步收发器)是广泛使用的串行数据传输协议。
UART允许在串行链路上进行全双工的通信。
UART串行通讯帧格式如图4所示。
图4UART帧格式
包括线路空闲状态(idle,高电平)、起始位(startbit,低电平)、5~8位数据位(databits)、校验位(paritybit,可选)和停止位(stopbit,位数可为1、1.5、2位)。
这种格式是由起始位和停止位来实现字符的同步。
UART内部一般有配置寄存器,可以配置数据位数(5~8位)、是否有校验位和校验的类型、停止位的位数(1,1.5,2)等设置。
UART主要有由数据总线接口、控制逻辑、波特率发生器、发送部分和接收部分等组成。
AlteraFPGA内UART核如图5所示。
图5AlteraFPGA内UART核
UART核符合RS-232逻辑电平标准。
它通过TXD和RXD端口发送和接收串行数据。
但大部分Altera的FPGA器件与RS-232电平标准不一致,如果直接用RS-232连接头送来的信号来驱动则很可能会把FPGA烧坏。
为此,通过在FPGAI/O口和RS-232连接头之间加入3.3V工作电压的MAX232的电平转换芯片,如图6所示,实现了标准的RS-232逻辑电平转换。
图6UART核逻辑转换电路
5.系统控制及算法的实现
用NIOSII来协调电路的各部分工作。
算法上采取针对不同对象采取不同的算法来实现。
即:
(1)电压信号:
为了保证精度采取分段线性化的方法。
对不同段的数据采取不同的放大倍数。
在本系统中采用5级放大的方法,如式
式中K——相应的放大倍数时对应的标度变换的斜率;
C——计数器的值;
(2)电流信号和Pt100的信号:
转换为电压信号,然后作类似
中的处理。
(3)频率信号:
采取直接计数的方法实现对频率信号的采样。
其中
为计数器的读数,
为采样周期,
三、硬件实现
硬件部分由外部的前端电路和DE2内部的FPGA电路两大部分组成。
1.外部的接口电路
(1)16位ADC的实现
a.A/D转换器的选取
A/D转换器的选型对整个系统的实现有重要的意义和影响,要作
的精度,要达到该指标所需要的最少位数为:
所以选取大于13位的ADC,实际选取模拟器件公司的AD652,其A/D转换位数可超过16位。
AD652是AD公司推出的一种高线性度电荷平衡式V/F转换芯片。
输出频率范围宽2MHZ(MAX),线性误差在满频度输出为1MHZ时最大为0.005%,增益误差最大为1.5%(Fclk=4MHZ),增益温度系数最大为75ppm/℃,可与TTL或CMOS电平兼容,外接电路简单(仅需一个积分电容和上拉电阻)单极性输入信号0V~10V,双极性输入信号-5V~+5V,且自带5V基准源.完全满足设计的需要。
另外选取V/F型ADC的主要理由如下。
在工业现场或较大装置的计算机测量控制系统中,由于各功能模块接地点的电位不同,它对系统内的各部分电路,尤其是对模拟电路的正常工作有着很大的影响。
所以,测量现场的某些信号或控制设备往往要求相应的隔离,以保护主机正常工作,完成各项控制功能。
模拟信号在传输过程中容易受到各种噪声干扰,而经过V/F转换后的数字信号具有较强的抗干扰能力,适宜远距离传输。
当隔离电压要求不是很高时可以用光电隔离器件来实现数据传送,而当隔离电压要求几千伏甚至上万伏时必须用光纤来传送。
所以选取V/F型AD。
V/F型A/D转换分为多谐振荡器式和电荷平衡式。
多谐振荡器式VFC简单、便宜、功耗低,具有单位占空比的方波输出。
但是精度低于电荷平衡式VFC,而且不能对负输入信号积分。
电荷平衡式VFC比较精确,适合小的模拟信号输入,而且输入信号可以为双极性,输出波形是脉冲串。
缺点是对电路要求较高,输入阻抗低。
衡量利弊之后决定使用AD公司的电荷平衡式V/F转换芯片AD652。
b.AD652的工作原理
如图7所示,AD652主要由积分器、比较器、与门、D触发器、锁存器、转换开关K、1mA恒流源、外部时钟组成一个闭环系统。
单稳电路和输出集电极开路组成输出级。
锁存器的Q端控制转换开关K。
当K打向积分器反向端,为积分器复位过程;当K打向积分器输出端,为积分过程。
图7AD652结构原理图
电荷平衡是建立在输入电流与内部精密电流源之间的一种关系。
输入积分器有两种工作模式,如图8所示,一个是IntegrateMode(积分模式),一个是ResetMode(重置模式)。
在积分时间Ti内,输入电流Iin对积分电容CINT
在重置时间Tr内,放电电流1mA-Iin对积分电容Cint放电,
即实现了电荷平衡。
输入电压和输出频率的关系:
图8输入积分器的两种工作模式
Tr为输入时钟周期,(Tr+Ti)为输出脉冲周期。
在Rin、FCLC一定的情况下,FOUT与Vin呈线性关系,从而实现了从电压到频率的转换。
由上可知V/F转换实质上就是向积分器输入一个电流Iin,通过对积分器正/反向充电时间的控制,实现输入电压到输出频率的转换。
V/F转换实质上就是一个I/F转换器。
图9AD652实现V/F原理图
ADC的分辨率、时钟频率和门控时间关系式为:
(n为ADC的分辨率)
故,门控时间:
要求ADC为16位分辨率,时钟频率由DE2中的PLL给出。
DE2板上当输入主频为50MHZ时PLL的最小输出为10MHZ,而AD652的最大输入频率为4MHZ,为了满足需要给50MHZ的主频采取13分频的方法。
即
满度
那么,门控时间
如果改变时钟频率
便可改变ADC的分辨率。
这种ADC的缺点是转换速度较慢,属于双积分式ADC,转换时间为34.079ms,所以不适宜作高速ADC应用场合,但是对于工业现场已经足够。
实际中,AD652的输入频率完全可以加到6MHZ以上。
另外,对于AD652的线性度,也做了实验。
电路图如图8,输入频率为50M/13时,将实验数据在MATLAB中用程序拟合了一条曲线。
曲线如图10所示,这是一条AD652的输入满量程的曲线,图中直线为AD652的输出拟合曲线,断续的点为AD652的实际输出曲线,纵坐标为输出的频率,单位为kHz,横坐标为输入的电压,单位为V。
可见AD652的输出频率能线性很好的跟踪输入的频率信号,从而很好的完成了V/F转换。
尽管AD652整个满量程输入时,其输出线性很好,根据自己的需要选取了输出线性最好的0~5V的输入。
图10AD652的V/F拟合曲线
c.AD652的实际电路
如图11示,LM336-5为AD652的输出级(OC门)上提供10mA左右的吸收电流,集电极开路输出级能够提供10mA左右的吸收电流。
选择集电极开路上拉电阻应考虑被驱动的逻辑电路输入负载情况,还应选择较小电阻,使电路具有足够快的上升时间。
要驱动2个标准TTL负载,要有3.2mA电流被吸收。
如果最高的低电平保持在0.4V,使剩下的6.8mA通过上拉电阻,则的阻值
图11AD652实际电路
电容Cin为积分电容,C1、C2、C3、C4为电源的去耦电容。
通常AD652积分电容取0.02uF,宜采用交流特性好、介质损耗小的如聚丙烯、聚苯丙乙烯电容。
在的系统中,选取了0.022uF的聚苯丙乙烯电容。
Vin+、Vin-为AD652的信号输入端。
CLK有DE2板上的PLL提供,此处一定要共数字地。
FOUT为AD652的输出。
(2)程控放大器的实现
a.器件的选取
最初选取了BURR-BROWN公司的PGA202/203程控仪表放大器,该芯片无需外围芯片,而且PGA202与PGA203级联可组成从1~8000倍的16种程控增益,应用更灵活方便。
需要的放大倍数有1、4、16、64、128倍,所以必需将两片芯片联合起来,可是该芯片每片的市面价格在80元左右,从经济的角度出发选择了AD公司的AD625.
图12AD625固定增益接法
AD625是精密度仪器放大器,用于对增益灵活编程的场合。
在电阻编程的应用中,可在1~10000之间选择任一增益。
编程增益可用三个外部电阻来得到,增益精度主要通过用户提供的调整电阻间的配合来确定。
另外AD625具有优异的交流特性,25MHz的增益带宽积,5V/uS的压摆率,15uS的建立时间,使它适用于高速数据采集。
用户增益编程1~10000倍,低噪声,低增益误差,高线性质,高增益带宽乘积,低输入失调电压。
其固定增益
可见,放大倍数的精度完全由选取的电阻来决定,也就是说选取该芯片,放大倍数的精度是人为可控的。
为了满足需要的放大倍数1、4、16、64、128倍,必须有电阻网的配合。
b.电阻网络配合的实现
只需要将图12中的RF选为固定电阻20K,RG由式子
可以得出如表1所示的阻值,
表 1电阻网的选取
增益
RF(千欧)
RG(千欧)
1
20
∞
4
20
13.3
16
20
2.67
64
20
634
128
20
316
c.实际电路
如图13所示,VOUT+、VOUT-为AD625的输出;VIN+、VIN-为AD625的输入,分别接外部被测信号及用于系统校准的基准电压信号;该电路的放大倍数可通过对CD4052的操作实现。
放大倍数的选取方法参看表2。
表 2AD625放大倍数的选通地址
1EN
1B
1A
对应的放大倍数
1
×
×
1
0
0
0
4
0
0
1
16
0
1
0
64
0
1
1
128
为了保证放大倍数的精度,所有的电阻都用精密电阻,并且比实际值取值稍小,通过串入一个电位器来调节所需放大倍数阻值。
图 13AD625的电路可编程增益电路
实际应用中发现模拟开关CD4052的逻辑高电平在4.2V以上;当模拟开关禁止时,CD4052不能可靠截止;CD4052导通时导通电阻变化明显。
为了使电阻网被选通时,能可靠的导通,不选通时输出电阻无穷大,制定了第二套方案,采用干簧管继电器EDR202A0500,该器件采用DIP14封装,如图14,该器件有两组独立的触点,其闭合动作时间为1ms,断开动作时间是0.5ms。
使用时要注意2脚和6脚之间要加续流二极管。
但是,从功耗和模拟开关的性能指标考虑,最好用AD公司的AD7502来代替该器件效果会更好。
(3)基准源电路
为了克服系统温度漂移所引起的测量误差和保证测量的精度,采用了系统自校准模式。
定时起动自校准模式,重新确定标度变换斜率以减小系统测量误差。
校准精度与基准源的精度有关。
a.基准源的选取
由于对基准源的精度要求很高,所以选取了MOTOROLA公司的MC1403。
该公司的MC1403和MC1404均为高精度基准源。
MC1404为5V的基准源,MC1403为2.5V的基准源,但是MC1404已经停产市面上没有,所以选取了MC1403。
为验证其稳压性能做如下实验:
实验电路:
_______________________________________________________________________________________________________________________________
1uF
图15MC1403实验原理图
实验数据:
表3实验数据表
Vi
Vout(V)
加250欧的负载(V)
空载(V)
5V
2.53
2.53
2.53
12V
2.53
2.53
2.53
15V
2.53
2.53
2.53
结论:
1.负载的影响。
输出在10mA以内,输出很稳定都是+2.53伏。
2..输入的影响。
理论上在+4.5V~+40V输入都可以,实际做了输入为+5V、+12V及+15V的实验。
由实验可以看出MC1403的性能很稳定,完全符合设计的要求。
b.实际电路
基准源分压电路
如图16,用2个HEF4501通过2EN、2C、2B、2A来控制基准源分压的导通,如表4所示。
电阻R5~R12完成所需电压档的分压。
图16基准源分压电路
表4基准源分压档的选通
2EN
2C
2B
2A
选通的电压(V)
1
×
×
×
×
0
0
0
0
0.020
0
0
0
1
0.080
0
0
1
0
0.320
0
0
1
1
1.250
0
1
0
0
2.500
0
1
0
1
0.000
VOUT和AGND为基准电压源的输出,和其他的外部的测量信号一起被送到AD625的输入,并根据需要,由程序选通。
(4)恒流源电路:
如图17所示,PT100工作时需要恒流源,根据PT100的特点,决定用OP07设计3.2mA的恒流源。
图17PT100的连接示意图
实际电路:
图18OP07设计的恒流源
2.SOPC的硬件实现
如下图19所示,为加入到系统内部的各个模块。
图19系统内部图
在生成NIOSCPU后,由于SOPCBuilder模块池中没有计数器,采取在NIOS系统外围添加定时器模块,记数值通过NIOSI/O口读入NIOS系统。
PLL锁相环输出频率分频后作为V/F转换器AD652的输入频率。
系统的顶层模块电路如下:
图20系统的顶层模块电路
3.通讯模块的硬件实现
(1)结构示意图
系统使用RS-232C异步串行接口实现与上位机的通讯,RS-232C接口是常用的、应用广泛的串行接口标准,大量的集成设备、工业产品都提供了RS-232C接口,图21为DE2板与上位机通过RS-232进行点对点通信的接口电路。
图21RS-232C点对点异步通讯接口
(2)串行通信协议
在串行通信技术中,通信双发要进行正常的通信,必须要共同遵守一个通信协议。
通用的串行通信协RS-232和RS-485仅对通信线路的电气特性进行了一些约束,并没有涉及通信内容的格式、类型的信息,而在实际应用中,往往需要考虑到数据传输的安全性、可靠性、通信效率的因素,因此,为满足这些实际需要的特殊要求,在串行通信系统设计中,经常需要为通信双方设定一个通信协议。
这个协议通常搭建在RS-232、RS-485等硬件线路基础上,提供诸如握手信号、错误检测、分组重发等功能。
无论是双机通信还是多机通信,通信协议的设计与实现都是整个系统设计中的难点和关键所在。
根据实际需要,工业现场环境下的通信协议,跟为注重通信双方的事件执行事件顺序和数据可靠性,而很少考虑信息的安全性、通信效率等因素。
由于通信协议的复杂性,通常需要将整个通信过程使用的协议分为几层,上一层的协议以下一层为基层,并作为下一层的数据部分被传送,而下一层并不关心上一层的格式及其实现功能。
一个使用UART端口的通信系统,一般不考虑最底层的电气特性,可以将整个通信功能分为3个层次,从上到下分别是:
a.异步通信协议
该通信协议有一个起始位、5~9个数据位和1~2个停止位组成。
该协议以位单位,一帧数据有多位组成。
如图1示。
该协议主要在SOPC/Communication/UART(RS-232serialport)IP核内定制。
b.中间层协议
使用一个字节或多个字节组成一帧,实现数据的通信,并提供分组、握手、错误检测和从发机制,保证数据的传输可靠。
该层使用的协议是以字节为单位的。
帧中的每个字节数据都使用底层的异步串行通信协议发送。
c.应用层
该部分负责将通信中得到的数据进行处理或者根据程序的需要向通信系统中的其它节点发出信息。
这里信息收发的执行过程由中间层协议实现,应用程序对此并不关心。
图22为通信功能的层次划分示意图
图22通讯功能层次划分
由上述分析可知,通信系统协议设计主要指的就是中间部分的协议设计,它应该根据系统的实际需要为通信的传输提供必要的功能和可靠的保证,并为上一层应用程序的使用提供简洁良好的接口。
根据系统所测现场信号范围:
电流:
4~20mA(精度
)
电压:
0~10V(精度
)
温度:
0~150
(精度
)
频率:
几十kHz(精度
)
利用取整、取余、求模的方法均可以把实际测量数据分离为3个字节,再加上适当的控制命令进行路数识别和差错控制管理,故在设计中以固定的数据帧格式传送数据,帧长为5字节(共50bits),由1字节地址,3字节数据、1字节校验字节组成,如表5所示。
数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 作品 基于 SOPC 高精度 路数 采集 系统