12.1.7. 寄存器描述

12.1.7.1. 0x000 ADCIM_MCSR

默认值:0x00000000

ADCIM模块控制状态(ADCIM Module Control State Register)

位域

类型

默认值

描述

31:17

_

_

_

16

RO

0

BUSY(ADC忙闲标志)
0: ADC模块Idle状态,没有采样命令需要处理;
1: ADC模块正处于Busy状态,正在处理采样命令(包括捕获和转换)。

15:8

R/W

0x00

SEMFLAG(信号量标志)
本字段为一个8-bit寄存器,可以为软件任意读写,不会对硬件行为产生
任何影响。目的就是作为本模块被多个应用模块共享时的信号量标志。
每寄存器位的定义由软件自由定义。

7:4

_

_

_

3:0

RO

0x00

CHN(Number of Channel Processing,正在处理的通道号)
本字段仅作为Debug使用,表示当前正在采样的通道号,仅在BUSY=1时有效。

12.1.7.2. 0x004 ADCIM_CALCSR

默认值:0x08002F00

ADCIM校准控制(ADCIM Calibration Control Set Register)

位域

类型

默认值

描述

31

W

0

CALVAL_UPD(Calibration Value Update,ADC校准值更新)
(写完之后,马上变为0)
通过软件设置CALVAL的同时,置位本字段,表示软件需要更新CALVAL值
,本字段被置位后会触发内部更新的动作,硬件更新完毕之后,
会自动清零本字段。

30:28

_

_

_

27:16

R/W

0x800

CALVAL(Calibration Value,ADC校准输出值)
ADC的校准过程是去采样一个参考电压的中间电平,就会返回一个
12bits的值,本字段会把这个值保存下来。并且由硬件使用这个值
对所有的采样数据进行校准。

如果希望使用一个非硬件自动校准取得的值,对ADC数据进行校准,
还可以通过软件设置一个合适的值,硬件就会参考本字段,
对ADC采样数据进行自动校准。

15:8

R/W

0x2F

ADC_ACQ(ADC校准捕获时间)
本字段定义了校准时ADC通道的捕获时间长度。本计数值单位为ADC_CLK的
周期数, TADCACQ =(ADC_ACQ+1)*TADC_CLK。假设 ADC_CLK=24MHz
ADC_ACQ=0x2FTADCACQ = (47+1)*41.67ns = 2us

7:2

_

_

_

1

R/W

0

DCALMASK(Data Calibration Mask,采样数据校准屏蔽)
0: 硬件默认对采样数据进行校准后送给ADC应用功能模块;
1: 屏蔽采样数据校准功能,本模块直接把来自ADC模拟电路的
采样数据不经校准地送给ADC应用功能模块。

0

R/WAC

0

CALEN(Calibration Enable,ADC校准使能)
本使能信号由软件置位,使能ADC校准,ADC校准完后,对此控制信号
自动清零。软件查询到此信号被清零后,意味着校准已完成。

12.1.7.3. 0x008 ADCIM_FIFOSTS

默认值:0x00000040

ADCIM FIFO状态(ADCIM FIFO States)

位域

类型

默认值

描述

31:7

_

_

_

6

RO

1

ADC Arbiter Idle Status
For Debug Only
ADC命令仲裁状态,0表示ADC接口模块正在接收其他模块的命令;
1表示ADC接口模块正处于Idle状态

5

RO

0

FIFO Error Status
For Debug Only
0: 表示命令FIFO正常;
1: 表示命令FIFO Error(Overflow/Underflow)。

4:0

RO

0x00

FIFOCTR(FIFO Counter,FIFO计数器)
本字段用于显示采样命令FIFO的占用情况。FIFO深度为16,本字段
的有效值为0~16(0x00~0x10),表示FIFO内未处理的采样命令数。

12.1.7.4. 0xFFC ADCIM_VERSION

默认值:0x00000100

模块版本(ADCIM Version)

位域

类型

默认值

描述

31:0

RO

0x00000100

Version(模块版本号)
采用BCD码显示,V1.00