资源描述
第28章 模拟—数字转换器
28.1 概述
注意:对于芯片模块的具体实施细则请参阅芯片的配置信息。
16 位模拟-数字转换器(ADC)是一个逐次逼近的 ADC,它是集成在一个微控制器的片上系统。
注意:对于特定操作模式的芯片,请参阅电源设备管理信息。
28.1.1 特性
ADC 模块包括以下特性:
(1) 可以达到 16 位采样精度的线性逼近算法
(2) 高达 4 对差分和 24 个单端外部输入模拟通道
(3) 输出模式:16 位,13 位,11 位,9 位的差分模式;16 位,12 位,10 位,8 位的单端模式
(4)16 位扩展的有符号以 2 进制补码输出的差分模式
(5) 右对齐无符号的单端输出模式
(6) 单次转换或者持续转换(单次转换后自动回到空闲状态)
(7) 可配置的采样时间和转换速率/电压
(8) 转换完成/硬件计算采样平均值完成的标志和中断
(9) 输入时钟可以从 4 个时钟源选择
(10) 低噪音低功耗模式操纵
(11) 低噪声操作模式下使用异步时钟源作为输出时钟
(12) 可选择的硬件转换来触发硬件通道选择
(13) 自动比较中断可以大于、等于、小于、超过可编程值、或者在可编程值区间之内
(14) 温度传感器
(15) 硬件计算均值功能
(16) 可选择的电压:外部电压或内部电压
(17) 自动校验模式
28.1.2 模块示意图
图 28-1 是 ADC 模块框图。
图
28-1
ADC
模块结构图
28.2 ADC 引脚描述
ADC 模块支持 4 对差分输入和多达 24 个单端输入,每对差分输入要求有两个输入信号,DADPx 和 DADMx。ADC 同样还需要 4 个电源/参考/地连接。
注意:在芯片配置上,请参阅 ADC 配置节在此设备上支持的信道数目一章。
表28-1 ADC信号描述
信号
描述
I/O
DADP[3:0]
差分模拟通道输入
I
DADM[3:0]
差分模拟通道输入
I
AD[23:4]
单端模拟通道输入
I
VREFSH
参考高电压
I
VREFSL
参考低电压
I
VDDA
模拟电源
I
VSSA
模拟地
I
28.2.1 模拟电源(VDDA)
ADC 模拟部分使用 VDDA 作为电源。在一些封装中,VDDA 连接到内部的 VDD 上。如果外部电压有效,则 VDDA 引脚连接到外部有效电压,作为 VDD。外部滤波必须保证清除
VDDA 的毛刺保证得到有效的结果。
28.2.2 模拟地
ADC 模拟部分使用 VSSA 作为地。在一些封装中,VSSA 连接到内部的 VSS 上。如果外部电压有效,则将 VSSA 引脚接到外部有效电压,作为 VSS。
28.2.3 参考电压选择
对于 ADC 转换来说,VREFSH 和 VREFSL 分别对应参考高电压和参考低电压。能够配置和接收两对电压 VREFSH 和 VREFSL 中的一对。每对中的一对,都包含一个有效的参考电压并且该参考电压一定在最小的参考高电压和 VDDA 之间。一个参考地一定和 VSSA 电压大小相同。两对外部电压分别是 VREFH 和 VREFL 和可选择的 VALTH 和 VALTL。设置寄存器 SC2[REFSEL]段可以对参考电压进行选择。根据 MCU 配置,可选参考电压对(VALTH 和
VALTL)是选择外部引脚还是内部引脚,请查阅 MCU 的参考电压芯片配置。
在一些封装中,VREFH 连接到 VDDA 上,VREFL 连接到 VSSA 上的。如果外部电压有效,则参考电压就可以连接到与 VDDA 相同的电压上,或者在最小参考高电压和有效 VDDA 之间的一个电平之间(VREFH 永远不会超过 VDDA)。将参考地连接到与 VSSA 相同的电压上。
28.2.4 模拟通道输入
ADC 模块支持 24 个单端模拟输入。当寄存器 SC1n 中的 DIFF 位为低时,设置
SC1[ADCH]段选择输入通道。
28.2.5 差分模拟通道输入(DADx)
ADC 模块支持 4 个差分模拟输入。每个输入由一对外部引脚 (DADPx 和 DADMx) 组成,每个引脚都可以提供最精确的模拟到数字的读取。当 SC1n[DIFF]位为高时,可设置 SC1[ADCH]段来选择差分输入。当 SC1n[DIFF]位为低时,所有的 DADPx 可以作为单端输入。在某些 MCU 配置中,当 SC1n[DIFF]位为低时,一些 DADMx 也可能作为单端输入。请参阅 MCU 的 ADC 连接芯片配置一章。
28.3 寄存器定义
该部分描述 ADC 寄存器。
ADC 存储器映像
绝对地址
寄存器名
宽度
访问
复位
章节/页码
4003_B000
ADC状态控制寄存器1(ADC0_SC1A)
32
R/W
0000_001Fh
28.3.1/454
4003_B004
ADC状态控制寄存器1(ADC0_SC1B)
32
R/W
0000_001Fh
28.3.1/454
4003_B008
ADC配置寄存器(ADC0_CFG1)
32
R/W
0000_0000h
28.3.2/457
4003_B00C
ADC配置寄存器2(ADC0_CFG1)
32
R/W
0000_0000h
28.3.3/459
4003_B010
ADC数据结果寄存器(ADC0_RA)
32
R
0000_0000h
28.3.4/460
4003_B014
ADC数据结果寄存器(ADC0_RB)
32
R
0000_0000h
28.3.4/460
4003_B018
比较值寄存器(ADC0_CV1)
32
R/W
0000_0000h
28.3.5/461
4003_B01C
比较值寄存器(ADC0_CV2)
32
R/W
0000_0000h
28.3.5/461
4003_B020
状态控制寄存器2(ADC0_SC2)
32
R/W
0000_0000h
28.3.6/462
4003_B024
状态控制寄存器3(ADC0_SC3)
32
R/W
0000_0000h
28.3.7/464
4003_B028
ADC偏移量修正寄存器(ADC0_OFS)
32
R/W
0000_0004h
28.3.8/466
4003_B02C
ADC正向增益寄存器(ADC0_PG)
32
R/W
0000_8200h
28.3.9/466
4003_B030
ADC负向增益寄存器(ADC0_MG)
32
R/W
0000_8200h
28.3.10/467
4003_B034
ADC正向增益通用校验寄存器(ADC0_CLPD)
32
R/W
0000_00Ah
28.3.11/467
4003_B038
ADC正向增益通用校验寄存器(ADC0_CLPS)
32
R/W
0000_0020h
28.3.12/468
4003_B03C
ADC正向增益通用校验寄存器(ADC0_CLP4)
32
R/W
0000_0200h
28.3.13/468
4003_B040
ADC正向增益通用校验寄存器(ADC0_CLP3)
32
R/W
0000_0100h
28.3.14/469
4003_B044
ADC正向增益通用校验寄存器(ADC0_CLP2)
32
R/W
0000_0080h
28.3.15/469
4003_B048
ADC正向增益通用校验寄存器(ADC0_CLP1)
32
R/W
0000_0040h
28.3.16/470
4003_B04C
ADC正向增益通用校验寄存器(ADC0_CLP0)
32
R/W
0000_0020h
28.3.17/470
4003_B054
ADC负向增益通用校验寄存器(ADC0_CLMD)
32
R/W
0000_000Ah
28.3.18/471
4003_B058
ADC负向增益通用校验寄存器(ADC0_CLMS)
32
R/W
0000_0020h
28.3.19/471
4003_B05C
ADC负向增益通用校验寄存器(ADC0_CLM4)
32
R/W
0000_0200h
28.3.20/472
4003_B060
ADC负向增益通用校验寄存器(ADC0_CLM3)
32
R/W
0000_0100h
28.3.21/472
4003_B064
ADC负向增益通用校验寄存器(ADC0_CLM2)
32
R/W
0000_0080h
28.3.22/473
4003_B068
ADC负向增益通用校验寄存器(ADC0_CLM1)
32
R/W
0000_0040h
28.3.23/473
4003_B06C
ADC负向增益通用校验寄存器(ADC0_CLM0)
32
R/W
0000_0020h
28.3.24/474
28.3.1 ADC状态控制寄存器1(ADC0_SC1n)
KL25 状态控制寄存器 1 中有两个寄存器,SC1A 和 SC1B。
SC1A 寄存器有软件和硬件触发两种操作模式。
为了使由外设激发的 ADC 转换有序进行,ADC 包含多个状态控制寄存器,每一次转换使用一个寄存器。SC1B-SC1n 为只在硬件触发模式下使用的多个寄存器,至于使用 SC1 寄存器的数量请查阅芯片配置信息。SC1n 寄存器有相同的位域,用“ping –pong”方法控制 ADC 操作。
在任一时刻,SC1n 寄存器中只有一个能有效控制 ADC 转换。当 SC1n 有效控制 ADC 转换时,可以更新配置 SC1A(对于该芯片的任何 SC1n 寄存器都可以依此操作)。
当 SC1A 有效控制一个转换并且处于取消当前转换时,可以对 SC1A 进行写操作。在软件触发模式下(SC2[ADTRG]=0),对寄存器 SC1A 进行写的时候会开始一个新的转换。同时,当 SC1n 寄存器有效控制一个转换并且处于取消当前状态时,可以对任何一个 SC1n 寄存器进行写操作。在软件触发操作模式下不能用 SC1B-SC1n 寄存器组,所以此时对 SC1B-SC1n 进行写操作不会开始一个新的转换。
地址:4003_B000h 基地址+0h 偏移量+(4d*I) (i 从 0d 到 1d),SC1A 的地址 4003B000h,
SC1B 的地址 4003B004h。
数据位
D31
D30
D29
D28
D27
D26
D25
D24
D23
D22
D21
D20
D19
D18
D17
D16
读/写
0
复位
0
数据位
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
读/写
0
COCO
AIEN
DIFF
ADCH
复位
0
1
D31~D8(0)—保留位,只读,且各位值为 0。
D7(COCO)—转换完成标志位,只读。当不设置比较功能(SC2[ACFE]=0)时,或不设置硬件均值功能(SC3[AVGE]=0)时,每次转换完成时置该位为 1;当比较功能使能 (SC2[ACFE]=1)时,只要比较结果为真,转换完成后,该位为 1;当设置硬件均值功能(SC3[AVGE]=1)时,且均值滤波次数(该值由 SC3[AVGS]段决定)设定后,则该位为 1;当校准次序完成,则该位为 1。当对寄存器 SC1A 进行写操作或者对转换结果寄存器 Rn 进行读操作时,都会清除 COCO。
D6(AIEN)—中断使能位。当 AIEN 位为 1 时,设置 COCO 位为 1 就会引发一个中断。当 AIEN 为 0 时,无动作。
D5(DIFF)—差分模式使能位。当 DIFF 为 0 时,单端转换;当 DIFF 为 1 时,差分转换。在差分模式下,当 ADC 配置有效时,该模式会自动从不同通道中选择一个通道,改变转换算法和周期数完成转换。
D4~D0(ADCH)—输入通道选择位。输入通道的解码取决于 DIFF 的值。输入引脚 DAD0-DAD3 已经和内部的引脚对 DADPx、DADMx 相连。当全部设置为 1111 时,连续近似值转换器子系统会关闭。该特征可以明确地结束 ADC,同时可以将输入通道与所有其他的资源隔离开来。结束正在执行的转换可以防止新的转换发生。当正在执行的转换无效时,没有必要将通道选择位全部设置为 1 来将 ADC 置于低功耗状态,因为转换完成之后模块会自动进入低功耗状态。当该位段设置为 0000~00011,当 DIFF=0 时, DADP0~DADP3 选择为输入,而 DIFF=1 时,DAD0~DAD3 选择为输入;当该位段设置为 00100~10111,当 DIFF=0 时,AD4~AD23 选择为输入,而 DIFF=1 时,该位保留;其他情况该位均保留。注意:您的设备可能无法使用位域设置说明中的一些输入通道,对于 ADC
设备的实际 ADC 通道分配,请参阅芯片配置信息。
28.3.2 ADC配置寄存器(ADC0_CFG1)
CFG1 寄存器可以选择操作模式,设置时钟源、时钟分频,对低功耗或者长时间采样进行配置。
地址:4003_B000h 基地址+8h 偏移量=4003_B008h
数据位
D31
D30
D29
D28
D27
D26
D25
D24
D23
D22
D21
D20
D19
D18
D17
D16
读/写
0
复位
0
数据位
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
读
0
ADLPC
ADIV
ADLSMP
MODE
ADICLK
写
—
复位
0
1
D31~D8(0)—保留位,只读,且各位值为 0。
D7(ADLPC)—低功耗配置位。CFG1[ADLPC]控制连续近似值转换器的电压配置。
当 CFG1[ADLPC]=0 时,正常供电配置;当 CFG1[ADLPC]=1 时,以最大时钟速率的代价
降低功耗。
D6~D5 (ADIV)—时钟分频选择位。ADIV 选择 ADC 使用的分频系数产生内部时钟 ADCK。当 CFG1[ADIV]分别为 00,01,10,11 时,对应的分频系数分别为 1,2,4,
8,时钟频率为输入时钟,输入时钟/2,输入时钟/4,输入时钟/8。
D4(ADLSMP)—采样时间配置位。ADLSMP 会根据选择的转换模式选择不同的采样次数。该位能够根据采样周期进行调整,高阻抗输入以达到精确采样或者低阻抗输入达到最大转换速率。如果持续转换使能,同时不要求高转换率,则长时间采样也可以用在更低的功耗状态下进行。当 CFG1[ADLSMP]=1 时,即长时间采样选择位置位,可以选择长时间采样的范围;当 CFG1[ADLSMP]=0 时,即短时间采样选择位置位,可以选择短时间采样的范围。
D3~D2(MODE)—转换模式选择位。选择 ADC 采样模式。当 SC1[DIFF]=0 时, CFG1[MODE]=00,01,10,11 时,分别为单端 8 位,10 位,12 位,16 位转换;当 SC1[DIFF]=1 时,CFG1[MODE]=00,01,10,11 时,分别为带有 2 进制补码输出的 9 位,13 位,11 位,16 位差分转换。
D1~D0(ADICLK)—输入时钟选择位。输入时钟源产生内部时钟 ADCK。当选择 ADACK 为时钟源时,在转换开始前不要激活。当选择该位的同时又不需要提前开始转换 (CFG2[ADACKEN]=0)时,异步时钟在转换开始时有效,在转换结束时关闭。这种情况下每次时钟源再次有效时,都有一个相关的时钟开始时间延时。当 CFG1[ADICLK]=00,01, 10,11 时,输入时钟分别对应总线时钟,总线时钟/2,交替时钟(ALTCLK),异步时钟
(ADACK)。
28.3.3 ADC配置寄存器2(ADC0_CFG2)
CFG2 寄存器为高速转换选择特定的配置,在长采样模式下选择长时间持续采样。
地址:4003_B000h 基地址+Ch 偏移量=4003_B00Ch
数据位
31
D
30
D
29
D
28
D D
27
26
D
25
D D
24
23
D
22
D
21
D D
20
19
D
18
D
17
D
D
16
读/ 写
0
复位
0
数据位 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
读
0
MUXSEL
ADACKEN
ADHSC
ADLSTS
写
—
复位
0
D31~D5(0)—保留位,只读,且各位值为 0。
D4(MUXSEL)—ADC 复用选择位。当 CFG2[MUXSEL]=0 时,选择 ADxxa 通道;当 CFG2[MUXSEL]=1 时,选择 ADxxb 通道。
D3(ADACKEN)—异步时钟输出使能位。ADACKEN 可以使能异步时钟源,时钟源时钟输出和输入时钟选择的状态无关。根据MCU的配置,其他模块可以使用异步时钟。即使当 ADC 处于空闲或者来自不同时钟源的操作正在执行,都可设置该位允许时钟使能。同样,如果 ADACK 时钟已经在运行,选择带有异步时钟的简单转换或者第一个连续转换操作的延时就会减少。当 CFG2[ADACKEN]=0 时,异步时钟输出禁止;当
CFG2[ADACKEN]=1 时,不管 ADC 的状态是什么,异步时钟和输出时钟都有效。
D2(ADHSC)—高速配置位。通过改变转换时序来允许更高速率的转换时钟(两个 ADCK 被加进转换时间)。当 CFG2[ADHSC]=0 时,选择正常转换时序;当 CFG2[ADHSC]=1
时,选择高速转换时序。
D1~D0(ADLSTS)—长采样时间选择位。当选择了长采样时间(SC1[ADLSMP]=1) 时,ADLSTS 选择扩展采样时间中的一个。该特点允许高阻抗输入,可以达到精确采样或在低阻抗输入时,可以将转换速度最大化。如果不要求高转换率,当持续转换使能时,更长的采样时间以降低功耗。其中,默认最长采样时间为 4 个 ADCK 周期。当 CFG1[ADLSTS]=00(额外增加 20 个 ADCK 周期),01,10,11 时,12 个 ADCK 周期,6 个 ADCK 周期,2 个 ADCK 周期,所以总共有 24 个,16 个,10 个,6 个 ADCK 周期的采样时间。
28.3.4 ADC数据结果寄存器(ADC0_Rn)
数据结果寄存器包含 ADC 转换结果,这个结果是通过相应的状态和通道控制寄存器(SC1A:SC1n)选择产生的。对于每个状态和通道控制寄存器,都有一个相应的数据结果寄存器。
在无符号右对齐模式下寄存器 Rn 中没有被使用的位会被清除,在有符号扩展的二进制补码模式下会携带最高位(MSB)。例如,当配置成 10 位的单端模式时,D[15:10]会被清除。当配置成 11 位的差分模式时,D[15:10]会携带符号位,也就是第 10 位扩展成第 15 位。表 28-43 描述了数据结果寄存器在不同的模式下的行为。
28-2 数据结果寄存器描述
转换模式
各位描述
格式
说明:
S:符号位或者符号位扩展; D:数据(二进制补码显示)。
16 位差分模式
D15=0,D14~D0=D
有符号的二进制补码
16 位单端模式
D15~D0=D
无符号的右对齐
13 位差分模式
D15~D12=S,D11~D0=D
扩展的有符号二进制补码
12 位单端模式
D15~D12=0,D11~D0=D
无符号右对齐
11 位差分模式
D15~D10=S,D11~D0=D
扩展的有符号二进制补码
10 位单端模式
D15~D10=0,D11~D0=D
无符号右对齐
9 位差分模式
D15~D9=S,D8~D0=D
扩展的有符号二进制补码
8 位单端模式
D15~D9=0,D8~D0=D
无符号右对齐
注意:
S:符号位或者符号位扩展;D:数据(二进制补码显示)
地址:4003_B000h 基地址+10h 偏移量+(4d*i) (i 从 0d 到 1d),RA 的地址 4003B010h,
RA 的地址 4003B014h。
数据位
D
31
30
D
29
D
28
D
27
D
26
D
25
D
24
D
23
D
22
D
21
D
20
D
19
D
18
D
17
D
16
读/ 写
0
复位
0
D
数据位
D
15
14
D
13
D
12
D
11
D
10
D
9
D
8
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
读
/写
D
复位
0
D
D31~D16(0)—保留位,只读,且各位值为 0。
D15~D0(D)—数据结果。
28.3.5 ADC比较值寄存器(ADC0_CVn)
比较值寄存器(CV1 和 CV2)包含一个比较值,用于当比较功能使能(SC2[ACFE]=1)时,与转换结果的值做比较。在不同操作模式下,该寄存器与数据结果寄存器一样,由位的位置定义和值的格式组成(扩展的无符号或者二进制补码)。因此比较功能只用于当比较值寄存器的各位与 ADC 操作模式一致时使能。
比较值 2 寄存器(CV2)仅当比较区域功能使能(SC2[ACFE]=1)时才使用。
地址:4003_B000h 基地址+18h 偏移量+(4d*i) (i 从 0d 到 4d),CV1 寄存器的地址
4003B018h,CV2 寄存器的地址 4003B01Ch。
数据位
31
D
30
D
29
D
28
D
27
D
26
D
25
D
24
D
23
D
22
D
21
D
20
D
19
D
18
D
17
D
16
读 / 写
0
复位
0
D
数据位
D
15
14
D
13
D
12
D
11
D
10
D
9
D
8
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
读/ 写
CV
复位
0
D
D31~D16(0)—保留位,只读,且各位值为 0。
D15~D0(CV)—比较值。
28.3.6 ADC状态控制寄存器2(ADC0_SC2)
SC2 寄存器有转换执行,硬件/软件触发选择,比较功能和 ADC 模块的参考电压选择等功能。
地址:4003_B000h 基地址+20h 偏移量=4003_B020h
数据位
D
31
30
D
29
D
28
D
27
D
26
D
25
D
24
D
23
D
22
D
21
D
20
D
19
D
18
D
17
D
16
读/ 写
0
复位
0
D
数据位
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
读
0
ADACT
ADT RG
ACFE
ACFGT
ACREN
DMAEN
REFSEL
写
—
复位
0
D31~D8(0)—保留位,只读,且各位值为 0。
D7(ADACT)—转换执行位。提示一个转换或者硬件计算均值命令是否正在执行。
当 SC2[ADACT]=1 时,转换正在执行;当 SC2[ADACT]=0 时,转换没有在执行。
D6(ADTRG)—转换触发选择位。有两种触发方式,当 SC2[ADTRG]=1 时,硬件触发。当 ADHWTSn 输入脉冲结束之后,根据有效的 ADHWT 的输入,转换就会开始执行。当 SC2[ADTRG]=0 时,在这种模式下,写 SC2(ADCH 位不全为 1)启动转换。
D5(ACFE)—比较功能使能位。当 SC2[ACFE]=0 时,比较功能禁止;当 SC2[ACFE]=1
时,比较功能使能。
D4(ACFGT)—比较功能大于使能位。基于 SC2[ACREN]的值,配置比较功能检查转换的结果与比较值寄存器转换值的关系。为了使 ACFGT 使能,SC2[ACFE]位必须置位。
当 SC2[ACFGT]=1 时,根据 CV1 和 CV2 寄存器中的值,配置检测到大于等于阈值(在范围之内包含边界,在范围之外包含边界);当 SC2[ACFGT]=0 时,根据 CV1 和 CV2 寄存器中的值,配置检测到小于阈值(在范围之内不包含边界,范围之外不包含边界)。
D3(ACREN)—比较功能区域使能位。配置比较功能用于检查被监测的输入转换结果是在区域之内还是区域之外,这个区间的值由比较寄存器 CV1,CV2 决定。ACFE 位必须被置位以保证 ACFGT 有效。SC2[ACFGT]=1 时,区域功能使能。比较值寄存器 CV1 与 CV2 都做比较;当 SC2[ACFGT]=0 时,区域功能禁止。只有比较值 1 寄存器做比较。
D2(DMAEN)—DMA 使能位。当 SC2[ACREN]=0 时,DMA 禁止;当 SC2[ACREN]=1
时,DMA 使能,同时在 ADC 转换完成期间会保持 DMA 请求。
D1~D0 (REFSEL)—参考电压选择位。=00:选择芯片的 VREFH 和 VREFL 两个引脚作为 AD 转换的参考电压;=01:可选的参考电压对(外部引脚或者 MCU 内部电压源,具体参见 MCU“芯片配置”);=10,11:保留。
28.3.7 ADC状态控制寄存器3(ADC0_SC3)
状态控制寄存器 3 控制 ADC 模块的校验,持续性转换,和硬件计算均值功能。
地址:4003_B000h 基地址+24 偏移量=4003_B024h
数据位
D31
D30
D29
D28
D27
D26
D25
D24
D23
D22
D21
D20
D19
D18
D17
D16
读
0
复位
0
数据位
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
读
0
CAL
CALF
0
ADCO
AVGE
AVGS
写
—
—
复位
0
D31~D8(0)—保留位,只读,且各位值为 0。
D7(CAL)—校验位。SC3[CAL]置位后,校验开始执行,校验完成后,该位清零。必须检查 SC3[CALF]位来确定校验结果是否正确,因为校验一旦开始,不能被写操作中断,否则转换结果出错,导致 SC3[CALF]位被置位。所以 SC3[CAL]=1 时,可以取消当
前的任何转换。
D6(CALF)—校验失败标志位。CALF 会显示校验过程的结果。当 ADTRG=1 时,表示校验过程失败,此时任何寄存器都可以进行写操作,或者在校验过程完成之后有停止模式进入。对 CALF 写 1,可以清除该位。
D5~D4(0)—保留位,只读,且各位值为 0。
D3(ADCO)—持续转换使能位。当 SC3[ADCO]=0 时,硬件计算均值功能使能(SC3[AVGE]=1)时,在开始一个转换之后接下来只有一个转换或者一组转换;当 SC3[ADCO]=1 时,硬件计算均值功能使能(SC3[AVGE]=1)时,在开始一个转换之后接
下来有持续的转换或多组转换。
D2(AVGE)—硬件计算均值使能位。当 SC3[AVGE]=0 时,硬件计算均值功能禁止;
当 SC3[AVGE]=1 时,硬件计算均值功能使能。
D1(AVGS)—硬件计算均值选择位。AVGS 段确定对多少个 ADC 转换结果来求平
均值,进而得到 ADC 转换的平均值。00~11 分别代表 4,8,16,32 个采样均值。
28.3.8 ADC偏移量修正寄存器(ADC0_OFS)
ADC偏移量修正寄存器(偏移量修正寄存器OFS)带有用户选择的或者处理校验偏移量错误的修正值。该寄存器有二进制补码、左对齐、16 位的值。OFS带有用户选择的一个值或者由校验产生的一个偏移量错误修正值 校验时,先采集一部分数据用以获得一个偏移量错误修正值,存于 OFS 中,以便后面采集数据的准确性。
,将AD转换值和OFS的值相减得到的结果存于结果寄存器Rn。如果结果在最大值之上或在最小值之下,就会被强制转换成适合当前模式操作的值。
地址:4003_B000h 基地址+28h 偏移量=4003_B028h
数据位
D31
D30
D29
D28
D27
D26
D25
D24
D23
D22
D21
D20
D19
D18
D17
D16
读/写
0
复位
0
数据位
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
读/写
OFS
复位
0
1
0
D31~D16(0)—保留位,只读,且各位值为 0。
D15~D0(OFS)—偏移量错误修正值。
28.3.9 ADC正向增益寄存器(ADC0_PG)
不论是差分模式的正向输入或单端模式的全体转换,正向增益寄存器带有累加纠错机制。PG 是以 16 位实数二进制形式出现,它是一个增益调整因子,在 ADPG15 与 ADPG14 之间带有小数点。用户必须根据校验过程步骤中描述的值对寄存器进行写操作,否则累加错误定位达不到要求。
地址:4003_B000h 基地址+2Ch 偏移量=4003_B02Ch
数据位
D31
D30
D29
D28
D27
D26
D25
D24
D23
D22
D21
D20
D19
D18
D17
D16
读/写
0
复位
0
数据位
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
读/写
PG
复位
1
0
1
0
D31~D16(0)—保留位,只读,且各位值为 0。
D15~D0(PG)—正向增益。
28.3.10 ADC负向增益寄存器(ADC0_MG)
对于差分模式下的负向输入,负向增益寄存器(MG)带有累加纠错机制。在单端模式下该寄存器无效。MG 是一个以二进制形式存在的 16 位实数,它是一个增益调整因子,在 ADMG15 和 ADMG14 之间有小数点。用户必须根据校验过程中描述的值对寄存器进
行写操作,否则累加错误定位达不到要求。
地址:4003_B000h 基地址+30h 偏移量=4003_B030h
数据位
D31
D30
D29
D28
D27
D26
D25
D24
D23
D22
D21
D20
D19
D18
D17
D16
读/写
0
复位
0
数据位
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
读/写
MG
复位
1
0
1
0
D31~D16(0)—保留位,只读,且各位值为 0。
D15~D0(MG)—负向增益。
28.3.11 ADC正向增益通用校验值寄存器(ADC0_CLPD)
正向增益通用校验值寄存器(CLPx)含有由校验功能产生的校验信息。这些寄存器包含
7 个不同宽度的校验值,分别是:CLP0[5:0,CLP1[6:0],CLP2[7:0],CLP3[8:0],CLP4[9:0], CLPS[5:0],和 CLPD[5:0]。一旦自校验次序确定(CAL 被清零),CLPx 自动被置位。校验
之后,用户对这些寄存器进行写操作,可能无法满足线性误差规范的要求。
地址:4003_B000h 基地址+34h 偏移量=4003_B034h
数据位
D31
展开阅读全文