赖义汉,傅智河
(龙岩学院物理与机电工程学院,福建龙岩364012)
基于AD7705及FPGA的光信号采集系统设计
赖义汉,傅智河
(龙岩学院物理与机电工程学院,福建龙岩364012)
光电检测与数据转换是光纤光栅测温系统中的重要组成部分,为提高测量精度和稳定性,提出了以16位模数转换器AD7705为核心的光信号采集系统.阐述了FPGA控制模块的设计思路及VHDL实现方法,并以FPGA作为控制器实现AD7705逻辑控制.通过QuartusII软件进行仿真测试,结果显示:设计符合要求,系统稳定可靠.
光电检测;AD7705;FPGA;信号采集
光纤光栅传感器是利用光纤光栅受外界物理作用时其反射中心波长会发生偏移的机理制成的,光纤光栅传感器具有体积小、重量轻和抗电磁干扰等特点,被广泛应用于变压器、水泵等特殊环境下的温度监测[1].在光纤光栅测温系统中,光纤光栅传感器采集的反射光通过光电检测与转换电路把光信号转换成电信号,经高精度的AD转换器得到数字信号,再经过一系列的数据处理后得到温度值.本文着重对光电检测及AD数据转换部分进行分析和设计,提出了以FPGA与高性能的AD7705组合实现高精度光信号数据采集系统,并利用QuartusII对系统进行仿真验证[2].
光信号采集系统总体方框图如图1所示,主要由光电检测与转换电路、AD7705接口电路、FPGA控制模块等部分组成,光电检测与转换电路把光信号变成电信号放大后再送入AD7705电路,AD7705在FPGA的控制下完成AD转换,并把数据送入后续信号处理模块处理,计算出具体的温度值.
图1 系统总体结构Fig.1 System structure diagram
2.1 光电检测与转换电路
光纤光栅传感器反射回来的光信号功率一般较低,经过长距离传输后到达光电检测器的信号也就非常微弱,而且在放大电路中还存在器件的固有噪声以及供电电源引起的噪声[3],因此,在微弱信号电路设计中必须采取多项措施抑制噪声[4],以满足后续数字信号处理电路的需要.电路采用高精度、低温漂、低损耗的OP07作为运算放大器,该放大器偏置电流非常小,适合用作小信号放大.光电检测与转换电路如图2所示,光电探测器采用PIN管,其相当于电流源,完成光功率到电流的转化,由于信号较小,电路采用三级放大,其中一、二级主要完成光信号到电流再到电压的放大与转换,第三级主要对电压进行放大,放大后的电压信号送入AD7705进行AD转换.为减小电源噪声干扰,每个电源端需加上耦电容.
图2 光电检测与转换电路Fig.2 Circuit of photoelectric detection and conversion
2.2 AD7705硬件电路
AD7705是AD公司生产的适合测量低频信号的16位AD转换器,片内带有数字滤波和增益可编程的∑-△转换技术,能够直接将传感器测量到的微小信号进行AD转换,具有宽动态范围、高分辩率等特点,在仪器仪表测量、工业控制等领域有广泛的应用.AD7705配有串行通信接口,可配置成三线或四线接口模式其增益值、信号的极性以及更新速率可由软件灵活配置[5].AD7705外围接口电路如图3所示.
图3 AD7705硬件接口电路Fig.3 Circuit of AD7705 hardware interface
AD7705主要引脚及功能:两组模拟信号输入端AIN1(+)、AIN1(-)和AIN2(+)、AIN2(-),分别可配置成单极性输入和差分输入.通信接口为片选端,低电平有效.DIN为串行数据输入端,DOUT为转换结果的串行数据输出端,SCLK为串行移位脉冲,一般由控制芯片提供,为逻辑输出,高电平表示数据正在更新中,低电平表示AD转换结束可以读取数据.REF(+)、REF(-)为基准输入端,由于基准电压对转换结果影响较大,本设计采用低动态阻抗、低噪音的LM285D作为基准电源,为AD提供2.5 V基准电压.
用户对AD7705的功能设置以及AD转换结果输出都是采用串行接口方式访问片内寄存器,本设计采用VHDL语言把通信接口配置成四线工作方式[6],即与AD7705的、SCLK、DIN、DOUT端口进行通信,完成串行数据的发送和接收.
3.1 数据发送模块
数据发送模块SPI_WRITE就是把各种控制字以串行方式写入AD7705内部相应的寄存器,实现各种功能.在写入过程中必须按AD7705的工作时序要求传送数据,才能保证数据准确性和有效性,该模块采用VHDL进行设计,其端口设置如下:
由于与写入有关的寄存器均为8位寄存器,因此,把SPI_WRITE模块设计成一个8位并入串出移位寄存器,当WR_FLAG控制信号为高电平时,读入WR_CODE[7..0]中控制字的值,同时在SCLK上产生8个移位脉冲,并在移位脉冲的作用下把8位输入数据转换为串行数据从TX端输出,在这移位期间uCS输出保持低电平,数据移位完后重新回到高电平,并等待下一个写入控制脉冲.其仿真结果如图4所示.
图4 数据发送模块仿真Fig.4 Data transmission module simulation waveforms
3.2 数据接收模块
数据接收模块SPI_READ主要是读取AD7705内部数据寄存器中已转换好的AD值,其设计原理与数据发送模块类似,该模块端口设置如下:
由于AD7705内部数据寄存器是一个16位寄存器,因此,SPI_READ模块是一个串入并出的16位移位寄存器,当为低电平,且RD_FLAG为高电平时,系统开始读取AD7705的16位串行数据,经过16个脉冲后,完成串并转换,RECE_OK结束标志位置高电平,同时输出并行数据RECE_DATA[15..0],仿真结果如图5所示.
图5 数据接收模块仿真Fig.5 Data receiving module simulation waveforms
3.3 AD7705工作状态控制模块
AD7705工作状态控制模块STATE_CTR是根据AD7705工作流程,完成各种设置并读取AD转换值.AD7705内部主要有通信寄存器、设置寄存器、时钟寄存器、数据寄存器等,其中通信寄存器主要管理通道选择,并决定下一个操作是读操作还是写操作,以及下一次读或写哪一个寄存器,所有与器件的通信必须从写入通信寄存器开始.该模块采用VHDL有限状态机实现,该控制器由7个工作状态组成.其状态转换图如图6所示.
S0状态:初始化,写通信寄存器20H,将下一个操作设为对时钟寄存器进行写操作;
S1状态:写时钟寄存器04H,外部时钟频率设为4.915 2 MHz,更新频率为50 Hz;
S2状态:写通信寄存器10H,选择通道1为输入端口,将下一个操作设为设置寄存器写操作;
S3状态:写设置寄存器40H,增益设为1,差分输入,自校准模式;
S5状态:写通信寄存器38H,将下一个操作设为对数据寄存器进行读操作;
S6状态:从数据寄存器中读取AD值,重新返回S4状态,重复上面的步骤,并可连续读出AD的值.
图6 AD7705工作状态转换Fig.6 AD7705 state flow
3.4 FPGA控制器结构
FPGA控制器结构图如图7所示,由FENPING分频模块、SPI_WRITE数据发送模块、SPI_READ数据接收模块及STATE_CTR工作状态控制模块组成.AD7705外接时钟为4.915 2 MHz,设计选用更新速率为50 Hz,同时从AD手册可知串行时钟脉冲宽度不得小于100 ns,即时钟不得大于5 MHz,FPGA开发板上配有50 MHz时钟源,通过分频模块FENPING得到3 MHz输出频率,再经过SPI_READ和SPI_WRITE模块后产生500 kHz的移位脉冲频率,即每写入一个字节需要16 ms,因此,在STATE_CTR模块中,每写入一个控制字需要等待16 ms以上才能进入下一个状态,而数据寄存器是16位的,因此,在读出AD转换数据时需要等待32 ms以上,才能进入下一个状态,读取下一个数据.
图7 FPGA控制器结构Fig.7 FPGA structure controller diagram
在QuartusII平台上对FPGA控制模块进行了仿真测试,其仿真结果如图8所示.
图8 FPGA控制器仿真波形Fig.8 FPGA controller simulation waveforms
从图8中可以看出,前面4组写入脉冲分别写入20H、04H、10H、40H,当DRDY端信号为低电平时,表示AD数据已转换结束,再写入38H,再经过16个脉冲读出转换数据,然后又继续等待DRDY变为低电平,周而复始,并可连续读取AD转换值.根据测试数据进行分析,符合AD7705工作时序要求,最后把设计文件下载至CycloneII的EP2C8Q208C7芯片进行验证测试,实现相关功能.
本系统采用高精度的AD转换器,采用FPGA及VHDL有限状态机完成对AD7705的时序逻辑控制,完成光信号的检测与放大及数据转换,以软件方式实现硬件电路,控制灵活、转换精度高、稳定性好,在水泵的温度检测应用系统中有良好应用,同时对于一些精度要求高,而输入信号较小的其他模拟量检测也有较好的应用参考价值.
[1]张燕君,李进,陈凌军,等.一种双通道光纤光栅温度检测系统的研究[J].光纤通信技术,2009,10:43-45.
[2]褚振勇,齐亮,田红心,等.FPGA设计及应用[M].2版.西安:西安电子科技大学出版社,2006.
[3]宋涛,张斌,罗倩倩.光电转换电路的设计与优化[J].光电技术应用,2010,12(6):46-48.
[4]管敏杰,赵东娥.基于PIN型光电转换电路的噪声研究[J].电子测试.2012(2):35-37.
[5]郝富春,王有权,郭志忠.基于AD7705的万能信号输入设计[J].吉林化工学院学报,2011,28(9):76-79.
[6]华卓立,姚若河.一种通用SPI总线接口的FPGA设计与实现[J].微计算机信息,2008,24(6):212-213.
(责任编辑:卢奇)
Design of optical signal acquisition system based on AD7705 and FPGA
Lai Yihan,Fu Zhihe
(Physics and Mechanics College,Longyan University,Longyan 364012,China)
Photoelectric detection and data conversion is an important part of the optical fiber grating temperature measurement system.In order to improve the system measurement precision and stability,the optical signal acquisition system based on the core of analog to digital converter AD7705 was proposed,the design ideas of VHDL and the implementation of the control module FPGA were described,and uses FPGA as the controller to realize the AD7705 logic control.The system is stable,and met design requirements,through the simulate on test by QuartusII software.
photoelectric detection;AD7705;FPGA;signal acquisition
TN911.72
A
:1008-7516(2015)01-0055-06
10.3969/j.issn.1008-7516.2015.01.013
2014-09-29
龙岩学院产学研合作项目(LC2013001)
赖义汉(1968—),男,福建龙岩人,硕士,副教授.主要从事嵌入式系统研究与应用.