基于FPGA的图像采集压缩SOC系统设计与实现.doc

基于FPGA的图像采集压缩SOC系统设计与实现.doc

ID:27870428

大小:121.00 KB

页数:9页

时间:2018-12-06

基于FPGA的图像采集压缩SOC系统设计与实现.doc_第1页
基于FPGA的图像采集压缩SOC系统设计与实现.doc_第2页
基于FPGA的图像采集压缩SOC系统设计与实现.doc_第3页
基于FPGA的图像采集压缩SOC系统设计与实现.doc_第4页
基于FPGA的图像采集压缩SOC系统设计与实现.doc_第5页
资源描述:

《基于FPGA的图像采集压缩SOC系统设计与实现.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于FPGA的图像采集压缩SOC系统设计与实现  图像采集和处理已经成为了现代工业控制中必不可少的环节。传统的方法一般采用的是图像采集卡加工控机来实现整个系统。但随着嵌入式技术的发展,芯片的性能大大增强,嵌入式系统在工业控制系统中普及。作为前端的图像采集系统此时就不适宜再以图像采集卡的形式出现,而应当以更加简捷,方便的接口与主系统相连。  本设计使用Alera的FPGA实现了整个图像采集系统。整个系统完成了图像的采集、压缩和传输。系统采用流行的工业总线CAN做为其传输总线,不仅接口简易,成本低,而且可靠性较高。系统描述  本设计中图像采集系统预期的目标是每秒采集2~3幅30万像素

2、(640&TImes;480)的图像,压缩后通过CAN总线进行传输。按照1:8的压缩比计算,压缩后每帧数据量大约为0.3Mb,CAN总线峰值传输速度是1Mb/s,因此这样的一个总体的设计方案是可行的。  根据系统所实现的功能,决定整个系统要包括六大模块,分别是图像采集及存储接口、I2C主控制模块(对SAA7113H进行配置)、JPEG编码器、CAN总线控制器、Wishbone总线和中央控制模块。图1为系统的结构框图。    图1系统结构框图  摄像头产生的原始模拟图像数据流首先通过SAA7113H转换为数字信号,并携带有一定的同步及控制信息,传入FPGA内部异步FIFO内。图像采

3、集及存储接口从异步FIFO读取数据并分析,提取所需要的保存至外部SRAM中,当存满一帧数据时,便可以进行压缩了。当JPEG编码模块压缩好数据后,便等待CAN总线进行传输,最后直至整帧数据处理完毕。  整个系统的实现大约是60~100万门左右,因此可以采用AlteraCycloneII系列中器件的EP2C20,它拥有2万个LE,24万左右的存储单元和52个乘加单元。系统Fitter之后的结果如表1所示,占用了芯片63%的逻辑资源和12%存储资源。在这其中,JPEG编码模块以及JPEG模块与Wishbone总线的接口占用了绝大多数部分资源。可以看出,使用EP2C20实现本文所描述的系

4、统还是非常富余的。      图2PCB调试样板  图2为最后制成的样板,这块样板上还包括了一些便于调试和其他研发目的的额外部件,真正产品的PCB板将会更加小巧。视频信号采集及存储接口  本设计采用Phillips的SAA7113H芯片做模拟视频信号的采集。它的功能非常强大,最多可同时采集4路CVBS格式的视频数据。它通过VPO口输出数据,并支持多种视频格式输出,同时在输出数据流中包含同步信息和场信息,接口比较简单。  VPO的数据输出与27M时钟同步的,这与JPEGencoder采用30M内部系统时钟处于两个时钟域。因此,使用异步FIFO进行跨时钟域的数据传递。  数据采集以后

5、便是对其进行识别和存储。从SAA7113H传出数据的最小单位是一个扫描行,以0xFF0x000x00为标识,并且在行首尾分别有SAV(startofacTIvevideo)和EAV(endofacTIvevideo)字段。SAV和EAV中含有该扫描行是否是有效行,属于第几场这样的信息。JPEG编码器需要的数据是一整幅图像,即一个场对。因此对采集的图像,需要使用帧解码(FrameDecoder)子模块处理原始数据流中的同步信息,垂直扫描消隐信号。  本设计的存储器件使用了一块4Mb的SRAM,正好可以保存一副未经压缩的30万像素的图片。对SRAM存储和读取地址的产生应该完全采用不同

6、的方式,在本设计中分别采用两个子模块分别负责这两项功能。FrameDecoder输出的数据在存入SRAM时是按照行的顺序逐个存入,而JPEGencoder在读取的时候则应该是按照对像素处理顺序——以8&TImes;8块的方式读出。整个读写由控制状态机(Read&WriteControl)来进行统一控制。视频采集及存储接口的结构图如图3所示。    图3视频采集及存储接口模块JPEG压缩模块  JPEG压缩标准从1993年提出至今已有14年了,从各个方面来看都已经非常成熟,并且被广泛的使用于各个领域,这也正是本设计采用JPEG压缩模式的原因之一。JPEG压缩的过程包括了8×8DCT

7、(离散余弦变换)、Zig-Zag扫描、量化、游程编码和熵编码(使用Huffman编码)五个主要的过程。本设计中的JPEG压缩模块除了包括这五大部分之外还要有字节分包处理、字节码处理(主要是插入一些特殊的码字)、FIFO、wishbone总线接口和配置寄存器等一些功能模块来协调整个系统的运作。该模块的结构如图4所示。    图4JPEG压缩模块结构图  Huffman编码出来的数据是变长码,它包括了两部分,即码字本身和码字长度。在BytePack模块中,根据码字的长度对码字进行适当

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。