TI中文支持网
TI专业的中文技术问题搜集分享网站

CC1310: cc1310作为 spi slave 时,miso的数据和clk有错位现象

Part Number:CC1310

您好:

我目前使用cc1310作为spi slave同另外的rsic-v的芯片通信,现在发现收到的数据偶尔会有错位的现象,有没有什么办法能够调整这个miso的输出相位的?

spi master是 rsic-v的ch32v307 ,采用的是spi mode2,spi slave也是mode2;通讯有错位,波形图如下:绿色是clk,黄色为miso;经常会有比如0xF6 变为0xF2的情况;

andy:

补充一点,spi 的clk 是4.5M的

,

andy:

SPI_Params_init(&spiParams); spiParams.frameFormat = SPI_POL0_PHA1; spiParams.mode = SPI_SLAVE; spiParams.transferCallbackFxn = transferCompleteFxn; spiParams.transferMode = SPI_MODE_CALLBACK; slaveSpi = SPI_open(Board_SPI_SLAVE, &spiParams);

CC1310这边的spi配置。

,

Galaxy Yue:

您好,查看您的代码

SPI帧格式中,时钟极性为0,可以看出与SPI mode 2是一致

SPI配置目前看起来是没有问题的

您可以尝试以下方面:

1.降低时钟速率,看看是否能减少数据错位

2.检查信号线干扰,确保MISO线和时钟线不受干扰

,

andy:

降低到2M,确实没有问题,但是我必须用4M的速率,spi的线缆有0.8m长,缩短线缆后也没有问题,但是我们必须用长线缆的,硬件同事说是我们这个波形有问题,看软件上能不能调整相位。

,

Galaxy Yue:

检查一下硬件线是没问题的吗?

您可以参考一下这篇帖子,关于spi如何调整相位

https://e2echina.ti.com/support/machine-translation/mt-sub-1-ghz/f/mt-sub-1-ghz-forum/408074/launchxl-cc1310-spi

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/574494/rtos-launchxl-cc1310-spi-data-error-when-use-as-slave-device

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/750965/ccs-cc1310-spi-communication-between-cc1310-master-and-afe4300-slave

赞(0)
未经允许不得转载:TI中文支持网 » CC1310: cc1310作为 spi slave 时,miso的数据和clk有错位现象
分享到: 更多 (0)