采用StratixII系列FPGA器件实现运动视觉处理系统的设计

(来源:微计算机信息 ,作者:张学志, 魏友国,涂望明,田 璋,侯彦宾)
引言
随着深亚微米工艺的发展, fpga的容量和密度不断增加,以其强大的并行乘加运算(mac)能力和灵活的动态可重构性,被广泛应用于通信、图像等许多领域。但是在复杂算法的实现上,fpga不如嵌入式处理器方便,所以在设计具有复杂算法和控制逻辑的系统时,往往需要和嵌入式处理器结合使用,这就是 sopc(system on a programmable chip,可编程片上系统)技术。 sopc是 soc和 fpga结合的产物,由单个可编程重构的芯片完成整个系统的主要功能。sopc设计灵活多变,可以用原理图,硬件描述语言甚至是 c/c++高级语言进行设计;同时还具有可重构、可裁减、可扩充等特点,升级方便。 sopc兼备 soc和 fpga二者的优点,具有如下特点:
●丰富的 ip核资源,包括通用 ip核和专用的 ip核
●在系统可编程,设计、编译、下载与调试简单方便
●内置嵌入式软核处理器,存储器,外设接口控制器
●大量可编程重构的逻辑资源
●功能强大的时钟管理电路
●支持多种 i/o接口标准
此外,由于减小了处理器和存储器之间的传输线距离,sopc无论在速度,还是信号完整性,电磁兼容等方面,比板级系统都有明显的优越性。
1 、功能框图
在数字视频视觉采集与处理板级系统开发的基础上,本文采用 sopc实现运动视觉处理与控制系统的设计方案。硬件采用 altera公司 stratixii系列 fpga,软件开发工具包括 quartusii,niosii5.1 ide,dsp builder,megacore ip library5.1和 matlab7.0等。整个 sopc系统工作原理为:摄像头采集的视频图像数据由图像传感器接口进来;数字信号处理块和数字图像与数字视频处理 ip核完成视频图像的处理,如运动检测、分割、特征提取、压缩等; nios ii嵌入式处理器主要完成整个系统的控制功能;i2c总线用于访问 cmos图像传感器的内部寄存器;pc机可以通过 usb接口访问 sopc,如果距离较远的话,可以通过以太网口进行数据的传输;视频图像及其处理后的结果既可以通过外部存储器接口存放在 cf卡, flash等存储介质中,也可以通过 lcd显示器接口在液晶显示屏上直接显示。该运动视觉 sopc的功能框图如图 1所示:
该模块主要负责视频图像的采集,摄像头参数的设置和云台步进电机的控制。其中,通过 i2c总线可以设定摄像头内部控制寄存器。在 fpga中,实现 i2c总线控制器的途径有两种:一种是在 nios ii中用软件模拟实现;另一种是采用第三方,比如 sciworx,cast,digital core design等公司提供的 ip核。这些 ip核具有工作参数,可以根据需要进行设定。以 cast公司提供的 i2c总线控制器为例,传输速率最高为 100kbps,可以工作在 4种模式下,分别是主发送器模式、主接收器模式、从发送器模式和从接收器模式。双路 cmos图像传感器接口控制视频图像采集的时序,帧同步和行同步;云台控制信号是根据视频图像处理后的结果,控制云台的两个步进电机的转动。这两个模块需要自己开发,形成具有自主知识产权的 ip核。
2、 视频图像处理模块
该模块包括 niosii 32位嵌入式处理器,数字信号处理块,数字图像与数字视频处理 ip
megacore,以及其他一些逻辑电路,这是运动视觉处理与控制 sopc设计的重点和核心,分别分以下几个部分介绍。
(1) nios ii嵌入式处理器
nios ii嵌入式处理器是一款通用的 risc结构的 cpu,它定位于广泛的嵌入式应用。在 nios ii ide集成开发环境中,按照操作提示添加、设置相关参数,在几分钟之内就能生成一个 nios ii嵌入式处理器。其硬件开发过程为:
① 分析系统所要完成的功能、达到的性能
② 启动 sopc builder,选取具体的 fpga型号
③ 定义 cpu,外围器件,存储系统等模块
④ 为各个模块分配基地址和中断请求号(irq)
⑤ 生成 nios系统模块,引脚锁定,编译软件开发过程为:
① 在 sopc builder中启动 nios ii ide
② 创建 c/c++软件工程,并指定目标硬件
③ 利用工程模本编写相应的程序
④ 编译后,即可下载到硬件中运行
nios ii ide中可以采用 c/c++或者汇编语言进行程序的编写,其文件扩展名分别为 .c和.s。一个单独的 nios ii/f cpu大约需要占用 1800个 les,如果再添加一些定时器,外围器件等,那么占用的逻辑单元会进一步增加。
(2)数字信号处理块
stratix ii系列 fpga内部具有数字信号处理块( dsp blocks,dsp块)。数字信号处理块可以支持不同数据宽度的乘法器( 9×9、18×18、36×36)和操作模式(乘法运算、复数乘法运算、乘加运算和乘法累加运算),每个 dsp块提供了 2.8 gmacs的 dsp数据吞吐量。最大 stratix ii器件 ep2s180内部含有 96个数字信号处理块,能够提供了 284 gmacs的吞吐量,可以支持 384个 18×18乘法器。此外,数字信号处理块增加了新的舍入和饱和支持,便于将 dsp固件代码导入 fpga。一些应用如话音处理,由于存放数据的存储缓冲是固定宽度,可以使用舍入和饱和。现在采用了支持舍入和饱和的数字信号处理块,可以很方便地将基于 dsp处理器的设计导入到 fpga中进行实现。
在 altera的可编程器件上进行 dsp系统设计,需要有同时支持高级的算法和硬件描述语言的开发工具。mathworks的 matlab和 simulink系统级的设计工具具备了算法开发、仿真、验证能力。altera的 dsp builder将这些工具与 altera的开发工具组合在一起,提供了一个系统设计、算法设计和硬件设计共享的 dsp开发平台。
(3)视频图像处理 ip核第三方提供有许多应用于通信、图像编解码、视频处理的可定制 ip核。合理地利用这些 ip核,在保证性能与可靠性的同时,可以大大缩短开发时间。下面介绍的是色彩空间转换 ip。
csc(color space convertorr)是 altera公司提供的 megacore ip库文件中的一个专门用于图像色彩空间转换的 ip核,与软件转换相比,其具有明显的速度优势和灵活性:
● 每个时钟周期完成一个像素点的转换
● 在 stratix系列 fpga中,时钟频率大于 200mhz
● 支持 rgb和 ycbcr、yuv之间的互换
● 用户可以自定义转换矩阵的相关系数
● 支持有符号数和无符号数
输入输出的数据宽度为 2~32b 4 ram数据缓冲区 stratix ii系列 fpga最多包含有 9mb的片上 ram。这些 ram采用 trimatrix存储结构,包括三种大小的嵌入式存储器块,分别为: 512b的m512块,4kb的m4k块和512kb的m-ram块,每个都可以配置支持各种特性,如单端口 ram,双端口 ram,fifo等,为大存储量应用提供解决方案。
3、 外部存储器和外设接口
stratix ii系列 fpga为外部存储器的可靠数据传送而进行了优化设计,支持最新的存储接口访问片外存储器。开发人员使用 stratix ii先进的器件特性和可定制的 ip核,能够快速和方便地将各种大容量存储器件集成到复杂的系统设计中。stratix ii支持各种最新的存储接口。stratix ii系列 fpga片内处理器与外设之间是通过 avalon交换式总线连接的。 avalon交换式总线是 altera开发的一种专用内部连线技术,使用最少的逻辑资源来支持数据总线的复用、地址译码、等待周期的产生、外设的地址对齐、中断优先级的指定等。外设接口可定制的 ip核有 usb、i2c、ethernet、pci等控制器,这些 ip核大多是由第三方提供的,可以免费试用,也可支付部分费用购买。本系统采用的 usb2.0控制器和以太网接口控制器均由 mentor公司提供。
4、时钟管理电路
stratix ii系列 fpga具有多达 48个高性能的低偏移全局时钟,它可以用于高性能功能或全局控制信号;多达 12个可编程锁相环( pll),具有完备的时钟管理和频率合成能力,包括时钟切换、pll重配置、扩频时钟、频率综合、可编程相位偏移、可编程延迟偏移、外部反馈和可编程带宽。stratix ii有两类通用的 pll:增强型 pll和快速型 pll。增强型 pll功能丰富,支持外部反馈、扩频时钟、可编程带宽等;快速型 pll针对高速差分 i/o接口进行了优化,具有动态相位调整( dpa)功能。这些高速时钟网络和丰富的 pll结合起来,为系统在最小的时钟偏移下工作提供有力的保证。
5、 sopc的其他组成部分
fpga配置接口用于 sopc的配置、编译和在线调试; lcd显示接口可以外接液晶显示屏;报警信号是在检测和识别出运动目标时,发出的声音或光电信号,可用于安防;标准
i/o口则是预留的,用于日后的升级扩展。
创新点:sopc概念提出以前,电子系统的集成设计主要以板级为主,这种设计方法随着系统时钟频率的不断提高和电路功能的日趋复杂,实现的难度越来越大,电磁干扰和信号完整性问题日益突出。仅靠优化 pcb的布局和布线,已经不能满足高速信号的传输和处理要求。随着半导体工业的不断发展,可编程片上系统以其较高的性能、可靠性,较低的功耗、成本和良好的便携性将成为未来电子产品开发设计的主流。而运动视觉 sopc更好地解决了板级电路的一系列问题,并可广泛应用于安防监控、视觉导航、智能交通等众多领域,必定会有良好的市场前景。

深圳数字人民币已正式投入使用,操作方法如微信和支付宝相似
软通动力亮相华为全球智慧金融峰会2023,助力GaussDB从金融走向千行百业
新冠疫情期间,研究人员在Zoom当中发现了更多安全问题
粉尘传感器是构成空气净化器中的重要元器件
RS-422与RS-485串行接口的区别与联系
采用StratixII系列FPGA器件实现运动视觉处理系统的设计
耐威科技子公司Silex在纯MEMS代工领域全球第二,代工厂营收排名第三
易天带您全面认识固定光纤衰减器的种类及使用方法
博世、远盟与中国联通签署战略合作协议
丰田推出地表最强3缸发动机
财富:乔布斯改变世界的10种方式
叫板特斯拉,大众抢占电动车的市场份额
小米note2曝光!这次不耍猴,而且满是惊喜
8x8x8LED立方体制作图解
思岚科技参编的3项机器人算法测试标准正式发布
网关是什么?什么是物联网网关?
怎样使用Verilator进行Verilog Lint呢?
PFC电感上的二极管选取有什么讲究?整流电路电感的应用
仁微电子推出新一代物联网中间件 促进IoT多系统数据融合与集成
iphone8上市最新消息: 前后双摄+两侧双投影+Home信息提示,黑科技满满诚意十足