5.3.3. 寄存器列表
Module Name |
Mapping Size |
Offset |
---|---|---|
DCE |
4 KB |
0x000 |
Register Name |
Offset |
Description |
---|---|---|
DCE_CTL |
0x000 |
DCE控制(DCE_CTL) |
DCE_CFG |
0x004 |
DCE配置(DCE_CFG) |
IRQ_EN |
0x008 |
中断控制寄存器(IRQ_EN) |
IRQ_STA |
0x00C |
中断状态寄存器(IRQ_STA) |
DATA_ADDR |
0x010 |
地址配置寄存器(DATA_ADDR) |
DATA_LEN |
0x014 |
数据长度配置寄存器(DATA_LEN) |
- |
0x018~0x03C |
- |
DCE_RESULT |
0x040 |
结果存储寄存器(DCE_RESULT) |
- |
0x044~0x07C |
- |
CRC_CFG |
0x080 |
CRC配置寄存器(CRC_CFG) |
CRC_INIT |
0x084 |
初始值配置寄存器(CRC_INIT) |
CRC_XOROUT |
0x088 |
结果异或值配置寄存器(CRC_XOROUT) |
- |
0x08C~0x0BC |
- |
CRC_RESULT |
0x0C0 |
结果存储寄存器(CRC_RESULT) |
- |
0x0C4~0x13C |
- |
SUM_RESULT |
0x140 |
结果存储寄存器(SUM_RESULT) |
- |
0x144~0xFF8 |
- |
VERSION |
0xFFC |
DCE 版本号(VERSION) |
5.3.4. 寄存器描述
5.3.4.1. 0x000 DCE_CTL
默认值:0x00000000 |
DCE控制(DCE_CTL) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:1 |
- |
- |
- |
0 |
R/WAC |
0x0 |
CAL_ENABLE
计算使能
0:关闭
1:计算使能
注意当计算完成并将结果存到Result寄存器后该位自动清零
可以通过读取该位表示DCE模块当前状态
|
5.3.4.2. 0x004 DCE_CFG
默认值:0x00000000 |
DCE配置(DCE_CFG) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:4 |
- |
- |
- |
3:0 |
R/W |
0x0 |
MODE_SEL
算法选择
0x01:CRC
0x02:SUM
|
5.3.4.3. 0x008 IRQ_EN
默认值:0x0 |
中断控制寄存器(IRQ_EN) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:27 |
- |
- |
- |
26 |
R/W |
0x0 |
DATA_LEN_ERR_EN
数据长度错误中断使能
0: 关闭中断
1: 打开中断
|
25 |
R/W |
0x0 |
ADDR_ALIG_ERR_EN
地址非对齐错误中断使能
0: 关闭中断
1: 打开中断
|
24 |
R/W |
0x0 |
ADDR_REQ_ERR_EN
请求地址错误中断使能
0: 关闭中断
1: 打开中断
|
23:2 |
- |
- |
- |
1 |
R/W |
0x0 |
SUM_FINISH_EN
SUM运算完成中断使能
0: 关闭中断
1: 打开中断
|
0 |
R/W |
0x0 |
CRC_FINISH_EN
CRC运算完成中断使能
0: 关闭中断
1: 打开中断
|
5.3.4.4. 0x00C IRQ_STA
默认值:0x0 |
中断状态寄存器(IRQ_STA) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:27 |
- |
- |
- |
26 |
R/W1C |
0x0 |
DATA_LEN_ERR_STA
数据长度错误中断状态
0: 无中断
1: 有中断,表示数据长度过长或者长度非4Byte对齐
|
25 |
R/W1C |
0x0 |
ADDR_ALIG_ERR_STA
地址非对齐错误中断状态
0: 无中断
1: 有中断,表示请求的地址为非4Byte对齐
|
24 |
R/W1C |
0x0 |
ADDR_REQ_ERR_STA
请求地址错误中断状态
0: 无中断
1: 有中断,表示请求的地址为非法地址
|
23:2 |
- |
- |
- |
1 |
R/W1C |
0x0 |
SUM_FINISH_STA
SUM运算完成中断状态
0: 无中断
1: 有中断,表示运算完成
|
0 |
R/W1C |
0x0 |
CRC_FINISH_STA
CRC运算完成中断状态
0: 无中断
1: 有中断,表示运算完成
|
5.3.4.5. 0x010 DATA_ADDR
默认值:0x0 |
地址配置寄存器(DATA_ADDR) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
R/W |
0x0 |
从存储空间获取数据的起始地址,需要4Byte对齐,即最低两位需要为0
|
5.3.4.6. 0x014 DATA_LEN
默认值:0x0 |
数据长度配置寄存器(DATA_LEN) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:29 |
- |
- |
- |
28:0 |
R/W |
0x0 |
从存储空间获取数据的长度,最长支持256MByte
|
5.3.4.7. 0x040 DCE_RESULT
默认值:0x0 |
结果存储寄存器(DCE_RESULT) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
RO |
0x0 |
运算结果(如果两种算法同时使能,此处存储CRC算法的结果)
|
5.3.4.8. 0x080 CRC_CFG
默认值:0x0000000b |
CRC配置寄存器(CRC_CFG) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:4 |
- |
- |
- |
3 |
R/W |
0x1 |
INPUT_BYTE_IN_WORD_REV
输入数据反转,指输入数据每个Word里的Byte进行逆序处理
由于硬件以Word为单位取数,高位在前低位在后。
所以使用需要注意,如需按数据的Byte从低到高顺序运算,需要配置该反转
0:禁用
1:使能
输入数据三种反转的优先级为Byte In Word -> Bit In Word -> Bit In Byte
|
2 |
R/W |
0x0 |
INPUT_BIT_IN_WORD_REV
输入数据反转,指输入数据每个Word里的Bit进行逆序处理
0:禁用
1:使能
输入数据三种反转的优先级为Byte In Word -> Bit In Word -> Bit In Byte
|
1 |
R/W |
0x1 |
INPUT_BIT_IN_BYTE_REV
输入数据反转,指输入数据每个Byte里的Bit进行逆序处理
0:禁用
1:使能
输入数据三种反转的优先级为Byte In Word -> Bit In Word -> Bit In Byte
|
0 |
R/W |
0x1 |
OUTPUT_BIT_IN_WORD_REV
输出数据反转,指输出数据每个Word里的Bit进行逆序处理
0:禁用
1:使能
|
5.3.4.9. 0x084 CRC_INIT
默认值:0xFFFFFFFF |
初始值配置寄存器(CRC_INIT) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
R/W |
0xFFFFFFFF |
CRC初始值
|
5.3.4.10. 0x088 CRC_XOROUT
默认值:0xFFFFFFFF |
结果异或值配置寄存器(CRC_XOROUT) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
R/W |
0xFFFFFFFF |
CRC结果异或值
|
5.3.4.11. 0x0C0 CRC_RESULT
默认值:0x0 |
结果存储寄存器(CRC_RESULT) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
RO |
0x0 |
CRC运算结果
|
5.3.4.12. 0x140 SUM_RESULT
默认值:0x0 |
结果存储寄存器(SUM_RESULT) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
RO |
0x0 |
SUM运算结果
|
5.3.4.13. 0xFFC VERSION
默认值:0x00000100 |
DCE 版本号(VERSION) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
RO |
0x100 |
Version(模块版本号)
采用BCD码显示,V1.00
|