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.

[参考译文] ADS1278:有关驱动 ADS1278的理解问题

Guru**** 2535750 points
Other Parts Discussed in Thread: ADS1278

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/843487/ads1278-comprehension-questions-about-driving-ads1278

器件型号:ADS1278

大家好、

我正在尝试使用 ADS1278设置数据采集系统。 数据通过 ADS1278的 SPI 接口和32位微控制器读出。 由于微控制器的 SPI 库还不够高、因此数据通过位拆裂读取。 在我开始回答问题之前、下面是 ADS1278的一些设置:

格式:{Interface Protocol=SPI;DOUT Mode = TDM;Data Position = Dynamic}
MODE:低速(CLKDIV=1)
活动通道数:8.

现在、我的理解问题:

1) !DRDY 引脚连接到微控制器的中断控制 GPIO,该 GPIO 对下降沿作出反应。
问题:
当数据转换完成时,ADS1278的!DRDY 引脚上的信号会切换到低电平。


2) 在!DRDY 中断 GPIO 的中断服务例程中,我生成串行时钟(SCLK),并逐一读取所有192位(24*NumberChannels)。
问题:
ADS1278会将 SCLK 下降沿的位推出、以便微控制器必须在上升沿之后读取数据?
因此、在"伪代码:"中、

void ISR !DRDY
{
for (idxChannel=0;idxChannel<8;idxChannel++)
{
for (i=0;i<24;i++)
{
SCLK =低电平
SCLK =高电平
ADS1278_SingleBit =读取(DOUT_GPIO)
ADS127_32bit_value=ADS127_32位和位移(ADS12778_SingleBit)
}
ADS1278_data_array_of_all_8_channels[idxChannel]=ADS1278_32bit_value
}
}

问题:  

在!DRDY 中断之前或之后 SCLK 必须达到什么级别? 这是“低”还是“高”?

3) 根据数据表、ADS1278可与!SYNC 电平同步。 必须在微控制器的相应 GPIO 上生成哪一个电平? 有时、当我对时序/电平图进行否定时、我会对其感到恼怒。 我以这种方式理解它。
"伪代码:"

void sync ()
{
SYNC_PIN=low
WAIT_A_BIT //考虑数据表
中的最短时间 SYNC_PIN=HIGH
} 

我会很高兴得到答案!

您好!
图格鲁尔

已通过 www.DeepL.com/Translator 进行翻译

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

    您好 Tufrul、

    感谢您的发帖!

    1. /DRDY 信号是低电平有效中断。 当/DRDY 从高电平转换为低电平时、新的转换准备就绪、可供读取。
    2. 请参阅数据表第8页上的 SPI 时序图。 MSB 在/DRDY 下降沿之后移出。 所有其他位由 SCLK 下降沿移出。 主机控制器应在 SCLK 上升沿读取数据。
    3. 当接口处于非活动状态(即/CS = 1)时、SCLK 应该为低电平空闲。

    此致、

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

    Ryan、您好!

    感谢您的回复!

    1) 好的、我的!DRDY 的中断服务例程(ISR)只是针对下降沿触发、因此这是正确的!

    2) 好的、那么我的 ISR 中的"读取 ADS "逻辑是正确的、那么? 将第一个 SCLK 置为低电平、然后置为高电平、然后读出该位。

    3) 好的。

    您能否确认我在初始帖子代码中的“逻辑”是正确的?

    此致、

    图格鲁尔