找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于NoC的图像采集系统设计

[复制链接]
admin 发表于 2013-3-26 12:07:05 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要:  关键词: 片上网络;资源节点;通信
    NoC(Network on Chip)的核心思想[1]是将计算机网络技术移植到集成电路设计中,从体系结构上彻底解决片上通信的瓶颈问题及时钟问题。它充分借鉴了分布式计算机系统的通信方式,用路由和分组交换技术替代传统的总线通信方式。结构化的网络连线[1]可以更好地控制连线的电气参数,提供更高的带宽,支持多重的并行通信等。此外,NoC还具备数据处理量大、多任务并行计算、架构易扩展及灵活性强等特点。
本设计是在NoC系统上实现实时图像采集、压缩、解压缩、存储和VGA显示等功能,利用FPGA的内部资源设计灵活的逻辑控制,完成高速大容量数据采集的存储和传输。本文提出的设计方案可以在选用成本低、操作简单的静态RAM的情况下, 实现实时大容量数据存储需求。在EDA(Electronic Design Automation)软件中进行了仿真验证,并在DE2开发板上实现高速实时图像采集和处理。
1 系统总体方案设计
 NoC系统借鉴并移植计算机网络通信中的概念和方法[1],用于多个核或IP(Intellectual Property core)的集成。图1是NoC的示意图。
    20121107045428023934615.gif
    NoC系统由交换节点(Switch)、资源节点(Resource)和资源网络接口(Resource-Network Interface)3个基本部分组成[1]。交换节点负责资源节点之间的信息交换,资源节点可以是处理器、存储器、可编程逻辑器件、输入输出设备等。交换节点通过互连线按照拓扑结构组成网络的物理架构,资源节点则通过RNI与交换节点相连。狭义的NoC指的就是仅由交换节点构成的网络。
本设计在NoC网络上实现实时图像采集系统,在FPGA上利用2个NIOS Ⅱ核实现NoC系统上的2个资源节点,实现图像采集的基本功能。其中,1个NIOS Ⅱ实现采集压缩功能,1个NIOS Ⅱ核实现解压显示功能。系统由摄像头、NIOS Ⅱ 1、资源节点1、路由节点1、路由节点2、资源节点2、NIOS Ⅱ 2、SDRAM乒乓存储器和VGA显示等模块组成。系统的工作流程如图2所示。
    20121107045428102064616.gif
    图像采集系统工作流程是:先对OV9650的寄存器进行配置,然后从摄像头模块中接收YUV422格式的数据,由NIOS Ⅱ 1对接收的数据进行JPEG压缩,压缩的数据发送到资源节点1,再发送到路由节点1上,由路由器把数据发送到目的路由节点2上,再经资源节2发送到NIOS Ⅱ 2中,由NIOS Ⅱ 2进行JPEG解压缩,进行VGA显示,VGA显示的缓存采用SDRAM乒乓缓存。  
2 图像采集系统的模块设计
2.1 摄像头控制模块

 摄像头控制模块的功能是采集图像数据。OV9650摄像头包括CMOS摄像头和图像处理芯片OV9650。用Verilog HDL硬件描述语言编写SCCB总线控制器,OV9650是通过SCCB总线(SCCB总线的示意图如图3所示,SCL是时钟信号线,SDA是数据线)对其寄存器进行配置的。时钟频率设置为24 MHz,按照其时序完成对OV9650摄像头的初始化配置工作。配置OV9650摄像头的工作模式为VGA 640×480视频格式,以YUV4:2:2数据流输出,视频速率为15 f/s。采集到的YUV4:2:2格式的数据送到JPEG编码器中进行编码,把编码的数据进行打包,发送到缓冲器中,等待路由节点的信号,通过路由器发送到目的资源节点。
    20121107045428164554617.gif
   2.2 NIOS Ⅱ 1模块
 NIOS Ⅱ 1模块由SoPC构建硬件框架[2],再在NIOS Ⅱ IDE中进行软件程序编写。NIOS Ⅱ 1的功能是接收摄像头的数据,对图像数据进行JPEG压缩。
 JPEG编码算法可以用失真的压缩方式来处理图像,但失真的程度却是肉眼所无法辩认的,这也就是为什么JPEG会有如此满意的压缩比例的原因。它的压缩一般过程是:首先使用正向离散余弦变换FDCT(Forward Discrete Cosine Transform)把空间域表示的图像变换成频率域表示的图像,然后使用加权函数(此加权函数对于人的视觉系统是最佳的)对DCT系数进行量化,最后对量化系数进行编码。JPEG编码器流程图如图4所示。
    20121107045428242684618.gif
   2.3 通信节点发送模块
 通信节点发送模块有两个作用,一是把4个8 bit数组成32 bit数输出,二是对要发送的数据进行组包。组包协议是:第一包仅包含要发送的包数、发送包的类型、数据发送的资源节点的地址和要接收数据的资源节点的地址、校验位;后面的包包含此包的包号、包的长度、要发送的数据、校验位。资源节点1的模块图如图5所示。
    20121107045428820794619.gif
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-28 20:50 , Processed in 0.055684 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表