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.

DM6467的SPI控制器,读操作不定时丢失第二个字节?

使用DM6467的SPI控制器读取从设备的状态,比如应该读取 0x46 0x01 0x00 0x01 0x50 ,不定时会得到0x46 0x00 0x01 0x50,大概24小时会出现10次,第二个字节不知怎么没了?

  • 你好,

    SPI的信号是否有测量过,是否良好,是否有干扰?

    降低spi的速度是否有改善?

  • 你好,

    为了这个问题我们专门调整了布线重新制版还是没解决问题,目前max_speed_hz = 10 * 1000 * 1000,降低到5M还是会出现问题。

    请问还有没有其它可能性?

    对于

    static struct davinci_spi_platform_data davinci_spi_cimax =
    {
     .version = SPI_VERSION_1,
     .num_chipselect = 1,
     .wdelay  = 0,
     .odd_parity = 0,
     .parity_enable = 0,
     .wait_enable = 0,
     .timer_disable  = 0,
     .clk_internal = 1,
     .cs_hold = 0,
     .intr_level = 0,
     .poll_mode = 1,
     .use_dma = 0,
     .c2tdelay = 0,
     .t2cdelay = 0,
    };

    这个不太明白怎么配置才好?

  • hi,Chris Meng 

    我将

    .mode  = SPI_MODE_0

    改为了

    .mode  = SPI_MODE_3

    已经运行了24小时没出过问题,请问这两种模式对时序有什么影响?

  • 你好,

    我看了一下硬件spi的user guide,没有特别的模式(只有主从模式)。你可以对比一下两个模式下的寄存器差别吗?我怀疑是和时钟极性/相位有关。

    请参考spi user guide的章节2.3.2 Clock Polarity and Phase。