ZHCUAN6E October 2022 – May 2025 MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
表 11-2 列出了 CRCP0 寄存器的存储器映射寄存器。表 11-2 中未列出的所有寄存器偏移地址都应视为保留的位置,并且不应修改寄存器内容。
| 偏移 | 首字母缩写词 | 寄存器名称 | 组 | 部分 |
|---|---|---|---|---|
| 800h | PWREN | 电源使能 | 转到 | |
| 804h | RSTCTL | 复位控制 | 转到 | |
| 814h | STAT | 状态寄存器 | 转到 | |
| 1004h | CLKSEL | 时钟选择 | 转到 | |
| 10FCh | DESC | 模块说明 | 转到 | |
| 1100h | CRCCTRL | CRC 控制寄存器 | 转到 | |
| 1104h | CRCSEED | CRC 种子寄存器 | 转到 | |
| 1108h | CRCIN | CRC 输入数据寄存器 | 转到 | |
| 110Ch | CRCOUT | CRC 输出结果寄存器 | 转到 | |
| 1110h | CRCPOLY | CRC 多项式配置寄存器 | 转到 | |
| 1800h + 公式 | CRCIN_IDX[y] | CRC 输入数据数组寄存器 | 转到 |
复杂的位访问类型经过编码可适应小型表单元。表 11-3 展示了适用于此部分中访问类型的代码。
| 访问类型 | 代码 | 说明 |
|---|---|---|
| 读取类型 | ||
| H | H | 由硬件置位或清除 |
| R | R | 读取 |
| 写入类型 | ||
| W | W | 写入 |
| WK | W K | 写入 受密钥保护的写入 |
| 复位或默认值 | ||
| -n | 复位后的值或默认值 | |
| 寄存器数组变量 | ||
| i、j、k、l、m、n | 当这些变量用于寄存器名称、偏移或地址时,它们指的是寄存器数组的值,其中寄存器是一组重复寄存器的一部分。寄存器组构成分层结构,数组用公式表示。 | |
| y | 当该变量用于寄存器名称、偏移或地址时,它指的是寄存器数组的值。 | |
图 11-2 显示了 PWREN,表 11-4 中对此进行了介绍。
返回到汇总表。
用于控制电源状态的寄存器
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| KEY | |||||||
| W-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | ENABLE | ||||||
| R-0h | R/WK-0h | ||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-24 | KEY | W | 0h | 允许电源状态更改的 KEY 26h = 允许对该寄存器进行写入访问的 KEY |
| 23-1 | RESERVED | R | 0h | |
| 0 | ENABLE | R/WK | 0h | 启用电源 必须将 KEY 设置为 26h 才能写入该位。 0h = 禁用电源 1h = 启用电源 |
图 11-3 显示了 RSTCTL,表 11-5 中对此进行了介绍。
返回到汇总表。
用于控制复位有效和无效的寄存器
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| KEY | |||||||
| W-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | RESETSTKYCLR | RESETASSERT | |||||
| R-0h | WK-0h | WK-0h | |||||
图 11-4 显示了 STAT,表 11-6 中对此进行了介绍。
返回到汇总表。
外设启用和复位状态
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | RESETSTKY | ||||||
| R-0h | R-0h | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | |||||||
| R-0h | |||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-17 | RESERVED | R | 0h | |
| 16 | RESETSTKY | R | 0h | 该位指示自 RSTCTL 寄存器中的 RESETSTKYCLR 清除该位以来,外设是否复位 0h = 自 RSTCTL 寄存器中的 RESETSTKYCLR 上次清除该位以来,外设尚未复位 1h = 自从上次清除该位以来,外设已复位 |
| 15-0 | RESERVED | R | 0h |
图 11-5 显示了 CLKSEL,表 11-7 中对此进行了介绍。
返回到汇总表。
时钟源选择
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | MCLK_SEL | ||||||
| R-0h | R-1h | ||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | |
| 0 | MCLK_SEL | R | 1h | 如果启用,选择主时钟 (MCLK) 0h = 不选择此时钟作为时钟源 1h = 选择此时钟作为时钟源 |
图 11-6 显示了 DESC,表 11-8 中对此进行了介绍。
返回到汇总表。
该寄存器标识外设及其确切版本。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| MODULEID | |||||||||||||||
| R-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| FEATUREVER | INSTNUM | MAJREV | MINREV | ||||||||||||
| R-0h | R-0h | R-0h | R-0h | ||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-16 | MODULEID | R | 2011h | 模块标识包含唯一的外设标识号。所有平台模块的分配都保存在中央数据库中,可确保唯一性。 0h = 最小值 FFFFh = 尽可能高的值 |
| 15-12 | FEATUREVER | R | 8h | 模块 *实例* 的功能集 0h = 最小值 Fh = 尽可能高的值 |
| 11-8 | INSTNUM | R | 0h | 器件中的实例编号。对于具有多个实例的模块,这将是 RTL 的参数 0h = 最小值 Fh = 尽可能高的值 |
| 7-4 | MAJREV | R | 1h | IP 的主要版本 0h = 最小值 Fh = 尽可能高的值 |
| 3-0 | MINREV | R | 0h | IP 的次要版本 0h = 最小值 Fh = 尽可能高的值 |
图 11-7 展示了 CRCCTRL,表 11-9 中对此进行了介绍。
返回到汇总表。
CRC 控制寄存器。CRC 的配置控制。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | OUTPUT_BYTESWAP | RESERVED | INPUT_ENDIANNESS | BITREVERSE | POLYSIZE | ||
| R-0h | R/W-0h | R-0h | R/W-0h | R/W-0h | R/W-0h | ||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-5 | RESERVED | R | 0h | |
| 4 | OUTPUT_BYTESWAP | R/W | 0h | CRC 输出字节交换使能。该位会控制在读取 CRCOUT 寄存器时输出是否按字节交换。 如果 CRCOUT 作为半字进行访问,并且 OUTPUT_BYTESWAP 设置为 1,则交换并返回 16 位访问中的两个字节。 B1 作为 B0 返回 B0 作为 B1 返回 如果将 CRCOUT 作为一个字进行访问,并且 OUTPUT_BYTESWAP 设置为 1,则交换 32 位读取中的四个字节。 B3 作为 B0 返回 B2 作为 B1 返回 B1 作为 B2 返回 B0 作为 B3 返回 请注意,如果 CRC POLYSIZE 为 16 位且在启用 OUTPUT_BYTESWAP 的情况下执行 32 位 CRCOUT 读取, 则输出为: MSB LSB 0x0 0x0 B0 B1 如果 CRC POLYSIZE 为 16 位且在禁用 OUTPUT_BYTESWAP 的情况下执行 32 位 CRCOUT 读取, 则输出为: MSB LSB 0x0 0x0 B1 B0 0h = 输出字节交换被禁用 1h = 输出字节交换被启用。 |
| 3 | RESERVED | R | 0h | |
| 2 | INPUT_ENDIANNESS | R/W | 0h | CRC 字节序。该位指示输入数据的一个字或半字内的字节顺序。 0h = LSB 是最低存储器地址,首先被处理。 1h = LSB 是最高存储器地址,最后被处理。 |
| 1 | BITREVERSE | R/W | 0h | CRC 位输入和输出反转。该位指示用于 CRC 计算的每个输入字节的位顺序在传递给生成器之前被反转,并且计算的 CRC 的位顺序在从 CRC_RESULT 读取时被反转。 0h = 位顺序不反转。 1h = 位顺序反转。 |
| 0 | POLYSIZE | R/W | 0h | 该位指示生成器执行哪个 CRC 计算。 0h = 执行 CRC-32 ISO-3309 计算 1h = 执行 CRC-16 CCITT |
图 11-8 展示了 CRCSEED,表 11-10 中对此进行了介绍。
返回到汇总表。
CRC 种子寄存器。写入该寄存器的数据用于使用此 SEED 值初始化 CRC 结果。请注意,在 16 位模式下,仅使用该值的低 16 位。写入该寄存器后,CRC 输出结果寄存器将反映该值。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SEED | |||||||||||||||||||||||||||||||
| W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | SEED | W | 0h | 种子数据 00000000h = 最小值 FFFFFFFFh = 最大值 |
图 11-9 显示了 CRCIN,表 11-11 中对此进行了介绍。
返回到汇总表。
CRC 输入数据寄存器。写入该寄存器的数据与当前 CRC 结果一起用于计算下一个 CRC 结果。这是在单个时钟周期内完成的,不需要等待状态。该寄存器能够以字节、半字或字传输进行写入,正确的位数将用于下一个 CRC 结果。
该寄存器还映射到从 0xTDB_X000 开始到 0xTDB_XFFF 结束的一系列寄存器,以允许使用 memcpy 而不是 DMA 进行不超出该寄存器存储器范围边界的 CRC 计算。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATA | |||||||||||||||||||||||||||||||
| W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | DATA | W | 0h | 输入数据 00000000h = 最小值 FFFFFFFFh = 最大值 |
图 11-10 显示了 CRCOUT,表 11-12 中对此进行了介绍。
返回到汇总表。
CRC 输出结果寄存器。该寄存器存储当前 CRC 计算的结果。请注意,当配置为 16 位模式时,高位将读回 0。请注意,如果在 CRC 控制寄存器中设置了输出反转,它将被应用。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 结果 | |||||||||||||||||||||||||||||||
| R-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | 结果 | R | 0h | 结果 00000000h = 最小值 FFFFFFFFh = 最大值 |
图 11-11 显示了 CRCPOLY,表 11-13 中对此进行了介绍。
返回到汇总表。
CRC 多项式配置寄存器。该寄存器仅存在于支持自定义多项式的器件中。请查阅器件数据表。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATA | |||||||||||||||||||||||||||||||
| -0 | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | DATA | 04C11DB7h | 多项式定义 |
图 11-12 展示了 CRCIN_IDX[y],表 11-14 中对此进行了介绍。
返回到汇总表。
该寄存器被双映射到 CRCIN,旨在允许使用 C memcpy 例程运行。
偏移 = 1800h + (y * 4h);其中 y = 0h 至 1FFh
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATA | |||||||||||||||||||||||||||||||
| HW-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | DATA | HW | 0h | 输入数据 00000000h = 最小值 FFFFFFFFh = 最大值 |