基于STM32HAL库AD7606调试避坑指南

主控为STM32H750,与AD7606芯片连接的原理图如下:

基于STM32HAL库AD7606调试避坑指南_第1张图片

 模式选择Parallel/Serial/Byte Interface Selection Input

一共有三种模式,分别是并行接口模式、串行接口模式、并行字节接口模式

基于STM32HAL库AD7606调试避坑指南_第2张图片

 我选用的是串行接口,所以PAR/SER/BYTE SEL拉高,DB15拉低。在该模式下DB7是串行数据输出引脚

读取时序实现如下:

uint16_t ad7606_ReadBytes(void)	  
{ 	 
	uint8_t count=0; 	  
	uint16_t Num=0; 
	SCL_SET();	
	for(count=0;count<16;count++)//读出16位数据
	{
		SCL_CLEAR();	//下降沿有效
		Num<<=1;
		if(HAL_GPIO_ReadPin(AD7606_MISO_GPIO_Port,AD7606_MISO_Pin) ==1)
			Num++;
		SCL_SET();
	}
	return(Num);
}

STBY引脚

待机模式输入。该引脚用于将AD7606/AD7606-6/AD7606-4置于两种断电模式之一:待机模式或关机模式。但是我们想要正常使用AD7606的话显然就应该把该引脚拉高
 

基于STM32HAL库AD7606调试避坑指南_第3张图片

 过采样&采样范围选择

RANGE = 1 ±10V采用范围

RANGE = 0 ±5V采样范围

过采样是指在ADC位数固定的硬件条件下,来提升ADC的有效位数,进而提高ADC的分辨率。整体而言,过采样通过提高信噪比(SNR)来提高有效位数,进而提高ADC的分辨率,在硬件固定式从软件方便找到突破口。注意:过采样是提高分辨率而不是提高采样精度,是减小ADC量化噪声的方法。过采样配置的表格如下:

基于STM32HAL库AD7606调试避坑指南_第4张图片

 比较容易踩坑的是上面提到的一些特殊时序及引脚,其余如BUSY、FRSTDATA是AD7606的指示引脚,单片机可选择中断方式读取,但是若选择定时采样的话也可以不处理这两个信号。RST是高电平有效,仅在初始化时执行一次即可。

你可能感兴趣的:(stm32,嵌入式硬件,单片机)