i.MX6/i.MX7 EIM总线驱动-异步通信

本文介绍了如何在i.MX6/i.MX7平台上实现EIM总线驱动,以与FPGA进行异步通信。通过分析i.MX6D手册,详细讲解了EIM的硬件资源、时序及其实现18MByte/S的传输速度。讨论了读写时序,强调了等待数据稳定的重要性,并提到了时序配置对传输效率的影响。接下来的内容将涵盖EIM非DMA和DMA驱动编程,以及测试方法。
摘要由CSDN通过智能技术生成

i.MX6/i.MX7平台,支持EIM(External Interface Module)总线扩展。在实际项目中,大部分使用该总线和FPGA通信比较多,我们这里以与FPGA为例实现该驱动。

i.MX6是使用较多的一个,我们以i.MX6为例进行分析。我手上的芯片型号是i.MX6D。

我们实现的功能是:使用EIM的16根数据线与FPGA进行数据传输,EIM_OE/EIM_RW用来控制读写,EIM_CS用来选中。

最后效果:传输速度可以达到18MByte/S,这个传输速度应该是EIM异步通信比较大的一个传输速度了。要想再提速,对FPGA的性能要求就很高了,后续会介绍。

通过阅读i.MX6D手册Chapter 2 Memory Maps可以知道,EIM对应的内存映射地址是 0x0800_0000----0x0FFF_FFFF 共128MByte大小。这里的这个地址对我们非常的重要。

通过阅读i.MX6D手册Chapter 4 External Signals and Pin Multiplexing,可以知道,EIM比较重要的硬件资源有32根数据线(EIM_DAn/EIM_An),26根地址线(可寻址大小128MByte)(EIM_Dn),1根时钟线(EIM_BCLK),4根片选线(EIM_CSn),1根读信号(EIM_OE),1根写信号(EIM_RW)。

 

继续阅读i.MX6D手册Chapter 2

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

monkey_llll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值