XMC4000系列实现SPI全双工超过20MHz传输的注意事项
XMC系列在DAVE上的开发可以通过LLD和APP两种方式进行,官方提供的例程一般是基于APP进行配置的,可以参考附件。但最近很多小伙伴在测试的过程中发现SPI的速率设置超过13MHz时就会出现接收错误的情况,master发送给slave时,从站可以正确接收,但是slave将数据返回master时就会出现接收错误。经过查看datasheet和相关的手册发现,我们的GPIO口因为pad type的不同能设置的驱动模式还有所不同。
可参考下图:
不同的pad对应的功能还不同,A1对应的时低速输出驱动,A1+是中速,A2是高速。可以参考下图:
所以想要SPI传输速率超过20MHz,最好选择pad type为A2的引脚,而且需要选择为USIC module 1对应的通道,具体可以参考datasheet:
下面是经测试过后能实现超过20MHz的引脚组合(XMC4700 RELAX KIT),仅供参考,实际配置请根据自己使用的芯片来决定.
这个如果没有仔细看芯片手册的话,确实不容易注意到。 IO的反转速率的问题。如果Dave能够根据速率自动匹配就好了,或者提示用户去选择一下。 其实觉得如果是复用模式就自己做选择就好了,底层封装好 SPI跑到20MHZ的速率很少吧,除了外挂是存储或者高速ADC芯片。 这个如果不注意datasheet这部分细节,确实很难想到是这部分问题 所以说关键还是要仔细看芯片手册才得行啊 似乎通过LLD配置也无法避免这个问题? 跑20MHZ的速率一般只有高速ADC外设可能需要。 超过一定速度了对于总线以及硬件设计要求就高了 SPI全双工超过20MHz这个速率非常快 好家伙,这个速度太快了。好多设备用不了吧? 是为了大数据吞吐量用的?比如视频、音频处理? GPIO口的复用设置很重要 速度高了会增加误码率吗 地瓜patch 发表于 2024-10-30 23:19
速度高了会增加误码率吗
当SPI速率增高时,数据传输的时间会减少,这意味着数据信号的上升和下降时间也会减少。如果信号的上升和下降时间太短,可能会导致信号失真,进而导致误码。 suncat0504 发表于 2024-10-30 18:31
是为了大数据吞吐量用的?比如视频、音频处理?
高清摄像头/高性能存储器/高速音频接口/高速传感器接口等应用都会用到 IFX_OwenSu 发表于 2024-10-31 09:47
高清摄像头/高性能存储器/高速音频接口/高速传感器接口等应用都会用到
确实,这些应用的吞吐量巨大,需要高速接口。 SPI全双工超过20MHz速率非常快
页:
[1]