我用DSP做从机用中断接收数据,接收主机发的数据,但是每次接收都是FF,疑问:DSP做从机的话,是不是不需要纠结DSP的SPI设置速率是否和主机的一样?有什么情况导致一直接收都是FF?从进中断的次数看接收字节数量是对的,但是数据是错的都是FF,什么问题呢?
Shine:
从机的时钟是由主机提供的。先用示波器量一下时序是否正确?
user6157972:
回复 Shine:
用示波器量了,时序都没有问题,用的是SPI1的3线模式,没有cs的。配置如下:
Shine:
回复 user6157972:
请问有没有加载GEL文件?GEL文件里有使能PSC中的SPI0模块吗?
user6157972:
回复 Shine:
有加载GEL,但是里面没有使能SPI0模块,我用的是SPI1模块,在程序初始化的时候有使能PSC中的SPI1模块
user6157972:
回复 Shine:
仿真看有两个错误出来,一个是位错误,一个是过载错误,看手册说是可能主机的时钟速率太高,我测主机的一个位的时钟周期是128us,高吗?
Shine:
回复 user6157972:
SPI slave的时钟最高是25MHz。请参考数据手册
Table 6-77. General Timing Requirements for SPI1 Slave Modes
www.ti.com/…/tms320c6748.pdf有使能fifo吗?
user6157972:
回复 Shine:
没有使能fifo,但是一直有个bit错误和过载错误,接收数据一直是FF,示波器看到应该是0x55的
Shine:
回复 user6157972:
发送可以吗?还是只是接收不行?
user6157972:
回复 Shine:
发送没试,因为我的设计里只需要接收
Shine:
回复 user6157972:
打开fifo试一下。
另外,可以试一下发送或者loopback回环模式,看SPI本身能否工作。