最近学习了ARM+FPGA的设计架构,ARM和FPGA结构的通信大致可以分为两种:
一种是数据量小、通信速率要求不高的情况,可以考虑采用SPI、IIC等差UN星通信方式。ARM都带有相关的SPI通信控制器等,在ARM端直接对相关的SPI通信控制器操作就可以了。而FPGA这一端可作为SPI从,按照SPI协议的时序写好从设备接口,这个工作量没有多大,所以相对都比较容易。
另一种是数据量大、通信速率要求较高的情况,就要采用并行总线的方式了。这时把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寄存器的控制,不知道按照一定的顺序操作这个寄存器组写出来的数据收发程序是不是就可以称之为所谓的驱动,求大神解释。
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核心板在溯源秤中的应用
下一篇:基于ARM处理器的机器人硬件设计
推荐阅读
史海拾趣
机顶盒,全称为数字视频变换盒,是现代家庭娱乐中不可或缺的重要设备。它作为连接电视机与外部信号源的桥梁,不仅实现了传统电视信号的接收与转换,还通过数字化和网络化技术,极大地丰富了用户的观看体验。
从功能上看,机顶盒主要分为数字机顶盒和网络机顶盒两大类。数字机顶盒主要实现数模转换功能,让用户在模拟电视机上也能观看数字电视,包括有线电视、卫星电视和地面广播电视等多种信号源。而网络机顶盒则更进一步,能够接入互联网,提供包括在线视频、流媒体服务、游戏等在内的多元化娱乐选择。
在技术层面,机顶盒不断升级,逐步向高清、超高清乃至更高级别的视频标准迈进。同时,智能化技术的应用,如语音助手、智能推荐等,使得机顶盒的操作更加便捷,用户体验更加优越。此外,随着云计算和边缘计算技术的发展,机顶盒在内容分发和管理上也变得更加高效。
综上所述,机顶盒以其强大的功能和不断升级的技术,成为现代家庭娱乐的重要组成部分。它不仅满足了用户日益多样化的观看需求,还通过技术创新不断提升用户体验,引领着家庭娱乐的未来发展方向。
在COVID-19全球大流行期间,CUI Devices展现出了高度的社会责任感。公司决定向那些致力于设计和制造抗击疫情关键医疗设备的OEM、制造商、志愿者和组织提供免费的产品样本。这些样本涵盖了呼吸器、呼吸机、血液分析仪、测试设备、患者监护仪、成像系统和家庭医用器材等多个领域。此外,公司还与全球的制造设施和分销合作伙伴紧密合作,以确保其多样化的产品组合能够随时满足市场需求。
Corstat Containers公司在电子行业中崭露头角,始于一次技术突破。当时,公司研发团队成功开发出一种新型的防静电电子元件包装盒,有效解决了电子产品在运输过程中因静电导致的损坏问题。这一创新产品迅速获得了市场的认可,许多知名电子品牌纷纷与Corstat Containers公司建立合作关系。随着订单量的不断增加,公司的规模逐渐扩大,生产线也更加完善。
随着科技的不断进步,Axon' Cable公司逐渐将业务拓展至航空航天领域。公司研发出了一系列高性能、高可靠性的数据网络系统和连接器产品,成功应用于众多重要的航空航天项目中。这些产品的成功应用不仅提升了Axon' Cable在航空航天领域的知名度,也为公司带来了丰厚的利润和更广阔的发展空间。
品质是Axon' Cable公司的生命线。公司始终坚持以客户需求为导向,不断提升产品品质和服务水平。Axon' Cable建立了完善的质量管理体系,并通过了多项国际认证。同时,公司还注重持续改进和创新,不断优化生产流程和提高生产效率。这些努力使得Axon' Cable的产品在品质上始终保持领先地位,赢得了客户的信任和好评。
这些故事虽然无法涵盖Axon' Cable公司发展的全部细节,但试图展现了其在电子行业中的成长轨迹和取得的成就。通过这些故事,我们可以看到Axon' Cable公司凭借其坚定的信念、不懈的努力和创新精神,在电子行业中不断发展壮大,成为了一家具有全球影响力的知名企业。
作为一家有社会责任感的企业,DESCO公司始终关注环境保护和可持续发展。公司采用环保材料和生产工艺,减少生产过程中的污染排放。同时,DESCO还积极参与社会公益活动,为当地社区和弱势群体提供帮助和支持。这些举措赢得了社会各界的广泛赞誉和认可。
我是学习电气自动化的应届毕业生,想在毕业后在嵌入式方向发展,但是我在学校只学过80c51单片机和c语言,请各位高手指教一下!我应该从那里入手学习嵌入式呢,谢谢… 查看全部问答∨ |
最近弄了个MSP430的开发板,由于我电脑上没并口所以装了个并口扩展卡,在IAR Embeded Workbench开发环境编译在线调试时总提示设备未连接。重装了下扩展卡驱动还是不行,下载线好像都没问题,弄了好半天确实不知道哪出问题了,还请哪位高 ...… 查看全部问答∨ |
关于uc/OSII的调试?用什么编译器! ___最近在学uc/OSII,要用到BC4.52,但很难下载到,下到的不是IDE,不习惯用命令行方式,请问各位,还有其它更好的编译器可用来调试uc/OSII吗?谢谢!… 查看全部问答∨ |
|
9263板跑WINCE5,使用SD卡时,时常从串口输出: WaitForSingleObject == WAIT_TIMEOUT (1000) StatusMask = 0x20 status 0xc0c5 这串数据重复输出,并且SD卡读写速度变得非常之慢。 查程序发现是PLATFOM\\COMMON\\SRC\\ARM\\ATMEL\\AT91SAM926 ...… 查看全部问答∨ |