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.
你好
我正在努力将 ads131m08能量计芯片连接到 Sitara AM2432。
我在能量计 DRDY 引脚的下降沿信号中断上启动 SPI 事务。
中断触发40字节 SPI 事务以时钟输出数据帧。
我将 ADC 配置为 SCLK = 25MHz 、 CLKIN = 8.192MHz
我在这种配置下会遇到间歇性 CRC 故障、但当我将 SCLK 降低到14MHz 时、这些故障消失。 我使用~15cm 跳线电缆将 am2432 GP EVM J1安全连接器连接到 ads131m08 EVM。 这些 CRC 是否可能由于使用跳线电缆的限制而发生故障?
此外、在下面的照片中、黄色线是 SCLK、蓝色线是 DRDY。
为什么在启动 SPI 事务之前存在~20us 延迟、以及为什么在 SPI 事务的中间存在延迟?
我将在此发布的另一个相关问题:
MCSPI_Transaction_init( &( tzSpiDrvInfo->spiTransaction ) ); tzSpiDrvInfo->spiTransaction.channel = 0U; tzSpiDrvInfo->spiTransaction.dataSize = 8; tzSpiDrvInfo->spiTransaction.csDisable = TRUE; tzSpiDrvInfo->spiTransaction.count = ADC_DRV_ADS131M06_SPI_NUM_WORDS_FRAME * gSpiDataSizeBytes; tzSpiDrvInfo->spiTransaction.txBuf = ( void * )tzSpiDrvInfo->pTxBuffer; tzSpiDrvInfo->spiTransaction.rxBuf = ( void * )tzSpiDrvInfo->pRxBufferCurr; tzSpiDrvInfo->spiTransaction.args = NULL; transferOK = MCSPI_transfer( tzSpiDrvInfo->spi_hdl, &( tzSpiDrvInfo->spiTransaction ) );
当 csDisable = true 时、芯片选择工作为:
黄色是时钟、蓝色是 CS
当 csDisable = false 时、芯片选择不起作用:
这是已知的驱动程序错误吗?
您好、Michael、
我可以看到、在 SPI 传输开始前有16us 延迟、在 SPI 传输停止后有大约20us 延迟(CS 处于低电平时)。 这是一个已知的错误。 为了实现兼容性、SPI 驱动器添加了这些功能。 我们计划对 SPI 驱动器进行大修以解决此问题。
我不确定 ADC 间歇 性 CRC 错误的原因。 我猜是跳线电缆可能会损坏信号完整性。
从 csDisable 到现在、我的理解是当它设置为 false 时、CS 强制为低电平。 如果要传输大量数据、它将减少 SPI 传输前后的延迟。
此致、
Ming