跳转至

ADC

功能介绍

芯片集成了一个12位的ADC,其主要特点如下:

  • ADC分辨率为12-bit;
  • 采样率可达1MSPS(一次转换需15cycles,所以若要达到1MSPS的采样速率,必须保证时钟频率为15MHz);
  • 6通道单端输入,注意芯片上只引出了通道5,通道0和通道1为芯片内部使用,用户无配置,除这几个通道外的其余通道不可用;
  • 1MSPS时,工作电流450μA;关闭时电流小于1μA;
  • 具有单次采样和连续采样模式,采样模式时序如下图所示。

ADC单次采样模式时序图

图A-1 ADC单次采样模式时序图

ADC连续采样模式时序图

图A-2 ADC连续采样模式时序图

寄存器映射

ADC寄存器映射的基地址为0x40002000,具体的寄存器映射见表A-1。

表A-1 ADC寄存器映射

偏移量 名称 位宽 类型 复位值 描述
0x00 ADCCTRL 32 R/W 0x00000000 ADC控制寄存器
0x04 ADCINTMASK 16 R/W 0x0000 ADC中断屏蔽寄存器
0x08 ADCINTFLG 16 RO 0x0000 ADC中断标志寄存器
0x0C ADCINTCLR 16 WO 0x0000 ADC中断清除寄存器
0x10 ADCSOFTSOC 16 R/W 0x0000 ADC软件触发寄存器
0x14 ADCSOCCTRL 32 R/W 0x00000000 ADC转换控制寄存器
0x18-0x24 ADCRESULT2-ADCRESULT5 16 R/W 0x0000 ADC转换结果寄存器
0x38 CH0PERIOD 16 RO 0x0000 通道0采样周期
0x3C CH1PERIOD 16 R/W 0x0000 通道1采样周期
0x40 CH2PERIOD 16 R/W 0x0000 通道2采样周期
0x44 CH3PERIOD 16 R/W 0x0000 通道3采样周期
0x48 CH0MINVALUE 16 R/W 0x0000 通道0下限阈值
0x4C CH0MAXVALUE 16 R/W 0x0FFF 通道0上限阈值
0x50 CH1MINVALUE 16 R/W 0x0001 通道1下限阈值
0x54 CH1MAXVALUE 16 R/W 0x0FFF 通道1上限阈值
0x58 CH2MINVALUE 16 R/W 0x0001 通道2下限阈值
0x5C CH2MAXVALUE 16 R/W 0x0FFF 通道2上限阈值
0x60 CH3MINVALUE 16 R/W 0x0001 通道3下限阈值
0x64 CH3MAXVALUE 16 R/W 0x0FFF 通道3上限阈值
0x68 ADCSTAT 16 R 0x0000 ADC状态寄存器
0x6C ADCCTRLa 32 R/W 0x00000000 ADC控制寄存器a
0x70 ADCRSTN 32 R/W 0x00000000 ADC复位配置寄存器
0x74 ADCOFFSET 32 R/W 0x00000000 ADC偏移校准寄存器
0x78 ADCLOADEN 32 R/W 0x00000000 ADC装载寄存器
0x7C ADCPWRRDY 32 R/W 0x00000000 ADC复位状态寄存器
0x80 CH4PERIOD 16 R/W 0x0000 通道4采样周期
0x84 CH5PERIOD 16 R/W 0x0000 通道5采样周期
0x88 CH4MINVALUE 16 R/W 0x0000 通道4下限阈值
0x8C CH4MAXVALUE 16 R/W 0x0FFF 通道4上限阈值
0x90 CH5MINVALUE 16 R/W 0x0000 通道5下限阈值
0x94 CH5MAXVALUE 16 R/W 0x0FFF 通道5上限阈值

ADC控制寄存器(ADCCTRL)

偏移量:0x00

复位值:0x00000000

位域 名称 复位值 类型 描述
31:24 Reserved 0x00 R/W 保留
23 CH3MAXEN 0 R/W CH3采样结果阈值上限中断使能
0:关闭
1:开启
22 CH2MAXEN 0 R/W CH2采样结果阈值上限中断使能
0:关闭
1:开启
21 CH1MAXEN 0 R/W CH1采样结果阈值上限中断使能
0:关闭
1:开启
20 CH0MAXEN 0 R/W CH0采样结果阈值上限中断使能
0:关闭
1:开启
19 CH3MINEN 0 R/W CH3采样结果阈值下限中断使能
0:关闭
1:开启
18 CH2MINEN 0 R/W CH2采样结果阈值下限中断使能
0:关闭
1:开启
17 CH1MINEN 0 R/W CH1采样结果阈值下限中断使能
0:关闭
1:开启
16 CH0MINEN 0 R/W CH0采样结果阈值下限中断使能
0:关闭
1:开启
15:13 Reserved 0x0 R/W 保留
12 INTSEL 0 R/W 中断产生条件选择
0:每次采样结束都产生中断请求
1:采样值异常(超过阈值)时产生中断请求
必须在监测模式下,即ADCCTRL[8]配置为1时,此位才能被配置为1
11:9 Reserved 0x0 R/W 保留
8 PERIODEN 0 R/W 周期监测使能(只能工作于单次采样模式下)
0:关闭
1:开启
7 CH3EN 0 R/W 通道3周期监测使能
0:关闭
1:开启
6 CH2EN 0 R/W 通道2周期监测使能
0:关闭
1:开启
5 CH1EN 0 R/W 通道1周期监测使能
0:关闭
1:开启
4 CH0EN 0 R/W 通道0周期监测使能
0:关闭
1:开启
2 Reserved 0 R/W 保留
1 CONTEN 0 R/W 连续转换使能
0:单次转换模式
1:如果SOCSOFT位保持为高,则ADC连续转换
0 ADCEN 0 R/W ADC电路使能
0:关闭ADC
1:正常工作(置1后需等待3个AD cycle)

ADC中断屏蔽寄存器(ADCINTMSK)

偏移量:0x04

复位值:0x0000

位域 名称 复位值 类型 描述
15:1 Reserved 0x0000 R/W 保留
0 EOC_INT_EN 0 R/W ADC中断屏蔽位
0:不屏蔽
1:屏蔽

ADC中断标志寄存器(ADCINTFLG)

偏移量:0x08

复位值:0x0000

位域 名称 复位值 类型 描述
15:4 Reserved 0x000 RO 保留
3 ADCFLG3 0 RO ADC通道3转换完成中断标志位,高有效
2 ADCFLG2 0 RO ADC通道2转换完成中断标志位,高有效
1 ADCFLG1 0 RO ADC通道1转换完成中断标志位,高有效
0 ADCFLG0 0 RO ADC通道0转换完成中断标志位,高有效

ADC中断清除寄存器(ADCINTCLR)

偏移量:0x0C

复位值:0x0000

位域 名称 复位值 类型 描述
15:9 Reserved 0x00 WO 保留
8 ADCINT_CLR 0 WO 清除所有通道中断标志,高有效
7:4 Reserved 0x0 WO 保留
3 ADCCLR3 0 WO ADC通道3转换完成中断标志清除,高有效
2 ADCCLR2 0 WO ADC通道2转换完成中断标志清除,高有效
1 ADCCLR1 0 WO ADC通道1转换完成中断标志清除,高有效
0 ADCCLR0 0 WO ADC通道0转换完成中断标志清除,高有效

ADC软件触发寄存器(SOCSOFTCTRL)

偏移量:0x10

复位值:0x0000

位域 名称 复位值 类型 描述
15:1 Reserved 0x0000 R/W 保留
0 SOCSOFT 0 R/W ADC开始转换
0:无动作
1:ADC开始转换

ADC转换控制寄存器(ADCSOCCTRL)

偏移量:0x14

复位值:0x00000000

位域 名称 复位值 类型 描述
31:15 Reserved 0x00000 R/W 保留
14:12 SHTIME 0x0 R/W 采样保持时间选择:
0:SOC长度为1个AD_CLK cycle
1:SOC长度为2个AD_CLK cycle
2:SOC长度为3个AD_CLK cycle
3:SOC长度为4个AD_CLK cycle
4:SOC长度为5个AD_CLK cycle
other:invalid value
11:8 Reserved 0x0 R/W 保留
7:5 CHSEL 0x0 R/W 转换通道选择
0:ADC_IN0
1:ADC_IN1
2:ADC_IN2
3:ADC_IN3
4:0 Reserved 0x00 R/W 保留

ADC转换结果寄存器(ADCRESULTx)

偏移量:0x18-0x24

复位值:0x0000

位域 名称 复位值 类型 描述
15:12 Reserved 0x0 R/W 保留
11:0 ADCOUT 0x000 R/W ADC转换结果

注:x=2,3,4,5,ADCRESULTx分别对应通道x的转换结果。

通道0采样周期寄存器(CH0PERIOD)

偏移量:0x38

复位值:0x0000

位域 名称 复位值 类型 描述
15:0 CH0PERIOD 0x0000 R/W 通道0采样周期:(CH0PERIOD+1) * 512

通道1采样周期寄存器(CH1PERIOD)

偏移量:0x3C

复位值:0x0000

位域 名称 复位值 类型 描述
15:0 CH1PERIOD 0x0000 R/W 通道1采样周期:(CH1PERIOD+1) * 512

通道2采样周期寄存器(CH2PERIOD)

偏移量:0x40

复位值:0x0000

位域 名称 复位值 类型 描述
15:0 CH2PERIOD 0x0000 R/W 通道2采样周期:(CH2PERIOD+1) * 512

通道3采样周期寄存器(CH3PERIOD)

偏移量:0x44

复位值:0x0000

位域 名称 复位值 类型 描述
15:0 CH3PERIOD 0x0000 R/W 通道3采样周期:(CH3PERIOD+1) * 512

通道0下限阈值寄存器(CH0MINVALUE)

偏移量:0x48

复位值:0x0000

位域 名称 复位值 类型 描述
15:0 MINVALUE 0x0000 R/W 通道0下限阈值

通道0上限阈值寄存器(CH0MAXVALUE)

偏移量:0x4C

复位值:0x0FFF

位域 名称 复位值 类型 描述
15:0 MAXVALUE 0x0FFF R/W 通道0上限阈值

通道1下限阈值寄存器(CH1MINVALUE)

偏移量:0x50

复位值:0x0001

位域 名称 复位值 类型 描述
15:0 MINVALUE 0x0001 R/W 通道1下限阈值

通道1上限阈值寄存器(CH1MAXVALUE)

偏移量:0x54

复位值:0x0FFF

位域 名称 复位值 类型 描述
15:0 MAXVALUE 0x0FFF R/W 通道1上限阈值

通道2下限阈值寄存器(CH2MINVALUE)

偏移量:0x58

复位值:0x0001

位域 名称 复位值 类型 描述
15:0 MINVALUE 0x0001 R/W 通道2下限阈值

通道2上限阈值寄存器(CH2MAXVALUE)

偏移量:0x5C

复位值:0x0FFF

位域 名称 复位值 类型 描述
15:0 MAXVALUE 0x0FFF R/W 通道2上限阈值

通道3下限阈值寄存器(CH3MINVALUE)

偏移量:0x60

复位值:0x0000

位域 名称 复位值 类型 描述
15:0 MINVALUE 0x0001 R/W 通道3下限阈值

通道3上限阈值寄存器(CH3MAXVALUE)

偏移量:0x64

复位值:0x0FFF

位域 名称 复位值 类型 描述
15:0 MAXVALUE 0x0FFF R/W 通道3上限阈值

ADC状态寄存器(ADCSTAT)

偏移量:0x68

复位值:0x0000

位域 名称 复位值 类型 描述
15:1 Reserved 0x0000 RO 保留
0 PRDBSY 0 RO 当前ADC工作状态
0:ADC转换完成,处于空闲状态
1:ADC正在工作中

ADC控制寄存器a(ADCCTRLa)

偏移量:0x6C

复位值:0x00000000

位域 名称 复位值 类型 描述
31:10 Reserved 0x0000 R/W 保留
9 CH5MAXEN 0 R/W CH5采样结果阈值下限中断使能
0:关闭
1:开启
8 CH4MAXEN 0 R/W CH4采样结果阈值下限中断使能
0:关闭
1:开启
7 CH5MINEN 0 R/W CH5采样结果阈值下限中断使能
0:关闭
1:开启
6 CH4MINEN 0 R/W CH4采样结果阈值下限中断使能
0:关闭
1:开启
5 CH5EN 0 R/W 通道5周期监测使能
0:关闭
1:开启
4 CH4EN 0 R/W 通道4周期监测使能
0:关闭
1:开启
3 RSTN 0 R/W ADC复位功能
0:启动复位
1:正常模式
2 SDIF 0 R/W 模拟采样信号模式选择
0:单端模式
1:差分模式,该功能为偏移校准模式中使用
1 Reserved 0x0000 R/W 保留
0 DISH 0 R/W 正常模式和偏移校准选择
0:正常模式
1:偏移校准模式

注1:ADC在上电后默认是复位状态,要使用时,必须先把RSTN位设置为1,同时ADC模块上电有时序要求,需要启动后保持复位信号一段时间,因此增加了下面的复位配置寄存器,当该配置为0时,RSTN信号在ADCEN信号有效后6个ADC CLK周期后释放。当配置为其他数值时,RSTN信号在ADCEN信号有效后配置值加6个ADC CLK周期后释放,以保障ADC功能正常。

注2:ADC增加了偏移校准的功能,以适应因芯片生产或环境造成的个体误差。使用时设置DISH和SDIF为1,使内部的VIP和VIN信号短路,此时计算ADC对应的通道端口读取的采样值与理想转换值800H的差值,将该差值作为校准的偏移值,写入ADC偏移校准寄存器的OFFSET位。注意该位的值存在补码,如该位的值设成2F,2F是-17的补码,此时ADC将DISH和SDIF设为0恢复为正常工作模式时,采样值会自动计算减去17;如该位的值设为1A,1A是26的补码,此时ADC将DISH和SDIF设为0恢复为正常工作模式时,采样值会自动计算加上26.

ADC复位配置寄存器(ADCRSTN)

偏移量:0x70

复位值:0x00000000

位域 名称 复位值 类型 描述
31:6 Reserved 0x0000 R/W 保留
5:0 ADCRSTN 0 R/W 复位信号在ADCEN信号使能后增加保持为低电平的周期数

ADC偏移校准寄存器(ADCOFFSET)

偏移量:0x74

复位值:0x00000000

位域 名称 复位值 类型 描述
31:6 Reserved 0x0000 R/W 保留
5:0 OFFSET 0 R/W 设置ADC的偏移校准值

ADC装载寄存器(ADCLOADEN)

偏移量:0x78

复位值:0x00000000

位域 名称 复位值 类型 描述
31:1 Reserved 0x0000 R/W 保留
0 LOADEN 0 R/W 使能装载信号,写1装载,装载完成自清除

注:该寄存器需要在ADC模块复位成功正常功能前,要配置LOADEN位为0,将寄存器的值生效,然后才配置ADCCTRL控制寄存器第0位EN_ADC为1,启动ADC模块开始工作

ADC复位状态寄存器(ADCPWRRDY)

偏移量:0x7C

复位值:0x00000000

位域 名称 复位值 类型 描述
31:1 Reserved 0x0000 R 保留
0 PWRRDY 0 R ADC复位释放标志,高有效

通道4采样周期寄存器(CH4PERIOD)

偏移量:0x80

复位值:0x0000

位域 名称 复位值 类型 描述
15:0 CH4PERIOD 0x0000 R/W 通道4采样周期:(CH4PERIOD+1) * 512

通道5采样周期寄存器(CH5PERIOD)

偏移量:0x84

复位值:0x0000

位域 名称 复位值 类型 描述
15:0 CH5PERIOD 0x0000 R/W 通道5采样周期:(CH5PERIOD+1) * 512

通道4下限阈值寄存器(CH4MINVALUE)

偏移量:0x88

复位值:0x0000

位域 名称 复位值 类型 描述
15:12 Reserved 0x0 R 保留
11:0 MINVALUE 0x000 R/W 通道4下限阈值

通道4上限阈值寄存器(CH4MAXVALUE)

偏移量:0x8C

复位值:0x0FFF

位域 名称 复位值 类型 描述
15:12 Reserved 0x0 R 保留
11:0 MAXVALUE 0xFFF R/W 通道4上限阈值

通道5下限阈值寄存器(CH5MINVALUE)

偏移量:0x90

复位值:0x0000

位域 名称 复位值 类型 描述
15:12 Reserved 0x0 R 保留
11:0 MINVALUE 0x000 R/W 通道5下限阈值

通道5上限阈值寄存器(CH5MAXVALUE)

偏移量:0x94

复位值:0x0FFF

位域 名称 复位值 类型 描述
15:12 Reserved 0x0 R 保留
11:0 MAXVALUE 0xFFF R/W 通道5上限阈值