A Design of Optical Fiber Vibration Sensing System Based on ARM and FPGA

Page 1

Scientific Journal of Information Engineering June 2015, Volume 5, Issue 3, PP.102-110

A Design of Optical Fiber Vibration Sensing System Based on ARM and FPGA Wente Wang1, Xingqun Zhao1#, Suiren Wan1, Xiaohan Sun2 1. School of Biomedical Engineering, Southeast University, Nanjing 210096, China 2. School of Electronic Science & Engineering, Southeast University, Nanjing 210096, China #

Email: ndt@seu.edu.cn

Abstract The main work of this paper is to develop a data acquisition and processing unit of distributed optical fiber vibration sensing system based on ARM and FPGA. The data acquisition system uses FPGA as its main controller to achieve the dual-channel acquisition of pulse wave and continuous wave. The ARM9 microprocessor S3C2440 is used as the main processor in this system for data acquiring/processing/storage. Linux OS is ported to the ARM core and Linux device drivers are developed for configuring the FPGA sub system and transmitting data. Compared to optical fiber vibration data acquisition methods (PC+PCI card) before, this method has the advantage of low-power, good expansibility and portability, which makes it a broader usage. Keywords: Distributed Optical Fiber Sensing; ARM; FPGA; Linux Device Driver; Data Acquisition

基于 FPGA 和 ARM 的分布式光纤振动传感监测 系统的研制 王文特 1,赵兴群 1,万遂人 1, 孙小菡 2 1. 东南大学 生物科学与医学工程学院,江苏 南京 210096 2. 东南大学 电子科学与工程学院,江苏 南京 210096 摘 要:光纤振动传感具有抗电磁干扰、耐腐蚀、体积小、检测范围大等的特点,特别适合应用于周界防入侵系统中。本 文基于 ARM 和 FPGA,建立了一套分布式光纤传感系统中的数据采集和处理终端,完成硬件系统的设计及软件架构的编 写。本采集处理系统以高性能 FPGA 为采集系统的主控制器,实现了连续波和脉冲波高低速双通道采集;以 ARM9 处理 器 S3C2440 为主控制器,完成数据的分析及存储、报警功能。在 ARM9 上移植的 Linux 操作系统的驱动层中完成对 FPGA 的配置及数据读取,在应用层完成对数据的处理和检测、存储。本设计方法相比于以往的以 PC 机+PCI 采集卡的 方案,具有扩展性强、低功耗、可便携等优势,有着广阔的应用前景。 关键词:分布式光纤传感;ARM;FPGA;Linux 设备驱动;数据采集

引言 随着社会经济的发展,人们对于安全问题越来越重视[1],而传统的安全防卫方法对于一些重要的设施或 区域有检测范围小、抗电磁干扰能力弱、维护成本高等缺点。因此,阻止非法入侵、保护周界安全的效率较 低。[2] 近年来人们展开了针对新型安防检测系统的研究,而其中的光纤振动传感技术便是发展较为迅速的一 种。分布式光纤传感技术把被测参量作为光纤位置长度的函数,在整个光纤长度上对沿光纤路径分布的外部 物理参量进行连续的测量,同时获取被测物理参量的空间分布状态和随时间变化的信息,为被保护区域提供 有效的安全警戒[3]。光纤振动传感具有实时监测的特点,当光纤线路范围内有入侵产生时,它能对入侵进行 - 102 http://www.sjie.org


远程和实时的安全监测。分布式光纤传感具有的优势有:结构简单、大信息量、高可靠性、抗电磁干扰、无 电火花、使用方便以及性价比高[4-7]。 随着仪器性能指标要求的逐渐提升以及功能的不断拓展,信号检测系统对控制系统的实时性、集成化成 都等性能的要求越来越高。以 ARM 为代表的嵌入式系统有体积小、功耗低、工作稳定高效等特点,能够很 好的满足检测系统的设计需求。

1

系统结构 一套完整的基于光纤振动传感技术的预警系统主要由以下几个部分组成,如图 1 所示。 后端监测系统

用户 接口 等

信号 分析 处理

前端光纤光路

激励信号发 射

光发射模块 (电→光)

回波信号采 集

光接收模块 (电←光)

光纤 传感 光路

图 1 系统功能结构

1.1 前端光纤光路 传感光路中存在两种特性的光信号,脉冲信号和连续波。当有振动扰动时,两路传感信号波形示意图 如图 2,其中(a)为脉冲波波形,(b)为连续波波形。 脉冲波形 0.5

0

-0.5 0 t

(a)脉冲信号 连续波波形 0.5

0

-0.5 0 t

(b)连续波信号

图 2 光路信号波形

传感光纤沿线某处发生扰动时,该扰动对光纤的折射率产生扰动——光纤介质发生局部变化,光脉冲信 号遇到该扰动点后,产生一个背向散射信号,扰动点与光纤起始点之间的距离决定了扰动位置。扰动的连续 光信号的波象决定了扰动的类型。这两点结合就反映了扰动的位置和扰动的类型,可以据此作出判断,实现 警戒。 脉冲信号带有光纤振动位置的信息,其频带宽、传播时间短、信号衰减大。当传感光纤较长时,在光路 接收端采集到的脉冲信号带有大量噪声,信噪比低,对后级放大电路有较高的要求,而且需要高速的数据采 集。脉冲信号的有效频谱范围约为 10-20MHz,根据采样定理,为了能够恢复完整的原始信号,系统的采样 率需达到 20-40Msps。 - 103 http://www.sjie.org


连续波信号是在光发射模块发射恒定的小功率连续光波,以尾端的镜面反射信号作为载波信号,相干后 作为接收信号。由于连续光信号在时间上连续不间断,此信号没有位置属性,但携带着外界扰动信号特征, 其包络频率较低,一般为几十赫兹到几千赫兹。 本文的着眼点就在于对这两种信号的采集、分析和处理。

1.2 后端检测系统 如图 1 所示,通过光电接受与转换模块,前端光纤光路与后端检测系统模块的接口为电信号,在后端检 测系统中,主要设计的是 4 大模块。 (1)信号的采集 主要需要采集两路信号:连续波信号和脉冲波信号。使用 FPGA 控制两路 AD 分别采样,连续波所需的 采样速率较低而脉冲波所需的采样速率较高。同时,连续波需要不断的采集以不断的对振动模式进行判断, 而脉冲波则是通过信号触发后进行采集,以对振动的位置进行精确的判断。 (2)激励信号的触发 要得到脉冲波信号,需要对光发射模块进行激励,此信号的发射应由后端检测系统的控制单元(ARM 处理器)统筹控制,在发出激励信号的同时开始脉冲信号的采集。 (3)信号分析和处理 检测模块在得到采样的数据后,需要对数据进行处理,包括脉冲波检测入侵和定位、连续波入侵辅助定 位和模式识别等 (4)用户接口 用户需要通过用户接口改变此检测系统的一些设置,同时,通过用户接口,可以实现包括用户身份验 证、入侵数据的网络传输、报警文件的建立以及 UI 界面等一些功能。

系统关键技术

2

2.1 信号的采集 本系统需要分别采集脉冲波和连续波两种信号,因此需要高速、低速两路信号采集电路。 2.1.1

高速信号的采集

前端光纤光路的输出脉冲信号经过信号调理电路放大后送入 AD 转换器中进行模数转换,AD 芯片是数 据采集电路中的关键部件,其性能将决定整个系统的好坏,选择 AD 考虑的主要因素有:转换速率、转换精 度、信噪比、供电电源和接口。 本设计中脉冲信号采集模块需要满足的主要性能指标为: 采样速率:100Msps 采样精度:12bit

图 3 ADC 单端-差分转换驱动电路

综合考虑后,本设计采用 ADI 公司的高速高精度流水线型 12bit AD9233 作为高速脉冲信号的采样 ADC,其最高转换速率可达 125Msps,满足本设计的需求[8]。由于 AD9233 需要差分信号输入,通过 AD8138 - 104 http://www.sjie.org


对输入的脉冲信号进行单端-差分转换,其连接原理图如图 3 所示[9]。同时为了得到尽可能低抖动的 ADC 采 样时钟,本设计选用 TI 的专用时钟生成芯片 CDCM61002 来产生所需的 100MHz 采样时钟。

2.1.2

低速信号的采集

续波信号速率较低,对于 AD 的采样率要求不高,因此本设计采用 TI 的 TLV2545 串行 200kSps ADC。 连续波通过信号调理电路放大处理后输入至 TLV2545,数字输出为 SPI 串行方式。同时,采用 2.5V 电压参 考 REF5025 作为 TLV2545 的参考电压源。信号采集模块的框图如图 4 所示。 FPGA控制61002的跳线

高速AD时钟生成 焊不同的电阻,二选一

晶振 100M

CDCM 61002

……

HiAD

AD9233 Sample clk control DATA[11:0] Lo AD

TLV 2545

FPGA EP4CE55F23

nGCS2 3 5 7 nWE nOE ADDR[3:0] DATA[15:0] EINT1 3 8 9

SPI总线

电压参考

REF 5025

图 4 信号采集模块框图

2.2 FPGA 与 ARM 的通信 ARM 与 FPGA 通信有多种方式,主要分为串行的 SPI、I2C、UART、USB 以及并行的总线传输方式。 串行通信的优点主要是接口简单、连线较少、互联密度较高,带来的信号干扰较小,比较适合长距离的传 输。但缺点是高速的串行数据传输需要高速收发器的支持,实现起来较为复杂,否则速度将不能达到本系统 数据率的要求。 本设计采用 ARM 与 FPGA 并行通信的方式,具体是将 FPGA 直接挂载在 ARM 的 AHB 存储器总线上, 将 FPGA 虚拟化为一个类似于片外的 SRAM,即 FPGA 作为 ARM 的外设挂载于特定的地址范围上,ARM 处 理器可以通过存储器访问指令直接访问 FPGA,进行采集指令的发送和数据传输。 总线读写操作时序图如图 5 所示[10]。ARM9 处理器 S3C2440A 的 AHB 总线包括 32 位地址线,32 位数据 线,数据传送时序基于 HCLK,最高可达 400MHz。

(a)ARM 总线读时序

- 105 http://www.sjie.org


(b)ARM 总线写时序

图 5 ARM 总线读写时序

S3C2440A 提供 8 根片选信号 nGCS0~nGCS7 对应于 8 个 Bank 用于扩展地址空间,当选中某个空间时, nGCS 输出低电平。本设计中分别连接了 nGCS5 7 至 FPGA,将 FPGA 映射为高速采集设备、低速采集设 备,分别控制高低速两个采集系统。考虑到采集的数据长度及控制命令的编码,同时顾及 ARM 与 FPGA 接 口的有限性,将接口的数据位宽设计为 16 位。对于高速数据缓存,FPGA 中实现内部 FIFO,FIFO 对外只需 读使能和读时钟就可工作,不显示地址,无需地址线的控制,因此高速数据采集接口中省略了地址线的设 计,只连接了 4 位地址线供控制命令编码使用。 除了总线接口外,ARM 和 FPGA 间还预留了几根中断信号线,使 ARM 向 FPGA 发送采集开始信号以及 ARM 接受 FPGA 的采集结束信号。FPGA 与 ARM 的接口设计如图 6 所示。 片选

nGCS2 3 5 7

读使能

nOE 主 控 nWE 制 器 ADDR[3:0] ARM DATA[15:0]

写使能 FPGA

地址总线 数据总线 中断信号

ENT1 3 8 9

图 6 ARM-FPGA 接口设计

2.3

检测系统流程 ARM发送采样参数指令

FPGA接收并设置采样参数

ARM发送采样开始指令

FPGA接收开始指令并启动数 据采集

采样结束?

采样结束?

ARM发送读数据指令读取采 样数据

FPGA发送采集结束信号

ARM处理数据,网络传输等

等待ARM读取数据

(a)ARM 工作流程

(b)FPGA 采集流程

图 7 系统工作流程 - 106 http://www.sjie.org


PGA 缓存中数据通过总线传送到 ARM 端,ARM 在内核驱动中对数据进行接收并存储到内核虚拟空间 中。在 ARM 用户层通过编写用户层程序对数据进行分析处理,进而建立起监测平台。 监测系统整体工作流程如图 7 所示。 (1)ARM 端发送采集控制命令至 FPGA。 (2)FPGA 接收到采集命令后转换为具体硬件信号控制信号采集的进行。FPGA 控制采集的过程中同时 进行采样信号预处理。 (3)FPGA 控制采集结束后发送采样结束信号至 ARM 端。 (4)ARM 接收到采样结束信号后读取采样数据。 (5)ARM 端读取完采样数据后进行数据处理,并对并对处理后的数据进行网络传输等处理。

3

FPGA 逻辑设计 为了使 FPGA 逻辑设计简洁明了、便于管理,按功能将 FPGA 内分为几大模块:参数设置模块、缓存模

块、采样控制与处理模块。对应前端高、低速两套独立的 AD,FPGA 内部实现了两套独立的参数设置、采 集控制及 FIFO 缓存的设计。图 8 为 FPGA 各模块的关系框图。 AHB总线 高速AD 缓存

地址译码 参数设置模块

低速AD 缓存

采样控制与处理模块 高速AD

低速AD

图 8 FPGA 模块关系框图

其中,参数设置、高速 AD 缓存、低速 AD 缓存分别在 FPGA 中被例化为 ARM 的三个外设,通过 nGCS2 nGCS3 nGCS7 选择,并通过总线操作指令进行数据读写,具体的 ARM 地址空间分配如图 9 所示。 FPGA Config (nGCS7)

2MB~ 128MB

0x3800_0000

... ... CFG_ACQLEN CFG_TRIGLV CFG_TRIGMOD

... 0x3000_0000 FPGA Rsvd (nGCS5)

128MB

0x2800_0000 ... 0x2000_0000 FPGA Hi Data (nGCS3)

128MB

FPGA Lo Data (nGCS2)

128MB

0x1800_0000

0x1000_0000 ...

图 9 ARM 地址空间分配

3.1 参数设置模块 参数设置模块主要是用来对两路 AD 采样方式进行设定,以满足不同场合的需要。 ARM 对于 FPGA 采样控制包括双通道的采样时钟、采样长度、触发方式、触发电平等参数的设定,本 设计中采用在 FPGA 中例化一系列寄存器组作为各个参数设定的寄存器,这些寄存器组可由 ARM 的 nGCS7 和特定地址线选中,这样就相当于在 ARM 的 AHB 总线位于地址 0x38000000 处挂载了一个外设用于接收 ARM 总线写命令,从而进行参数的设定。具体的地址映射可见图 9,ARM 总线写时序见图 5(b)。FPGA 中通 过 nGCS(作为片选)和 new(上升沿数据稳定)这两条线,可以得到 ARM 所需要设置的寄存器地址以及控 制字,从而完成相应的参数设置。 - 107 http://www.sjie.org


3.2 采样控制与处理模块 3.2.1

高速采样控制

本设计采用的高速 AD 为 AD9233,其输出有与采样数据对应的时钟,FPGA 采用这个时钟读取高速 AD 的数据。由于 AD 速度与 ARM 总线读取的传输速率存在差异,采集需要设计数据缓存平衡传输速率间的差 异。本设计采用 Altera 提供的 DCFIFO ip 核实现了读写双时钟的 FIFO 缓存[11]。 考虑到 FPGA 工作的高效性,本设计在 FPGA 内部对数据完成初步的处理,即在数据存入 FIFO 的同时 对其进行叠加求平均的操作,提高定位的精度。具体流程如下: (1)等待采集开始命令; (2)采集开始,发送激励信号,等待数据满足触发条件; (3)数据存储至满足采样长度条件; (4)重新发送激励信号,采集数据的同时与前一次存储的数据累加求平均,直至达到累加次数; (5)发送高速数据采集结束信号,等待 ARM 读取数据。 根据图 5(a)所示的 ARM 总线读指令时序,nGCSx 作为 FIFO 的读使能信号,而 nOE 作为 FIFO 的读数据 时钟信号。 3.2.2

低速采样控制

本设计采用的低速 AD 为 TLV2545,其为 SPI 总线接口。FPGA 中实现对 SPI 总线的驱动,在接收到采 集开始命令,发送激励信号的同时,开始低速数据的采集。由于需要对光纤的振动模式进行判断,需要连续 不断的采集连续波信号,因此 FPGA 中采用双缓冲(乒乓缓存)来对低速信号进行缓存,任意一个缓存的满 信号作为提醒 ARM 进行数据读取的标志。 对于 ARM 控制器来说,高、低速采集相当于两个完全独立的外设,两者间互不干扰,因此可独立的读 取高、低速两通道的数据而不至于造成数据传输的紊乱。

4

ARM-linux 驱动的实现 ARM 系统程序设计包括了内核层驱动设计及用户层监测平台软件的设计。用户层监测软件无法对 FPGA

直接操作,需要 FPGA 设备驱动程序作为中介。 前文提及,FPGA 中实例化三个设备:控制寄存器组、高速数据缓冲、低速数据缓冲,分别作为 ARM 总线上不同地址范围内的三个外设。ARM-Linux 设备驱动是这三个外设与上层应用程序间的桥梁。在应用程 序看来,这几个设备是不同的设备文件,上层可以像操作普通文件一样对这些设备进行操作。 本设计中将这几个 FPGA 实现的外设都当做是字符型设备,并按照字符型设备编写其设备驱动。在注册 字符设备所对应的设备结构体 cdev 后,需要设计实现对于设备文件的操作函数,如 open()、ioctl()等等的 file_operations 结构体内的元素[12-13]。 open():主要完成一些初始化的工作,包括配置 ARM io 口功能;配置总线寄存器;地址空间的映射;申 请中断号;初始化外部中断并向内核注册中断。 ioctl():在此函数内完成 linux 对于 FPGA 外设的控制操作(读写控制字),通过 ioctl()函数参数中不同 的命令号来区分何种操作。 fasync():应用层对采集到的数据进行处理时,必须知道何时数据准备好,对于设备驱动可以用硬件中断 的方式,而对于应用层可以使用异步通知方式,驱动准备好数据后,通过异步通知发送相应信号,用户层接 收到信号通过信号处理函数即可开始对采集到数据的处理。 对于 FPGA 外设在 ARM 上的地址空间,在被 linux 驱动访问前,需要使用 ioremap 映射至内核的虚拟地 址空间。 - 108 http://www.sjie.org


ioremap():FPGA 作为 ARM 的外设,其物理地址空间是确定的,由于 S3C2440A 中 MMU 内存管理单元 的存在,驱动程序并不能直接访问物理地址对应的资源,需要将 FPGA 外设所在的地址空间映射到内核虚拟 地址空间,然后才能够对这些地址进行读写操作。 对于 FPGA 和 ARM 间的数据、控制交互,采用总线+中断模式,如图 6 所示的接口。 当 ARM 需要向 FPGA 写数据(采集控制字等),通过 linux 中 io 内存的分配与映射(ioremap 实现), 在 ioctl 函数内部的相应位置,使用 iowrite 函数进行写入。 当 FPGA 内部数据准备好需要告知 ARM 读取时,FPGA 挂起相应中断线,在 linux 中,通过注册的对应 中断处理例程进行中断处理操作,如读取 FPGA 数据至驱动层缓冲、触发应用层(fasync 实现)等。

5

结语 经过硬件电路的开发、FPGA 采集通信逻辑设计以及 ARM-linux 驱动程序的编写,本系统在实验室环境

下测试完成,高低速信号采样效果良好,FPGA-ARM 通信正常,达到了系统的设计预期。 分布式光纤振动传感技术的优越性使得其在安防领域的应用越来越受到重视,而电子产品的嵌入式趋势 也越来越明显。国内对于嵌入式的分布式光纤振动传感监测系统还处于产品开发阶段,故本论文研究工作具 有现实意义。本文的工作是分布式光纤监测预警系统中非常重要的组成部分,前端采集部分完成了两路信号 的采集和预处理,后端监测平台完成了采集控制,信号传输与处理工作。 本文设计采用了 ARM+FPGA 的框架,以 ARM 作为光纤振动传感检测系统的总控制器,FPGA 作为控制 采集核心,实现了系统框架的建立与软硬件的研发。

REFERENCES [1]

A.J.Rogers. Distributed optical-fiber sensing[EB/OL]. SPIE, 1991, vol.1511: 21-24

[2]

Song Muping, Li Zhicheng, Qiu Chao. A 50 km Distributed Optical Fiber Sensor based on Brillouin Optical Time-domain Analyzer[J]. Chinese Journal of Lasers. 2010, 37(6): 1426-1429

[3]

J. P. Dakin. Distributed Optical Fiber Sensors [J]. Proc. SPIE, 1992, 1797: 76-108

[4]

孙琪真. 分布式光纤传感与信息处理技术的研究及应用[D]: [博士学位论文]. 武汉: 华中科技大学, 2008

[5]

Voisin V, Caucheteur C, Kinet D, et al. Self-Referenced Photon Counting OTDR Technique for Quasi-Distributed Fiber Bragg Gratings Sensors[J]. Sensors Journal, IEEE. 2012 ,Volume 12 , Issue 1, Page(s): 118-123

[6]

Chunxi Zhang, Qin Li, Sheng Liang, et al. Location Algorithm for Multi-disturbances in Fiber-optic Distributed Disturbance Sensor using a Mach-Zehnder Interferometer[J]. Optical Communications and Networks (ICOCN 2010), 9th International Conference on, IEEE Conference Publications. 2010, Page(s): 103-107

[7]

Wang Yannian, Jiang Zhuangde, Chen Xiaonan, et.al. Distributed Optical Fiber Sensor for Long-distance Oil Pipeline Health[J]. Chinese Journal of Mechanical Engineering, 2006, 19(1): 137-139

[8]

Analog Devices Inc.,12-Bit,80 MSPS/105 MSPS/125 MSPS,1.8V Analog-to-Digital Converter AD9233[EB/OL]. http://www.analog.com /static/imported-files/data_sheets/AD9233. pdf, 2006

[9]

Analog Devices Inc., Low Distortion Differential ADC Driver AD8138[EB/OL]. http://www.analog.com/static/imported-files/ data_sheets/AD8138.pdf , 2006

[10] Samsung Electronics Co. Ltd., S3C2440A 32-BIT CMOS Microcontroller User's Manul Revision 1 [EB/OL]. Http://www. samsungsemi.com/, 2004 [11] Altera Corporation, SCFIFO and DCFIFO Megafunctions User Guide [EB/OL]. http://www.altera.com.cn/literature/ug /ug_ fifo.pdf, 2012 [12] Robert Love. Linux Kernel Development[M]. Third Edition. USA: Pearson Education, 2010 [13] Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman. Linux Device Drivers[M]. Third Edition. USA: O’Reilly, 2010, 49-58 - 109 http://www.sjie.org


【作者简介】 1

王文特(1991-),男,硕士研究生,

2

赵兴群(1964-),男,教授,主要从事医学电子系统、物

研究方向为医学电子学及嵌入式软硬

理电子学方面的研究。Email: ndt@seu.edu.cn

件,2012 年至今在东南大学生物医学

3

工程学院攻读硕士研究生。

医学成像。Email: srwan@seu.edu.cn

Email: wt_wang@seu.edu.cn

4

万遂人(1953-),男,教授,研究方向为医学电子系统、

孙小菡(1955-),女,教授,研究方向为光波电子学与光

纤通信。Email: shsun@seu.edu.cn

- 110 http://www.sjie.org


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.