<?xml version="1.0" encoding="gbk"?> <rss version="2.0"><channel> <title>定阅帖子更新</title> <link>http://www.broadkey.com.cn/XML.ASP</link><description>TEAM Board - 科伟奇电子</description> <copyright>TEAM 2.0.5 Release</copyright><generator>TEAM Board by TEAM5.Cn Studio</generator> <ttl>30</ttl><item><link>http://www.broadkey.com.cn/Thread.asp?tid=342 </link><title>基于SOPC的运动视觉处理系统设计</title><author>ava00</author><pubDate>2009/12/9 9:50:14</pubDate><description><![CDATA[<strong>0 引言</strong>
<p>　　随着深亚微米工艺的发展， FPGA的容量和密度不断增加，以其强大的并行乘加运算（<a style="color: blue; text-decoration: underline" title="MAC" href="http://article.ednchina.com/word/257119.aspx">MAC</a>）能力和灵活的动态可重构性，被广泛应用于通信、图像等许多领域。但是在复杂算法的实现上，FPGA不如嵌入式处理器方便，所以在设计具有复杂算法和控制逻辑的系统时，往往需要和嵌入式处理器结合使用，这就是 <a style="color: blue; text-decoration: underline" title="SOPC" href="http://article.ednchina.com/word/257121.aspx">SOPC</a>（System on a Programmable chip，可编程片上系统）技术。 SoPC是 <a style="color: blue; text-decoration: underline" title="SoC" href="http://article.ednchina.com/word/257120.aspx">SoC</a>和 FPGA结合的产物，由单个可编程重构的芯片完成整个系统的主要功能。SoPC设计灵活多变，可以用原理图，硬件描述语言甚至是 C/C++高级语言进行设计；同时还具有可重构、可裁减、可扩充等特点，升级方便。 SoPC兼备 SoC和 FPGA二者的优点，具有如下特点：</p>
<p>　　●丰富的 IP核资源，包括通用 IP核和专用的 IP核</p>
<p>　　●在系统可编程，设计、编译、下载与调试简单方便</p>
<p>　　●内置嵌入式软核处理器，存储器，外设接口控制器</p>
<p>　　●大量可编程重构的逻辑资源</p>
<p>　　●功能强大的时钟管理电路</p>
<p>　　●支持多种 I/O接口标准</p>
<p>　　此外，由于减小了处理器和存储器之间的传输线距离，SoPC无论在速度，还是信号完整性，电磁兼容等方面，比板级系统都有明显的优越性。</p>
<p>　　<strong>1 功能框图</strong></p>
<p>　　在数字视频视觉采集与处理板级系统开发的基础上，本文采用 SoPC实现<a style="color: blue; text-decoration: underline" title="运动" href="http://article.ednchina.com/word/257123.aspx">运动</a><a style="color: blue; text-decoration: underline" title="视觉处理" href="http://article.ednchina.com/word/257122.aspx">视觉处理</a>与控制系统的设计方案。硬件采用 Altera公司 StratixII系列 FPGA，软件开发工具包括 QuartusII，NiosII5.1 IDE，DSP Builder，MegaCore IP Library5.1和 Matlab7.0等。整个 SoPC系统工作原理为：摄像头采集的视频图像数据由图像<nobr style="border-bottom: rgb(102,0,255) 1px dotted; background-color: transparent; color: #cb4bfc; cursor: pointer; text-decoration: underline" id="nobr77" jquery1260323383569="54">传感器</nobr>接口进来；数字信号处理块和数字图像与数字视频处理 IP核完成视频图像的处理，如运动检测、分割、特征提取、压缩等； Nios II嵌入式处理器主要完成整个系统的控制功能；I2C总线用于访问 CMOS图像传感器的内部寄存器；PC机可以通过 USB接口访问 SoPC，如果距离较远的话，可以通过以太网口进行数据的传输；视频图像及其处理后的结果既可以通过外部存储器接口存放在 CF卡， FLASH等存储介质中，也可以通过 LCD<nobr style="border-bottom: rgb(102,0,255) 1px dotted; background-color: transparent; color: #cb4bfc; cursor: pointer; text-decoration: underline" id="nobr83" jquery1260323383569="55">显示器</nobr>接口在液晶显示屏上直接显示。该运动视觉 SoPC的功能框图如图 1所示：</p>
<p align="center"><img border="0" hspace="0" alt="该运动视觉 SoPC的功能框图" src="http://pagesadmin.ednchina.com/images/article/7f9525ae-04e5-4886-b079-f2eb4afec7ae/11.jpg" width="488" height="390" /></p>
<p>　　该模块主要负责视频图像的采集，摄像头参数的设置和云台步进电机的控制。其中，通过 I2C总线可以设定摄像头内部控制寄存器。在 FPGA中，实现 I2C总线控制器的途径有两种：一种是在 Nios II中用软件<nobr style="border-bottom: rgb(102,0,255) 1px dotted; background-color: transparent; color: #cb4bfc; cursor: pointer; text-decoration: underline" id="nobr93" jquery1260323383569="56">模拟</nobr>实现；另一种是采用第三方，比如 Sciworx，CAST，Digital Core Design等公司提供的 IP核。这些 IP核具有工作参数，可以根据需要进行设定。以 CAST公司提供的 I2C总线控制器为例，传输速率最高为 100Kbps，可以工作在 4种模式下，分别是主发送器模式、主接收器模式、从发送器模式和从接收器模式。双路 CMOS图像传感器接口控制视频图像采集的时序，帧同步和行同步；云台控制信号是根据视频图像处理后的结果，控制云台的两个步进电机的转动。这两个模块需要自己开发，形成具有自主知识产权的 IP核。</p>
<p>　　<strong>3 视频图像处理模块</strong></p>
<p>　　该模块包括 NiosII 32位嵌入式处理器，数字信号处理块，数字图像与数字视频处理 IP MegaCore，以及其他一些逻辑电路，这是运动视觉处理与控制 SoPC设计的重点和核心，分别分以下几个部分介绍。</p>
<p>　　<strong>（1） Nios II嵌入式处理器</strong></p>
<p>　　Nios II嵌入式处理器是一款通用的 RISC结构的 CPU，它定位于广泛的嵌入式应用。在 Nios II IDE集成开发环境中，按照操作提示添加、设置相关参数，在几分钟之内就能生成一个 Nios II嵌入式处理器。其硬件开发过程为：</p>
<p>　　① 分析系统所要完成的功能、达到的性能</p>
<p>　　② 启动 SOPC Builder，选取具体的 FPGA型号</p>
<p>　　③ 定义 CPU，外围器件，存储系统等模块</p>
<p>　　④ 为各个模块分配基地址和中断请求号（IRQ）</p>
<p>　　⑤ 生成 Nios系统模块，引脚锁定，编译软件开发过程为：</p>
<p>　　① 在 SOPC Builder中启动 Nios II IDE</p>
<p>　　② 创建 C/C++软件工程，并指定目标硬件</p>
<p>　　③ 利用工程模本编写相应的程序</p>
<p>　　④ 编译后，即可下载到硬件中运行</p>
<p>　　Nios II IDE中可以采用 C/C++或者汇编语言进行程序的编写，其文件扩展名分别为 .c和.s。一个单独的 Nios II/f CPU大约需要占用 1800个 LEs，如果再添加一些定时器，外围器件等，那么占用的逻辑单元会进一步增加。 <!-- 2009/11/8 8:30:20--></p>]]></description></item></channel></rss>