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.

[参考译文] ADC128S022:数据转换器论坛

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/990114/adc128s022-data-converters-forum

器件型号:ADC128S022

这是我们的 ADC 的原理图配置。 信号 EXT_ADC_MOSI、EXT_ADC_MISO、EXT_ADC_SCK 和 EXT_ADC_NSS 连接到 STM32F446ZE 微控制器。

当我们尝试将 CH0设置为读取通道时、我们在读取时没有遇到任何问题。

但是、如果我们选择另一个通道作为读取通道、ADC 似乎会切换通道、但我们读取的值错误。

例如、如果我们在 CH1上放置5V 直流信号、并尝试读取、则转换值为79。

这些是 SPI 配置参数:

例如、为了切换到 CH1、 我们发送2个8位无符号整数、在第二个整数中、我们放置了值:0b00001000 (CH1)。

然后,我们将 NSS 切换到低状态,并调用此函数:

HAL_SPI_TransmitReceive (&hspi1、TX、Rx、2、1000);

其中 TX 和 Rx 是无符号 int 2元素数组。

最后、我们将 NSS 设置为高状态。

为了获得转换后的样本、我们使用以下传递函数:

值= rxtmp[0]|((uint16_t) rxtmp[1]<< 8);

电压=(浮点)值*5/4096;

此致、

Giuseppe POTA

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

    您好!

    我建议探测数字总线并获取数字通信的示波器截图、这可以直观地检查实际发生的情况与预期的情况。  

     您使用的时钟相位和极性错误。 该器件在 SCLK 的下降沿改变状态、数据应在上升沿读取。

    我建议使用 CPOL =1和 CPHA =1。

    此致

    Cynthia