历史上的今天

今天是:2024年10月13日(星期日)

正在发生

2020年10月13日 | 工程师深谈ARM+FPGA的设计架构

发布者:创意探险 来源: elecfans关键字:ARM  FPGA  设计架构 手机看文章 扫描二维码
随时随地手机看文章

  最近学习了ARM+FPGA的设计架构,ARM和FPGA结构的通信大致可以分为两种:

  一种是数据量小、通信速率要求不高的情况,可以考虑采用SPI、IIC等差UN星通信方式。ARM都带有相关的SPI通信控制器等,在ARM端直接对相关的SPI通信控制器操作就可以了。而FPGA这一端可作为SPI从,按照SPI协议的时序写好从设备接口,这个工作量没有多大,所以相对都比较容易。

工程师深谈ARM+FPGA的设计架构

  另一种是数据量大、通信速率要求较高的情况,就要采用并行总线的方式了。这时把FPGA当做ARM的一个片外的SRAM访问就可以,可以在FPGA内部生成一个双口RAM,输出的数据总线管腿直接连接到ARM的并行总线的数据总线上,双口RAM一端的地址总线也一样直接连接到ARM的并行总线中的地址总线。这样就可以实现FPGA从DPRAM一端读写,ARM从DPRAM的另一端读写的功能了,当然还需要其他一些使能或片选的控制信号。这里FPGA一侧较好实现,而ARM一侧需要开发SRAM(FPGA)驱动,这个还没有实际做过,所以没有把握。


  NXP的ARM即LPC系列的并行总线称之为外扩地址与数据总线,由EMC(外部存储器控制器)控制,通过对EMC寄存器的控制就可以实现在外扩地址和数据总线上的数据收发。若是采用LPC系列ARM加一片FPGA,实现他们通信的关键应该在于这个EMC寄存器的控制,不知道按照一定的顺序操作这个寄存器组写出来的数据收发程序是不是就可以称之为所谓的驱动,求大神解释。

工程师深谈ARM+FPGA的设计架构

  TI的ARM或DSP都有一个GPMC(通用内存控制器),它类似于LPC的EMC,是TI的芯片中用于与外部存储设备如NORFLASH、NANDFLASH、SRAM等通信的一个借口。对于这个同样也有上边的那个疑问。


  三星的S5PV210则是有一组并行总线接口,称之为SROM,同样也有一个SROM控制器,支持外扩的NORFALSH、NANDFLASH、SRAM 等,应该也类似于LPC系列的EMC。我通过对这个控制寄存器的操作就可以实现对外部SRAM(FPGA)的读写,不知道这样理解对不对。


  还有一个疑问就是,如果有操作系统,再要实现ARM和FPGA的通信是不是就没有这样简单了?在没有操作系统时,我仅仅对某个相关的控制寄存器操作就可以实现,这时就不可行了?这些都是以后要弄明白的。调研了这么长时间,始终没有着手找找现有的资源,写写程序做一下这个通信,感觉还是没有理解到位。果真是什么东西都要实践一下才能理解深刻。手头有一块LPC2478的ARM加FPGA的板子,但没有操作系统或者只有UC/OSII,不知道跟ARM有操作系统如Linux时,有什么区别。先上手做一做吧。

关键字:ARM  FPGA  设计架构 引用地址:工程师深谈ARM+FPGA的设计架构

上一篇:ARM核心板在溯源秤中的应用
下一篇:基于ARM处理器的机器人硬件设计

推荐阅读

        新酷产品第一时间免费试玩,还有众多优质达人分享独到生活经验,快来新浪众测,体验各领域最前沿、最有趣、最好玩的产品吧~!下载客户端还能获得专享福利哦!        10月7日,浙江金华杨女士的苹果手机出现的问题让很多人大吃一惊:手机在使用非原装充电器和非原装充电线充电时,自动点开了携程APP,浏览起酒店客房,看起了评价...
人工智能技术已经成为探测机器人领域很重要的一部分,可以为机器人提供非常重要的反馈。比如视觉SLAM算法可以构建环境地图并确认摄像机自身在地图中的位置。图像匹配技术和三维重建技术,可以为机器人定位或转向提供一个快速的反馈。手势识别,手眼协调,人体运动识别,能给予机器人不同的人机交互模式。 机器人的市场规模 报告数据显示,全球机器人市...
在经济全球化背景下,中国大陆地区承接了全球LED封装产业转移,同时受益于成本优势和旺盛的下游产品市场需求,中国已成为世界重要的LED封装生产基地。近几年,众多中小型LED封装企业在行业竞争下,被迫退出市场,制造环节向规模较大的头部厂商集中,行业领先企业纷纷利用规模和资本优势,进行产能扩张或产业链整合以扩大市场份额。前不久,深圳市穗晶光电...
通用汽车和 Wolfspeed, Inc.于近日宣布达成一项战略供应商协议,约定 Wolfspeed 为通用汽车的未来电动汽车计划开发并提供碳化硅(SiC)功率器件解决方案。Wolfspeed SiC 器件将赋能通用汽车安装更高效的电动汽车动力系统,从而扩大其快速完善的电动汽车产品组合范围。SiC 将具体用于通用汽车下一代电动汽车的 Ultium Drive 单元所包含的集成电力电子之...

史海拾趣

问答坊 | AI 解惑

新手学习嵌入式从那里入手好呢??

我是学习电气自动化的应届毕业生,想在毕业后在嵌入式方向发展,但是我在学校只学过80c51单片机和c语言,请各位高手指教一下!我应该从那里入手学习嵌入式呢,谢谢…

查看全部问答∨

MSP430开发环境问题

最近弄了个MSP430的开发板,由于我电脑上没并口所以装了个并口扩展卡,在IAR Embeded  Workbench开发环境编译在线调试时总提示设备未连接。重装了下扩展卡驱动还是不行,下载线好像都没问题,弄了好半天确实不知道哪出问题了,还请哪位高 ...…

查看全部问答∨

数控直流稳压设计

本帖最后由 paulhyde 于 2014-9-15 09:19 编辑 数控直流稳压设计  …

查看全部问答∨

光电检测试验资料

本帖最后由 paulhyde 于 2014-9-15 09:14 编辑 光电测量技术实验指导书  …

查看全部问答∨

cc1101 + 单片机 还是cc2430

cc1101 + 单片机 的成本要低于 cc2430不少 请问,我是要在10米内隔几分钟发送一个数字 这两种方案,哪个更好?…

查看全部问答∨

在today界面显示标签

我想在today界面的上面部分,就是在显示电量、信号量的地方,添加一个label控件,用于显示当前的温度,怎么才能做到? 谢谢各位的指教…

查看全部问答∨

关于uc/OSII的调试?用什么编译器!

关于uc/OSII的调试?用什么编译器! ___最近在学uc/OSII,要用到BC4.52,但很难下载到,下到的不是IDE,不习惯用命令行方式,请问各位,还有其它更好的编译器可用来调试uc/OSII吗?谢谢!…

查看全部问答∨

9263WINCE5.0下SD卡驱动的问题

9263板跑WINCE5,使用SD卡时,时常从串口输出: WaitForSingleObject == WAIT_TIMEOUT (1000) StatusMask = 0x20 status 0xc0c5 这串数据重复输出,并且SD卡读写速度变得非常之慢。 查程序发现是PLATFOM\\COMMON\\SRC\\ARM\\ATMEL\\AT91SAM926 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved