V853的SPI从机模式读取同步信号问题
-
功能需求如下:使用V853的E907小核做程序开发,SPI当从机,需要一直读取主机(一款电能计量芯片)发送过来的数据,数据帧大概是5ms一个周期,数据发送2.25ms,空闲时间2.75ms,现在调试程序发现,只有上电第一次是能正常读取到完整数据帧的,如果LINUX再次启动小核程序,计量芯片可能还在输出波形,此时接收的数据帧就会无法对齐,导致后续定长数据帧都错位了。
本来想通过SPI片选的引脚的电平值来做SPI开启的同步信号的,但看了芯片手册,说是GPIO如何配置成复用功能,读取IO口会返回一个未定义的值,实测过也的确读取不到电平变化(接了逻辑分析仪看是每帧都有正常电平高低变化的)。
请问还有什么办法配置实现SPI在CS高电平(没有在通信)期间才开启传输吗?(暂时还没试过从计量芯片那边解决这个问题)后续调试发现是小核程序退出时,DMA传输还没关闭导致该问题。不过还是想了解一下上面的SPI传输如何同步(暂时只能在配置SPI读取数据前,让计量芯片暂时关闭波形输出,要重新接收时再打开波形数据,但是如果只是某帧数据错位或校验不通过,这样方式有点浪费资源和会丢失较多数据)。
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号