mrxj173 发表于 2018-10-29 14:44

求助!两块DSP进行SPI通信,从机无法接收数据!

两块芯片的连接应该没有问题,SIMO、SOMI、SPICLK分别连上,从机的SPISTEA连到主机的控制GPIO口上,两块芯片也共地了,主机可以正常发送,从机无法接收,CCS在线调试时发现从机的SPI INT ENA位始终为0,如下图,SPIRXBUF中没有数据。

mrxj173 发表于 2018-10-29 14:46

void main(void)
{
int k;
init();
init_spi();
while(1)
{
for(k=0;k<100;k++)
{
   while(SpiaRegs.SPISTS.bit.INT_FLAG!=1) {}

       q = SpiaRegs.SPISTS.bit.INT_FLAG;
         if(k>99){k=0;}
       jieshou = SpiaRegs.SPIRXBUF;
       SpiaRegs.SPISTS.bit.OVERRUN_FLAG=1;
}
}
}
仿真调试时始终停在while(SpiaRegs.SPISTS.bit.INT_FLAG!=1) {} 这句话

mohanwei 发表于 2018-10-29 14:57

上逻辑分析仪或示波器,先看看SPI主机发出的时序是否正确。

mrxj173 发表于 2018-10-29 18:01

mohanwei 发表于 2018-10-29 14:57
上逻辑分析仪或示波器,先看看SPI主机发出的时序是否正确。

您好,用示波器看了,主机发送的时钟是正常的,SIMO引脚也有数据输出,但是从机收不到

zhangmangui 发表于 2018-10-29 21:57

收发要交叉一下互联吧

zhangmangui 发表于 2018-10-29 21:58

两个MCU都在同一块板子上吗      除了共地信号也要匹配

mrxj173 发表于 2018-10-30 10:43

zhangmangui 发表于 2018-10-29 21:57
收发要交叉一下互联吧

SPI应该不用交叉,SIMO是丛收主发,SOMI是从发主收

mrxj173 发表于 2018-10-30 10:44

zhangmangui 发表于 2018-10-29 21:58
两个MCU都在同一块板子上吗      除了共地信号也要匹配

是两块开发板,之间用杜邦线连着的

mrxj173 发表于 2018-10-30 10:46

昨天收不到数是从机的芯片有问题,吹下来重焊就能收到了,但是现在收到的数中除了主机发出来的,还掺杂着很多别的数,这是为什么?

蒋博1026 发表于 2018-10-30 12:49

你可以先写一个自发自收,验证一下板子问题和连接问题

mrxj173 发表于 2018-10-30 14:25

找到问题了,接收数据的时候位错开了一位到两位,比如我连续发送88,从机收到的全是11和24577,如下图,但是SPI不是同步通信吗,完全靠主机发出的时钟来发送和接收数据,为什么会错开呢?

877049204 发表于 2018-10-30 15:00

mrxj173 发表于 2018-10-30 14:25
找到问题了,接收数据的时候位错开了一位到两位,比如我连续发送88,从机收到的全是11和24577,如下图,但 ...

主从机格式不匹配,主机设置的是16位格式,从机是8位吧?

mrxj173 发表于 2018-10-30 15:21

877049204 发表于 2018-10-30 15:00
主从机格式不匹配,主机设置的是16位格式,从机是8位吧?

从机也是16位,取数虽然错了,但是换算成二进制还是16位

zhangmangui 发表于 2018-10-30 21:41

奇怪了      两者之间不行在通讯线上串联电阻试试

zhangmangui 发表于 2018-10-30 21:45

错位确实不合理   片选   时钟   比较关键    对比测试一下

mrxj173 发表于 2018-10-30 21:52

zhangmangui 发表于 2018-10-30 21:41
奇怪了      两者之间不行在通讯线上串联电阻试试

谢谢,串联多大的电阻比较合适?

kysa555 发表于 2018-10-31 22:31

学写了,点赞

MinMinMin 发表于 2018-11-8 10:52

收发要交叉一下互联吧

mrxj173 发表于 2018-12-5 15:28

MinMinMin 发表于 2018-11-8 10:52
收发要交叉一下互联吧

不用交叉互联,这个问题已经解决了,最终实现了一块主机四块从机的SPI通信,谢谢大家!

xiaole112 发表于 2018-12-6 11:50

okok
页: [1]
查看完整版本: 求助!两块DSP进行SPI通信,从机无法接收数据!