(1.温州医科大学 仁济学院,浙江 温州325035;2.温州医科大学 生物医学工程学院,浙江 温州325035)
为了便于实际项目须要,设计了一种低本钱、易集成的光谱强度丈量系统。采取线阵CCD器件TSL1401作为光电转换器件,以FPGA芯片EP1C3T100C8作为采集系统的掌握核心,ARM芯片STM32F103RCT6作为数据传输通道与上位机通信,通过LabVIEW上位机模块完成采集数据的实时显示。实验结果表明,系统可以明显区分不同条纹物体,结果符合理论预期,系统稳定高效,可广泛运用于光谱的实时快速准确丈量。

光谱强度;嵌入式;LabVIEW
中图分类号:TN874
文献标识码:A
DOI:10.16157/j.issn.0258-7998.2017.06.023
中文引用格式:赵硕峰,张娟. 基于LabVIEW平台的嵌入式光谱强度检测系统设计[J].电子技能运用,2017,43(6):90-93.
英文引用格式:Zhao Shuofeng,Zhang Juan. Design of embedded spectral density measurement system based on LabVIEW[J].Application of Electronic Technique,2017,43(6):90-93.
0 弁言
光谱剖析作为一种鉴别物质以及确定其化学组成的有效手段,已经被广泛运用在食品、医药、环境检测、石油等领域。其事理就在于,每一种物质在一定条件下都存在物质本身的特色光谱,通过对这些光谱的研究,就可以得到物质的构造和身分,以及内部的能级构造和相互浸染等信息。正因如此,国内外事情者投入了大量的研究和实验事情。
近年来以CCD(Charge Coupled Devices,电荷耦合器件)芯片和光纤为根本的光谱仪与拉曼光谱、LIBS(Laser-Induced Breakdown Spectroscopy)光谱、荧光光谱等技能结合,日益成为身分快速剖析和生产过程实际丈量手段。究其缘故原由在于CCD灵敏度高,价格便宜,且基于CCD芯片的光谱仪不须要任何运动部件,可直接得到完全的光谱谱图,使得光谱仪器更为大略。
但利用CCD作为光探测元件,有一个关键的问题须要办理,即CCD器件包含浩瀚像素,其事情须要严格的外部驱动。目前传统的驱动办法因此微掌握器为核心、通过软件编写的办法产生驱动时序。此种驱动办法的局限为微掌握器是基于顺序实行代码的事情办法,如果设计繁芜,中断等模块较多,运用随意马虎被速率和抖动所限定。FPGA最大的优点是利用非常灵巧,在不改变外围电路的情形下,设计不同的片内逻辑就能实现不同的电路功能,从而缩短了系统的开拓周期,节约本钱。不仅如此,FPGA可以通过设计专用硬件逻辑,并发实行,速率快,时序准确。这种架构特殊适宜于大容量数据的实时传输、处理,可以很好地办理上述问题。
本体裁系采取FPGA为CCD供应驱动时序脉冲和A/D采样电路的时序掌握电路,同时采取ARM芯片为数据采集系统和上位机建立数据传输通道,并通过LabVIEW构建的图形化接口实时地显示丈量数据。实验表明,系统可运用于光谱的快速实时精确丈量。
1 光谱强度检测系统整体设计
全体系统构造框图如图1所示。采取FPGA作为掌握核心,包括线阵CCD时序驱动电路、A/D采样电路的时序掌握电路、Delay-M电路。外部硬件电路包括A/D采样电路、精密延时电路、微处理器、电源、逻辑转换及干系电路。通过FPGA掌握外部电路,启动并采集光旗子暗记,然后存储到FPGA内部的RAM中。采集结束后,通过串口模块自动寻址把数据传送到电脑中。FPGA模块通过SPI(Serial Peripheral Interface)与STM32微处理器实现数据交流。LabVIEW上位机可以通过USB接口实现数据同步通信,还可以通过FPGA串口或STM32串口吸收数据并显示。
2 系统各模块设计先容
2.1 CCD模块电路
系统采取TSL1401作为感光元件,它是一款高灵敏度、低噪声和宽动态范围的线阵CCD器件。根据TSL1401的数据手册,CCD事情的电压为3~5 V,驱动频率为5~8 000 kHz,系统设计为4 V供电模式和250 kHz的时钟主频。
TSL1401共有128个像素点,在采集过程中,CCD采集的值与采集阶段的光强度和曝光韶光是成正比的,当前第19个时钟到下一个SI开始的这段韶光,便是下次旗子暗记采集须要的曝光韶光,前18个时钟周期为积分器复位韶光,第19个时钟开始,像素点开始随着时钟输出,数据率便是时钟的频率。值得把稳的是,本周期采集的像素值是上个周期曝光韶光产生的像素值。以是在设计中,第一个周期采集的像素值要舍弃,从第二个周期开始可以采集并保留值。在连续采集时,如果时钟速率比较快,曝光韶光可以近似地认为是两个旗子暗记之间的韶光,而忽略前19个时钟的影响。根据手册,TSL1401的最大曝光韶光是100 ms,以是曝光韶光不宜超过100 ms,由于纵然超过100 ms,曝光效果和100 ms是一样的,而且在强光下永劫光曝光可能造成CCD的永久破坏。以是系统测试时采取的曝光韶光为25 ms,曝光韶光要根据外界光强度来调节,避免曝光不敷和过曝光的情形。
时序设计的设计办法为:对主时钟进行计数,以计数器的值作为参考,通过对计数器值的剖断来决定旗子暗记脉冲的时候与宽度,由于时钟参考是同步时钟,而且是并行的硬件电路,以是旗子暗记的时序很准确。同时利用计数器对主时钟进行计数,系统外接晶振为50 MHz,以是每200个周期翻转一次旗子暗记的值便是250 kHz的主时钟。通过调节两个旗子暗记间的韶光间隔来调度第一次的曝光韶光。
2.2 A/D采样电路
本模块为全体系统核心部分之一。采样的真实稳定决定系统的精度,CCD的时钟如果是250 kHz,系统设计数据率就该当是250 kS/s。故本设计中选取的AD7988-5便是最大500 kS/s的16位AD芯片。
外部A/D与微掌握器内部集成的A/D比较,外部A/D芯片位数可以很多,速率可选,精度很高,而微掌握器内部集成的A/D模块紧张针对通用目的,位数很少有超过16位的,速率依系统时钟而定,但是数据率能到500 kHz的也不多见,且通用目的设计A/D在积分和微分非线性偏差上表现不如专用的外部A/D芯片。
参考电压稳定度直接影响A/D转换精度,故为了避免电源颠簸给转换精度带来的影响,系统选取ADRA4540作为基准电压源。
对付A/D采集芯片AD7988-5,外部的时序驱动决定了数据采样的质量,在设计时该当把稳在时序图的根本上保留一定的设计余量来应对实际问题的磨练,包括传输延时、输入等效电容等实际分布参数。以是在500 kHz采样率的芯片,可以担保500 kHz以下的运用。但是如果到达最高利用速率,就须要外部时序和偏差只管即便小,故如果选择250 kHz的采样率,就为设计留下了很大的空间。
由AD7988-5数据手册可知最小采样韶光和最大转换韶光,这两个参数决定了采样的周期和CNV旗子暗记(转换使能旗子暗记)的高电平时间,而其他参数紧张是为了让选取的时钟和CNV的时序知足传输延时和分布参数给系统带来的不愿定性,本系统选取250 kHz的采样率,CNV采样韶光设为2 μs,这样就知足了最大转换韶光为1.6 μs的哀求,而后采取10 MHz的时钟进行移位输出数据。
系统外接时钟为50 MHz,对付时钟的奇分频不能像偶分频一样,记数后翻转就行。对付奇分频的本色便是对一个要分频的周期韶光进行平分。
AD7988-5三线制事情模式,决定了当前周期采集的数据是上一个周期的实际数据,由于在CNV为高电平时,前辈行的是转换阶段,而后就自动进入采集模式,以是当前周期采集的便是下个周期须要的数据。这点须要把稳,特殊在精准数据操作的系统中须要格外把稳。
2.3 存储时序与RAM模块
前端CCD事情频率和ADC的事情频率很高,每个像素点为16 bit,数据率为250 kHz,这样的数据量和速率,电脑串口根本没有办法知足哀求。此时如果再采取FIFO(First Input First Output)更是不可取,由于数据写的速率非常快,而数据读的速率很慢,很随意马虎就饱和,造成数据丢失。
系统选取了双端口的RAM,引用IP核中的RAM(16 bit,256 B),对付128个像素点的数据完备够用。双口RAM紧张的上风就在于可以同时读写,系统设计为直接引用IP核的办法,这样的设计办法担保了设计准确性,同时也加快了设计的进程。但要把稳写进RAM的时序要和ADC采样移位输出的数据时序相匹配,否则会造成数据大量丢失。
当进行RAM存储操作时须要把稳:当存储上升沿到来之时,写使能、写地址和数据必须准备好,只有这样在写时钟的上升沿到来之时才能担保数据被写入相应地址的RAM当中。以是系统采取A/D采样旗子暗记同步产生的RAM读写的时序,有CNV旗子暗记低落沿的累积形成地址,设置16位移位寄存器,保存ADC输出的数据,然后CNV上升沿到来时,上个旗子暗记的数据存入RAM。
2.4 数据传输模块设计
串口是一种常见的接口办法,常用于低速、小数据量的传送方案中。
为了数据传输的稳定可靠,故选择波特率为9 600 b/s(即:吸收一个比特的韶光为1 s/9 600=104 μs,每隔104 μs发送一个数据),系统主时钟为50 MHz,则一个别系时钟周期韶光为20 ns,远小于104 μs,以是可以通过计数器对主时钟进行计数,然后根据计数器的值来打拍发送数据。
串口模块只会被动地发送数据,并不能对RAM中存储的数据自动寻址发送和做相应的掌握。由于串口常日只有8个数据位,须要传输两次,以是两个传输周期的地址是一样的,用同步时钟计数器产生两倍的串口周期用于自动累加形成地址。
这种设计在理论上没有问题,但结合实际运用电路就会涌现问题。在运用的IP核RAM中,输入端口会有一个寄存器,这在开始就会造成一个时钟周期的延时,才能使地址和数据存进RAM。虽然存放数据只是延时一个时钟周期,但用串口模块自动读取数据时就会产生时序的错乱。
以是在详细设计时,输出口的寄存器可以选择去掉,但输入口的寄存器必须存在。在读取时钟上升沿到来之时,读使能、读地址必须提前就位。只有这样,当读时钟的上升沿到来时才会读出相应地址存储的值,由于数据和地址的输入必须要坚持一个稳定的韶光,这个韶光便是时钟周期。以是一个读取周期该当是3个串口周期,这样第一个串口周期什么都不做,只是把使能旗子暗记和地址送进RAM,后两个周期的上升沿到来时把数据分2个8位输出。
2.5 LabVIEW上位机模块
紧张用到的节点是串口配置节点,即VISA功能块中供应的干系节点。由于LabVIEW串口吸收的都是字符串的格式,而且串口一样平常吸收8位数,以是吸收时须要数据的重组,选取了字符串平化的数据节点,可以选取字符串平化至干系数据类型,在输出类型中选择16 bit无符号数,这样就可以直接输出到数据图中直不雅观地看到吸收到的数据。
LabVIEW上位机程序设计流程为:先建立串口模块即引用VISA模块,之后设立缓存区的大小,设立等待韶光,等待韶光为前面板可输入的控件,设置的串口等待韶光必须大于串口发送的韶光,否则会造成数据传输不完备,造成数据丢失,末了便是数据的拼接和转化部分,利用平化节点,使得每两位数据组成一个16 bit的无符号类型的十进制数并在波形图中显示。
3 实验结果
在QUARTUS软件中编程结束后,可以进行语法编译,考验语法是否有缺点。此时的编译不能确定设计是否知足需求,只有利用可综合的Verilog HDL语句才能进行RTL级设计,全编译后天生的便是综合后的电路,也是系统设计的目标。接下来,可以进行RTL级的仿真以及门级仿真来验证设计在时序上是否知足哀求。门级仿真已经很靠近实际情形,如果门级仿真知足哀求,就可以将编译过后的程序下载到FPGA中,进行末了的实际系统的调试。
图2所示为扫描物体和扫描数据高下比拟图,当扫描视野中全为白色时,CCD的值在2 000~35 000之间,呈现的是中间高两头低的情形。这与理论有出入的缘故原由在于:CCD的镜头是通过透镜成像,透镜本身就决定了越是靠近中轴部分光发生的折射越少,中轴线的光为直射,中间部分的光比两边强,以是CCD成像的值反应出来便是中间值比较大,很好的对称性也证明了这一点。
当扫描视野全部是黑的时,CCD扫描的一行图像的值基本都一样,在0~5 000之间,这很好地验证了在全白光时的结论,同时有光和无光有明显的差异。
当扫描视野中有一条黑线时,扫描的值很明显地涌现一块凹陷的值,并且是连续变革的。通过这3组比拟的结论可知,系统实验结果知足实验预期。
在初步的全白扫描和全黑实验后,为了进一步验证系统的稳定性和可靠性,做了如图3所示的3组实验,分别为1条黑线、2条黑线、3条黑线,扫描对应的值以高下对照的形式给出。从实验结果可以看到,对付不同的扫描物体,CCD同样可以明显区分不同条纹物体,实验值符合理论的预期。
4 结束语
本文提出了一种低本钱易集成的光谱强度丈量系统,设计并制作了A/D采样电路。根据TSL1401采集时序编写相应的A/D采样时序和存储时序,对转化后的数字旗子暗记按地址存储到FPGA内部RAM中。采集结束后,串口模块自动寻址发送RAM中存储的数据,LabVIEW上位机可通过串口吸收数据并显示。实验结果表明,实验数据符合理论的预期,可广泛运用于光谱强度的实时快速精确丈量。
参考文献
[1] 刘胜,张兰勇,章佳荣,等.LabVIEW 2009程序设计[M].北京:电子工业出版社,2010.
[2] 米本和也.CCD/CMOS图像传感器根本与运用[M].北京:科学出版社,2006.
[3] 陈树学,刘萱.LabVIEW宝典[M].北京:电子工业出版社,2011.
[4] 姚远,李辰.FPGA运用开拓入门与范例实例[M].北京:公民邮电出版社,2010.
[5] 汤琦.Xilinx FPGA高等设计及运用[M].北京:电子工业出版社,2012.
[6] 翟晶晶.基于电子快门自动增益的CCD驱动电路研究[J].当代电子技能,2010,33(19):188-190.
[7] 王庆有.光电传感器运用技能[M].北京:机器工业出版社,2014.
[8] 马克斯菲尔德.FPGA设计指南:器件、工具和流程[M].北京:公民邮电出版社,2007.
[9] 朱仁盛,曲波.光电传感器及其运用[M].北京:化学工业出版社,2004.










