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.

[参考译文] ADS7028:无法让 ADS7028 在自主模式下工作。

Guru**** 2693285 points

Other Parts Discussed in Thread: ADS7028

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1578632/ads7028-unable-to-get-ads7028-working-in-autonomous-mode

器件型号:ADS7028


您好、
我尝试 使用 SPI DMA 实现 ads7028 多通道采样、但我只得到 0。

连单个频道都不适合我 单通道的配置为:

writeSingleRegister (OPMODE_CFG_ADDRESS、OPMODE_CFG_CONV_MODE_Autonomous_MODE);  

writeSingleRegister (AUTO_SEQ_CHSEL_ADDRESS、0x20);

writeSingleRegister (SEQUENCE_CFG_ADDRESS、

SEQUENCE_CFG_SEQ_MODE_AUTO_SEQ | SEQUENCE_CFG_SEQ_START_ENABLED);

Read data 函数:

uint8_t readDataDma (uint8_t *dataRx、SPI_HandleTypeDef * handle)

uint8_t ret = 0;

uint8_t dataTx[4]={ 0 };

uint8_t numberOfBytes = spi_crc_enabled? 4:3;

IF (SPI_CRC_ENABLED)

dataTx[3]= calculateCRC (dataTx、numberOfBytes - 1、CRC_initial_SEED);

}

ads7028_setCS (low);

RET = HAL_SPI_TransmitReceiver_DMA (handle、&dataTx[0]、dataRx、numberOfBytes);

}

 然后在 SPI_DMA 回调时将 CS 引脚再次设置为高电平。
建议我做什么不好?
我的自主模式只有 0。 自动时序控制模式工作。

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ramesh:

    为确保软件在硬件中执行正确的操作、您是否能够共享该接口的逻辑分析仪捕获结果?

    此外、还可以补充一点、即自主模式的目的不是直接读取转换、而是监控独立于 SPI 接口的输入、并在检测到条件时设置警报。 您打算如何操作该器件吗?

    此致、
    Joel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Joel:  
    感谢您的答复。
    我的目的是实现前一种方法、即在已启用的可变数量通道之间连续读取转换。
    由于硬件限制、我无法获取逻辑分析仪捕获结果。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在这种情况下、我认为自动定序模式会更合适。 在此处、您选择要定序的通道、以及所选通道之间的转换数据周期。 请参阅以下数据表中的图 37。 SCLK 和 CS 仍在主动提供、并通过 SDO 接收转换数据。 配置所选通道后、无需驱动 SDI 即可更改通道。

    如果您更喜欢此模式、请告诉我、如果需要、我可以提供有关配置此模式的更多帮助。

    此致、
    Joel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Joel:
       感谢您的回复我已经切换到自动 — 排序现在. 我会看到数据。 我正在尝试可变多通道采样。 那么每帧从通道 0 到通道 7 的采样顺序是多少?  
    谢谢、
    Ramesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ramesh:

    是的、它按递增顺序排序。 在测试中、将通道 ID 位附加到 ADC 转换会有所帮助。 这需要 16 位 SPI 帧而不是 12 位 SPI 帧、并通过对 DATA_CFG 寄存器中的 append_STATUS[1:0]字段进行编程来完成。

    以下部分可能对您有帮助。

    此致、
    Joel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢你的帮助 Joel。 这澄清了我的疑虑。