寄存器描述
地址映射
M680x 内置两路 ADC,即 ADC0/1,对应的寄存器地址映射关系如下:ADC0和ADC1的寄存器功能完全一致。
模块名 | 基地址 | 地址空间 |
---|---|---|
ADC0 | ADC_BASE + 0x0000 | 4KB |
ADC1 | ADC_BASE + 0x1000 | 4KB |
寄存器列表
寄存器名 | 偏移地址 | 寄存器功能描述 |
---|---|---|
ADC寄存器 | ||
ADC_MCR | ADC0/1 + 0x0000 | ADC模块控制寄存器 |
ADC_TCR | ADC0/1 + 0x0004 | ADC队列采样节点数寄存器 |
ADC_Q1_NODE | ADC0/1 + 0x0008 | ADC队列1节点寄存器 |
ADC_Q2_NODE | ADC0/1 + 0x000C | ADC队列2节点寄存器 |
ADC_MSR | ADC0/1 + 0x0010 | ADC模块状态寄存器 |
ADC_FILTER | ADC0/1 + 0x001C | ADC滤波控制寄存器 |
ADC_Q1FCR | ADC0/1 + 0x0020 | ADC队列1 FIFO控制寄存器 |
ADC_Q2FCR | ADC0/1 + 0x0024 | ADC队列2 FIFO控制寄存器 |
ADC_Q1FDR | ADC0/1 + 0x0040 | ADC队列1 FIFO数据寄存器 |
ADC_Q2FDR | ADC0/1 + 0x0080 | ADC队列2 FIFO数据寄存器 |
ADC_HCL_CTL | ADC0/1 + 0x0090 | ADC硬件电流环控制寄存器 |
版本寄存器 | ||
VERSION | ADC0/1 + 0x0FFC | ADC模块版本寄存器 |
0x000 ADC_MCR
默认值:0x00002F00 | ADC模块控制(ADC Module Control Register) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | - | - | - |
30 | R/WAC | 0x0 | Q2_TRIGS Queue 2 Trigger
Status,队列2的状态,同时软件也可以通过本字段触发ADC队列2进行采样。
|
29 | - | - | - |
28 | R/W | 0x0 | Q2_TRIGB Queue 2 Trigger B Enable,队列2 EPWM采样触发B使能信号
|
27 | - | - | - |
26 | R/W | 0x0 | Q2_INTE Queue 2 Interrupt Enable,队列2中断使能。
|
25 | R/W | 0x0 | Q2_INTM Queue 2 Interrupt Mode,队列2中断模式选择。
|
24 | R/WAC | 0x0 | Q2_RST Queue 2 Reset,队列2复位信号。
|
23 | R/W | 0x0 | QC_TRIGB Queue of Combination Trigger B,合并队列的EPWM采样触发B使能信号。
|
22 | R/WAC | 0x0 | Q1_TRIGS Queue 1 Trigger
Status,队列1的状态,同时软件也可以通过本字段触发ADC队列1进行采样。另外当使能了合并队列QUE_COMB =
0x1,这里反馈的是合并队列的状态。
|
21 | R/W | 0x0 | Q1_TRIGE Queue 1 Trigger E
Enable,外部触发信号(TRIGE)对ADC队列1的采样触发使能。另外当使能了合并队列QUE_COMB =
0x1,这里对应控制的是合并队列QC。
|
20 | R/W | 0x0 | Q1_TRIGA Queue 1 Trigger A Enable,队列1
EPWM采样触发A使能信号。另外当使能了合并队列QUE_COMB = 0x1,这里对应控制的是合并队列QC。
|
19 | - | - | - |
18 | R/W | 0x0 | Q1_INTE Queue 1 Interrupt Enable,队列1中断使能。另外当使能了合并队列QUE_COMB =
0x1,这里对应控制的是合并队列QC。
|
17 | R/W | 0x0 | Q1_INTM Queue 1 Interrupt Mode,队列1中断模式选择。另外当使能了合并队列QUE_COMB = 0x1,这里对应控制的是合并队列QC。
|
16 | R/WAC | 0x0 | Q1_RST Queue 1 Reset,队列1复位信号。另外当使能了合并队列QUE_COMB =
0x1,这里对应控制的是合并队列QC。
|
15:8 | R/W | 0x2F | ADC_ACQ ADC Acquirement Time,ADC捕获时间。本计数值单位为ADC_CLK的周期数,TADCACQ =(ADC_ACQ+1)*TADC_CLK。假设ADC_CLK=24MHz,ADC_ACQ=0x2F,TADCACQ = (47+1)*41.67ns = 2us。 |
7:3 | - | - | - |
2 | R/W | 0x0 | QUE_WRAP Queue Wrap Around Mode,队列回环模式0x0:回环从节点0到节点Q1/Q2_TRIG_CNT0x1:回环从节点0到最大节点 |
1 | R/W | 0x0 | QUE_COMB Queue Combine,合并队列使能。
|
0 | R/W | 0x0 | ADC_EN ADC Enable,ADC使能。
|
0x004 ADC_TCR
默认值:0x00000000 | ADC队列采样节点数(ADC Trigger Count Register) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:7 | - | - | - |
6:4 | R/W | 0x0 | Q2_TRIG_CNT(队列2触发采样节点数) 本字段设定了队列2的每次触发信号发生后,采样队列的连续节点数,实际采样节点数为Q2_TRIG_CNT+1。
|
3:0 | R/W | 0x0 | Q1_TRIG_CNT(队列1触发采样节点数) 本字段设定了队列1(包括合并队列)的每次触发信号发生后,采样队列的连续节点数,实际采样节点数为Q1_TRIG_CNT+1。
|
0x008 ADC_Q1_NODE
默认值:0x00000000 | ADC队列1节点(ADC Queue 1 Node) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | R/W | 0x0 | Q1_NODE7本字段定义了Q1节点7或QC节点7的ADC输入通道号。 |
27:24 | R/W | 0x0 | Q1_NODE6本字段定义了Q1节点6或QC节点6的ADC输入通道号。 |
23:20 | R/W | 0x0 | Q1_NODE5本字段定义了Q1节点5或QC节点5的ADC输入通道号。 |
19:16 | R/W | 0x0 | Q1_NODE4本字段定义了Q1节点4或QC节点4的ADC输入通道号。 |
15:12 | R/W | 0x0 | Q1_NODE3本字段定义了Q1节点3或QC节点3的ADC输入通道号。 |
11:8 | R/W | 0x0 | Q1_NODE2本字段定义了Q1节点2或QC节点2的ADC输入通道号。 |
7:4 | R/W | 0x0 | Q1_NODE1本字段定义了Q1节点1或QC节点1的ADC输入通道号。 |
3:0 | R/W | 0x0 | Q1_NODE0 本字段定义了Q1节点0或QC节点0的ADC输入通道号。
|
0x00C ADC_Q2_NODE
默认值:0x00000000 | ADC队列2节点(ADC Queue 2 Node) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | R/W | 0x0 | Q2_NODE7本字段定义了Q2节点7或QC节点15的ADC输入通道号。 |
27:24 | R/W | 0x0 | Q2_NODE6本字段定义了Q2节点6或QC节点14的ADC输入通道号。 |
23:20 | R/W | 0x0 | Q2_NODE5本字段定义了Q2节点5或QC节点13的ADC输入通道号。 |
19:16 | R/W | 0x0 | Q2_NODE4本字段定义了Q2节点4或QC节点12的ADC输入通道号。 |
15:12 | R/W | 0x0 | Q2_NODE3本字段定义了Q2节点3或QC节点11的ADC输入通道号。 |
11:8 | R/W | 0x0 | Q2_NODE2 本字段定义了Q2节点2或QC节点10的ADC输入通道号。 |
7:4 | R/W | 0x0 | Q2_NODE1 本字段定义了Q2节点1或QC节点9的ADC输入通道号。 |
3:0 | R/W | 0x0 | Q2_NODE0 本字段定义了Q2节点0或QC节点8的ADC输入通道号。
|
0x010 ADC_MSR
默认值:0x00000000 | ADC模块状态(ADC Module State Register) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | - | - | - |
27:24 | RO | 0x0 | QX_CNTDebug 寄存器。 |
23 | - | - | - |
22:20 | RO | 0x0 | Q2_STATE Queue 2 State,队列2状态。 本字段显示当前队列2所处的采样节点位置。初始为0,显示队列2处于NODE0的位置,随着触发采样的递进,Q2_STATE会不断往前计数,例如Q2_STATE=3,就表示下一次会对NODE3描述的通道号进行采样。 |
19:16 | RO | 0x0 | Q1_STATE Queue 1 State,队列1状态。 本字段显示当前队列1(包括合并队列)所处的采样节点位置。初始为0,显示队列1处于NODE0的位置,随着触发采样的递进,Q1_STATE会不断往前计数,例如Q1_STATE=5,就表示下一次会对NODE5描述的通道号进行采样。 |
15:8 | - | - | - |
11 | RO | 0x0 | Q2_EOQ Queue 2 End of Queue,队列2结束翻转标志。 本字段仅在中断模式1(Q2_INTM=1)有效,在中断模式0(Q2_INTM=0)下,本字段固定为0。在中断模式1下,每次按照Q2_TRIG_CNT计数完成相应的采样节点数后就会自动翻转一次(由0翻转为1,或者由1翻转为0)。 |
10 | RO | 0x0 | Q1_EOQ Queue 1 End of Queue,队列1结束翻转标志。 本字段仅在中断模式1(Q1_INTM=1)有效,在中断模式0(Q1_INTM=0)下,本字段固定为0。在中断模式1下,每次按照Q1_TRIG_CNT计数完成相应的采样节点数后就会自动翻转一次(由0翻转为1,或者由1翻转为0)。 |
9 | RO | 0x0 | Q2_BUSY Queue 2 Busy Flag有,队列2忙状态标志。
|
8 | RO | 0x0 | Q1_BUSY Queue 1 Busy Flag,队列1忙状态标志。
|
7 | - | - | - |
6 | RO | 0x0 | Q2_FERR Queue 2 FIFO Error Flag,队列2 FIFO异常标志。 |
5 | RO | 0x0 | Q2_FRDY Queue 2 FIFO Ready Flag,队列2 FIFO数据就绪标志。 |
4 | R/W1C | 0x0 | Q2_INT Queue 2 Interrupt Flag,队列2完成事件标志。
|
3 | - | - | - |
2 | RO | 0x0 | Q1_FERR Queue 1 FIFO Error Flag,队列1 FIFO异常中断标志。在合并队列的情况下,本字段为QC队列的状态。 本字段为只读,FIFO上/下溢出状态有效(FIFO_OFS或FIFO_UFS),硬件就会自动置位本字段。当FIFO的上/下溢出状态消除,此位自动清0。 |
1 | RO | 0x0 | Q1_FRDY Queue 1 FIFO Ready Flag,队列1 FIFO数据就绪标志。在合并队列的情况下,本字段为指示队列QC的FIFO数据就绪标志。 本字段为只读, FIFO数据就绪,硬件就会置位本字段。当FIFO有效数据量低于FIFO数据就绪阈值(FIFO_DCNT<FIFO_DRTH),此位自动清0。 |
0 | R/W1C | 0x0 | Q1_INT Queue 1 Interrupt
Flag,队列1完成事件标志。在合并队列的情况下,本字段为指示队列QC的完成事件标志。
|
0x01C ADC_TRIGE_FILTER
默认值:0x00000000 | TRIGE 输入滤波控制(TRIGE Filter) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | - | - | - |
15:8 | R/W | 0x0 | DEBNCE_DIV_CLK Second Debounce Clock Divison,二级去抖分频器。仅对ADC_TRIG有效(pad输入) 本计数单位为TPCLK。当本字段为0(即0x0000)时,去抖功能无效。本字段定义的去抖时间范围为0 ~(2^8-1)*TPCLK。 |
7:4 | R/W | 0x0 | DEBNCE_CNT_FST First Debounce Counter,第一级去抖计数器。仅对ADC_TRIG有效(pad输入) 本计数单位为divclk。当本字段为0(即0x0000)时,去抖功能无效。本字段定义的去抖时间范围为0 ~(2^4-1)*divclk。 |
3:0 | R/W | 0x0 | DEBNCE_CNT_SEC Second Debounce Counter,第二级去抖计数器。仅对ADC_TRIG有效(pad输入) 本计数单位为divclk。当本字段为0(即0x0000)时,去抖功能无效。本字段定义的去抖时间范围为0 ~(2^4-1)*divclk。 |
0x020 ADC_Q1FCR
默认值:0x00000000 | ADC队列1 FIFO控制(ADC Queue 1 FIFO Control Register) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:29 | - | - | - |
28:24 | RO | 0x0 | Q1_FIFO_DCNT Queue 1 FIFO Data Count,队列1的FIFO有效数据量。Q1 FIFO的总深度为20,因此0x0~0x14为有效。在使能合并队列后,这里指示的合并队列QC的状态。 |
23:18 | - | - | - |
17 | R/W1C | 0x0 | Q1_FIFO_UFS Queue 1 FIFO Underflow Status,队列1 FIFO下溢出状态,高电平有效。本字段由硬件置位,并由软件写1清零。在使能合并队列后,这里指示的合并队列QC的状态。 |
16 | R/W1C | 0x0 | Q1_FIFO_OFS Queue 1 FIFO Overflow Status,队列1 FIFO上溢出状态,高电平有效。本字段由硬件置位,并由软件写1清零。在使能合并队列后,这里指示的合并队列QC的状态。 |
15:13 | - | - | - |
12:8 | R/W | 0x0 | Q1_FIFO_DRTH Queue 1 FIFO Data Ready Threshold,队列1 FIFO数据就绪阈值。 当FIFO的数据量达到了本阈值后,就有会产生数据就绪中断或者DMA请求。0x01~0x14表示有效阈值范围。其他为非法配置,会导致无中断/DMA请求。 |
7:4 | - | - | - |
3 | R/W | 0x0 | Q1_FIFO_ERRIE Queue 1 FIFO Error Interrupt Enable,队列1的FIFO异常中断使能。
|
2 | R/W | 0x0 | Q1_FIFO_DRQE Queue 1 FIFO DMA Request Eanble,队列1的DMA数据请求使能。
|
1 | R/W | 0x0 | Q1_FIFO_RDYIE Queue 1 FIFO Ready Interrupt Enable,队列1的FIFO数据就绪中断使能。
|
0 | R/WAC | 0x0 | Q1_FIFO_FLUSH Queue 1 FIFO Flush,队列1 FIFO清空操作。 本字段由软件置位硬件清零。软件置位启动FIFO清空操作,FIFO清空操作完成后,由硬件清零。 |
0x024 ADC_Q2FCR
默认值:0x00000000 | ADC队列2 FIFO控制(ADC Queue 2 FIFO Control Register) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:29 | - | - | - |
28:24 | RO | 0x0 | Q2_FIFO_DCNT Queue 2 FIFO Data Count,队列2的FIFO有效数据量。Q2 FIFO的总深度为12,因此0x0~0xC为有效。 |
23:18 | - | - | - |
17 | R/W1C | 0x0 | Q2_FIFO_UFS Queue 2 FIFO Underflow Status,队列2 FIFO下溢出状态,高电平有效。 本字段由硬件置位,并由软件写1清零。 |
16 | R/W1C | 0x0 | Q2_FIFO_OFS Queue 2 FIFO Overflow Status,队列2 FIFO上溢出状态,高电平有效。 本字段由硬件置位,并由软件写1清零。 |
15:12 | - | - | - |
11:8 | R/W | 0x0 | Q2_FIFO_DRTH Queue 2 FIFO Data Ready Threshold,队列2 FIFO数据就绪阈值。当FIFO的数据量达到了本阈值后,就有会产生数据就绪中断或者DMA请求。 0x1~0xC表示有效阈值范围。其他为非法配置,会导致无中断/DMA请求。 |
7:4 | - | - | - |
3 | R/W | 0x0 | Q2_FIFO_ERRIE Queue 2 FIFO Error Interrupt Enable,队列2的FIFO异常中断使能。
|
2 | R/W | 0x0 | Q2_FIFO_DRQE Queue 2 FIFO DMA Request Eanble,队列2的DMA数据请求使能。
|
1 | R/W | 0x0 | Q2_FIFO_RDYIE Queue 2 FIFO Ready Interrupt
Enabel,队列2的FIFO数据就绪中断使能。
|
0 | R/WAC | 0x0 | Q2_FIFO_FLUSH Queue 2 FIFO Flush,队列2 FIFO清空操作。 本字段由软件置位硬件清零。软件置位启动FIFO清空操作,FIFO清空操作完成后,由硬件清零。 |
0x040 ADC_Q1FDR
默认值:0x00000000 | ADC队列1 FIFO数据(ADC Queue 1 FIFO Data Register) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | - | - | - |
15:12 | RO | 0x0 | Q1_CHNUM ADC Sample Channel Number,ADC队列1采样通道号。 本字段为Q1_DATA对应的通道号,与Q1_NODEx中的数值对应。本字段的主要是目的是Debug使用,接收到数据后可以与Q1_NODEx中的数值进行比较,判断控制器是否出错。 |
11:0 | RO | 0x0 | Q1_DATA ADC Sample Q1 Data,ADC采样队列1数据。本字段为12-bit ADC采样后转化为数字量的数据。 |
0x080 ADC_Q2FDR
默认值:0x00000000 | ADC队列2 FIFO数据(ADC Queue 2 FIFO Data Register) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | - | - | - |
15:12 | RO | 0x0 | Q2_CHNUM ADC Sample Channel Number,ADC队列2采样通道号。 本字段为Q2_DATA对应的通道号,与Q2_NODEx中的数值对应。本字段的主要是目的是Debug使用,接收到数据后可以与Q2_NODEx中的数值进行比较,判断控制器是否出错。 |
11:0 | RO | 0x0 | Q2_DATA ADC Sample Q2 Data,ADC采样队列2数据。本字段为12-bit ADC采样后转化为数字量的数据。 |
0x090 ADC_HCL_CTL
默认值:0x00000000 | ADC硬件电流环控制寄存器 | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:12 | - | - | - |
11:8 | R/W | 0x0 | ADC_PRE ADC Precharge Set,ADC预充设置 |
7:6 | - | - | - |
5:4 | R/W | 0x0 | HCL_RD_MODE Hardware Current Loop Mode,硬件电流环模式
|
3:1 | - | - | - |
0 | R/W | 0x0 | HCL_RD_EN Hardware Current Loop Read Enable,使能硬件电流环读取ADC数据。
|
0xFFC VERSION
默认值:0x00000100 | ADC模块版本,ADC Version) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | RO | 0x00000100 | Version(模块版本号) 采用 BCD 码显示,V1.1 |