129 lines
3.8 KiB
Plaintext
129 lines
3.8 KiB
Plaintext
我们出厂的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口线。
|
||
|