一、基本特性
1、 24位高分辨率 ,参考电压 典型值 4.096V (VREFP-VREFN)
2、 16路 单向模拟输入( +5V ) 或 8组 差分输入( ±2.5V ) ; 具有 固定通道(速率 125Ksps) 和 自动通道扫描(速率 23.7Ksps) 两种模式,在小于 700us的时间里完成一个完整的16通道扫描。
3、 0.02uV/℃ 的偏移漂移 , 0.4ppm/℃ 的增益漂移 ; 在 1.8Ksps下 的低噪声 2.8uVrms
4、 32.768KHz 的 内部晶振(需外接晶振) 或 外部时钟源15.729MHz
二、引脚功能
名称 | 说明 |
DVDD | 数字 电源 。2.7V --- 5.25V |
DGND | 数字地 |
AVSS | 负极 模拟电源 。单极 输入 :接 0 V 双极差分输入 :接 -2.5V |
AVDD | 正极 模拟电源 。单极 输入 :接 5V 双极差分输入 :接 +2.5V |
AIN0 --- AIN15 | 16通道单端输入通道 ; 或 8组 差分输入通道 ,如 AIN0 :第 0 组 + 输入通道 AIN1 :第 0 组 - 输入通道 |
AINCOM | 单极输入模式下 的模拟输入公共端,可设置为 ±100mV内的任何水平 |
ADCINN | ADC差分输入 - |
ADCINP | ADC差分输入 + |
MUXOUTN | 多路复用器差分输出 - |
MUXOUTP | 多路复用器差分输出 + |
VREFN | 负极 参考电压输入 |
VREFP | 正极 参考电压输入 |
PLLCAP | PLL旁路电容器 :当使用 晶振时,需外接 22pF 到 AVSS |
XTAL1 | 32.768 KHz 晶振引脚1 |
XTAL2 | 32.768 KHz 晶振引脚2 |
PWDN# | (数字 I)断电输入引脚 :保持低电平至少两个 fCLK 周期 来启动低功耗模式 |
RESET# | (数字 I )复位设备 :保持至少两个 fCLK周期 |
CLKSEL | (数字 I )时钟输入选择。 0 :激活晶振 ,fCLK输出到 CLKIO 1 :禁用晶振,fCLK <== CLKIO |
CLKIO | (数字 I/O) 系统时钟输入 / 输出 |
GPIO0 -- 7 | (数字 I/O) |
SCLK | (数字 I ) SPI 时钟输入 。 --- 空闲低电平 ,上升沿采样
: Data clocked in on rising edge, clocked out on falling edge.
|
DIN | (数字 I )SPI数据输入 MOSI |
DOUT | (数字 O )SPI数据输出 MISO |
DRDY# | (数字 O )数据输出就绪 ,低电平表明 新的通道数据 可被读取 。 DRDY#在数据进行读操作的时钟的第一个下降沿之后返回高电平 。如果数据没有被读出(即没有时钟脉冲),DRDY# 保留低电平直到新的通道数据再一次可用 。 接着 DRDY#被拉高 ,再拉低 来指出新的数据可用。见下图52 |
CS# | (数字 I ) SPI片选 |
START | (数字 I )开始转换输入 。 当 START被设置为 高电平时,转换器开始对输入通道进行数据转换 。 当 被设置为 低电平时,正在运行的转换进行完成后 ,转换器停止工作 。设备进入两个空闲状态中的一个。 |
三、通道数据
数据读取操作可输出 3字节数据 或 4个字节(状态 + 数据)。 数据均为 MSB优先 ,由寄存器 CONFIG0 中的 STAT位 控制 输出状态字节。
1、状态字节
(1)、NEW (bit7)
0 :自上次读操作之后,没有新的通道数据。
1 :有新的通道数据,直到数据被读取前,该位保持置位 。
当在转换器更新新数据前再次读取通道数据时,将输出 旧数据并清除该位。当下一次转换更新之前未读取通道数据,则数据会丢失。
(2)、OVF(bit6)
1 :表明 ADC输入端的差分电压 已经超过了转换器的转换范围( |Vin| > 1.06Vref )
(3)、SUPPLY(bit5)
1 :表示 模拟电源电压(AVDD-AVSS)低于预设限制 4.3V ,此时数据无效
0 :当电源电压 高于 4.3V + 50mV时,进行复位
(4)、CHID[4:0]
该值表明 自动扫描模式下的 所获取数据的 测量通道 、优先级 、
2、计算电压值
ADS1258是被缩放了的。输出数据编码产生与输入电压(等于 ±Vref)电压在剪辑之前的一个 6.6% 的压降 。这种体系结构允许工作输入信号在或是接近满刻度在转换器没有过载的情况下。
特别地,装置 是被校准过的,所以 :
1LSB = Vref / 780000h
输出幅度:
|Vin| ≥ 1.06*Vref。
下表 总结了与电压相对应的理想输出编码。
(1)、单端输入
以 Vref = 4.096 为例 (Vrefp = 4.096 ,Vrefn = 0V)
1LSB = 1.06 * 4.096/ (2^23 - 1) ;
输入电压 = 转换值 * 1LSB; (单极只用到 0x000000 --- 0x7FFFFF正数部分)
注意 :测试 0V时,由于噪声影响,可能采集到负电压,导致转换值为 0xFxxxxx左右,属于正常采集值
(2)、双端差分输入 -2.5 --- +2.5
0 ---- +2.5V 计算 :
1LSB = 1.06 * 2.5 / (2^23 - 1) ;
输入电压 = 转换值 * 1LSB ;
-2.5V ---- 0V 计算 :
最高位 为符号位 1 代表 “ - ”
1LSB = -1.06 * 2.5 / (2^23 - 1) ;
输入电压 = - ( (FFFFFF - 转换值) * 1LSB ) ;
四、命令字节
命令用于读取通道数据、访问配置寄存器 和 控制软换过程 。在不需要 切换CS#的情况下,命令仍可被连续发送。
1、命令位 C[2:0]
C[2:0] | 描述 |
000 | 通道数据 直接读取(无命令) |
001 | 通道数据 读命令(寄存器格式) |
010 | 寄存器读命令 |
011 | 寄存器写命令 |
100 | 脉冲转换 或 停止转换 命令 |
101 | 连续转换命令 |
110 | 复位命令 |
111 | 通道数据 直接读取(无命令) |
2、多寄存器访问位 MUL
0 :禁用多寄存器访问
1 :使能多寄存器访问,允许在一个命令操作中读写多个寄存器 。设备自动自增随后访问的寄存器地址,直到 Addr = 09h(读设备ID)操作完成后停止。
用户可使用以下两种方式提前停止该操作:
(1)、CS# 拉高电平 ,复位 SPI接口
(2)、保持 SCLK在 4096个 MCLK周期内不活动 ,会复位 SPI接口
3、寄存器地址位 A[3:0]
见 第五章 寄存器介绍
五、寄存器介绍
1、配置寄存器0 CONFIG0
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
必须0 | SPIRST | MUXMOD | BYPAS | CLKENB | CHOP | STAT | 必须0 |
SPIRST :SPI接口计时器重置(非设备重置) ;设置SCLK从无效状态 恢复的 周期数
0 :4096 fCLk周期 (256us ,fCLK = 16MHz)(默认)
1 :256 fCLK周期 (16us ,fCLK = 16MHz)
MUXMOD :通道采样模式选择。
0 --- 自动扫描模式(默认) 。寄存器MUXSCH的配置无效。
1 --- 固定通道模式 。寄存器 MUXDIF / MUXSG0 / MUXSG1 / SYSRED 无效。此模式下,不可选择 内部监视器读数。
BYPAS :选择 通过 内部 或 外部 连接多路复用器的输出到ADC的输入
0 :ADC输入 使用 内部多路复用器连接 (默认)
1 :ADC输入 使用外部输入 (MUXOUTP / MUXOUTN to ADCINP / ADCINN)
ADS1258通过复用器实现16通道, MUXOUTP/N 为输入信号经过 复用器后直接输出 ,未经过任何调理。 ADCINP/N 为 ADC转换信号的输入管脚 。 默认情况 两者直接内部相连。
当对系统精度要求比较高的情况下,可在外部添加调理电路,将输入信号经过外部电路调理后输入ADC转换。
注意 :温度、VCC、增益、参考电压内部监视器读数 会自动使用内部连接,跟 BYPAS无关。 偏移量OFFSET读数 受BYPAS控制
CLKENB :使能 CLKIO引脚上的时钟输出功能。(时钟来源于 设备晶体振荡器 或 PLL电路)
0 :失能 1 :使能 CLKIO引脚上的 clk输出 (默认)(CLKSEL引脚 需拉低)
CHOP :使能 外部多路复用器环路的 斩波特性
0 :失能(默认)(对于内部系统读数(温度、VCC、增益、参考电压)必须为0) 1 :使能
STAT :启用状态字节 。使能后,状态字节 被包含在转换数据中。 在固定通道模式下,不能使能
0 :失能 1 :使能(默认)
2、配置寄存器1 CONFIG1
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
IDLMOD | DLY2 | DLY1 | DLY0 | SBCS1 | SBCS0 | DRATE1 | DRATE0 |
IDLMOD :选择空闲模式 0 :待机模式 1 :睡眠模式(默认,功耗低,但唤醒时间长)
DLY[2:0] :设置 从转换器 索引到 新通道 到 开始转换之前 的延迟时间。
SBCS[1:0] :设置传感器偏置电流 0 :关闭偏置电流(默认) 1 :1.5uA 3 :24uA
DRATE[1:0] :设置转换器的数据率,较慢的数据率可提高分辨率。
3、多路复用器固定通道寄存器 MUXSCH
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
AINP3 | AINP2 | AINP1 | AINP0 | AINN3 | AINN2 | AINN1 | AINN0 |
AINP[3:0] : 选择 正ADC输入 模拟输入通道 ;默认 0
AINN[3:0] : 选择 负ADC输入 模拟输入通道 ;默认 0
4、多路复用器 差分输入 选择寄存器 MUXDIF
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
DIFF[ 7 -- 0 ] ,默认 :00 |
0 :未选中通道 1 :选中通道
5、多路复用器 单端输入 选择寄存器0/1 MUXSG0/1
0 :未选中通道 1 :选中通道
6、系统读取选择寄存器 SYSRED
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
必须0 | 必须0 | GAIN | REF | TEMP | VCC | 必须0 | OFFSET |
GAIN : 置1 读 增益 = 数值 / 7864320 ; 注意 :需禁用 切波 CHOP = 0;
REF :置1 读 参考基准 = 数值 / 786432 ;注意 :需禁用 切波 CHOP = 0;
TEMP :置1 读 片上温度传感器 。 注意 :需禁用 切波 CHOP = 0;
Temp = (数值 - 168000)/ 394 + 25 ℃
VCC :置1 读取VCC寄存器,可 监测 ADS1258模拟电源电压 。电源电压被路由到ADS1258内部,并使用内部参考值进行测量和缩放 ,电源回读通道输出单一 和 双配置的 AVDD 和 AVSS(AVDD-AVSS)之间的差异 。注意 :需禁用 切波 CHOP = 0;
VCC = 数据值 / 786432 ;
注意 :模拟电源电压较低到 4.3V 以下时,返回数值为 0 ,并且 状态字节 SUPPLY = 1 ;当 模拟电源电压升高 50mV时,恢复正常。
OFFSET :输入失调电压,它是测量的短接差分输入至供电电压的中间值,因此差分输入是0V ,理想情况下测得值是 0V ,实际该值为 uV级别。 读取时,建议 BYPAS 置 1。注意 :该值可能为负数,数据格式为二进制补码。
该位置1,可读取三字节数据(若设置状态位,则是4字节)。
输入失调电压 = 数据值 * 1LSB ;
注意:以上四个寄存器 MUXDIF、MUXSG0、MUXSG1、SYSRED应用于 自动扫描模式。写入任何一个寄存器都会将内部通道指针重置为具有最高优先级的通道。
7、GPIO配置寄存器 GPIOC
0 :GPIO配置为输出 1 :GPIO配置为输入(默认,禁止悬空)
8、GPIO数据寄存器 GPIOD
读写该寄存器可 获取输入状态 或 输出电平。
0 :低电平 1 :高电平
9、设备ID寄存器 ID
只读 ,设备ID号 ,默认 ID = 0x8B
六、时序
1、时序中各 参数要求
2、通道数据直接读取
直接读时,DIN输入管脚是至少前三个SCLK转换时无效的。当前三位是 000 或 111 时,设备检测到一个直接读数据被读出。
通过监控 DRDY#引脚 的信号,以使数据开始读操作,并防止数据丢失被破坏。
3、通道数据读指令 和 寄存器读指令
通道数据读指令 :将 001 写入命令字节 ,并 配置 MUX = 1(该命令为多位字节的读)。
4、寄存器写指令
5、控制指令
(1)、复位指令
该指令会重置ADC,并且所有寄存器复位成默认状态。 为了确保设备不在 SPI接口锁定的情况下复位,可做以下操作 :1):使 CS# 拉高再拉低 ,然后发送复位指令; 2):保持 SCLK停止 256/fCLK 或 4096/fCLK 后再发送复位指令。
读内部温度传感器计算公式 :
七、硬件设计要求
1、 DVDD 接 2.7 --- 5.25V 工作电压 ,并通过 10uF 和 100nF 电容接地
2、AVDD AVSS 根据 模拟输入引脚工作模式选择 ,单端输入 :+5V 、0V 双极输入 :±2.5V 。
注意 :
(1)、 0.5 < VREF < (AVDD - AVSS) VREF = VREFP - VREFN
(2)、 AVSS - 0.1V < VREFN < VREFP - 0.5V
(3)、 VREFN + 0.5V < VREFP < AVDD + 0.1V
3、当使用 晶振时,PLLCAP引脚需外接 22pF 到 AVSS ,但建议使用 16MHZ外部时钟输入,CLKIO引脚 需 串联 50Ω电阻 外接时钟源信号输入 ,CLKSEL引脚 需接 VDD
注意 :要格外注意16MHZ晶振输出引脚电容的选择,可能无法正常输出波形,造成ADS1258无法正常工作 ; 32768HZ晶振电容 不要工地,参考示例图设计,接 AVSS
4、PWDN引脚,如果不打算进入低功耗模式,可直接上拉
判断ADS1258是否正常工作 :
(1)ADS1258上电后,默认是处于正常工作状态的,此时, DRDY 是有波形的(自动扫描模式,默认 23K左右)(需要开启转换功能,即 START引脚拉高),可用示波器测量 ;
(2)时钟输出口也是有波形的(使用外接32768HZ晶振的情况)。
若不正常,需排查 电源 、RESET 信号、晶振是否正常。