This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EMB1428与EMB1499均衡电路SPI通信问题



用单片机发送开关命令,收不到1428的返回数据,CEXT1与CEXT2也没有波形。12V、5V供电加上了,怀疑是SPI时序问题,第一次实验设置的是SCK空闲为高电平,发送命令是0xA0,第二次实验改成SCK空闲为低电平,发送命令是0x10,但仍没有返回数据,求问是什么原因?附上两次实验SPI的SCK、MOSI、MISO波形,时序是否正确呢?

  • 找到问题所在了,之前片选一直置0,导致FAULT_INT置高,把程序改了,在发送命令前将CS拉低,接收数据后CS置高,跑了一下收到了返回数据,但是返回的fault[3:0]是1000,看手册上说错误1000表示“CS falling edge while the EMB1428 is still waiting for a transition on DONE(rising or falling edge”,这是什么意思呢,要在DONE变高以后才能把CS拉低么,那么我的片选语句要放在那里呢,往数据寄存器里放数据前还是后呢?

  • 找到问题所在了,之前片选一直置0,导致FAULT_INT置高,把程序改了,在发送命令前将CS拉低,接收数据后CS置高,跑了一下收到了返回数据,但是返回的fault[3:0]是1000,看手册上说错误1000表示“CS falling edge while the EMB1428 is still waiting for a transition on DONE(rising or falling edge”,这是什么意思呢,要在DONE变高以后才能把CS拉低么,那么我的片选语句要放在那里呢,往数据寄存器里放数据前还是后呢?
  • 解决了,原因是两次发送命令之间的间隔时间太短了,导致开关还没有配置完毕DONE还没有拉低就再次发送命令了,将两次命令之间的延时加长后问题解决,收到fault[3:0]为1010