介绍部分
AD7685 AD7684 AD7686 AD7687 AD7688 AD7688 其差别在于转换速率不同,数据读取、分辨率完全一致。
单端:单输入型,只允许0V-VCC.
伪差分 :双输入但是 IN+& IN- 都必须大于0V 其中间值0-vcc/2
真差分:可以接受-vcc-vcc的信号。(简单理解,勿喷)
使用的测试板卡为AD7685 PMOD 官方demo 其原理图如下,标注部分为默认设置
数据读写时序与引脚分配
STM32 配置
16位SPI情况下相关 配置
需要及其注意的一点是 SCK GPIO 需要配置为上拉!!!!
/*伪代码*/typedef union {uint8_t r_data[2];uint16_t adc_data;}ad7685;ad7685 rdata;//mainHAL_GPIO_WritePin(SPI3_CS_GPIO_Port,SPI3_CS_Pin,GPIO_PIN_SET);delay_us(20);// 实际延时1.6us datasheet 上为2.2us maxHAL_GPIO_WritePin(SPI3_CS_GPIO_Port,SPI3_CS_Pin,GPIO_PIN_RESET);HAL_SPI_Receive(&hspi3,rdata.r_data,1,0xff);vdata = ((float)(rdata.adc_data)/65535)*5.0;HAL_Delay(1000);// 特别注意其中SCK 需要配置为下拉模式。否则数据容易出问题!!!!
16位3.3V输入电压时的数据波形:
16位读取速率(可以更快取消除法运算或使用DSP)
8位通用SPI 配置
考虑到目前支持16位spi的单片机不多,且实际上读取一次sck发送16x2=32组脉冲,对于读取速度有相应影响遂开发8位读取模式。
8位模式下读取速率
如果觉得《STM32 AD7685 AD7684 AD7686 AD7687 AD7683 AD7680系列调试记录》对你有帮助,请点赞、收藏,并留下你的观点哦!