首页资源分类FPGA/CPLD > FPGA和ARM之间一种简易高效的图像数据传输系统实现

FPGA和ARM之间一种简易高效的图像数据传输系统实现

已有 460162个资源

下载专区


TI最新应用解决方案

工业电子 汽车电子 个人消费电子

上传者其他资源

文档信息举报收藏

标    签: FPGAARM图像传输

分    享:

文档简介

FPGA和ARM之间一种简易高效的图像数据传输系统实现

文档预览

2013 年 第 11 期 仪表技术与传感器 Instrument Technique and Sensor 2013 No. 11 FPGA 和 ARM 之间一种简易高效的图像数据传输系统实现 申福伟,赵志刚,牛憨笨,郭宝平 ( 教育部和广东省光电子器件与系统重点实验室,深圳大学光电子学研究所,广东深圳 518060) 摘要: 为了满足硬件资源受限 X 射线相衬成像系统中图像数据实时采集的要求,在基于 FPGA + ARM 双核结构条件 下,给出了一种 FPGA 与 ARM 之间精简的异步总线实现数据传输的方法,仅需要 2 根控制线就可以完成高效的数据传 输。通过看门狗计时程序的测试表明: 该方法能使传输时间缩短 50% 以上,特别适用于硬件资源紧张、接口信号有限的 数据采集系统。 关键词: 图像采集系统; FPGA; ARM; 异步总线 中图分类号: TP272 文献标识码: A 文章编号: 1002 - 1841( 2013) 11 - 0101 - 03 Implement of a Refined and Efficient Image Acquisition System between FPGA and ARM SHEN Fu-wei,ZHAO Zhi-gang,NIU Han-ben,GUO Bao-ping ( Key Laboratory of Optoelectronic Devices and System of Ministry of Education and Guangdong Province, Institute of Optoelectronics,Shenzhen University,Shenzhen 518060,China) Abstract: In order to meet the requirement of real-time data acquisition for hardware resources limited X-ray phase contrast imaging systems,this paper proposed a refined asynchronous bus data transmission method between FPGA and ARM,based on FPGA + ARM dual-core structure. In this method,only two control lines were required for efficiently data transmission. The watchdog timer program testing shows that this method can reduce the transmission time by more than 50% . It is especially suitable for data acquisition system that hardware resources and interface signals are limited. Key words: image acquisition system; FPGA; ARM; asynchronous bus 0 引言 随着自动控制技术和网络技术的快速发展,图像采集系统 的实时性和准确 性 得 到 进 一 步 的 提 高,广 泛 应 用 于 科 学 研 究、 电子消费、工 业 生 产 及 安 防 系 统 等 领 域。目 前 基 于 FPGA + ARM 双核结构图像采集系统,一方面能发挥 ARM 的控制能力 及网络传输能力,另一方面利用了 FPGA 并行处理数据的能 力[1],能极大地提高图像采集的准确性和实时性。 在高分辨率数字 X 射线相衬成像领域,需要对多个大像素 图像传感器芯片数据进行高速采集[2],其数据采集系统也适合 采用 FPGA + ARM 结构。但是受 X 射线辐射环境和系统硬件 资源等因素的限制,可用于 FPGA 与 ARM 之间控制信号有限, 使得两者之间的通信设计成为系统设计的一个难点。为了保 证数据的高效采集传输,文中对 FPGA 与 ARM 之间的异步握 手信号进行精简,形成了一种简易的异步总线实现方法。该方 法仅需要 2 根控制线就可以完成高效的数据传输,特别适用于 硬件资源紧张、接口信号有限的数据采集系统。 1 系统总体设计 系统的总体设计如图 1 所示,PC 上位机控制数据采集命 令,经网络数据包的形式发给 ARM,ARM 然后对命令进行解 基金项目: 国家自然科学基金重点项目( 60532090 ) ; 国家自然科学基金 委国家重大科研仪器设备研制专项项目( 61227802) ; 中国博士后科学基 金资助项目( 2012M511835) 收稿日期: 2012 - 12 - 17 收修改稿日期: 2013 - 06 - 03 释,再将解释后的命令发给 FPGA,FPGA 根据接收的采集命令 配置好硬件参数,然后由图像采集芯片 LUPA - 4000 对图像进 行采集[3]。经 A / D 转换将采集的模拟数据转换为数字数据, FPGA 将采集的数据转存到高速存储器 DDR2 SDRAM 中,然后 FPGA 通过并行总线将数据传输到 ARM 的 SDRAM 中,在 ARM 中使用 UDP / IP 协议将数据打包发送给上位机保存并显示图 像。 图 1 系统总体设计 2 ARM 与 FPGA 之间精简的异步总线的硬件及软件设计 在 ARM 与 FPGA 之间的数据传输方式方面,系统将 ARM 作为主控制器,而 FPGA 作为受控制器。现有系统硬件结构如 图 2 所示,ARM 与 FPGA 之间有并行的 16 根数据线进行连接, 用于双向传输的控制信号只有 2 条。 如何实现 ARM 与 FPGA 之间数据的高效传输,是设计的 重点。一般来说,在 2 个异步系统之间,采用双向握手总线是 一种很普遍的总线实现方法,即在总线上主控制器和受控器采 102 Instrument Technique and Sensor 用一问一答的方式进行数据传输[4]。FPGA 将数据准备好后给 ARM 1 个高电平信号,然后 ARM 检测该信号后进行数据接收, 随之将回复 1 个高电平给 FPGA,代表 ARM 采集 1 次数据完 成。FPGA 检测到 ARM 回复的高电平后,将新的 1 组数据放到 数据总线上,随之再给 ARM 1 个高电平。完成这样的 1 次数据 传输,需要 FPGA 和 ARM 相互判断数据是否处理完成,这种方 式传输数据的正确性显然是可靠的,但是针对系统这种大容量 图像数据传输时,握手次数较多,会影响系统的实时性。 Nov. 2013 图 2 FPGA 与 ARM 之间的互联 为解决这个问题,将 采 用 一 种 精 简 的 异 步 总 线 模 式,即 对 握手信号进行精简。其特点是 ARM 每采集 1 次数据后,通知 FPGA 进行更新数据,然后可以不用判断 FPGA 是否准备好数 据,就直接读取。其原因是 FPGA 是并行硬件电路,并且系统 采用 132 MHz 时钟,FPGA 状态机数据能够在 7. 5 ns 的时间内 更新线上数据,远小于 ARM 读取指令的周期。所以这种方案 能够节省 FPGA 与 ARM 之间的握手信号,从而实现简易且高 效的数据传输。 具体实现方式是,在 FPGA 中设计了 1 个 FIFO 作为高速缓 存器,以解决 FPGA 与 ARM 时钟速率不一致的问题[4]。FIFO 使用由 FPGA 提供的固定的时钟。FPGA 的状态转移图及 ARM 的程序流程图如图 3 所示。图中 2 条虚线表示 ARM 读取数据 之后,分别反馈 ~ ARM_readonce 和 ARM_readonce,通知 FPGA 刷新线上数据。ARM 与 FPGA 之间仅以这 2 种信号作为握手 信号。 ARM 通过 GPIO 接收数据,然后将接 收 到 的 数 据 写 入 到 ARM 的 SDRAM 中去。ARM 每次读取 16 bit 的数据 ( 即 2 字 节) ,而 ARM 的内存地址是 4 字节对齐的。为了提高效率,读 取两次数据组合成 4 字节,然后再写入内存。 部分代码如下: while( ( g = rGPFDAT&0x00000010 ) ! = 0x00000010 ) ; / / 判 断 FPGA 是否准备好数据 j = 0; do { Mid1 = rGPDDAT; / / 第 1 次读数据 j+ +; rGPCDAT | = 0x00000002; / / 回给 FPGA 1 个高电平信号 ( ARM_ readonce) ,表示读取完成,更换数据 / / FPGA 在状态 S0 处接收此信号,并更新 FIFO 数据 Mid2 = rGPDDAT; / / 第 2 次读数据 j+ +; 图 3 ARM 与 FPGA 之间数据传输示意图 rGPCDAT & = 0xFFFFFFFD; / / 回 给 FPGA 1 个 低 电 平 信 号 ( ~ ARM_readonce) ,表示读取完成,更换数据 / / FPGA 在状态 fifo2_rdy 处接收此信号,并再次更新 FIFO 数据 Mid1 = ( Mid1 < < 16) | Mid2; / / 将 2 次读取的数据组合成 4 字节 * ( volatile unsigned* ) dizhi = Mid1; / / 写入内存 dizhi + = 4; / / 跳到下一个内存单元 } while( j < 2621440) / / 判断数据是否接收完成。 从以上程序中可以看出,除第一次读取 FPGA 数据外,连 续传输过程中 ARM 没有判断 FPGA 数据是否准备好,即开始 采集数据,因此每个循环内节省了 2 次判断。通过调试程序的 反汇编能得到: 2 次判断语句耗费了 4 个指令周期,而读数据加 上写内存共用了 3 个指令周期,再加上反馈信号采用高低电平 交替方式,所以这种精简的异步握手模式将传输效率提高了 1 倍以上。 3 系统性能测试 为了比较传输速度的快慢,程序中还需要设计能够测量传 输时间的方法。为此,利用看门狗的计时功能准确地测出了数 据传输时间。具体的做法是: 在传输数据开始前,对看门狗进 行必要的设置; 开始传输数据时将看门狗打开,系统自动地进 行计时; 在传输数据完成后,关闭看门狗。这种方法在不影响 其他程序 的 运 行 速 度 的 前 提 下,可 以 准 确 地 计 算 出 计 时 结 果[5]。 第 11 期 申福伟等: FPGA 和 ARM 之间一种简易高效的图像数据传输系统实现 103 另外,在 ARM 程序中打开指令 Cache 将极大地提高程序 运行效率。因为 ARM 要反复地从 FPGA 读取数据,再写入自 己的内存。如果不打开指令 Cache,CPU 就要反复地从主存中取 同样的指令然后执行,效率非常低。虽然系统数据传输量大,传 输指令执行次数达3 572次,但顺序传输启动后除内存地址值递 增外,传输指令是相同的,因此打开指令 Cache 效果明显[6]。 图 4 为系统在使用精简异步总线前后传输速度测试的对 比。 图中显示的是 ARM 通过串口输出 FPGA 向 ARM 传输所 用的时间。通过对比可见,采用精简的异步握手总线传输时间 由 2. 62 s 减小到 1. 119 s,速度提高了 50% 以上的时间。另外, 采集一幅图像的数据量为 40 Mbit,经计算,除去串口打印的时 间,使用该方案的数据采集系统的采集速率达到了 40 Mbit / s, 实现了高效的数据采集,保证了实时性的要求。 4 结束语 为 FPGA 与 ARM 之间实现高 速 数 据 传 输 的 图 像 采 集 系 统,设计了一种异步握手总线的数据交互方式。并且精简了传 统异步总线的握 手 方 式,进 而 大 大 提 高 了 传 输 效 率,同 时 也 保 证了数据传输的正确性。实际测试显示,这种方式的传输效率 不亚于其他方式的数据传输。由于设计的连接简单,也给系统 资源有限的图像采集系统提供了一种思路。 参考文献: [1] 钟磊,韩进. 基于 FPGA 和 ARM 的图像采集系统的设计. 电脑知 识与技术,2012( 8) : 13 - 15. [2] DU Y,LIU X. Non-absorption grating approach for X - ray phase contrast imaging. OPTICS EXPRESS,2011( 7) : 45 - 50. [3] 赵志刚,郭金川,黄建衡,等. 基于 DDR2SDRAM 缓存的 CMOS 图 像数据采集与传输系统. 仪表技术与传感器,2010( 6) : 91 - 94. [4] 王亚庭. 基于 ARM 与 FPGA 的高速数据采集技术的研究: [学位 论文]. 北京: 北京交通大学,2007: 13 - 28. [5] 陈思勤,吴秋新. ARM 目标内核系统中的代码运行时间测试. 单 片机与嵌入式系统应用,2007( 2) : 35 - 38. [6] 韦东山,嵌入式 linux 应用开发. 北京: 人民邮电出版社,2008: 110 - 113. [7] 陆志才. 微型计算机组成原理,北京: 高等教育出版社,2003: 342 - 356. 《管道技术与设备》杂志 征稿启事 本刊是经国家科技部、新闻出版总署批准的,国内外公开 温等有关的仪器设备的新工艺、革新技术、制造技术和应用技 发行的优秀科技期刊。本刊为双月刊,单月出版。国内统一连 术,以及新产品构思、设计、研制及应用。 续出 版 物 号: CN21 - 1312 / TH,国 际 标 准 连 续 出 版 物 号: 4. 施工与焊接 ISSN1004 - 9614,邮发代号: 8 - 145。 有关管道系统及储存设施在铺设安装过程中采用的新技 本刊是中国核心期刊( 遴选) 数据库收录期刊、中国学术期 术、新工艺以及为维护管道的正常使用,对储存和运输不同的 刊综合评价数据库来源期刊、美国化学文摘( CA) 收录期刊、波 介质而采用的集输工艺及生产措施等方面的新工艺、新技术。 兰《哥白尼索引》( IC) 收录期刊、中国科技论文统计用刊、中文 5. 腐蚀与防护 科技期刊数据库 收 录 期 刊、中 国 石 油 文 献 数 据 库 收 录 期 刊、中 国石化文摘摘引期刊、中国学术期刊文摘收录期刊、《中国学术 期刊( 光盘版) 》收录期刊、万方数据 - 数字化期刊群收录期刊。 主要报道金属管道及其设施在各种环境下的腐蚀与防护 技术,包括腐蚀的 规 律、腐 蚀 的 机 理、腐 蚀 的 试 验 研 究、腐 蚀 的 检测与分析、腐蚀的防护技术、腐蚀与防护的经济分析,以及在 征稿范围 生产、施工、维护等方面的应用理论与应用技术。 1. 设计与研究 6. 清洗技术 包括管道系统的规划设计、分析测试、研究与实验、工艺流 主要报道管道及 其 装 置、设 备 的 物 理 清 洗、化 学 清 洗 方 面 程设计、线路选择、配套设施的选择、介质输送等方面的新工 的新技术、新工艺、新产品; 国内外管道清洗行业的发展动态、 艺、新技术及相应的研究成果。 新产品、新 技 术 以 及 有 关 专 题 讲 座 等。包 括 清 洗 技 术 发 展 动 2. 控制与测量 向、进展和评述。 有关管道系统及储存设施的自动控制 ( 压力、流量、温度 本刊已启用稿件采编系统,作者可在注册后登录系统进行 等) ,测量技术,腐蚀寻线,检测探伤等仪器设备的新成果、新工 投稿、查询等操作。欢迎作者踊跃投稿! 艺及应用实例等。 地址: 沈阳市大东区北海街 242 号 邮编: 110043 3. 管件与设备 电话: 024 - 88718619 包括管道系统工程中使用的连接件、泵阀、补偿器件、换热 网址: http / / www. 52gdw. com E-mail: info@ 52gdw. com 器件、密封件等的 设 计 原 理、生 产 工 艺、应 用 技 术、安 装 与 维 修 技术等新工艺、新技术; 与管道计量、控制、检测、清洗、防腐、保

Top_arrow
回到顶部
EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。