目前,传统的远程图像监控系统存在两方面的缺陷:(1)传统的监控系统约60%采用模拟监控技术,虽配置简单,但存在信息量大、信号随距离衰减、图像压缩后期处理困难及无法联网等缺点,已不能满足于远程实时监控系统的需要。 (2)一般采用专门的光缆或者电缆进行有线传输,对地形、线路要求严格,且投入成本高,维护困难,不易于多监测点、大范围的监控。随着数字图像处理技术、大规模和超大规模集成电路技术以及无线网络通信技术的迅速发展,无线数字图像监控系统已逐渐得到各行业的青睐,具有广泛的应用前景[1-2]。
本设计以 FPGA为中央处理器,研制了一种基于FPGA的远程图像监控系统。系统以FPGA为上位机,采用硬件可编程逻辑语言控制CMOS传感器MT9P001(Micron 公司),采集监控现场的彩色图像,分R、G、B三色独立存储在片外扩展RAM中。利用提升小波变换对R、G、B三色分量分别进行压缩,且小波压缩功能单独形成模块,集成于FPGA内部。系统选择Cinterion公司工业级模块MC52i及可靠性强的TCP/IP协议,借助固化于FPGA芯片的UART(通用异步收发器)模块,无线传输压缩后的彩色图像。
1 系统框架
系统框架如图1所示。FPGA器件采用Altera公司的Cyclone II系列EP2C35F672芯片作为系统的控制核心。摄像模块选用Terasic公司的D5M数码相机开发套件。Cinterion公司的工业级模块MC52i作为无线数据传输模块。另扩展了三片RAM作为图像R、G、B三色分量的存储器件。图像采集模块、小波压缩模块、数据传输模块及UART模块均集成于核心器件FPGA内部。
2 图像采集模块设计
2.1 采集芯片特点
D5M采用CMOS传感器MT9P001,提供40引脚与FPGA芯片相连接。模块内部集成了I2C串行接口,通过此串口即可对模块内部各寄存器进行配置。CMOS传感器以Bayer格式输出像素点,包括Green1、Green2、Red和Blue四种颜色。该模块支持分辨率可调,允许2 592×1 944、1 280×1 024、800×600、640×480等多种分辨率。
2.2采集模块控制
采集模块控制主要分为两部分:CMOS传感器参数设置、图像模式转换。
(1)CMOS传感器参数设置:采用Verilog HDL语言实现I2C串口模块,通过I2C串行总线对CMOS传感器的各寄存器进行配置。选择图片的分辨率为320×240。令binning与skipping采样模式联合工作,行采样模式寄存器R0x22、 列采样模式寄存器R0x23均设置为0x0033,同时行尺寸寄存器R0x03设置为0x077f,列尺寸寄存器R0x04设置为0x09ff,得到CMOS传感器提供的最小分辨率为640×480的图像,后经间隔抽样即得到分辨率为320×240的图像。
(2)图像模式转换: Bayer格式中一像素点对应四种颜色Green1、Green2、Red和Blue,四维空间对数据的存储及处理的精确度都带来不便。设计提出将彩色图像Bayer格式转为RGB格式,将R、G、B三色分量作为独立的三个灰度图像进行存储、处理。通过帧有效、行有效及像素时钟3个同步信号,正确抓取Bayer格式原始图像数据流。利用行缓冲+流水线的方式,将原始图像数据实时转换为RGB格式数据,并独立存储于片外扩展的3片RAM。
3 小波压缩模块设计
3.1小波压缩的算法
提升小波变换,亦称为第二代小波变换,不仅具有传统小波变换多分辨率的优点,还实现了从整数到整数的变换,满足了无损压缩的要求,且简化了运算,易于硬件的快速实现。提升小波变换分为分裂、预测和更新三个步骤[3-4]。分裂,即将数据分裂成偶数样本和奇数样本;预测,则利用偶数样本预测奇数样本,取奇数样本与预测值之差代替奇数样本,获得高频信息;更新,须构造一个算子,作用于高频信号并叠加到偶数样本上,得到低频信息。
考虑到图像是有限长度的数据流,在小波变换时需要对原始数据做边界处理。系统采用周期对称延拓结构代替传统的边界补零结构对边界进行处理,避免边界补零结构带来多余小波系数的缺点。设数据的范围是0~N,5/3提升小波变换的整数变换形式如式(1)[5]:
3.2 小波压缩的实现
压缩由分裂、预测和更新三个步骤组成。系统以频率F从RAM输出数据,以频率F/2采样数据,即分裂为奇数序列与偶数序列,其中奇、偶序列的采样时钟上升沿间隔一时钟周期1/F。预测、更新和边界的处理应用DSP Builder[6]中的Pipelined Adder(流水线加法器)、Barrel Shifter(桶型移位器)、Delay(延时器)、Multiplexer(复用器)、Single Pulse(单脉冲发生器)等模块实现式(1),其中Multiplexer和Single Pulse特别用于边界处理。应用Modelsim进行功能仿真,Quartus II进行硬件设计验证[7]。
压缩自成模块,R、G、B三色分量独立压缩,则重复调用压缩模块即可实现多重压缩。
4 无线通信模块设计
GPRS(通用无线分组业务)是介于2G(第2代移动通信技术)和3G(第3代移动通信技术)之间的一种使用最为广泛的通信技术。GPRS无线通信系统主要由三大部分组成:移动台、GPRS通信网和监控终端[8]。本系统移动台由GPRS模块和FPGA控制芯片组成;GPRS通信网包括BSC(基站控制器)、BTS(基站子系统)、SGSN(服务支持节点)、骨干网、GGSN(网关支持节点)等。
4.1 传输芯片特点
MC52i是Cinterion公司(原西门子)的一款内部自带有TCP/IP协议栈的工业级模块。模块提供UART作为数据接口,支持的串口波特率范围为300~230 400 b/s。通过FPGA内部编程实现UART模块,即可完成FPGA与MC52i之间AT指令和数据的双向传输。本系统使用的主要AT指令集设置如表1所示。MC52i可在-40℃~+80℃的环境下正常工作,具有功耗低、可靠性高、性价比高的特点,目前广泛运用于智能公交、无线数传、远程无线抄表等系统中。支持电压范围3.3 V~4.8 V。
4.2 通信模块控制
4.2.1 UART内核实现
UART内核由三部分组成:波特率发生器、数据发送模块和数据接收模块。波特率发生器采用直接数字频率合成法实现高精度任意分频,其算式如式(2)所示[9]。其中fo为输出频率;fc为输入时钟频率;K为频率控制字;N代表累加器。只要改变频率控制字K的取值,即可得到不同的输出频率。FPGA为数据发送模块的主控,根据固定波特率,用一个状态机10个状态依次发送串口数据的起始位、8位数据位和停止位即可[10]。在数据接收端,仍采用FPGA控制,采样频率取为波特率的16倍。
4.2.2 传输控制实现
九条主要AT指令由FPGA通过UART模块以固定波特率发送至MC52i,进行GPRS联网配置。通信协议采用TCP协议,实现与远程监控终端的连接。如服务器也通过UART返回指令^SISW:1,1到FPGA,则连接成功建立。连接成功后,即可进行数据传输,发送请求传输数据指令AT^SISW=1,n,n取1~1 500 B。FPGA收到服务器返回指令^SISW:1,n,0,则允许FPGA继续传输数据,否则需重新发送请求。MC52i最多一次可传输1 500 B,图像数据量远远超过范围,则需分多次传输,每次传输都需发送请求传输数据指令,确定传输数据长度。具体GPRS传输网络流程图如图2所示。
5 系统验证
主程序框架如图3所示,主分为D5M采集、小波压缩及MC52i无线传输三部分。小波压缩模块采用DSP Builder连接QuartusII9.1和Simulink,实现模块的编译、综合和仿真。系统经Cyclone II系列EP2C35F672芯片进行适配。
FPGA控制D5M CMOS传感器MT9P001实时抓取植物(右下叶片发黄)的彩色图像,转为R、G、B三色分量,并独立存储。每一图像大小均为320×240,可合成为彩色图像,如图4所示。三色分量图像经独立压缩后经MC52i传输到终端。此时图像大小均为160×120,合成后的彩色图像如图5所示。该图像保留了植物的特征,如植物泛黄的部分依然存在,可用作植物健康状况判别的依据。测试表明本系统实现了对CMOS彩色图像的采集、预处理、存储、压缩及无线传输等功能,在接收端较好地保存了图像的细节特征,其右下叶片发黄处仍清晰可见。本系统可为环境监测、远程医疗诊断等领域提供实时图像分析与处理。
本系统以FPGA为核心器件,在FPGA上实现图像采集、存储、处理及传输等各功能,减少了硬件的投入,且具有开发周期短、集成度高、灵活性好等优点。系统采用GPRS实现数字图像传输,避免了传统远程监控系统的两大缺陷,实现了监控系统的全数字化及无线传输功能。应用改进的5/3提升小波变换作为压缩算法,避免了边界补零结构带来多余小波系数的不足,提高了压缩图片的质量。扩展片外存储器存储大量图像数据,减少片上资源消耗,提高了运行速度。采集、压缩、存储、传输各成模块,且彩色图像分三色独立地存储及处理,有利于系统的调试、移植。
参考文献
[1] 李明.基于无线通信链路的图像压缩传输系统的设计探索[J].实验室科学,2010,13(2):50-52.
[2] 毕厚杰. 新一代视频压缩编码标准[M].北京:人民邮电出版社,2005.
[3] 卢春晖,王英健,陈丽. 提升小波算法的FPGA硬件实现[J].微处理机,2010,33(2):39-41.
[4] 崔巍,汶德胜,马涛. 二维提升小波变换的FPGA结构设计[J].计算机工程,2007,33(15):61-263.
[5] 马玲玲,刘云飞,印辉云,等. 实时图像小波无损压缩系统的FPGA实现[J].河南科技大学学报,2012,33(3):20-24.
[6] 张志亮,赵刚,齐星刚.从Simulink模型自动生成VHDL代码——基于DSP Builder的FPGA设计流程[J].现代电子技术,2007,23(4):4-6.
[7] 袁博,宋万杰,吴顺君. 基于FPGA的Matlab与Quartus联合设计技术研究[J].电子工程师,2007,33(1):6-8.
[8] 王祖林, 汪文婷. GPRS传输静态图像系统的设计与实现[J].电子技术应用,2006,32(4):37-40.
[9] 徐云,迟忠君,张凯,等. 基于DDFS技术的双通道任意波形信号发生器[J].仪器仪表学报,2006,27(5):515-519.
[10] 王敬美,杨春玲. 基于FPGA和UART的数据采集器设计[J]. 电子器件,2009,32(2):386-393.