当前位置:首页 > 工业控制 > 工业控制

图像采集和处理已经成为了现代工业控制中必不可少的环节。传统的方法一般采用的是图像采集卡加工控机来实现整个系统。但随着嵌入式技术的发展,芯片的性能大大增强,嵌入式系统在工业控制系统中普及。作为前端的图像采集系统此时就不适宜再以图像采集卡的形式出现,而应当以更加简捷,方便的接口与主系统相连。


本设计使用Alera的FPGA实现了整个图像采集系统。整个系统完成了图像的采集、压缩和传输。系统采用流行的工业总线CAN做为其传输总线,不仅接口简易,成本低,而且可靠性较高。

系统描述


本设计中图像采集系统预期的目标是每秒采集2~3幅30万像素(640×480)的图像,压缩后通过CAN总线进行传输。按照1:8的压缩比计算,压缩后每帧数据量大约为0.3Mb,CAN总线峰值传输速度是1Mb/s,因此这样的一个总体的设计方案是可行的。


根据系统所实现的功能,决定整个系统要包括六大模块,分别是图像采集及存储接口、I2C主控制模块(对SAA7113H进行配置)、JPEG编码器、CAN总线控制器、Wishbone总线和中央控制模块。图1为系统的结构框图。

图1 系统结构框图


摄像头产生的原始模拟图像数据流首先通过SAA7113H转换为数字信号,并携带有一定的同步及控制信息,传入FPGA内部异步FIFO内。图像采集及存储接口从异步FIFO读取数据并分析,提取所需要的保存至外部SRAM中,当存满一帧数据时,便可以进行压缩了。当JPEG编码模块压缩好数据后,便等待CAN总线进行传输,最后直至整帧数据处理完毕。


整个系统的实现大约是60~100万门左右,因此可以采用Altera CycloneII系列中器件的EP2C20,它拥有2万个LE,24万左右的存储单元和52个乘加单元。系统Fitter之后的结果如表1所示,占用了芯片63%的逻辑资源和12%存储资源。在这其中,JPEG编码模块以及JPEG模块与Wishbone总线的接口占用了绝大多数部分资源。可以看出,使用EP2C20实现本文所描述的系统还是非常富余的。

图2 PCB调试样板


图2为最后制成的样板,这块样板上还包括了一些便于调试和其他研发目的的额外部件,真正产品的PCB板将会更加小巧。

视频信号采集及存储接口


本设计采用Phillips的SAA7113H芯片做模拟视频信号的采集。它的功能非常强大,最多可同时采集4路CVBS格式的视频数据。它通过VPO口输出数据,并支持多种视频格式输出,同时在输出数据流中包含同步信息和场信息,接口比较简单。


VPO的数据输出与27M时钟同步的,这与JPEG encoder采用30M内部系统时钟处于两个时钟域。因此,使用异步FIFO进行跨时钟域的数据传递。


数据采集以后便是对其进行识别和存储。从SAA7113H传出数据的最小单位是一个扫描行,以0xFF 0x00 0x00为标识,并且在行首尾分别有SAV(start of active video)和EAV(end of active video)字段。SAV和EAV中含有该扫描行是否是有效行,属于第几场这样的信息。JPEG编码器需要的数据是一整幅图像,即一个场对。因此对采集的图像,需要使用帧解码(Frame Decoder)子模块处理原始数据流中的同步信息,垂直扫描消隐信号。


本设计的存储器件使用了一块4Mb的SRAM,正好可以保存一副未经压缩的30万像素的图片。对SRAM存储和读取地址的产生应该完全采用不同的方式,在本设计中分别采用两个子模块分别负责这两项功能。Frame Decoder输出的数据在存入SRAM时是按照行的顺序逐个存入,而JPEG encoder在读取的时候则应该是按照对像素处理顺序——以8×8块的方式读出。整个读写由控制状态机(Read &Write Control)来进行统一控制。视频采集及存储接口的结构图如图3所示。

图3 视频采集及存储接口模块

JPEG压缩模块


JPEG压缩标准从1993年提出至今已有14年了,从各个方面来看都已经非常成熟,并且被广泛的使用于各个领域,这也正是本设计采用JPEG压缩模式的原因之一。JPEG压缩的过程包括了8×8 DCT(离散余弦变换)、Zig-Zag扫描、量化、游程编码和熵编码(使用Huffman编码)五个主要的过程。本设计中的JPEG压缩模块除了包括这五大部分之外还要有字节分包处理、字节码处理(主要是插入一些特殊的码字)、FIFO、wishbone总线接口和配置寄存器等一些功能模块来协调整个系统的运作。该模块的结构如图4所示。

图4 JPEG压缩模块结构图


Huffman编码出来的数据是变长码,它包括了两部分,即码字本身和码字长度。在Byte Pack模块中,根据码字的长度对码字进行适当的移位,然后整理成8位长度,送入Byte Code Insetion模块。该模块根据码字的实际值进行判断,如果当前码字的值是FF,便在其后插入0x00,如果当前码字是本帧最后一个码字的话,便在其后插入0xFFD9(0xFFD9是JPEG图像标准中的结束标志)以标示该帧的完结。这样在接收端中就可以用0xFFD9对数据流中每一帧压缩的数据进行分割。最后处理好的字节流将送入FIFO中,以等待CAN总线空闲。


另外,还有Control Regs模块,可以使用总控制器通过Wishbone Bus对其中的功能寄存器进行修改,进而操控整个JPEG编码的过程。这个操作必不可少,只有使JPEG编码具有可控性,才能协调采集、压缩、传输等环节的顺利进行。

系统控制模块


本系统的大部分功能都采用硬件进行实现,因此,软件的控制流程就变的非常简单,仅仅包括了对各个模块进行初始化配置和控制协调各个模块。本设计中的控制模块采用了微码状态机替代了微处理器核,不仅可以节约逻辑成本(包括微码在内,仅有216个LE),还提高了运行效率。微码状态机的实现是根据系统的具体要求,对处理器的体系结构进行简化,本设计所实现的微码状态机在功能上相当于一个只有mov和jump指令的处理器。另外,微码的使用本身就增加了该模块的灵活性,想修改整个系统配置或者工作的过程的话并不需要修改模块的代码,而只是修改微码便可以,大大增加了可重用性。整个系统的控制流程如图5所示。

图5 系统工作流程


本设计的系统图像采集压缩速度都要大于CAN总线的传输速度,因此只有第一次向CAN总线发送数据时需要判断压缩的数据是否已经达到8字节,以后每次当CAN传输完上一次压缩数据时,JPEG encoder已经又一次压缩好8字节数据,等待传输了,因此就不必每次都进行判断。

Wishbone总线与开源IP


系统中各模块的互连采用的是比较简单的Wishbone总线。Wishbone总线标准是开放式总线,没有任何专利费用,它现在由opencore维护,并且在opencore的网站上有很多由专人维护并且与Wishbone兼容的开源IP。本设计中的I2C master和CAN controller就是从opencore上免费获得的开源IP。合理的使用这些软核,并将其集成于自己的系统中将大大加快整个设计的进程和产品的成本。


在系统中存在1个主设备(master)和3个从设备(slave),为每个slave分配好固定的地址,因此Wishbone总线模块所做的事情仅仅是进行地址译码。

系统验证与仿真


虽然本设计所构建的SOC系统是基于FPGA的,但是在上板调试前首先在PC上建立整个系统的仿真环境,对系统进行充分的验证,这样可大大的加速整个项目的进度。本设计中为系统建立的仿真环境如图6所示。

图6 验证环境


准备原始数据做为系统图像源的输入,并且使用Can Receiver采集系统的输出,最后和软件模型生成的JPEG压缩数据进行比对,对错误进行定位,另外也可在系统中设置监控点,输出数据流,这样便可知道具体在哪一个环节中出现了错误。图7为运行testbench产生的接收数据波形文件。

图7 数据波形

总结


在本设计中,笔者使用FPGA构建了一个SOC系统,完成了图像的采集、压缩和传输功能,很多地方还可以进一步的优化。本设计的重点在于在FPGA上应用了SOC的设计方法,并实现了一个比较简单的SOC系统。这样做绕过了ASIC设计的高复杂性,高风险性和高投入,从而实现了简化最终PCB系统,降低硬件成本的目的,并且对系统的实现更加灵活,能按照客户的愿望定制,修改系统的功能。另外在整个设计过程中,尽量的应用可重用的IP软核,最大限度的加快了开发进度和降低了开发费用和成本。


现在,FPGA厂商已推出65nm最新工艺的器件,使集成度进一步提高,而功耗和成本又大幅度降低。在这样的环境下,相信在不久的将来FPGA会不仅仅只作为协处理器的配角出现,而是更多的出现以FPGA实现的SOC系统

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭