NXP linux SPI多字节时钟连续没有间隔问题

项目场景:

硬件平台:NXP Cortex-A9 双核
linux内核版本:4.19.35


问题描述:

使用SPI通讯时,当传输数据小于32字节时发现SPI时序单个字节与单个字节之间时钟是连在一起的,没有间隔。大于32字节时,时序是分开的,由于SPI另一端接的是单片机,速度慢,需要把时序分开。

问题时序
NXP linux SPI多字节时钟连续没有间隔问题
正常时序
NXP linux SPI多字节时钟连续没有间隔问题

原因分析:

查看NXP SPI底层驱动发现当传输字节小于32字节时,系统会使用IO方式传输,反之这会使用DMA传输。

解决方案:

根据原因修改驱动的判断条件,由于我们不想使用IO方式,并且传输数据都会大于10个字节,所以我这里把判断条件改到了10。

需要修改的文件为:drivers/spi/spi-imx.c

需要修改的部分截图:
NXP linux SPI多字节时钟连续没有间隔问题

相关文章:

  • 2021-09-26
  • 2021-08-08
  • 2022-02-04
  • 2021-07-12
  • 2021-09-26
  • 2022-12-23
  • 2022-12-23
  • 2021-11-07
猜你喜欢
  • 2022-12-23
  • 2022-03-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-18
相关资源
相似解决方案