1、基于 Altera 片上系统 FPGA 的图像采集系统的设计 摘 要 :该设计采用了 Altera 公司的 DE1-SoC 开发板和 208C 监控摄像头实现了基于片上系统 FPGA 的图像采集系统。本文详细介绍了基于 Altera 片上系统 FPGA 的嵌入式系统的设计方法,包括基于 Qsys 的的系统硬件设计和基于片上系统 EDS 嵌入式软件设计。该设计采用的是 Altera 公司提供的 soc_training image 镜像内核文件,写入外存 SD 卡中,进行启动linux 操作系统,在 QSYS 中构建所需的硬件模块,在 EDS 开发套件平台上编写应用 软件程序,最后通过板级验证实
2、现系统功能。 关键词:嵌入式设计; FPGA;硬核处理器;图像采集 Abstract: In the paper,an image acquisition system based on SoC FPGA is realized, which using Alteras DE1-SoC development board and 208C surveillance camera.This paper introduces the embedded system design method based on Altera s SoC FPGA,including the system hardw
3、are design based on Qsys and embedded software design based on SoC EDS development suite.This design is used soc_training image kernel image file by Alteras and write external SD card, starting with the Linux operating system,the required hardware module is added in Qsys and the application software
4、 is added in EDS development kit platform. Finally,the systems function is realized through the board level verification. Key words: embedded design;FPGA;hard-core processor;image acquisition 引 言 随着人类活动范围的不断扩大,图像处理的应用领域也将随之不断扩大 , 而数字图像技术也广泛的应用到很多领域,如 工业和工程方面 、远程监控、航天航空、生物医学工程、机器人视觉、视屏和多媒体系统等。 伴随着 ED
5、A 技术的飞快发展,各种新型的超大规模集成电路芯片也开始不断涌向市场。而新的集成电路芯片不仅性能强大、而且体积也越来越小。为了适应国内外市场的发展, 2013 年 Altera 公司推出了新一代的 SOC FPGA 芯片,该芯片系列在原有的基础上内嵌了强大功能的 ARM Cortex-A9 处理器,不仅可以在单片的FPGA 实现传统的硬件描述语言逻辑设计,还可以实现基于 ARM 处理器的嵌入式的系统软件开发,该软硬件技术的融合,对未来的发展,有很大的应用前景。 1 系统总体设计 1.1 开发环境 本设计采用的是 Altera公司的集成开发环境 Quartus II和嵌入式设计套件Altera
6、SoC EDS 完成了图像采集系统的硬件和软件的设计。在 Quartus II 软件的开发平台下,设计者可以完成设计输入、分析映射、 综合优化、时序分析、布局布线、期间引脚分配、 FPGA 逻辑功能仿真验证和目标程序下载等功能。 Quautus内嵌了 Qsys 嵌入式硬件系统开发工具,可实现 ARM 硬核处理器的嵌入式系统开发。 Altera SoC 嵌入式设计( EDS)包含了开发( debug)工具、实现应用工具程序、运行软件等,用户可以使用 Altera SoC EDS 进行基于 Altera Soc 硬件平台的应用软件开发。 1.2 系统总体设计方案 基于 Altera 片上系统 FP
7、GA 的图像采集系统的总体设计方案如图 1 所示。整个系统由 208C 监控摄像头、 Altera 公司 SoC FPGA Cyclone V 系列芯片、 SDRAM存储器和硬核处理器( HPS)以及处理器工作所需的外部存储器(包括 DDR3 SDRAM和 SD 卡)组成。 SoC FPGA 芯片是整个系统的控制核心 ,完成的主要功能是:内部的硬核 ARM处理器通过 H2F_LW_AXI总线和 F2H_AXI总线控制 Qsys硬件系统内部的视屏解码器、 VIP 套装视屏处理核,核收到处理器相关寄存器指令后控制 FPGA 内部的 HDL逻辑代码工作,包括图像捕获和停止、图像的串转并( Color
8、 Plane Sequence)、图像 的去隔行( Deinterlacer)、图像的重采样( Chroma Resampler)、图像的存储和提取。整个采集系统的设计包括 Qsys 硬件系统设计和硬件处理器系统( HPS)的软件设计。 2 系统 FPGA 实现 2.1 硬件平台简介 本设计采用的硬件平台是 Altera公司的基于 SoC FPGA进行嵌入式软硬件协同设计系统开发的 DE1-SoC 开发板。 DE1-SoC 开发板上采用的是 Altera 公司开发的 Cyclone V SoC FPGA 芯片。该芯片是基于 ARM 的用户可定制 芯片系统( SoC)中集成了硬核处理器、 FPG
9、A 和数字信号处理( DSP)功能。 HPS 是基于 ARM Cortex-A9 的双核处理器,具有丰富的外设和存储器接口( DDR2/3)等。虽然 HPS和 FPGA 能够独立工作,但是它们能通过高性能的 AXI 总线桥接实现高速宽带的数据通信,该总线是双向的, HPS 总线通过 HPS 至 FPGA 桥接访问 FPGA 架构中的总线机器外设,并且所有桥接兼容 AXI-3/4,支持同时读写操作。同时, FPGA总线也能通过 FPGA 至 HPS 桥接访问 FPGA 架构中的总线机器外设。所有让使用者在该平台上实现具有 更佳性能和灵活性的 FPGA 系统设计。 208C 监控摄像头具有 30万
10、像素的图像传感器,该传感器具有 640*480 有效像素,支持 RGB 格式的图像数据输出,支持图像抓拍模式,并且可通过 Qsys 里的 I2C 模块完成其内部寄存器的参数设置,已完成视屏解码,操作简单易用,而且成本低。 2.2 硬件设计 图 1 系统总体设计方案 基于 Altera 公司 SoC FPGA 的嵌入式系统硬件设计,首先要基于 Qsys 规划系统所需要的外设,包括 HPS 和 FPGA 各自的接口。 HPS 外设只需要根据 DE1-SoC硬件属性进行设定即可, FPGA 的外设首先通过 IP 模块的方 式添加,然后建立各个模块间的连接(包括时钟,复位,总线),最后产生出硬件与软件
11、开发的各自所需的档案。硬件开发和以往传统的 FPGA 设计流程相同,首先需要使用 Quartus II加入 Qsys 以及用户逻辑,然后设定引脚分配,最后编译产生 xx.sof 文件。 基于 SoC FPGA 的图像采集系统的硬件流程如下: (1)在 Quartus II 软件下启动 Qsys 设计工具,并添加相应的系统外设,包括 HPS 硬核处理器、时钟锁相环、 I2C、 On-chip memory、 VIP 套装视屏处理核( Clocked Video Input、 Color Plane Sequence、 Deinterlacer、 Chroma Resampler、 CSC、 Cl
12、ipper、 Frame Buffer)、视屏图像捕获( VIP_Capture、Clear_Packet_Data、 Dummy_Stream_Sink)、定时器、 CPU、系统 ID IP 核。 (2)建立系统各个模块之间的连接,包括时钟、复位、 HPS、 CPU 控制总线、以及各模块之间的输入输出。 Qsys 下的总体硬件配置如图 2 所示。 (3)产生 Qsys 硬件配置系统文件,并键入到 Quartus 工程中,最后编译。至此,基于 SoC FPGA 开发的图像采集系统硬件设计完成 2.3 软件设计 嵌入式系统软件设计主要是基于 C语言的 SoC EDS 软件设计。该设计主要完成三个
13、功能,一是控制打开监控摄像头,并完成视屏解码、图像格式转换、缓存,图 2 Qsys 系统总体硬件配置 二是控制 VIP_Capture 的工作并获取具体状态,三是等待 VIP_Capture 完成数据传输后从内存中读取出来并存储为 bmp 格式的图片。具体软件程序开发流程如图3所示。在该设计中,通过操作相应寄存器控制监控摄像头的捕捉与停止、图像格式的转换以及图像数据的读取和存储。操作具体实 现代码: fd = open( “/dev/mem“,(O_RDWR|O_SYNC ) ) )=-1) /打开内存映射设备驱动 lw_axi_virtual_base = mmap( NULL, HW_RE
14、GS_SPAN, ( PROT_READ | PROT_WRITE ), MAP_SHARED, fd, HW_REGS_BASE ); /物理地址映射到 Linux 上的虚拟地址 m_vip_cti_base=lw_axi_virtual_base + ( ( unsigned long)( ALT_LWFPGASLVS_OFST + FPGA_VIP_CTI_BASE) /摄像头寄存器控制地址 h2p_vip_capture_addr= lw_axi_virtual_base+(unsigned long )( ALT_LWFPGASLVS_OFST + ALT_VIP_CAPTURE_B
15、ASE)/捕获帧地址 3 结果验证与分析 完成系统的硬件和软件之后,对系统进行板级测试。首先给 DE1-SoC 开发板上电,将编译好的整个硬件系统目标程序( XX.sof)文件烧录到 FPGA 的配置芯片,将 AV 监控摄像头插入到开发板的 VIDEO-IN 接口,同时启动将存放有可带 Linux 操作系统的 SD 卡。系统启动完成后,打开调试电脑中的终端,在终端输入命令,运行脚本文件 ./test.h。如图 4,可图 3 程序流程图 以看见首先加载内核模块文件后并创建文件节点,然后会显示捕获状态,并打印出所得图片的大小。系统运行结束后,读卡器打开 SD 卡,查看监控摄像头捕捉到的一帧图像。经
16、验证,SD 卡保存的示例图片如图 4 所示,可见该系统实现了图像的捕捉功能。 4 结 论 利用 Altera 公司的 SoC FPGA 芯片,通过 Qsys 硬件系统设计和 ARM 硬核处理器软件设计,使用普通的 AV 监控摄像头在 DE1-SoC 开发板上实现了基于 Linux 操作的嵌入式系统设计。该设计采用单片的 SoC FPGA 芯片实现了系统的整体功能,与传统的采用 1 片专用的 CPU核 1 片 FPGA 芯片进行嵌入式系统设计的方式相比,该设计的方法不仅减少了 PCB 面 积、降低了硬件设计难度,而且也节约了开发成本,为要求严格的实时应用提供了高性能确定性通用平台,通过该平台可以进一步开发复杂的软硬件协同设计处理。具有很重要的参考价值。 图 4 程序运行终端 图 5 捕捉 示例图
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。