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.

关于28335 SPI FIFO 发送多字节片选引脚时序的问题



            虽然有人提过类似的问题,但还是有些地方不明白,希望和大家交流下。

          程序很简单,28335作为主SPI,传感器作为从SPI,用SPI控制传感器并接收器输出信号。传感器要求DSP的SPI先给其(发送)一个3字节的命令,传感器收到第一个字就会有信号发出。由于需要将3个字节连续的发送出去,采用FIFO的中断发送方法,设计FIFO发送中断匹配位TXFFIL=3.其他的相关寄存器和中断设置参照照28335的官方例程。问题就出现在这里:

    1)仿真启动后,程序就进入FIFO发送中断子程序中,并且发送FIFO状态位TXFFST[4:0]一直不变(等于0);按照SPI Datasheet,只有当TXFFST[4:0]不小于TXFFIL[4:0]时,才会进入发送中断,但在测试过程中似乎发送中断匹配位没有发挥作用。

      为什么启动程序后就进入中断?为什么发送中断匹配位不起作用?

   2)仿真启动后,程序一直在发送中断中,因此片选信号的时序从开始发送时一直处于低电平状态,没有上升沿;而控制时序要求,一次命令字符发送完毕后片选信号应该拉高。

        如何解决这个时序问题?

对于用一个SPI控制多个从设备时,片选信号的解决办法是不是只有将DSP的多个GPIO口配置成数字输出控制从设备?

欢迎指导语讨论!