基于FPGA的ARM并行总线和端口设计

2020-08-03来源: elecfans关键字:FPGA  ARM  并行总线  端口设计

通过EP2C20Q240器件和LPC2478处理器,研究ARM应用系统外部并行总线的工作原理和时序特性,以及在FPGA中进行双向总线设计的原则,设计并实现了FPGA并行总线.借助Quartus II仿真工具,对FPGA并行总线进行了时序仿真,并用SignalTap II逻辑分析仪进行在线测试,验证设计的正确性.


0 引言

在数字系统的设计中,FPGA+ARM 的系统架构得到了越来越广泛的应用,FPGA主要实现高速数据的处理;ARM 主要实现系统的流程控制.人机交互.外部通信以及FPGA 控制等功能.I2C.SPI 等串行总线接口只能实现FPGA 和ARM 之间的低速通信 ;当传输的数据量较大.要求高速传输时,就需要用并行总线来进行两者之间的高速数据传输.


下面基于ARM处理器LPC2478以及FPGA器件EP2C20Q240,以ARM外部总线的读操作时序为例,研究两者之间高速传输的并行总线;其中,数据总线为32 位;并在FPGA 内部构造了1024x32bits 的SRAM 高速存储缓冲器,以便于ARM 处理器快速读写FPGA 内部数据.


1 ARM并行总线的工作原理

ARM 处理器LPC2478 的外部并行总线由24 根地址总线.32根数据总线和若干读写.片选等控制信号线组成.根据系统需求,数据总线宽度还可以配置为8 位.16 位和32 位等几种工作模式.


在本设计中,用到ARM 外部总线的信号有:CS.WE.OE.DATA[310].ADDR[230].BLS 等.CS 为片选信号,WE 为写使能信号,OE 为读使能信号,DATA 为数据总线,ADDR 地址总线,BLS 为字节组选择信号.ARM 的外部总线读操作时序图,分别如图1 所示.

基于FPGA的ARM并行总线和端口设计

根据ARM 外部并行总线操作的时序,ARM 外部总线的读写操作均在CS 为低电平有效的情况下进行.由于读操作和写操作不可能同时进行,因此WE 和OE 信号不能同时出现低电平的情况.


数据总线DATA 是双向的总线,要求FPGA 也要实现双向数据的传输.在时序图中给出了时序之间的制约关系,设计FPGA 时应该满足ARM 信号的建立时间和保持时间的要求,否则可能出现读写不稳定的情况.


2 FPGA 的并行总线设计

2.1 FPGA 的端口设计

FPGA 和ARM 之间的外部并行总线连接框图,如图2 所示.由于FPGA 内部的SRAM 存储单元为32 位,不需要进行字节组的选择,因此BLS 信号可以不连接.为了便于实现ARM 和FPGA 之间数据的快速传输,FPGA 内部的SRAM 既要与ARM 处理器进行读写处理,还要跟FPGA 内部的其他逻辑模块进行数据交换,因此SRAM 采用双口RAM 来实现.

基于FPGA的ARM并行总线和端口设计

从端口的方向特性看,DATA 端口是INOUT(双向)方式,其余端口均为IN(输入)方式.从端口的功能看,clk20m 是全局时钟,在实现时应采用FPGA 的全局时钟网络,这样可以有效减少时钟延时,保证FPGA 时序的正确性.ADDR 是16 位的地址总线,由ARM 器件输入到FPGA.DATA 是32 位的双向数据总线,双向总线的设计是整个设计的重点.OE 为ARM 输入到FPGA 的读使能信号.


WE 为ARM 输入到FPGA 的写使能信号.CS 为ARM 输入到FPGA 的片选信号,FPGA 没有被ARM 选中时必须输出高阻态,以避免总线冲突.


2.2 FPGA 的双向总线设计

在FPGA 的并行总线设计中,如果顶层和底层的模块都要用到双向的IO 端口,则要遵守设计原则;否则不利于VHDL 程序的综合.双向IO 端口的设计原则是:只有顶层设计才能用INOUT类型的端口,在底层模块中应把顶层的INOUT 端口转化为独立的IN(输入).OUT(输出)端口并加上方向控制端口.顶层设计的VHDL 代码如下:

基于FPGA的ARM并行总线和端口设计

其中,DATA_i.DATA_o 和output_en 均为FPGA 内部的信号,在内部的各层次模块中,通过这三个信号就可以进行单向的IO 控制.这样,顶层设计中双向的DATA 端口转化为了内部单向的DATA_i(输入).DATA_o(输出)和output_en(输出使能).在内部各模块中,结合这三个信号以及ADDR.OE.WE.CS 等信号,则可方便地实现ARM 总线接口的功能.实现的VHDL 关键代码如下:

基于FPGA的ARM并行总线和端口设计

3 仿真结果分析

通过Quartus II 仿真工具,对FPGA 并行总线进行时序仿真;仿真结果如图3 所示.根据ARM 并行总线的读写时序图要求,从仿真结果可以看出FPGA 的总线接口设计满足了设计的要求.由于选用的FPGA 器件内部带有逻辑分析仪的功能模块,通过Quartus II 软件中的SignalTap II 逻辑分析工具,对FPGA的设计模块进行在线测试,发现总线时序了满足ARM 并行总线的要求,且工作稳定,从另一个角度验证了设计和仿真结果的正确性.

基于FPGA的ARM并行总线和端口设计

4 结论

由于FPGA 技术和ARM 技术应用越来越广泛,通过设计并行总线接口来实现两者之间的数据交换,可以较容易地解决快速传输数据的需求,因此设计满足系统要求的FPGA 并行总线显得尤为重要.本文设计的FPGA 的ARM 外部并行总线接口,满足了总线的时序要求,并在某航空机载雷达应答机中进行了应用,系统运行稳定,性能良好.以上的设计和仿真方法,对其他类似的设计也有一定的参考作用.

关键字:FPGA  ARM  并行总线  端口设计 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic505106.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:ARM嵌入式主板综合对比
下一篇:ARM64与ARM32 的Linux程序区别在哪里

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

ARM、DSP、FPGA的区别是什么?
ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。DSPDSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号
发表于 2020-09-24
智多晶贾红:国产FPGA将迎来黄金发展时代
“如今几年的芯片黄金发展期,使我国FPGA产业从空白到与美国只有两代差距,包括智多晶、安路、紫光同创、高云等多家FPGA公司诞生并发展。”智多晶董事长贾红在出席2020年第十届松山湖中国IC创新高峰论坛时表示。FPGA行业在2012年前,主要是反向分析为主, 满足特种行业需求。而在2012年后,众多完全国产正向设计FPGA公司的设立,经过8年的不断创新发展, 国产FGPA已得到业界的认 可和使用。智多晶“三步走”战略贾红给出了智多晶发展的三步走战略,第一阶段是技术验证(2012~2016),基于成熟工艺制程验证创新架构开发出高性价比的产品,占领市场,解决公司的生存问题。 第二阶段是技术扩展(2017~2021
发表于 2020-09-23
单片机、ARM、MCU、DSP、FPGA、嵌入式之间都有什么联系
通俗讲解单片机、ARM、MUC、DSP、FPGA、嵌入式错综复杂的关系!首先,“嵌入式”这是个概念,准确的定义没有,各个书上都有各自的定义。但是主要思想是一样的,就是相比较PC机这种通用系统来说,嵌入式系统是个专用系统,结构精简,在硬件和软件上都只保留需要的部分,而将不需要的部分裁去。所以嵌入式系统一般都具有便携、低功耗、性能单一等特性。然后,MCU、DSP、FPGA这些都属于嵌入式系统的范畴,是为了实现某一目的而使用的工具。MCU俗称”单片机“经过这么多年的发展,早已不单单只有普林斯顿结构的51了,性能也已得到了很大的提升。因为MCU必须顺序执行程序,所以适于做控制,较多地应用于工业。而ARM本是一家专门设计MCU的公司
发表于 2020-09-21
单片机、ARM、MCU、DSP、<font color='red'>FPGA</font>、嵌入式之间都有什么联系
基于ARM和FPGA实时图像采集传输系统的设计
图像处理技术的快速发展,使得图像采集处理系统在提高农业生产自动化程度中的应用越来越广泛。目前的图像采集系统有的基于CCD摄像机、图像采集卡和计算 机,有的基于CCD摄像机、解码器、FPGA和DSP,而有的基于CMOS图像传感器芯片、FPGA和DSP,它们在实时性,灵活性,可维护性方面各有优 缺点。而在农业生产中,以基于CCD摄像机、图像采集卡和计算机的系统居多。本文结合实际系统中的前端图像处理和图像数据传输需要.充分利用ARM的灵活 性和FPGA的并行性特点,设计了一种基于ARM+FPGA的图像快速采集传输系统。所选的ARM (Ad-vanced RISC Machines)体系结构是32位嵌入式RISC微处理器结构,该微处理器
发表于 2020-09-18
基于ARM和<font color='red'>FPGA</font>实时图像采集传输系统的设计
莱迪思MachXO3LF™ FPGA让自动驾驶在严酷环境依然保持优秀性能
低功耗可编程器件的领先供应商莱迪思半导体公司宣布,推出MachXO3LF™ FPGA和MachXO3D™ FPGA的全新版本,分别用于灵活部署可靠的汽车控制应用和实现系统安全,两者均支持汽车和其他抗恶劣环境应用的拓展工作温度范围。MachXO3D FPGA拥有业界领先的安全特性,包括硬件可信根(RoT)、平台固件保护恢复(PFR)和安全的双引导支持,极大增强了莱迪思MachXO FPGA架构广受欢迎的系统控制功能。MachXO3D和MachXO3LF器件主要针对需要在严酷环境中稳定工作的控制、桥接和IO拓展应用,包括高级驾驶辅助系统(ADAS)、信息娱乐系统、马达控制、5G通信基础设施、工业机器人和自动化系统以及军事系统
发表于 2020-09-17
基于ARM+FPGA的开发平台实现了基于CSMA/CA的MAC协议
0 引言基于CSMA/CA的MAC协议的优势在于其简单和健壮性,适用于分布式网络,每个节点无需维持和动态更新周围相邻节点的状态信息,可以独自决定何时接入信道,只要上层有数据需要传输,MAC层就会对信道进行竞争,因此该协议的应用也相当广泛。嵌入式技术的发展对MAC协议的实现也提供了很好的技术支撑。本文搭建了一种基于ARM和FPGA相结合的嵌入式开发平台,并在此基础上设计与实现了基于CSMA/CA的MAC协议。由于ARM和FPGA本身就是可重构器件,同时将FPGA中的一些协议参数由ARM来设置,通过修改ARM的代码就可以实现对FPGA中协议功能的调整,方便快捷,不再需要重新生成比特文件下载,有利于MAC协议可重构的实现。1 协议功能
发表于 2020-09-17
基于ARM+<font color='red'>FPGA</font>的开发平台实现了基于CSMA/CA的MAC协议
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved