5.3.3. 寄存器列表

表 5.3 DCE 寄存器地址映射表

Module Name

Mapping Size

Offset

DCE

4 KB

0x000

表 5.4 DCE 寄存器列表

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