ZYNQ ARM+FPGA双目立体视觉控制器设计与实现(一)

通过 ZYNQ 板卡实现 FPGA+ARM 架构的双目立体视觉系统
本设计采用实验室自主开发的 Zynq-7020 板卡,提出了基于 FPGA+ARM 架构的双
目立体视觉的软硬件系统设计方案。根据对系统软硬件功能划分, PL(FPGA) 端主要实现
了双目摄像头图像的采集存储和 HDMI 显示,
PS(ARM) 端主要实现了软件控制和双目立
体视觉立体匹配和立体校正算法。本设计双目摄像头采用 OV5640 ,图像分辨率为
640*480 ,图像传输帧率为 30fps 。通过 AXI-DMA 实现高速数据传输,并用 SGI 软件中
断和 DMA 中断实现乒乓操作,最终平稳地在 HDMI 上显示 640*480 的视差图。
4.1 双目系统硬件平台介绍
4.1.1 Zynq 简单介绍
Zynq [24] Xilinx 推出的新一代全可编程逻辑芯片,该芯片内不仅集成了基于 Xilinx
可编程逻辑资源的可编程逻辑系统(Programmable Logic,即 PL ),还集成了基于 ARM 公司双核 ARM Cortex-A9 多核处理器的处理系统(Processing System,即 PS ),如图 4.1 所示。
ARM Cortex A9 多核处理器是 PS 的心脏,它和其他相关的处理资源组成了一个应
用处理器单元( Application Processing Unit ,即 APU ),用来支持软件程序和操作系统。
PL 的实质是 Xilinx FPGA ,用来实现高速逻辑 [25] 、算术和数据流系统。在 Zynq 中,可
以把 PL 看成是 PS 的另一个具有可重配置特点的“外设”,它可以作为 PS 的一个从设
备,受 ARM Cortex A9 多核处理器控制。比如当 ARM Cortex A9 多核处理器的串口数
量不够用时,可以用 PL 进行扩展。
同时也可以把 PL 看成一个不受 ARM Cortex A9 多核处理器控制,且与 ARM Cortex
A9 多核处理器对等的主设备,主动完成与外部芯片、接口的数据交互。更甚至 PL 也可
以作为整个系统的主设备,主动从 PS 的存储器中获取存储数据,并可控制 ARM 处理
器的运算。所以,对于 Zynq 芯片, PS 可以完全独立使用,不依赖 PL PL 也可以像 PS
那样独立运行,但限制是必须使用 JTAG 接口对 PL 进行配置,如果没有 JTAG 接口,
那么 PL 就无法独立运行,因为 Zynq PS PL 都必须依靠 PS 来完成芯片的初始化配
置。尽管 PS PL 两部分都可以单独使用,但是 Zynq 最有价值的模式还是将 PS PL
两部分结合起来一起使用。
由于 PS PL 的供电电路是独立设计的,所以这两部分可以单独使用,也可以合起
来用,与传统的 FPGA ARM 相比, Zynq 全可编程逻辑芯片不但提供了 FPGA 的灵活
性和可扩展性,同时也提供了与专用集成电路和专用标准产品相关的性能、功耗和易用
性,使得设计者能够使用工业标准的工具在单个平台上实现高性能和低成本的应用,如
驾驶辅助系统、工业电机控制、多功能打印机、专业相机和机器视觉、医疗诊断和成像
等。
4.2 双目系统外设模块介绍
本实验设计涉及的核心外设模块有双目摄像头 OV5640 I/O 外设接口、 DDR3 存储
器、 HDMI 输出、 OLED 外设和网络外设模块。

4.2.1.3 双目摄像头转接板
根据实验板的扩展端口,端口如图 4.8 (a) 图所示。本实验中利用 PADS Cadence
软件联合绘制了转接板 PCB ,并交于厂家进行打样,样板实物图如图 4.8 (b) 图所示,
PADS 软件设计如图 4.9 所示。
4.3 双目系统软件部分介绍
通过整个个 PS 内部结构框图,如下图 4.19 所示,大致可以把 PS 分成六部分内容,
它们分别是: 1 、应用处理器单元( APU ); 2 AXI 接口( PS-PL ); 3 、存储器接口; 4
I/O 外设接口; 5 、时钟; 6 、中断。下面我对本实验涉及的内容进行介绍。

4.3.1 应用处理器单元( APU
应用处理器单元是整个 PS 的核心,下面我们给出应用处理器单元的框架结构,如
4.20 所示。

 

从该图中可以看出,应用处理器单元中包含了两个 ARM Cortex A9 处理器,每个处
理器都有独立的多媒体处理引擎( NEON )、浮点单元( FPU )、存储器管理单元( MMU )。
信迈提供ZYNQ+双目视觉解决方案。

猜你喜欢

转载自blog.csdn.net/YEYUANGEN/article/details/129958175