ADS8698 是基于 18 位逐次逼近寄存器 (SAR) 模数转换器 (ADC) 的 4 通道、8 通道集成数据采集系统,工作吞吐量达 500kSPS。 这些器件提供了用于各输入通道的集成模拟前端电路(过压保护高达 ±20V)、支持自动和手动两种扫描模式的 4 通道或 8 通道多路复用器、以及低温度漂移的片上 4.096V 基准电压。 这些器件由单个 5V 模拟电源供电,每个输入通道均可支持真正的双极输入范围(±10.24V、 ±5.12V 和 ±2.56V)和单极输入范围(0V 至 10.24V 以及 0V 至 5.12V)。 模拟前端在所有输入范围内的增益均经过了精确调整,以确保高直流精度。 输入范围的选择可通过软件进行编程,各通道输入范围的选择相互独立。 该器件提供了一个 1MΩ 的恒定阻性输入阻抗(无论所选输入范围为何)。
ADS8694 和 ADS8698 为数字主机提供了一个兼容串行外设接口 (SPI) 的简单串行接口,同时支持以菊花链方式连接多个器件。 数字电源可提供 1.65V 到 5.25V 范围内的电压,因此可直接连接各种主机控制器。
void ADS8694_Init(void)
{
PrgmRegister_Config(0X01,0X01,0x00); //所有通道失能
PrgmRegister_Config(0X02,0X01,0xFF); //所有通道掉电
}
/*************************************************************
函数名称:CmdRegister_Config
函数原型:void CmdRegister_Config(u8 addr1,u8 value1)
功 能:
对ADS8694命令寄存器进行相关配置
全局变量:
参 数:寄存器地址addr,寄存器赋值value
返 回 值:无
*************************************************************/
void CmdRegister_Config(u16 command)
{
u8 addr,data=0;
addr=(u8)(command>>8);
data=(u8)command;
CS_H;
Delay_Us(5);
CS_L;
SPI1_ReadWriteByte(addr);
SPI1_ReadWriteByte(data);
CS_H;
}
/*************************************************************
函数名称:PgmRegister_Config
函数原型:void PgmRegister_Config(u8 addr1,u8 value1)
功 能:
对ADS8694的程序寄存器进行相关配置
全局变量:
参 数:寄存器地址addr,寄存器读/写位RorW,寄存器赋值value
返 回 值:写入寄存器的值
*************************************************************/
u8 PrgmRegister_Config(u8 addr1,u8 RorW,u8 value1)
{
u8 tempdata;
CS_H;
Delay_Us(5);
CS_L;
SPI1_ReadWriteByte((addr1<<1)|RorW); //发送寄存器地址
SPI1_ReadWriteByte(value1); //发送寄存器数据
tempdata = SPI1_ReadWriteByte(0x00);
return tempdata;
}
程序寄存器 地址
0X01 自动转换序列
0X02 通道掉电(FFh 所有通道断电),默认00h,所有通道通电
命令寄存器 地址
0X8200h 待机模式
0X8300h 软件断电模式
0XA000h 自动模式
0X8500h 重置模式