完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
真让人恼火……ECSPI-1 没有按应有的方式在从属模式下工作。
我正在使用 BSP L2.6.35_11.09.01_ER_source_bundle 和包含的内核 linux-2.6.35.3.tar.bz2 和 linux-2.6.35.3-imx_11.09.01.bz2。 我为以下操作模式配置了 SPI 控制器。 # SPI 模式 0(POL = 0,PHA = 0) # 从机模式 # BURST LENGTH = 7 --> 仅传输 8 位字节 # 根据 MX53 勘误表,SMC 位 = 0 # 没有 DMA IOMUX 配置如下: MX53_PAD_EIM_D16__ECSPI1_SCLK, MX53_PAD_EIM_D17__ECSPI1_MISO, MX53_PAD_EIM_D18__ECSPI1_MOSI, MX53_PAD_EIM_EB2__ECSPI1_SS0, 我有一个通过 SPI 与 i.MX535 通信的小型协处理器。协处理器为主,配置为 SPI 模式 0。波特率非常低 (329kHz)。 我想一次传输 64 个字节(MX53 RXFIFO 的大小)。因此,只要所有 64 字节都已传输,芯片选择就会保持低电平。 如果我做对了,如果在 INTREG 中启用了 RREN 位,MX53 应该中断每个接收到的数据字节 (BURST LENGTH = 7)。 问题是,在所有字节都已传输并且芯片选择再次处于非活动状态后,中断只会发生一次。 而且,从片选上升沿到调用中断处理程序的时间约为70ms!!!!这真的很奇怪,因为应该立即处理中断。 此外,TXFIFO 中填充了计数器值 1、2、3...64。这些值未正确传输。似乎只有第 4 个字节具有有效数据,并且整个传输的数据都是相同的 --> 未收到计数数据。 我需要在每个传输字节之间重新断言片选吗? 为什么调用中断处理程序这么慢? 如果在从机模式下运行,是否需要设置时钟分频器? |
|
相关推荐
1个回答
|
|
有几个可能的解决方案:
1. 检查从设备是否正确响应主设备的请求。可以使用Oscilloscope或逻辑分析仪进行检查。如果从设备无法响应请求,则可能需要检查从设备的硬件电路或软件驱动程序是否出现问题。 2. 检查ECSPI的时钟源是否正确设置。如果时钟源设置有误,则可能会导致ECSPI工作异常。可以参考硬件手册进行正确配置。 3. 检查ECSPI的中断和DMA设置是否正确。如果发生中断或DMA错误,则可能会导致异常行为。可以参考硬件手册或驱动程序代码进行设置。 4. 尝试升级到更稳定的内核版本。软件问题可能会影响ECSPI的正常操作。升级到更稳定的内核版本可能会解决此类问题。 5. 与芯片厂家联系并获得技术支持。如果以上解决方案均失败,则可能需要联系芯片厂家获得技术支持。他们可能会提供更详细的故障排除方法或解决方案。 |
|
|
|
只有小组成员才能发言,加入小组>>
1907个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36358 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4395 浏览 0 评论
6050 浏览 1 评论
6763 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4212 浏览 0 评论
619浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
614浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
606浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
694浏览 2评论
798浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 12:49 , Processed in 0.848921 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号