我们出厂的AD7606模块缺省是8080 并行接口。 如果用SPI接口模式,需要修改 R1 R2电阻配置。 并口模式跳线: R1 悬空(不贴),R2贴10K电阻 SPI接口模式跳线:R1 贴10K电阻, R2 悬空(不贴) AD7606 的配置很简单,它没有内部寄存器。量程范围和过采样参数是通过外部IO控制的。 采样速率由MCU或DSP提供的脉冲频率控制。 AD7606 必须使用单5V供电。 AD7606 和MCU之间的通信接口电平由VIO引脚控制。也就是说 VIO必须接单片机的电源,可以是3.3V也可以是5V。 【模块引脚说明】 OS2 OS1 OS2 : 的组合状态选择过采样模式。 000表示无过采样,最大200Ksps采样速率。 001表示2倍过采样, 也就是硬件内部采集2个样本求平均 010表示4倍过采样, 也就是硬件内部采集4个样本求平均 011表示8倍过采样, 也就是硬件内部采集8个样本求平均 100表示16倍过采样, 也就是硬件内部采集16个样本求平均 101表示32倍过采样, 也就是硬件内部采集32个样本求平均 110表示64倍过采样, 也就是硬件内部采集64个样本求平均 过采样倍率越高,ADC转换时间越长,可得到的最大采样频率就越低。 CVA,CVB : 启动AD转换的控制信号。CVA决定1-4通道,CVB决定5-8通道。 2个信号可以错开短暂的时间。一般情况可以将CVA,CVB并联在一起。 RAGE : 量程范围选择。0表示正负5V, 1表示正负10V. RD : 读信号 RST : 复位信号 BUSY : 忙信号 CS : 片选信号 FRST : 第1个通道样本的指示信号 VIO : 通信接口电平 DB0-DB15 : 数据总线 【16位并行模式接线图】 --- AD7606也支持8位总线模式,请参见AD7606数据手册 AD7606模块 MCU侧 GND <----- 地 +5V <----- 5V电源 RAGE <----- 可接GPIO也可接固定电平 OS2 <----- 可接GPIO也可接固定电平 OS1 <----- 可接GPIO也可接固定电平 OS0 <----- 可接GPIO也可接固定电平 CVA <----- 接GPIO(输出)用于启动AD转换 【推荐接具有PWM输出能力的引脚】 CVB <---| RD <----- 8080总线读信号 NOE RST <----- GPIO输出 硬件复位AD606 BUSY -----> GPIO输入 AD606正在转换指示。【推荐接具有外部中断能力的引脚】 CS <----- 8080总线片选 NCS VIO <----- 单片机的电源 DB0-DB15 -----> 8080数据总线(16位) FRST 可不接 【SPI接口模式接线图】 AD7606模块 MCU侧 GND <----- 地 +5V <----- 5V电源 RAGE <----- 任意输出GPIO,可接固定电平 OS2 <----- 任意输出GPIO,可接固定电平 OS1 <----- 任意输出GPIO,可接固定电平 OS0 <----- 任意输出GPIO, 可接固定电平 CVA <----- 接GPIO(输出)用于启动AD转换 【推荐接具有PWM输出能力的引脚】 CVB <---| RD/SCLK <----- SPI总线时钟 SCK RST <----- 任意输出GPIO, 用于硬件复位AD606 BUSY -----> GPIO输入, AD606正在转换指示。【推荐接具有外部中断能力的引脚】 CS <----- SPI总线片选 SCS VIO <----- 单片机电源 DB7(DOUTA) -----> SPI总线数据线MISO DB15 ------ GND 其他数据线: 可不接或接GND FRST 可不接 【软件定时采集的实现方案1】 --- 我们提供的 spi 的例子采用这种方案 见 bsp_spi_ad7606.c 文件 在定时器中断服务程序中实现: 定时器中断ISR: { 中断入口; 读取8个通道的采样结果保存到RAM; ----> 读取的其实是上次的采集结果,对于连续采集来说,是没有关系的 启动下次ADC采集;(翻转CVA和CVB) 中断返回; } 定时器的频率就是ADC采样频率。这种模式可以不连接 BUSY 口线。 【软件定时采集的实现方案2】 --- 我们提供的 8080接口例子采用这种方案 见 bsp_ad7606.c 文件 配置CVA CVB 引脚为PWM输出模式,周期设置为需要的采样频率; ---> 之后MCU将产生周期非常稳定的AD转换信号 将BUSY口线设置为中断下降沿触发模式; 外部中断ISR { 中断入口; 读取8个通道的采样结果保存到RAM; 中断返回; } 【软件定时采集的实现方案1和方案2的差异】 (1)方案1 可以少用 BUSY口线, 但是其他中断服务程序或者主程序临时关闭全局中断时,可能导致ADC转换周期存在轻微抖动。 (2)方案2 可以确保采集时钟的稳定性,因为它是MCU硬件产生的。但是需要多接一根 BUSY口线。