发帖时间:2015-12-25 03:13 作者:数学论文网
1 引 言
?
目前,随着嵌入式技术与数字技术的高速发展,ARM+FPGA双核硬件架构倍受青睐,该架构不仅功能分明而且结构紧凑。结合ARMLinux和FPGA各自特点的系统在数字系统设计中得到了广泛应用。
?
FPGA能够实现复杂的高速逻辑。它克服了定制电路的不足,可以在不更改外围电路的情况下,通过对FPGA的软件编程实现特定的系统功能。但FPGA在分析控制及驱动等方面较为薄弱。ARM处理器弥补了FPGA的上述不足,它是目前嵌入式领域使用最广泛的处理器,具有专用性强、功耗低等优势,且嵌入式Linux操作系统具有开放源代码、稳定性强、可裁剪等优点,能够完成对大规模复杂程序的分配调度和协调控制。
?
该架构中FPGA 主要负责高速数据处理,ARM 处理器负责实现人机交互、界面显示及外部通信功能。传统的I2C、SPI等串行总线通信仅能实现ARM 与FPGA 之间的低速通信,本系统采用FPGA片内FIFO实现二者之间的高速数据通信,且Linux 2.6.36版本内核在内存管理和设备驱动方面表现得十分出色。本文基于ARMLinux软硬件架构完成了与FPGA数据通信的接口设计与驱动设计,并采用Qt GUI设计了人机交互图形界面,最终实现高速影像信息的实时显示。
?
2 系统硬件架构
?
2.1 ARM+FPGA双核架构
?
系统以ARM11处理器S3C6410为硬件核心,负责影像的交互与显示。采用DDR RAM 和NAND Flash作为系统存储器、SD卡存储图像文件,1.2V外部电源供电,最大主频667MHz,且内置图像加速器并扩展了SIDI功能,能够满足较高图像处理性能的要求,4.3in LCD液晶屏用以显示实时影像,并配备了方便人机交互的触摸屏。
?
FPGA采用Altera公司的Cyclone IV 系列的EP4CE40F23C8芯片。它采用FBGA封装,具有484个引脚、39 600个LEs(Logic Elements,逻辑单元)、126个18×18乘法器、总RAM 位数1 161 216bits、329个用户I/O,是一款高性能、低功耗、低成本的现场可编程门阵列,能够满足本系统对影像处理的要求。
?
嵌入式ARM 处理器接收FPGA 从CameraLink接口获取并处理的影像,并将该影像实时显示在LCD液晶屏上。
?
2.2 ARM 与FPGA接口设计
?
ARM 处理器与FPGA之间的数据通信主要采用串行传输和并行传输两种方式。采用I2 C接口或者SPI接口的串行通信方式传输速度较慢;而并行方式通过总线连接,在ARM 端口配置地址总线、数据总线和控制总线,并和FPGA 相应的信号相连,这种传输方式具有速度快且传输稳定的优势。
?
3 Linux系统下的FPGA驱动设计
?
由于Linux内核中并没有FPGA 片内FIFO的设备驱动,因此,为实现ARM 处理器与FPGA之间的数据通信,须在Linux系统下完成对FPGA片内FIFO的驱动开发。
?
Linux设备驱动程序是连接底层设备和上层应用程序的纽带。Linux系统将设备以设备文件的形式挂载在根文件系统的/dev目录下,系统对设备的操作可简化成对设备文件的操作,如打开open()、关闭close()、读read()和写write()等。
?
Linux系统具有以下3种设备:包括字符设备、块设备及网络设备。Linux把FPGA 的片内FIFO视为特殊的字符型设备,即杂项设备。由于硬件连接上将FPGA 挂载在S3C6410的存储器总线上,用户空间通过内存映射方式实现对FPGA的访问。因此,上层应用程序可以直接访问设备内存,从而大大提高数据传输速度。
?
本文在Linux系统下实现了FPGA 的设备驱动,总结得到以下步骤:
?
(1)编写设备驱动程序,并添加到内核源码目录;
?
(2)在Kconfig文件中添加上述设备驱动程序所对应的编译配置选项;
?
(3)通过内核配置工具menuconfig,将该硬件配置编译为模块;
?
(4)把内核配置选项和真正的硬件驱动联系起来,在Makefile文件中添加相应的编译条目;
?
(5)执行#make modules编译生成动态加载模块;
?
(6)将编译好的驱动模块下载到目标机,执行命令#insmod mini6410_fpga.ko动态加载驱动模块;
?
(7)交叉编译测试程序,验证驱动设计是否成功。
?
4 结 论
?
为实现航空测绘信息获取的数字化、实时化,本文结合嵌入式处理器S3C6410与FPGA 的各自优势,提出了一种基于ARM+FPGA 双核硬件架构的高速影像交互与显示系统的解决方案。该系统采用并行总线方式实现ARM 与FPGA之间的高速数据通信,利用Linux 2.6.36内核完成了对FPGA设备的驱动设计,实现了高速影像数据交互;并在ARM-Linux平台上设计了基于Qt的人机交互界面,用以实现高速影像的实时显示。测试结果表明,该系统实现了VGA(640×480)格式的高速影像交互,帧率最大可达26帧/s,传输带宽最大为182Mbps。该系统不仅体积小、功耗低、成本低,而且结构紧凑、专用性强、稳定性好、性能佳,能够满足测绘信息获取的实时性要求。
下一篇:没有了
随机阅读
热门排行
© 2014 数学论文网 Powered by http://www.006208.com 版权所有