微波EDA网,见证研发工程师的成长! 2025婵犵數濮烽弫鍛婃叏閹绢喗鍎夊鑸靛姇缁狙囧箹鐎涙ɑ灏ù婊呭亾娣囧﹪濡堕崟顓炲闂佸憡鐟ョ换姗€寮婚敐澶婄闁挎繂妫Λ鍕磼閻愵剙鍔ゆ繛纭风節瀵鎮㈤崨濠勭Ф闂佸憡鎸嗛崨顔筋啅缂傚倸鍊烽懗鑸靛垔椤撱垹鍨傞柛顐f礀閽冪喖鏌曟繛鐐珕闁稿妫濋弻娑氫沪閸撗€妲堝銈呴獜閹凤拷04闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鈩冩珕闂佽姤锚椤︻喚绱旈弴銏♀拻濞达綀娅g敮娑㈡煕閺冣偓濞茬喖鐛弽顓ф晝闁靛牆娲g粭澶婎渻閵堝棛澧遍柛瀣仱閹繝濡烽埡鍌滃幗闂佸搫娲ㄩ崑娑㈠焵椤掆偓濠€閬嶅焵椤掍胶鍟查柟鍑ゆ嫹03闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鈩冩珖闂侀€炲苯澧扮紒顕嗙到铻栧ù锝堟椤旀洟姊洪悷鎵憼闁荤喆鍎甸幃姗€鍩¢崘顏嗭紲闂佺粯鐟㈤崑鎾绘煕閵娿儳鍩g€殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鐘栄囨煕鐏炲墽鐓瑙勬礀閳规垿顢欑紒鎾剁窗闂佸憡顭嗛崘锝嗙€洪悗骞垮劚濞茬娀宕戦幘鑸靛枂闁告洦鍓涢敍娑㈡⒑閸涘⿴娈曞┑鐐诧躬閹即顢氶埀顒€鐣烽崼鏇ㄦ晢濠㈣泛顑嗗▍灞解攽閻樺灚鏆╁┑顔芥尦楠炲﹥寰勯幇顒傦紱闂佽宕橀褔鏌ㄩ妶鍡曠箚闁靛牆瀚崗宀勬煕濞嗗繑顥㈡慨濠呮缁辨帒螣閼姐値妲梻浣呵归敃銈咃耿闁秴鐒垫い鎺嶈兌閸熸煡鏌熼崙銈嗗闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌i幋锝呅撻柛濠傛健閺屻劑寮撮悙娴嬪亾閸濄儳涓嶉柡宥庡幗閻撴洘銇勯幇鍓佺ɑ缂佲偓閳ь剛绱掗悙顒€鍔ら柣蹇旂箞閸╃偤骞嬮敂钘変汗闁诲骸婀辨慨鎾夊┑鍫㈢=濞达絽鎼宀勬煕閵娿儳鍩g€殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹
首页 > 应用设计 > 工业电子 > 基于Nios平台的光信号采集片上系统设计

基于Nios平台的光信号采集片上系统设计

时间:04-04 来源:互联网 点击:
引言

一项很有发展前景的新技术-纤维光学及光纤光栅(FBG,Fiber Bragg Grating)技术,已经被应用于温度及形变在线测量中。FBG传感器的特征就是具有良好的稳定性、可靠性。除此之外,它还具有基于光纤传感器的一些共有优点,如对电磁的不敏感性、尺寸小、传感器和数据获取装置之间距离可以很远;因而能克服传统的温度和形变传感器(如热电偶和形变测量器)的很多缺点,如重量、硬度方面的缺陷以及对环境变化干扰的抵抗能力差等。

本文主要介绍对FBG传感器信号的快速获取方法,重点介绍基于FPGA的Altera公司的Excalibur开发板,设计一个片上嵌入式测量系统,用它来获取光信号。与目前具有同样功能的其它测量系统相比,它具有灵活、稳定、易维护、高效率等优点。本测量系统的硬件开发包括,使用Altera Excalibur开发板配置生成一个嵌有Nios处理器的“片上”测量系统,以及使用CCD和高速ADC设计光电信号的转换和采集电路;软件开发包括,在Apex EP20K FPGA中时序信号的Verilog实现,使用C语言对光电信号的获取。

1 系统结构

测量系统由以下几部分组成:光学系统、放置被测物体内的光纤光栅(FBG)和信号采集处理部分。其中的光学系统包括光源和分光仪,使用高亮度的激光发生器作为光源,用于产生入射被测物体内的光纤的光波。它的功率大于1mW,光频谱位于 808~858nm,入射后其中某一波长的光波被光栅反射回来,并进入分光仪。分光仪是由若干面反射镜和全息光栅组成,主要作用是对光波进行光学处理后,使光波能够准确投射在CCD上,将光信号转换成电信号,便于信号的采集和处理。系统中信号采集处理部分是由CCD线列传感器ADC转换器以及Altera ExCalibur开发板组成。它的作用是将投射在CCD上的光信号先变为模拟电信号,而后通过ADC将信号再转换成数字量信号,然后通过 Altera‘s Excalibur开发板上的片上Nios嵌入式系统,对这些数字量信号进行采集和处理,得到相应的温度值和应变值,以便完成整个测量过程。系统框架示意图如图1所示。

闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑娑⑺囬悽绋垮瀭濡わ絽鍟粻娑樏归敐鍛础缂佸鑳剁槐鎾诲磼濮橆兘鍋撻悜鑺ュ€块柨鏇氱劍閹冲矂姊绘担鍛婂暈闁荤喆鍎抽幑銏狀潨閳ь剙顕f繝姘亜缁炬媽椴搁弲顒勬⒑閹稿海绠撴繛璇х到鏁堟俊銈呮噺閸嬧剝绻濇繝鍌涘櫣妞わ絽銈搁幃浠嬵敍濞戞ɑ璇為梺璇″枟閻燂妇鎹㈠┑瀣倞闁靛ě鍐ㄥ婵犵數濮烽弫鎼佸磹椤栫偛鐒垫い鎺戝绾惧鏌熼崜褏甯涢柣鎾寸洴閹鏁愭惔鈥茬敖婵犫拃鍐粵闁逛究鍔嶇换婵嬪川椤曞懍鍝楅梻浣告贡閹虫挾鈧氨澧楁穱濠囧箹娴h倽銊╂煥閺冣偓閸庡磭绱為幒妤佲拻闁稿本鐟ㄩ崗宀勬煙閾忣偅宕岀€规洜鏁诲浠嬵敇閻愭鍞甸梻浣芥硶閸o箓骞忛敓锟�...

2 光纤光栅(FBG)传感器工作原理

光纤光栅(FBG)传感器是光纤传感器的一种。它不仅可以用于静态信号,还可以用于动态信号的采集,例如温度、形变和压力等。

以下结合图2介绍光纤光栅(FBG)的工作原理。

闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑娑⑺囬悽绋垮瀭濡わ絽鍟粻娑樏归敐鍛础缂佸鑳剁槐鎾诲磼濮橆兘鍋撻悜鑺ュ€块柨鏇氱劍閹冲矂姊绘担鍛婂暈闁荤喆鍎抽幑銏狀潨閳ь剙顕f繝姘亜缁炬媽椴搁弲顒勬⒑閹稿海绠撴繛璇х到鏁堟俊銈呮噺閸嬧剝绻濇繝鍌涘櫣妞わ絽銈搁幃浠嬵敍濞戞ɑ璇為梺璇″枟閻燂妇鎹㈠┑瀣倞闁靛ě鍐ㄥ婵犵數濮烽弫鎼佸磹椤栫偛鐒垫い鎺戝绾惧鏌熼崜褏甯涢柣鎾寸洴閹鏁愭惔鈥茬敖婵犫拃鍐粵闁逛究鍔嶇换婵嬪川椤曞懍鍝楅梻浣告贡閹虫挾鈧氨澧楁穱濠囧箹娴h倽銊╂煥閺冣偓閸庡磭绱為幒妤佲拻闁稿本鐟ㄩ崗宀勬煙閾忣偅宕岀€规洜鏁诲浠嬵敇閻愭鍞甸梻浣芥硶閸o箓骞忛敓锟�...

光纤光栅(FBG)传感器的工作原理就是用某一波长的光信号来表示我们希望采集的物理量。光纤中的光栅可以被看作是一个“滤波器”。根据光栅本身的物理特性,进入光纤的光波的某一波长部分被光栅反射回来,这一波长的光波就被从入身的光波中“滤除”了。这样,我们希望采集的物理量就被“调制”成了这一波长的光信号。

假设光栅的反射系数为neff,光栅之间的几何距离为dB,通过以下公式得出被反射回的光波的波长 λB=2×neff×dB。机械应力将改变光栅之间的几何距离,而温度的变化将改变光栅的反射系数。可以试想,在已知温度T0和已知压力ε0条件下,反射波长为λB0,那么,可以通过检测未知温度T1和未知应力ε1所对应反射波长λ1与λB0之间的波长偏移,来计算得到此刻的温度T1和应力ε1,计算公式如下:

其中光栅的相关常系数c1、c2,由光栅的校准过程所决定。
应力ε1=(λ1-λB0)/[(1-Peff)]×λB0
其中光栅常系数的Peff是光栅光塑常系数。

3 CCD图像传感器的选择

为了方便系统对FBG输出的光信号进行处理,必须将其转换成电信号,我们采用光电信号转换器未完成这方面的工作。在本系统中,因为发光源的波谱范围是808~858nm,所以我们选用了波谱范围为200~1100nm的2048个像素的灰度线列CCD图像传感器ILX511B。

CCD将光信号转换成模拟电信号,每个像素产生一个模拟电信号,这样CCD每次进行光电转换就产生2048个模拟电信号;同时,它将这2048 个像素位置串行地“封装”成一个有效数据字段,可以在外加时钟同步信号(CLK)和芯片使读端(ROG)作用下,从CCD中读出数据。

外加的同步时钟信号由2087个时钟脉冲组成,在每个时钟脉冲作用下,一个数据位被读出。这2087个数据位由以下几部分组成:首部伪数据字段(33个数据位)、有效数据字段(2048个数据位)、尾部伪数据字段(6个数据位)。需要注意的是,为了提高电磁兼容性,CCD的工作方式应该选择为采样一保持方式;同时,CCD在上电后处于内部电路初始化阶段,为了避免得到错误的数据,最初22 500个时钟脉冲用于初始化CCD,不要在此阶段读出数据。

4 ADC接口设计与Altera Nios平台

4.1 ADC接口设计

经过CCD传感器转换输出的模拟量,必须通过ADC转换器转换成数字信号,这样系统才可以处理这些信号。因为CCD的动态范围是48.5dB,根据公式ADC精度≥动态范围(dB)/20×log2可以计算得到ADC精度≥8.06,所以选择ADC的精度必须是9位或9位以上的;同时,根据以下公式计算ADC的速度:
fs=1×2MHz(CCD的最大时钟频率)=2MHz(采样和保持方式)。

通过上述计算和分析,得到所需ADC的两个主要特性指标,即精度至少要9位,采样的速率必须至少2Msps。

现在,有很多ADC转换器可以应用于CCD图像处理。在综合考虑了诸多因素后,我们选择Linear的串行ADCLTC1402。

在设计ADC接口电路时,要注意以下一些问题。首先,由于LTC1402内部输入信号的“保持-采样”电路的速率达到80MHz,所以,外部的噪声和干扰都可以通过LTC1402的输入端对A/D转换产生影响。根据LTC1402数据手册的要求,我们解决的方法是,在LTC1402的输入端加上一阶的滤波电路,将输入信号的频率限制在一定的范围内。其次,CCD的输出对于外界的阻抗变化比较敏感,如果将ADC的输入端与CCD的输出直接相连,则 CCD的负载可能随ADC输入端内部阻抗的变化而变化。基于以上两点考虑,我们在CCD和ADC之间设计了缓冲电路,用于阻抗匹配和滤波。缓冲接口电路如图3所示。

闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑娑⑺囬悽绋垮瀭濡わ絽鍟粻娑樏归敐鍛础缂佸鑳剁槐鎾诲磼濮橆兘鍋撻悜鑺ュ€块柨鏇氱劍閹冲矂姊绘担鍛婂暈闁荤喆鍎抽幑銏狀潨閳ь剙顕f繝姘亜缁炬媽椴搁弲顒勬⒑閹稿海绠撴繛璇х到鏁堟俊銈呮噺閸嬧剝绻濇繝鍌涘櫣妞わ絽銈搁幃浠嬵敍濞戞ɑ璇為梺璇″枟閻燂妇鎹㈠┑瀣倞闁靛ě鍐ㄥ婵犵數濮烽弫鎼佸磹椤栫偛鐒垫い鎺戝绾惧鏌熼崜褏甯涢柣鎾寸洴閹鏁愭惔鈥茬敖婵犫拃鍐粵闁逛究鍔嶇换婵嬪川椤曞懍鍝楅梻浣告贡閹虫挾鈧氨澧楁穱濠囧箹娴h倽銊╂煥閺冣偓閸庡磭绱為幒妤佲拻闁稿本鐟ㄩ崗宀勬煙閾忣偅宕岀€规洜鏁诲浠嬵敇閻愭鍞甸梻浣芥硶閸o箓骞忛敓锟�...

由图3可计算ADC的输入最高频率:
fg=1/[(2×π×R5×C3)]=10.3MHz。

4.2 Altera Nios平台

在细致分析系统的特点后,我们决定选择专门针对SOPC应用的Altera Excalibur开发套件。开发套件包括以下部分:
*Nios处理器以及外围接口;
*Quartus II开发软件;
*GNDUro编译器;
*基于APEX EP20K200E FPGA的开发板;
*相关的开发例程。

我们使用集成在 QuartusII中的SOPC Builder工具来配置生成片上系统。SOPC Builder是一个功能强大的基于图形界面的片上系统的定义和定制工具,可以在短时间内完成用户定制的SOPC设计。根据应用的需要,从SOPC Builder库中选择IP模块、存储器、外围接口和处理器,并且配置生成一个高集成度的SOPC系统,因而选取以下一些模块组成片上系统:Nios 32bit CPU、Boot Monitor ROM、Communication UART、debugging UART、Timer、Button PIO、User PIO、LCD PIO、LED PIO、DMA、SPI、Seven Segment PIO、External RAM Bus(Avalon TriState Bridge)、External RAM Interface、External Flash Interface。

同时,SOPC Builder自动产生一些必需的仲裁逻辑来协调系统中以上各个部件的工作,我们将系统的工作频率设为33MHz。定制完片上系统的硬件后,SOPC Builder还为编写操作这些片上硬件的软件代码提供了一个软件开发环境,这个软件环境包括语言头文件、外围接口的驱动以及实时操作系统的内核,极大地方便了软件的开发。

灏勯涓撲笟鍩硅鏁欑▼鎺ㄨ崘

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top