Original question:
TMS320C6748: 关于TMS320C6748芯片SPI问题咨询
我用FPGA对C6748通过SPI发送数据,我对比了用逻辑分析仪获取到的主机发送的数据,并与从机接收到的数据进行了对比,发现接收到的数据存在部分缺失。请问我应该如何解决?下图左侧为从机接收到的数据,右侧为逻辑分析仪抓取到的主机发出的数据
您好,
可以正确识别数据,说明SPI的通讯时序是对的。
从接收到的数据来看,每接收到两字节后就丢失两字节,很有规律,大概率和接收端的应用层处理方法相关。
抱歉,我有些不明白“应用层处理方法”是什么意思,麻烦您举例说明一下
就是SPI驱动正确,很可能驱动程序上层的应用代码。
您可通过下面方法定位问题点,比如发送端只发送3个字节的数据,跟踪一下接收程序的执行情况。
抱歉我的主机在调试时也出现了一些问题,我需要一点时间来调试。希望您先不要关闭这个帖子
你好,在调试过程中我遇到了另一个问题,此前我接收到的7F变为了80,FF变为了00,都比之前大了1.此外经过测试,每次接收到的数据都有细微的差异,此前认为的规律性似乎只是整体上的,细节上却并不正确。
此外我一直有一个疑惑,DSP作为SPI从机需要对时钟进行设置吗?
如果数据无法接收正确,是SPI驱动有问题。
作为从机,需要对相应的SPI管脚做初始化。(TRM "28.2.8 SPI Operation: 4-Pin with Chip Select Mode")
你好,在此前的结果中,我的程序是已经做过了初始化的
产品网页上有SDK,请直接测试一下里面的SPI驱动是否正常。
抱歉,我不清楚应当如何使用
或许这里可以给出一些思路么
请参考开发指南“6.8. McSPI-QSPI-OSPI”,测试其CCS例程。
6.1. CSL — Processor SDK RTOS Documentation
也可参考这个帖子中分享的例程
TMS320C6748: Build SPI Loopback example and modify to work in Master/Slave mode - Processors forum - Processors - TI E2E support forums
你好,我的主机发送的数据是24位数据,或许我接受数据不完整的原因出现在这里。C6748可以接收24位数据吗?
SPI协议是8位的,C6748通过SPI可以接收多个字节。