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.

[参考译文] ADS8166:驱动程序开发

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/892072/ads8166-driver-development

器件型号:ADS8166

大家好、

我们正在使用 ADS8166进行开发并编写固件、因为没有支持此功能的示例代码/驱动程序。 下面列出了一些问题。 感谢您的帮助!

  1. 我们希望在标准手动模式下使用8个独立 ADC 的单端器件。 如 ads8166数据表的图42和43所示、有一个操作是"切换到 AINy"、即切换到通道 AIN#。 我认识到这种操作需要使用 CHANNEL_ID 寄存器0x1D 来完成、因为这也指定了3位用于选择模拟输入通道。 通道"AINy"上的此开关操作是写入操作还是读取操作? (写入和读取操作由24位数据包中的高5位指定)。
  2. 我怀疑切换到特定通道的操作应该是一个"写入"命令、因为读取具有指定的低8位0x00。 如果我们要将其写入寄存器、我是否需要在0x00 REG_ACCESS 寄存器中设置 REG_ACCESS_BITS、以正确完成此操作?
  3.  24时钟脉冲数据包与 ADS 模块的关系有多严格? 在我们的嵌入式 Linux 平台上、默认 SPI 驱动程序不接受24位数据包大小、因为对于这24个时钟脉冲、芯片选择为低电平。 它将需要8位、16位和32位、我已经将它设置为32位大小、0表示末尾的额外8位

此致、

车架

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

    您好、Garret、

     更改通道是一个写入操作。  更改为通道 AIN1的命令为:

    00001 00000011101 00000001

    不 可以、REG_ACCESS_BITS 仅适用于表10中的寄存器。  您无需写入该寄存器即可更改通道。

    您 可以为一个帧计时32位。  在 SDO 线路上、前16b 将是转换结果、后接16个零。  如果发送 WRITE 命令以更改通道、则需要在帧的开头添加8个零、然后添加上述24b 命令。

    如果使用32b 帧、要更改为通道 AIN1、您将发送以下位:

    00000000 00001 00000011101 00000001

    此致、
    Keith Nicholas
    精密 ADC 应用