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.

[参考译文] ADC121S021:在慢速微控制器上使用GPIO读取?

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/573425/adc121s021-readout-with-gpio-on-slow-microcontroller

部件号:ADC121S021
主题中讨论的其他部件: ADC121C021

我需要用运行频率为4 MHz的微控制器的GPIO引脚来读取ADC121S021。  

ADC的输入连接到100千欧/220nF滤波器。 应用程序只需进行一次采样,然后快速关闭ADC,等待更长的时间(几秒钟..小时)重复。

我已经实现了一个位冲击SPI读数功能。 它打开ADC电源,一段时间后它激活CS_N,然后尽可能快地对数据进行时钟计时。 忽略第一个样本,使用第二个样本。

第二个样本的数据与输入电压很好地对应;在RMS噪声低于1 LSB的情况下,它似乎工作正常。

但是,在逻辑分析器上查看SCLK,CS_N和SDATA时,我发现我违反了PDS的计时要求:

- SCLK脉冲的高时间为250 ns宽,

- SCLK最快的低时间为1 us (由于每个下降边缘后的读取和存储操作)

所以这比允许的更不对称(大腿< 0.4 Tsclk, Tlow > 0.4 Tsclk)。

控制器PCB无法更改,因此没有选项可用于生成具有专用SPI外设或更高时钟频率的正确时钟。

我可以改变SCLK形状,使高脉冲长度为1 us,就像低脉冲一样。  
但采样速率下降到25 kSPS (至少基于f=1/(20xTsclk)),其中所有规格的速度均为50 kSPS。

由于这将成为可靠产品的一部分,我想知道:

如果我不遵守时间要求,会出现什么问题? 哪些ADC规格会受到影响?

更好的是:太不对称和快,或者对称和太慢?

我知道,除了数据表限制之外,没有任何保证,但基于ADC内在胆量的任何提示或推理都将受到极大的赞赏。

此外,我们亦欢迎各界人士就更合适的零件提出建议。

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

    在您所使用的设置中,您无法通过增加切换时间来使零件在规格范围内工作。

    离合器 TCL tclk 单击 TCL,h,min SPS
    0.0.0025万 0.0.0001万 0.0.0125万 80万 0.0.0005万 4万
    0.0.0005万 0.0.0001万 0.0.0015万 66.6667万 0.0.0006万 3.3333万
    0.0.0075万 0.0.0001万 0.0.0175万 57.1428万 0.0.0007万 2.8571万
    0.0.0001万 0.0.0001万 0.0.0002万 50万 0.0.0008万 2.5万

    我不知道是否有任何与时钟如此不对称有关的问题。 我想我使用的是这样的零件,我会尝试在750ns或1us处使用切线,以便更对称。

    以低于规定的采样速率运行时可能出现的问题之一是在测量过程中内部采样电容器下垂。 我认为这不会是一个问题,在25ksps时。 正如您所提到的,在超出规格的情况下操作时没有保证,但我认为这是您必须使用的系统的最佳设置。

    另一种方法是尝试ADC121C021。 此器件使用I2C通信,因此其固有的速度要慢得多。 它可以使用100kHz或400kHz时钟运行。

    Mike
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Mike,感谢您的清晰回答。 使用750ns/1000ns进行的第一次快速测试正常,所以我想我会尽可能长时间坚持这一测试。
    第二种想法是,通过内嵌一些汇编代码,我可以将低时钟时间缩短到750甚至500纳秒。 ADC121C021是一个很好的选项,我应该早点发现;-)但现在需要三个选项中的大部分工作。