你(们)好。
我最近在没有忙指示器模式的三线制 CS 中使用 ADS8319进行了设计、但连接时遇到问题。 我的电路如下所示:
IN+连接到偏置为2V5的缓冲器。 如果我在 C11上测量、我看到2.5V、在 REFIN 和 VA+上、我看到5V、在 VBD+上、我看到3.3V。 AGND 和 GND 通过一个0欧姆电阻器进行连接。 专用稳压器的+5V 通过铁氧体连接到+5VA、并通过一个额外的10uF 电容器接地。 我还应该提到、我的5V 稳压器是通过微控制器的引脚启用的、因此 ADS8319将在 VA+上接收3V3、然后在 VA+上看到5V 电压、我想知道这是不是问题吗?
要从 ADS8319读取数据、我将在 STM32L4微控制器上使用此代码:
uint8_t ADC_Read (uint16_t*结果){ uint8_t DATA[2]; HAL_GPIO_WritePin (SPI2_CS_GPIO_Port、SPI2_CS_Pin、GPIO_PIN_SET); dwt_delay_us (2); //延迟至少1600ns HAL_GPIO_WritePin (SPI2_CS_GPIO_Port、SPI2_CS_Pin、GPIO_PIN_RESET); IF (HAL_SPI_Receive (&hspi2、data、 2、100)!= HAL_OK){ 返回0; } *结果=((uint16_t) data[0]<< 8)| data [1]; 返回1; }
我在模式0中配置了 SPI、并以312kb/s 的低速运行
在系统的第一个功率上、我似乎能够正确地从 ADS8319获取测量值、但它看起来不是~32768的半量程读数、而是32768的半量程读数 48643。
在下面的示波器迹线中、蓝色表示 CONVST、红色表示 SCLK、绿色表示 SDO。
第二读数如下所示:
在 CONVST 变为低电平后、SDO 似乎会针对结果的 MSB 被驱动、但随后突然开始放电/悬空、随后它漂移至零伏、尽管持续对 CONVST 和 SCLK 进行脉冲、此后 SDO 引脚永远不会再次被驱动。 我对时钟脉冲16次、可以看到16个下降沿、因此我不确定 ADS8319为什么在第一个结果之后不能继续。
如果有任何帮助、我们将不胜感激!