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

 

  1.   1
  2.   使用前必读
    1.     关于本手册
    2.     命名惯例
    3.     术语表
    4.     相关文档
    5.     支持资源
    6.     商标
  3. 架构
    1. 1.1 架构概述
    2. 1.2 总线结构
    3. 1.3 平台存储器映射
      1. 1.3.1 代码区域
      2. 1.3.2 SRAM 区域
      3. 1.3.3 外设区域
      4. 1.3.4 子系统区域
      5. 1.3.5 系统 PPB 区域
    4. 1.4 启动配置
      1. 1.4.1 配置存储器 (NONMAIN)
        1. 1.4.1.1 由 CRC 支持的配置数据
        2. 1.4.1.2 16 位关键字段模式匹配
      2. 1.4.2 引导配置例程 (BCR)
        1. 1.4.2.1 串行线调试相关策略
          1. 1.4.2.1.1 SWD 安全级别 0
          2. 1.4.2.1.2 SWD 安全级别 1
          3. 1.4.2.1.3 SWD 安全级别 2
        2. 1.4.2.2 SWD 批量擦除和恢复出厂设置命令
        3. 1.4.2.3 闪存保护和完整性相关策略
          1. 1.4.2.3.1 锁定应用 (MAIN) 闪存
          2. 1.4.2.3.2 锁定配置 (NONMAIN) 闪存
          3. 1.4.2.3.3 静态写保护 NONMAIN 字段
        4. 1.4.2.4 应用程序 CRC 验证
        5. 1.4.2.5 快速引导
        6. 1.4.2.6 引导加载程序 (BSL) 启用/禁用策略
          1. 1.4.2.6.1 BSL 启用
      3. 1.4.3 引导加载程序 (BSL)
        1. 1.4.3.1 GPIO 调用
        2. 1.4.3.2 引导加载程序 (BSL) 安全策略
          1. 1.4.3.2.1 BSL 访问密码
          2. 1.4.3.2.2 BSL 读取策略
          3. 1.4.3.2.3 BSL 安全警报策略
        3. 1.4.3.3 应用版本
        4. 1.4.3.4 BSL 触发的批量擦除和恢复出厂设置
      4. 1.4.4 NONMAIN 布局类型
      5. 1.4.5 NONMAIN_TYPEA 寄存器
      6. 1.4.6 NONMAIN_TYPEC 寄存器
      7. 1.4.7 NONMAIN_TYPEE 寄存器
    5. 1.5 出厂常量
      1. 1.5.1 FACTORYREGION 寄存器
  4. PMCU
    1. 2.1 PMCU 概述
      1. 2.1.1 电源域
      2. 2.1.2 工作模式
        1. 2.1.2.1 RUN 模式
        2. 2.1.2.2 SLEEP 模式
        3. 2.1.2.3 STOP 模式
        4. 2.1.2.4 STANDBY 模式
        5. 2.1.2.5 SHUTDOWN 模式
        6. 2.1.2.6 不同工作模式下支持的功能
        7. 2.1.2.7 暂停低功耗模式
    2. 2.2 电源管理 (PMU)
      1. 2.2.1 电源
      2. 2.2.2 内核稳压器
      3. 2.2.3 电源监控器
        1. 2.2.3.1 上电复位 (POR)
        2. 2.2.3.2 欠压复位 (BOR)
        3. 2.2.3.3 电源变化期间的 POR 和 BOR 行为
      4. 2.2.4 带隙基准
      5. 2.2.5 用于模拟多路复用器的 VBOOST
      6. 2.2.6 外设启用
        1. 2.2.6.1 低功耗模式下自动禁用外设
    3. 2.3 时钟模块 (CKM)
      1. 2.3.1 振荡器
        1. 2.3.1.1 内部低频振荡器 (LFOSC)
        2. 2.3.1.2 内部系统振荡器 (SYSOSC)
          1. 2.3.1.2.1 SYSOSC 换档
          2. 2.3.1.2.2 SYSOSC 频率和用户修整
          3. 2.3.1.2.3 SYSOSC 频率校正环路
            1. 2.3.1.2.3.1 外部电阻器模式下的 SYSOSC FCL (ROSC)
            2. 2.3.1.2.3.2 内部电阻模式下的 SYSOSC FCL
          4. 2.3.1.2.4 SYSOSC 用户修整过程
          5. 2.3.1.2.5 禁用 SYSOSC
        3. 2.3.1.3 低频晶体振荡器 (LFXT)
        4. 2.3.1.4 LFCLK_IN(数字时钟)
        5. 2.3.1.5 高频晶体振荡器 (HFXT)
        6. 2.3.1.6 HFCLK_IN(数字时钟)
      2. 2.3.2 时钟
        1. 2.3.2.1  MCLK(主时钟)树
        2. 2.3.2.2  CPUCLK(处理器时钟)
        3. 2.3.2.3  ULPCLK(低功耗时钟)
        4. 2.3.2.4  MFCLK(中频时钟)
        5. 2.3.2.5  MFPCLK(中频精密时钟)
        6. 2.3.2.6  LFCLK(低频时钟)
        7. 2.3.2.7  HFCLK(高频外部时钟)
        8. 2.3.2.8  HSCLK(高速时钟)
        9. 2.3.2.9  ADCCLK(ADC 采样周期时钟)
        10. 2.3.2.10 RTCCLK(RTC 时钟)
        11. 2.3.2.11 外部时钟输出 (CLK_OUT)
        12. 2.3.2.12 基础设施的直接时钟连接
      3. 2.3.3 时钟树
        1. 2.3.3.1 外设时钟源选择
      4. 2.3.4 时钟监控器
        1. 2.3.4.1 LFCLK 监测器
        2. 2.3.4.2 MCLK 监测器
        3. 2.3.4.3 启动监视器
          1. 2.3.4.3.1 LFOSC 启动监视器
          2. 2.3.4.3.2 LFXT 启动监视器
          3. 2.3.4.3.3 HFCLK 启动监视器
          4. 2.3.4.3.4 HSCLK 状态
      5. 2.3.5 频率时钟计数器 (FCC)
        1. 2.3.5.1 使用 FCC
        2. 2.3.5.2 FCC 频率计算和精度
    4. 2.4 系统控制器 (SYSCTL)
      1. 2.4.1  复位和器件初始化
        1. 2.4.1.1 复位级别
          1. 2.4.1.1.1 上电复位 (POR) 复位级别
          2. 2.4.1.1.2 欠压复位 (BOR) 复位电平
          3. 2.4.1.1.3 引导复位 (BOOTRST) 复位电平
          4. 2.4.1.1.4 系统复位 (SYSRST) 复位级别
          5. 2.4.1.1.5 仅 CPU 复位 (CPURST) 复位电平
        2. 2.4.1.2 POR 之后的初始条件
        3. 2.4.1.3 NRST 引脚
        4. 2.4.1.4 SWD 引脚
        5. 2.4.1.5 在软件中生成复位
        6. 2.4.1.6 复位原因
        7. 2.4.1.7 外设复位控制
        8. 2.4.1.8 引导失败处理
      2. 2.4.2  选择工作模式
      3. 2.4.3  异步快速时钟请求
      4. 2.4.4  SRAM 写保护
      5. 2.4.5  闪存等待状态
      6. 2.4.6  闪存存储体地址交换
      7. 2.4.7  关断模式处理(如果存在)
      8. 2.4.8  配置锁定
      9. 2.4.9  系统状态
      10. 2.4.10 错误处理
      11. 2.4.11 SYSCTL 事件
        1. 2.4.11.1 CPU 中断事件 (CPU_INT)
        2. 2.4.11.2 不可屏蔽中断事件 (NMI)
    5. 2.5 快速入门参考
      1. 2.5.1 默认器件配置
      2. 2.5.2 利用 MFCLK
      3. 2.5.3 优化 STOP 模式下的功耗
      4. 2.5.4 优化 STANDBY 模式下的功耗
      5. 2.5.5 提高 MCLK 和 ULPCLK 精度
      6. 2.5.6 低功耗模式下的高速时钟(SYSPLL、HFCLK)处理
      7. 2.5.7 通过优化实现最低唤醒延迟
      8. 2.5.8 通过优化在 RUN/SLEEP 模式下实现最低峰值电流
    6. 2.6 SYSCTL 布局类型
    7. 2.7 SYSCTL_TYPEA 寄存器
    8. 2.8 SYSCTL_TYPEB 寄存器
    9. 2.9 SYSCTL_TYPEC 寄存器
  5. CPU
    1. 3.1 概述
    2. 3.2 Arm Cortex-M0+ CPU
      1. 3.2.1 CPU 寄存器文件
      2. 3.2.2 堆栈行为
      3. 3.2.3 执行模式和特权等级
      4. 3.2.4 地址空间和支持的数据大小
    3. 3.3 中断和异常
      1. 3.3.1 外设中断 (IRQ)
        1. 3.3.1.1 嵌套矢量中断控制器 (NVIC)
        2. 3.3.1.2 中断组
        3. 3.3.1.3 唤醒控制器 (WUC)
      2. 3.3.2 中断和异常表
      3. 3.3.3 处理器锁定方案
    4. 3.4 CPU 外设
      1. 3.4.1 系统控制模块 (SCB)
      2. 3.4.2 系统时钟周期计时器 (SysTick)
    5. 3.5 只读存储器 (ROM)
    6. 3.6 CPUSS 寄存器
    7. 3.7 WUC 寄存器
  6. 安全
    1. 4.1 概述
      1. 4.1.1 安全启动
      2. 4.1.2 客户安全代码 (CSC)
    2. 4.2 引导和启动序列
      1. 4.2.1 CSC 编程概述
    3. 4.3 安全密钥存储
    4. 4.4 闪存保护
      1. 4.4.1 存储体交换
      2. 4.4.2 写保护
      3. 4.4.3 读取-执行保护
      4. 4.4.4 IP 保护
      5. 4.4.5 数据存储体保护
      6. 4.4.6 硬件单调计数器
    5. 4.5 SRAM 保护
    6. 4.6 SECURITY 寄存器
  7. DMA
    1. 5.1 DMA 概述
    2. 5.2 DMA 操作
      1. 5.2.1  寻址模式
      2. 5.2.2  通道类型
      3. 5.2.3  传输模式
        1. 5.2.3.1 单字或单字节传输
        2. 5.2.3.2 块传输
        3. 5.2.3.3 重复单字或单字节传输
        4. 5.2.3.4 重复块传输
        5. 5.2.3.5 跨步模式
      4. 5.2.4  扩展模式
        1. 5.2.4.1 填充模式
        2. 5.2.4.2 表模式
      5. 5.2.5  初始化 DMA 传输
      6. 5.2.6  停止 DMA 传输
      7. 5.2.7  通道的优先级
      8. 5.2.8  突发块模式
      9. 5.2.9  DMA 与系统中断结合使用
      10. 5.2.10 DMA 控制器中断
      11. 5.2.11 DMA 触发事件状态
      12. 5.2.12 DMA 工作模式支持
        1. 5.2.12.1 在 RUN 模式下传输
        2. 5.2.12.2 在 SLEEP 模式下传输
        3. 5.2.12.3 在 STOP 模式下传输
        4. 5.2.12.4 在 STANDBY 模式下传输
      13. 5.2.13 DMA 地址和数据错误
      14. 5.2.14 中断和事件支持
    3. 5.3 DMA 寄存器
  8. NVM(闪存)
    1. 6.1 NVM 概述
      1. 6.1.1 关键特性
      2. 6.1.2 系统组成部分
      3. 6.1.3 术语
    2. 6.2 闪存存储体结构
      1. 6.2.1 存储体
      2. 6.2.2 闪存区域
      3. 6.2.3 寻址
        1. 6.2.3.1 闪存映射
      4. 6.2.4 存储器组织示例
    3. 6.3 闪存控制器
      1. 6.3.1 闪存控制器命令概述
      2. 6.3.2 NOOP 命令
      3. 6.3.3 PROGRAM 命令
        1. 6.3.3.1 编程位屏蔽行为
        2. 6.3.3.2 编程少于一个闪存字
        3. 6.3.3.3 目标数据对齐(仅限使用单闪存字编程的器件)
        4. 6.3.3.4 目标数据对齐(使用多字编程的器件)
        5. 6.3.3.5 执行 PROGRAM 操作
      4. 6.3.4 ERASE 命令
        1. 6.3.4.1 擦除扇区屏蔽行为
        2. 6.3.4.2 执行 ERASE 操作
      5. 6.3.5 READVERIFY 命令
        1. 6.3.5.1 执行 READVERIFY 操作
      6. 6.3.6 BLANKVERIFY 命令
        1. 6.3.6.1 执行 BLANKVERIFY 操作
      7. 6.3.7 命令诊断
        1. 6.3.7.1 状态命令
        2. 6.3.7.2 地址转换
        3. 6.3.7.3 脉冲计数
      8. 6.3.8 使用存储体 ID、区域 ID 和存储体地址覆盖系统地址
      9. 6.3.9 FLASHCTL 事件
        1. 6.3.9.1 CPU 中断事件发布者
    4. 6.4 写保护
      1. 6.4.1 写保护分辨率
      2. 6.4.2 静态写保护
      3. 6.4.3 动态写保护
        1. 6.4.3.1 为 MAIN 区域配置保护
        2. 6.4.3.2 为 NONMAIN 区域配置保护
    5. 6.5 读取接口
      1. 6.5.1 存储体地址交换
    6. 6.6 FLASHCTL 寄存器
  9. 事件
    1. 7.1 事件概述
      1. 7.1.1 事件发布者
      2. 7.1.2 事件订阅者
      3. 7.1.3 事件结构路由
        1. 7.1.3.1 CPU 中断事件路由 (CPU_INT)
        2. 7.1.3.2 DMA 触发事件路由 (DMA_TRIGx)
        3. 7.1.3.3 通用事件路由 (GEN_EVENTx)
      4. 7.1.4 事件路由映射
      5. 7.1.5 事件传播延迟
    2. 7.2 事件操作
      1. 7.2.1 CPU 中断
      2. 7.2.2 DMA 触发
      3. 7.2.3 外设间事件
      4. 7.2.4 扩展的模块说明寄存器
      5. 7.2.5 使用事件寄存器
        1. 7.2.5.1 事件寄存器
        2. 7.2.5.2 配置事件
        3. 7.2.5.3 响应应用软件中的 CPU 中断
        4. 7.2.5.4 硬件事件处理
  10. IOMUX
    1. 8.1 IOMUX 概述
      1. 8.1.1 IO 类型和模拟共享
    2. 8.2 IOMUX 运行
      1. 8.2.1 外设功能 (PF) 分配
      2. 8.2.2 逻辑高电平转换到高阻态
      3. 8.2.3 逻辑反相
      4. 8.2.4 SHUTDOWN 模式唤醒逻辑
      5. 8.2.5 上拉/下拉电阻
      6. 8.2.6 驱动强度控制
      7. 8.2.7 迟滞和逻辑电平控制
    3. 8.3 IOMUX 寄存器
  11. GPIO
    1. 9.1 GPIO 概述
    2. 9.2 GPIO 操作
      1. 9.2.1 GPIO 端口
      2. 9.2.2 GPIO 读取/写入接口
      3. 9.2.3 GPIO 输入干扰滤波和同步
      4. 9.2.4 GPIO 快速唤醒
      5. 9.2.5 GPIO DMA 接口
      6. 9.2.6 事件发布者和订阅者
    3. 9.3 GPIO 寄存器
  12. 10AESADV
    1. 10.1 AESADV 概述
      1. 10.1.1 AESADV 性能
    2. 10.2 AESADV 运行
      1. 10.2.1 加载密钥
      2. 10.2.2 写入输入数据
      3. 10.2.3 读取输出数据
      4. 10.2.4 操作说明
        1. 10.2.4.1 单块操作
        2. 10.2.4.2 电码本 (ECB) 模式
          1. 10.2.4.2.1 ECB 加密
          2. 10.2.4.2.2 ECB 解密
        3. 10.2.4.3 密码分组链接 (CBC) 模式
          1. 10.2.4.3.1 CBC 加密
          2. 10.2.4.3.2 CBC 解密
        4. 10.2.4.4 输出反馈 (OFB) 模式
          1. 10.2.4.4.1 OFB 加密
          2. 10.2.4.4.2 OFB 解密
        5. 10.2.4.5 密码反馈 (CFB) 模式
          1. 10.2.4.5.1 CFB 加密
          2. 10.2.4.5.2 CFB 解密
        6. 10.2.4.6 计数器模式 (CTR)
          1. 10.2.4.6.1 CTR 加密
          2. 10.2.4.6.2 CTR 解密
        7. 10.2.4.7 伽罗瓦计数器模式 (GCM)
          1. 10.2.4.7.1 GHASH 运算
          2. 10.2.4.7.2 GCM 工作模式
            1. 10.2.4.7.2.1 自主 GCM 操作
              1. 10.2.4.7.2.1.1 GMAC
            2. 10.2.4.7.2.2 带有预计算值的 GCM
            3. 10.2.4.7.2.3 带有预计算 H 值且 Y0 加密值强制为零的 GCM 操作
        8. 10.2.4.8 带密码分组链接消息身份验证代码的计数器 (CCM)
          1. 10.2.4.8.1 CCM 操作
      5. 10.2.5 AES 事件
        1. 10.2.5.1 CPU 中断事件发布者 (CPU_EVENT)
        2. 10.2.5.2 DMA 触发事件发布者 (DMA_TRIG_DATAIN)
        3. 10.2.5.3 DMA 触发事件发布者 (DMA_TRIG_DATAOUT)
    3. 10.3 AESADV 寄存器
  13. 11CRC
    1. 11.1 CRC 概述
      1. 11.1.1 CRC16-CCITT
      2. 11.1.2 CRC32-ISO3309
    2. 11.2 CRC 运行
      1. 11.2.1 CRC 生成器实现
      2. 11.2.2 配置
        1. 11.2.2.1 多项式选择
        2. 11.2.2.2 位顺序
        3. 11.2.2.3 字节交换
        4. 11.2.2.4 字节顺序
        5. 11.2.2.5 CRC C 库兼容性
    3. 11.3 CRCP0 寄存器
  14. 12密钥库
    1. 12.1 概述
    2. 12.2 详细说明
    3. 12.3 KEYSTORECTL 寄存器
  15. 13TRNG
    1. 13.1 TRNG 概述
    2. 13.2 TRNG 运行
      1. 13.2.1 TRNG 生成数据路径
      2. 13.2.2 时钟配置和输出速率
      3. 13.2.3 低功耗模式下的行为
      4. 13.2.4 健康检测
        1. 13.2.4.1 数字块启动自检
        2. 13.2.4.2 模拟块启动自检
        3. 13.2.4.3 运行时健康检测
          1. 13.2.4.3.1 重复计数测试
          2. 13.2.4.3.2 自适应比例测试
          3. 13.2.4.3.3 处理运行时运行状况测试失败
      5. 13.2.5 配置
        1. 13.2.5.1 TRNG 状态机
          1. 13.2.5.1.1 更改 TRNG 状态
        2. 13.2.5.2 使用 TRNG
        3. 13.2.5.3 TRNG 事件
          1. 13.2.5.3.1 CPU 中断事件发布者 (CPU_INT)
    3. 13.3 TRNG 寄存器
  16. 14温度传感器
  17. 15ADC
    1. 15.1 ADC 概述
    2. 15.2 ADC 操作
      1. 15.2.1  ADC 内核
      2. 15.2.2  电压基准选项
      3. 15.2.3  通用分辨率模式
      4. 15.2.4  硬件均值计算
      5. 15.2.5  ADC 时钟
      6. 15.2.6  常见的 ADC 用例
      7. 15.2.7  断电行为
      8. 15.2.8  采样触发源和采样模式
        1. 15.2.8.1 自动采样模式
        2. 15.2.8.2 手动采样模式
      9. 15.2.9  采样周期
      10. 15.2.10 转换模式
      11. 15.2.11 数据格式
      12. 15.2.12 高级特性
        1. 15.2.12.1 窗口比较器
        2. 15.2.12.2 DMA 和 FIFO 操作
        3. 15.2.12.3 模拟外设互连
      13. 15.2.13 状态寄存器
      14. 15.2.14 ADC 事件
        1. 15.2.14.1 CPU 中断事件发布者 (CPU_INT)
        2. 15.2.14.2 通用事件发布者 (GEN_EVENT)
        3. 15.2.14.3 DMA 触发事件发布者 (DMA_TRIG)
        4. 15.2.14.4 通用事件订阅者 (FSUB_0)
    3. 15.3 ADC12 寄存器
  18. 16COMP
    1. 16.1 比较器概述
    2. 16.2 比较器运行
      1. 16.2.1  比较器配置
      2. 16.2.2  比较器通道选择
      3. 16.2.3  比较器输出
      4. 16.2.4  输出滤波器
      5. 16.2.5  采样输出模式
      6. 16.2.6  消隐模式
      7. 16.2.7  基准电压发生器
      8. 16.2.8  比较器滞后
      9. 16.2.9  输入短路开关
      10. 16.2.10 中断和事件支持
        1. 16.2.10.1 CPU 中断事件发布者 (CPU_INT)
        2. 16.2.10.2 通用事件发布者 (GEN_EVENT)
        3. 16.2.10.3 通用事件订阅者
    3. 16.3 COMP 寄存器
  19. 17OPA
    1. 17.1 OPA 概述
    2. 17.2 OPA 运行
      1. 17.2.1 模拟内核
      2. 17.2.2 上电行为
      3. 17.2.3 输入
      4. 17.2.4 输出
      5. 17.2.5 时钟要求
      6. 17.2.6 斩波
      7. 17.2.7 OPA 放大器模式
        1. 17.2.7.1 通用模式
        2. 17.2.7.2 缓冲模式
        3. 17.2.7.3 OPA PGA 模式
          1. 17.2.7.3.1 反相 PGA 模式
          2. 17.2.7.3.2 同相 PGA 模式
        4. 17.2.7.4 差分放大器模式
        5. 17.2.7.5 级联放大器模式
      8. 17.2.8 选择 OPA 配置
      9. 17.2.9 烧毁电流源
    3. 17.3 OA 寄存器
  20. 18GPAMP
    1. 18.1 GPAMP 概述
    2. 18.2 GPAMP 操作
      1. 18.2.1 模拟内核
      2. 18.2.2 上电行为
      3. 18.2.3 输入
      4. 18.2.4 输出
      5. 18.2.5 GPAMP 放大器模式
        1. 18.2.5.1 通用模式
        2. 18.2.5.2 ADC 缓冲模式
        3. 18.2.5.3 单位增益模式
      6. 18.2.6 斩波
    3. 18.3 GPAMP 寄存器
  21. 19VREF
    1. 19.1 VREF 概述
    2. 19.2 VREF 运行
      1. 19.2.1 内部基准生成
      2. 19.2.2 外部基准输入
      3. 19.2.3 模拟外设接口
    3. 19.3 VREF 寄存器
  22. 20LCD
    1. 20.1 LCD 简介
      1. 20.1.1 LCD 工作原理
      2. 20.1.2 静态模式
      3. 20.1.3 2 路复用模式
      4. 20.1.4 3 路复用模式
      5. 20.1.5 4 路复用模式
      6. 20.1.6 6 路复用模式
      7. 20.1.7 8 路复用模式
      8. 20.1.8 引言
      9. 20.1.9 LCD 波形
    2. 20.2 LCD 时钟
    3. 20.3 电压生成
      1. 20.3.1  模式 0 - 从外部基准和外部电阻分压器生成电压
      2. 20.3.2  模式 1 - 从 AVDD 和外部电阻分压器生成电压
      3. 20.3.3  模式 2 - 从外部基准和内部电阻分压器生成电压
      4. 20.3.4  模式 3 - 从 AVDD 和内部电阻梯生成电压
      5. 20.3.5  模式 4 - 使用外部电源从电荷泵生成电压
      6. 20.3.6  模式 5 - 使用 AVDD 从电荷泵生成电压
      7. 20.3.7  模式 6 - 在 R13 上使用外部基准从电荷泵生成电压
      8. 20.3.8  模式 7 - 在 R13 上使用内部基准从电荷泵生成电压
      9. 20.3.9  电荷泵
      10. 20.3.10 内部基准生成
    4. 20.4 模拟多路复用器
      1. 20.4.1 静态模式
      2. 20.4.2 非静态 1/3 偏置模式
      3. 20.4.3 非静态 1/4 偏置模式
      4. 20.4.4 低功耗模式开关控制
    5. 20.5 LCD 存储器和输出驱动器
      1. 20.5.1 LCD 存储器结构
        1. 20.5.1.1 1 路复用至 4 路复用模式下的存储器结构
        2. 20.5.1.2 5 路复用至 8 路复用模式下的存储器结构
        3. 20.5.1.3 配置存储器
        4. 20.5.1.4 访问存储器和输出驱动器
        5. 20.5.1.5 闪烁覆盖
    6. 20.6 IO 多路复用
    7. 20.7 中断生成
    8. 20.8 电源域和功耗模式
    9. 20.9 LCD 寄存器
  23. 21UART
    1. 21.1 UART 概述
      1. 21.1.1 外设的用途
      2. 21.1.2 特性
      3. 21.1.3 功能方框图
    2. 21.2 UART 运行
      1. 21.2.1 时钟控制
      2. 21.2.2 信号说明
      3. 21.2.3 通用架构和协议
        1. 21.2.3.1  发送/接收逻辑
        2. 21.2.3.2  位采样
        3. 21.2.3.3  多数表决功能
        4. 21.2.3.4  波特率生成
        5. 21.2.3.5  数据传输
        6. 21.2.3.6  错误和状态
        7. 21.2.3.7  本地互连网络 (LIN) 支持
          1. 21.2.3.7.1 LIN 响应者传输延迟
        8. 21.2.3.8  流控
        9. 21.2.3.9  空闲线多处理器
        10. 21.2.3.10 9 位 UART 模式
        11. 21.2.3.11 RS485 支持
        12. 21.2.3.12 DALI 协议
        13. 21.2.3.13 曼彻斯特编码和解码
        14. 21.2.3.14 IrDA 编码和解码
        15. 21.2.3.15 ISO7816 智能卡支持
        16. 21.2.3.16 地址检测
        17. 21.2.3.17 FIFO 操作
        18. 21.2.3.18 回送操作
        19. 21.2.3.19 干扰抑制
      4. 21.2.4 低功耗运行
      5. 21.2.5 复位注意事项
      6. 21.2.6 初始化
      7. 21.2.7 中断和事件支持
        1. 21.2.7.1 CPU 中断事件发布者 (CPU_INT)
        2. 21.2.7.2 DMA 触发发布者(DMA_TRIG_RX、DMA_TRIG_TX)
      8. 21.2.8 仿真模式
    3. 21.3 UART 寄存器
  24. 22I2C
    1. 22.1 I2C 概述
      1. 22.1.1 外设的用途
      2. 22.1.2 特性
      3. 22.1.3 功能方框图
      4. 22.1.4 环境和外部连接
    2. 22.2 I2C 操作
      1. 22.2.1 时钟控制
        1. 22.2.1.1 时钟选择和 I2C 速度
        2. 22.2.1.2 时钟启动
      2. 22.2.2 信号说明
      3. 22.2.3 通用架构
        1. 22.2.3.1  I2C 总线功能概览
        2. 22.2.3.2  START 和 STOP 条件
        3. 22.2.3.3  带有7位地址的数据格式
        4. 22.2.3.4  应答
        5. 22.2.3.5  重复开始
        6. 22.2.3.6  SCL 时钟低电平超时
        7. 22.2.3.7  时钟延展
        8. 22.2.3.8  双地址
        9. 22.2.3.9  仲裁
        10. 22.2.3.10 多控制器模式
        11. 22.2.3.11 干扰抑制
        12. 22.2.3.12 FIFO 操作
          1. 22.2.3.12.1 在目标模式下刷新过时的 Tx 数据
        13. 22.2.3.13 环回模式
        14. 22.2.3.14 突发模式
        15. 22.2.3.15 DMA 操作
        16. 22.2.3.16 低功耗操作
      4. 22.2.4 协议说明
        1. 22.2.4.1 I2C 控制器模式
          1. 22.2.4.1.1 控制器配置
          2. 22.2.4.1.2 控制器模式操作
          3. 22.2.4.1.3 TX 为空时读取
        2. 22.2.4.2 I2C 目标模式
          1. 22.2.4.2.1 目标模式运行
      5. 22.2.5 复位注意事项
      6. 22.2.6 初始化
      7. 22.2.7 中断和事件支持
        1. 22.2.7.1 CPU 中断事件发布者 (CPU_INT)
        2. 22.2.7.2 DMA 触发发布者(DMA_TRIG1、DMA_TRIG0)
      8. 22.2.8 仿真模式
    3. 22.3 I2C 寄存器
  25. 23SPI
    1. 23.1 SPI 概述
      1. 23.1.1 外设的用途
      2. 23.1.2 特性
      3. 23.1.3 功能方框图
      4. 23.1.4 外部连接和信号说明
    2. 23.2 SPI 运行
      1. 23.2.1 时钟控制
      2. 23.2.2 通用架构
        1. 23.2.2.1 芯片选择和命令处理
          1. 23.2.2.1.1 片选控制
          2. 23.2.2.1.2 命令数据控制
        2. 23.2.2.2 数据格式
        3. 23.2.2.3 延迟的数据采样
        4. 23.2.2.4 时钟生成
        5. 23.2.2.5 FIFO 运行
        6. 23.2.2.6 环回模式
        7. 23.2.2.7 DMA 操作
        8. 23.2.2.8 重复传输模式
        9. 23.2.2.9 低功率模式
      3. 23.2.3 协议说明
        1. 23.2.3.1 Motorola SPI 帧格式
        2. 23.2.3.2 TI同步串行接口帧格式
      4. 23.2.4 复位注意事项
      5. 23.2.5 初始化
      6. 23.2.6 中断和事件支持
        1. 23.2.6.1 CPU 中断事件发布者 (CPU_INT)
        2. 23.2.6.2 DMA 触发发布者(DMA_TRIG_RX、DMA_TRIG_TX)
      7. 23.2.7 仿真模式
    3. 23.3 SPI 寄存器
  26. 24计时器 (TIMx)
    1. 24.1 TIMx 概述
      1. 24.1.1 TIMG 概述
        1. 24.1.1.1 TIMG 特性
        2. 24.1.1.2 功能方框图
      2. 24.1.2 TIMA 概述
        1. 24.1.2.1 TIMA 特性
        2. 24.1.2.2 功能方框图
      3. 24.1.3 TIMx 实例配置
    2. 24.2 TIMx 操作
      1. 24.2.1  计时器计数器
        1. 24.2.1.1 时钟源选择和预分频器
          1. 24.2.1.1.1 内部时钟和预分频器
          2. 24.2.1.1.2 外部信号触发
        2. 24.2.1.2 重复计数器(仅限 TIMA)
      2. 24.2.2  计数模式控制
        1. 24.2.2.1 单次触发和周期模式
        2. 24.2.2.2 向下计数模式
        3. 24.2.2.3 向上/向下计数模式
        4. 24.2.2.4 向上计数模式
        5. 24.2.2.5 相位加载(仅限 TIMA)
      3. 24.2.3  捕获/比较模块
        1. 24.2.3.1 捕获模式
          1. 24.2.3.1.1 输入选择、计数器条件和反转
            1. 24.2.3.1.1.1 CCP 输入边沿同步
            2. 24.2.3.1.1.2 CCP 输入脉冲条件
            3. 24.2.3.1.1.3 计数器控制操作
            4. 24.2.3.1.1.4 CCP 输入滤波
            5. 24.2.3.1.1.5 输入选择
          2. 24.2.3.1.2 用例
            1. 24.2.3.1.2.1 边沿时间捕获
            2. 24.2.3.1.2.2 周期捕获
            3. 24.2.3.1.2.3 脉宽捕捉
            4. 24.2.3.1.2.4 组合的脉宽和周期时间
          3. 24.2.3.1.3 QEI 模式(仅限支持 QEI 的 TIMG)
            1. 24.2.3.1.3.1 具有 2 信号的 QEI
            2. 24.2.3.1.3.2 具有索引输入的 QEI
            3. 24.2.3.1.3.3 QEI 错误检测
          4. 24.2.3.1.4 霍尔输入模式(仅限支持 QEI 的 TIMG)
        2. 24.2.3.2 比较模式
          1. 24.2.3.2.1 边沿计数
      4. 24.2.4  影子加载和影子比较
        1. 24.2.4.1 影子加载(仅限 TIMG4-7、TIMA)
        2. 24.2.4.2 影子比较(仅限 TIMG4-7、TIMG12-13 和 TIMA)
      5. 24.2.5  输出发生器
        1. 24.2.5.1 配置
        2. 24.2.5.2 用例
          1. 24.2.5.2.1 边沿对齐的 PWM
          2. 24.2.5.2.2 中心对齐 PWM
          3. 24.2.5.2.3 非对称 PWM(仅限 TIMA)
          4. 24.2.5.2.4 具有死区插入的互补 PWM(仅限 TIMA)
        3. 24.2.5.3 强制输出
      6. 24.2.6  故障处理程序(仅限 TIMA)
        1. 24.2.6.1 故障输入调节
        2. 24.2.6.2 故障输入源
        3. 24.2.6.3 故障条件下的计数器行为
        4. 24.2.6.4 故障条件下的输出行为
      7. 24.2.7  通过交叉触发同步
        1. 24.2.7.1 主计时器交叉触发器配置
        2. 24.2.7.2 次级计时器交叉触发器配置
      8. 24.2.8  低功耗运行
      9. 24.2.9  中断和事件支持
        1. 24.2.9.1 CPU 中断事件发布者 (CPU_INT)
        2. 24.2.9.2 通用事件发布者(GEN_EVENT0 和 GEN_EVENT1)
        3. 24.2.9.3 通用订阅者事件示例(COMP 至 TIMx)
      10. 24.2.10 调试处理程序(仅限 TIMA)
    3. 24.3 TIMx 寄存器
  27. 25低频子系统 (LFSS)
    1. 25.1  概述
    2. 25.2  时钟系统
    3. 25.3  使用 VBAT 进行 LFSS 复位
    4. 25.4  电源域和电源检测
      1. 25.4.1 在 VBAT 首次上电时启动
      2. 25.4.2 在 VDD 首次上电时启动
      3. 25.4.3 VDD 丢失时的行为
      4. 25.4.4 VBAT 丢失时的行为
      5. 25.4.5 器件进入 SHUTDOWN 模式时的行为
      6. 25.4.6 超级电容器充电电路
    5. 25.5  实时计数器 (RTC_x)
    6. 25.6  独立看门狗计时器 (IWDT)
    7. 25.7  防篡改输入和输出
      1. 25.7.1 IOMUX 模式
      2. 25.7.2 防篡改模式
        1. 25.7.2.1 篡改事件检测
        2. 25.7.2.2 时间戳事件输出
        3. 25.7.2.3 检测信号发生器
        4. 25.7.2.4 RTC 时钟输出
    8. 25.8  暂存区存储器
    9. 25.9  RTC、TIO 和 IWDT 的锁定功能
    10. 25.10 LFSS 寄存器
  28. 26低频子系统 (LFSS_B)
    1. 26.1 概述
    2. 26.2 时钟系统
    3. 26.3 LFSS 复位
    4. 26.4 实时计数器 (RTC_x)
    5. 26.5 独立看门狗计时器 (IWDT)
    6. 26.6 RTC 和 IWDT 的锁定功能
    7. 26.7 LFSS 寄存器
  29. 27RTC
    1. 27.1 概述
      1. 27.1.1 RTC 实例
    2. 27.2 基本操作
    3. 27.3 配置
      1. 27.3.1  时钟
      2. 27.3.2  读取和写入 RTC 外设寄存器
      3. 27.3.3  二进制与 BCD
      4. 27.3.4  闰年处理
      5. 27.3.5  日历报警配置
      6. 27.3.6  间隔报警配置
      7. 27.3.7  定期报警配置
      8. 27.3.8  Calibration
        1. 27.3.8.1 晶体偏移误差
          1. 27.3.8.1.1 偏移量误差校正机制
        2. 27.3.8.2 晶体温度误差
          1. 27.3.8.2.1 温度漂移校正机制
      9. 27.3.9  RTC 预分频器扩展
      10. 27.3.10 RTC 时间戳捕获
      11. 27.3.11 RTC 事件
        1. 27.3.11.1 CPU 中断事件发布者 (CPU_INT)
        2. 27.3.11.2 通用事件发布者 (GEN_EVENT)
    4. 27.4 RTC 寄存器
  30. 28IWDT
    1. 28.1 734
    2. 28.2 IWDT 时钟配置
    3. 28.3 IWDT 周期选择
    4. 28.4 IWDT 的调试行为
    5. 28.5 IWDT 寄存器
  31. 29WWDT
    1. 29.1 WWDT 概述
      1. 29.1.1 看门狗模式
      2. 29.1.2 间隔定时器模式
    2. 29.2 WWDT 运行
      1. 29.2.1 模式选择
      2. 29.2.2 时钟配置
      3. 29.2.3 低功耗模式行为
      4. 29.2.4 调试行为
      5. 29.2.5 WWDT 事件
        1. 29.2.5.1 CPU 中断事件发布者 (CPU_INT)
    3. 29.3 WWDT 寄存器
  32. 30调试
    1. 30.1 DEBUGSS 概述
      1. 30.1.1 调试互连
      2. 30.1.2 物理接口
      3. 30.1.3 调试访问端口
    2. 30.2 DEBUGSS 工作原理
      1. 30.2.1 调试特性
        1. 30.2.1.1 处理器调试
          1. 30.2.1.1.1 断点单元 (BPU)
          2. 30.2.1.1.2 数据观察点和跟踪单元 (DWT)
        2. 30.2.1.2 外设调试
        3. 30.2.1.3 EnergyTrace 技术
      2. 30.2.2 低功耗模式下的行为
      3. 30.2.3 限制调试访问
      4. 30.2.4 邮箱 (DSSM)
        1. 30.2.4.1 DSSM 事件
          1. 30.2.4.1.1 CPU 中断事件 (CPU_INT)
        2. 30.2.4.2 参考
    3. 30.3 DEBUGSS 寄存器
  33. 31修订历史记录

AESADV 寄存器

表 10-6 列出了 AESADV 寄存器的存储器映射寄存器。表 10-6 中未列出的所有寄存器偏移地址都应视为保留的位置,并且不应修改寄存器内容。

表 10-6 AESADV 寄存器
偏移首字母缩写词寄存器名称部分
480hCPU_CONNECT_0CPU 连接转到
800hPWREN电源使能转到
804hRSTCTL复位控制转到
814hSTAT状态寄存器转到
1018hPDBGCTL外设调试控制转到
1020hIIDX中断索引寄存器转到
1028hIMASK中断屏蔽转到
1030hRIS原始中断状态转到
1038hMIS已屏蔽中断状态转到
1040hISET中断设置转到
1048hICLR中断清除转到
1050hIIDX中断索引寄存器DMA_TRIG_DATAIN转到
1058hIMASK中断屏蔽DMA_TRIG_DATAIN转到
1060hRIS原始中断状态DMA_TRIG_DATAIN转到
1068hMIS已屏蔽中断状态DMA_TRIG_DATAIN转到
1070hISET中断设置DMA_TRIG_DATAIN转到
1078hICLR中断清除DMA_TRIG_DATAIN转到
1080hIIDX中断索引寄存器DMA_TRIG_DATAOUT转到
1088hIMASK中断屏蔽DMA_TRIG_DATAOUT转到
1090hRIS原始中断状态DMA_TRIG_DATAOUT转到
1098hMIS已屏蔽中断状态DMA_TRIG_DATAOUT转到
10A0hISET中断设置DMA_TRIG_DATAOUT转到
10A8hICLR中断清除DMA_TRIG_DATAOUT转到
10E0hEVT_MODE事件模式转到
1100hGCMCCM_TAG0CBC-MAC 第三密钥 (LSW)/GCM 和 CCM 中间 TAG (LSW)转到
1104hGCMCCM_TAG1CBC-MAC 第三密钥/GCM 和 CCM 中间 TAG转到
1108hGCMCCM_TAG2CBC-MAC 第三密钥/GCM 和 CCM 中间 TAG转到
110ChGCMCCM_TAG3CBC-MAC 第三密钥 (MSW)/GCM 和 CCM 中间 TAG (MSW)转到
1110hGHASH_H0CCM 和 CBC-MAC 第二密钥 (LSW)/GCM 哈希密钥输入 (LSW)转到
1114hGHASH_H1CCM 和 CBC-MAC 第二密钥/GCM 哈希密钥输入转到
1118hGHASH_H2CCM 和 CBC-MAC 第二密钥/GCM 哈希密钥输入转到
111ChGHASH_H3CCM 和 CBC-MAC 第二密钥 (MSW)/GCM 哈希密钥输入 (MSW)转到
1120hKEY0KEY (LSW)转到
1124hKEY1KEY转到
1128hKEY2KEY转到
112ChKEY3KEY转到
1130hKEY4KEY转到
1134hKEY5KEY转到
1138hKEY6KEY转到
113ChKEY7KEY (MSW)转到
1140hIV0IV (LSW)转到
1144hIV1IV转到
1148hIV2IV转到
114ChIV3IV转到
1150hCTRL输入/输出缓冲器控制和模式选择转到
1154hC_LENGTH_0加密数据长度 (LSW)转到
1158hC_LENGTH_1加密数据长度 (MSW)转到
115ChAAD_LENGTHAAD 数据长度转到
1160hDATA0数据输入 (LSW)/数据输出 (LSW)转到
1164hDATA1数据输入/数据输出转到
1168hDATA2数据输入/数据输出转到
116ChDATA3数据输入 (LSW)/数据输出 (MSW)转到
1170hTAG0哈希结果 (LSW)转到
1174hTAG1哈希结果转到
1178hTAG2哈希结果转到
117ChTAG3哈希结果 (MSW)转到
1180h状态状态转到
1184hDATA_IN别名寄存器中的数据转到
1188hDATA_OUT数据输出别名寄存器转到
11D0hFORCE_IN_AV用于输入数据的数据控制寄存器转到
11D4hCCM_ALN_WRDAES-CCM AAD 对齐数据字转到
11D8hBLK_CNT0内部块计数器 (LSW)转到
11DChBLK_CNT1内部块计数器 (MSW)转到
11F4hDMA_HS用于 DMA 握手的控制寄存器转到

复杂的位访问类型经过编码可适应小型表单元。表 10-7 展示了适用于此部分中访问类型的代码。

表 10-7 AESADV 访问类型代码
访问类型代码说明
读取类型
RR读取
写入类型
WW写入
WKW
K
写入
受密钥保护的写入
复位或默认值
-n复位后的值或默认值

10.3.1 CPU_CONNECT_0(偏移 = 480h)[复位 = 00000000h]

图 10-11 展示了 CPU_CONNECT_0,表 10-8 中对此进行了介绍。

返回到汇总表

将外设发布者端口直接连接到应用处理器

图 10-11 CPU_CONNECT_0
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDCPUSS0_CONNRESERVED
R-0hR/W-0hR-0h
表 10-8 CPU_CONNECT_0 字段说明
字段类型复位说明
31-2RESERVEDR0h
1CPUSS0_CONNR/W0hCPUSS0 连接位。
0h = CPU 未连接。
1h = CPU 已连接。
0RESERVEDR0h

10.3.2 PWREN(偏移 = 800h)[复位 = 00000000h]

图 10-12 展示了 PWREN,表 10-9 中对此进行了介绍。

返回到汇总表

用于控制电源状态的寄存器

图 10-12 PWREN
3130292827262524
KEY
W-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDENABLE
R-0hR/WK-0h
表 10-9 PWREN 字段说明
字段类型复位说明
31-24KEYW0h允许电源状态更改的 KEY
26h = 允许对该寄存器进行写入访问的 KEY
23-1RESERVEDR0h
0ENABLER/WK0h启用电源

必须将 KEY 设置为 26h 才能写入该位。


0h = 禁用电源
1h = 启用电源

10.3.3 RSTCTL(偏移 = 804h)[复位 = 00000000h]

图 10-13 展示了 RSTCTL,表 10-10 中对此进行了介绍。

返回到汇总表

用于控制复位有效和无效的寄存器

图 10-13 RSTCTL
3130292827262524
KEY
W-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDRESETSTKYCLRRESETASSERT
R-0hWK-0hWK-0h
表 10-10 RSTCTL 字段说明
字段类型复位说明
31-24KEYW0h解锁密钥
B1h = 允许对该寄存器进行写入访问的 KEY
23-2RESERVEDR0h
1RESETSTKYCLRWK0h清除 STAT 寄存器中的 RESETSTKY 位

必须将 KEY 设置为 B1h 才能写入该位。


0h = 写入 0 不产生影响
1h = 清除复位粘滞位
0RESETASSERTWK0h外设复位生效

必须将 KEY 设置为 B1h 才能写入该位。


0h = 写入 0 不产生影响
1h = 复位生效

10.3.4 STAT(偏移 = 814h)[复位 = 00000000h]

图 10-14 展示了 STAT,表 10-11 中对此进行了介绍。

返回到汇总表

外设启用和复位状态

图 10-14 STAT
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVEDRESETSTKY
R-0hR-0h
15141312111098
RESERVED
R-0h
76543210
RESERVED
R-0h
表 10-11 STAT 字段说明
字段类型复位说明
31-17RESERVEDR0h
16RESETSTKYR0h该位指示自 RSTCTL 寄存器中的 RESETSTKYCLR 清除该位以来,外设是否复位
0h = 自 RSTCTL 寄存器中的 RESETSTKYCLR 上次清除该位以来,外设尚未复位
1h = 自从上次清除该位以来,外设已复位
15-0RESERVEDR0h

10.3.5 PDBGCTL(偏移 = 1018h)[复位 = 00000000h]

图 10-15 展示了 PDBGCTL,表 10-12 中对此进行了介绍。

返回到汇总表

当内核已暂停时,AES 不能暂停。为了使 AES 暂停,应暂停 DMA。
此操作可实现与 AES 中的暂停功能相同的效果:当 AES 提交下一个 DMA 触发器时,如果 DMA 暂停,则 AES 将自动暂停。

图 10-15 PDBGCTL
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVED免费
R-0hR-0h
表 10-12 PDBGCTL 字段说明
字段类型复位说明
31-1RESERVEDR0h
0免费R0h自由运行控制
1h = 外设忽略“内核暂停”输入的状态

10.3.6 IIDX(偏移 = 1020h)[复位 = 00000000h]

图 10-16 展示了 IIDX,表 10-13 中对此进行了介绍。

返回到汇总表

该寄存器提供了具有最高优先级的中断索引。值 0x00 表示没有事件挂起。中断 1 是最高优先级,IIDX 是第二高优先级、4、8、…IIDX^31 是最低优先级。也就是说,设置为 1 的最低位位置表示最高优先级的挂起中断。优先级顺序是固定的。但是,用户可以使用其他寄存器来实现自己的优先级方案,这些寄存器显示了已经发生的中断的完整集合。
每次读取时,仅指示一个中断。读取时,当前中断(最高优先级)由硬件自动清除,同时 [RIS] 和 [MIS] 中相应的中断标志也会被清除。从 CPU(不是从调试接口)读取后,必须使用下一个最高优先级中断更新该寄存器,如果没有中断挂起,则应显示 0x0。

图 10-16 IIDX
313029282726252423222120191817161514131211109876543210
RESERVEDSTAT
R-0hR-0h
表 10-13 IIDX 字段说明
字段类型复位说明
31-8RESERVEDR0h
7-0STATR0h中断索引状态
00h = 无中断挂起
1h = 这表示内核具有可供读取的输出。 如果使用了 DMA 握手(AES_DMA_HS.DMA_DATA_ACK 设置为 1),则不应使用该位
2h = 这表示引擎可以接受新的输入。 如果使用了 DMA 握手(AES_DMA_HS.DMA_DATA_ACK 设置为 1),则不应使用该位
3h = 该位表示有一个 AES 身份验证 TAG 和/或 IV 块可供 CPU 检索。 仅当“save_context”位设置为“1b”时才会将该位置为有效。该位与“context_ready”位互斥。
4h = 该位表示上下文数据寄存器可以被覆盖并且允许 CPU 写入新的上下文。

10.3.7 IMASK(偏移 = 1028h)[复位 = 00000000h]

图 10-17 展示了 IMASK,表 10-14 中对此进行了介绍。

返回到汇总表

中断屏蔽。如果设置了某个位,相应的中断会被取消屏蔽。取消屏蔽中断会导致原始中断显示在 IIDX 以及 MIS 中。

图 10-17 IMASK
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDCNTXTRDYSAVEDCNTXTRDYINPUTRDYOUTPUTRDY
R-0hR/W-0hR/W-0hR/W-0hR/W-0h
表 10-14 IMASK 字段说明
字段类型复位说明
31-4RESERVEDR0h
3CNTXTRDYR/W0h该位表示上下文数据寄存器可以被覆盖并且允许 CPU 写入下一个上下文。
0h = 清除中断屏蔽
1h = 设置中断屏蔽
2SAVEDCNTXTRDYR/W0h该位表示有一个 AES 身份验证 TAG 和/或 IV 块可供 CPU 检索。仅当“save_context”位设置为“1b”时才会将该位置为有效。该位与“context_ready”位互斥。
0h = 清除中断屏蔽
1h = 设置中断屏蔽
1INPUTRDYR/W0h这表示引擎可以接受新的输入。如果使用了 DMA 握手(AES_DMA_HS.DMA_DATA_ACK 设置为 1),则不应使用该位
0h = 清除中断屏蔽
1h = 设置中断屏蔽
0OUTPUTRDYR/W0h这表示内核具有可供读取的输出。如果使用了 DMA 握手(AES_DMA_HS.DMA_DATA_ACK 设置为 1),则不应使用该位
0h = 清除中断屏蔽
1h = 设置中断屏蔽

10.3.8 RIS(偏移 = 1030h)[复位 = 00000000h]

图 10-18 展示了 RIS,表 10-15 中对此进行了介绍。

返回到汇总表

原始中断状态。反映所有挂起的中断,而不管屏蔽与否。RIS 寄存器允许用户实施轮询方案。即使相应的 IMASK 位未启用,也可以通过向 ICLR 寄存器位写入 1 来清除该寄存器中设置的标志。

图 10-18 RIS
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDCNTXTRDYSAVEDCNTXTRDYINPUTRDYOUTPUTRDY
R-0hR-0hR-0hR-0hR-0h
表 10-15 RIS 字段说明
字段类型复位说明
31-4RESERVEDR0h
3CNTXTRDYR0h该位表示上下文数据寄存器可以被覆盖并且允许 CPU 写入下一个上下文。
0h = 清除中断屏蔽
1h = 设置中断屏蔽
2SAVEDCNTXTRDYR0h该位表示有一个 AES 身份验证 TAG 和/或 IV 块可供 CPU 检索。仅当“save_context”位设置为“1b”时才会将该位置为有效。该位与“context_ready”位互斥。
0h = 清除中断屏蔽
1h = 设置中断屏蔽
1INPUTRDYR0h这表示引擎可以接受新的输入。如果使用了 DMA 握手(AES_DMA_HS.DMA_DATA_ACK 设置为 1),则不应使用该位
0h = 清除中断屏蔽
1h = 设置中断屏蔽
0OUTPUTRDYR0h这表示内核具有可供读取的输出。如果使用了 DMA 握手(AES_DMA_HS.DMA_DATA_ACK 设置为 1),则不应使用该位
0h = 未发生中断
1h = 已发生中断

10.3.9 MIS(偏移 = 1038h)[复位 = 00000000h]

图 10-19 展示了 MIS,表 10-16 中对此进行了介绍。

返回到汇总表

屏蔽中断状态。这是 IMASK 和 RIS 寄存器的与运算。

图 10-19 MIS
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDCNTXTRDYSAVEDCNTXTRDYINPUTRDYOUTPUTRDY
R-0hR-0hR-0hR-0hR-0h
表 10-16 MIS 字段说明
字段类型复位说明
31-4RESERVEDR0h
3CNTXTRDYR0h该位表示上下文数据寄存器可以被覆盖并且允许 CPU 写入下一个上下文。
0h = 清除中断屏蔽
1h = 设置中断屏蔽
2SAVEDCNTXTRDYR0h该位表示有一个 AES 身份验证 TAG 和/或 IV 块可供 CPU 检索。仅当“save_context”位设置为“1b”时才会将该位置为有效。该位与“context_ready”位互斥。
0h = 清除中断屏蔽
1h = 设置中断屏蔽
1INPUTRDYR0h这表示引擎可以接受新的输入。如果使用了 DMA 握手(AES_DMA_HS.DMA_DATA_ACK 设置为 1),则不应使用该位
0h = 清除中断屏蔽
1h = 设置中断屏蔽
0OUTPUTRDYR0h这表示内核具有可供读取的输出。如果使用了 DMA 握手(AES_DMA_HS.DMA_DATA_ACK 设置为 1),则不应使用该位
0h = 未发生中断
1h = 已发生中断

10.3.10 ISET(偏移 = 1040h)[复位 = 00000000h]

图 10-20 展示了 ISET,表 10-17 中对此进行了介绍。

返回到汇总表

中断设置。允许通过软件设置中断(在诊断和安全检查中很有用)。向 ISET 中的某个位写入 1 将设置事件,因此相关的 RIS 位也会置位。如果通过屏蔽启用了中断,那么也会设置相应的 MIS 位。

图 10-20 ISET
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDCNTXTRDYSAVEDCNTXTRDYINPUTRDYOUTPUTRDY
R-0hW-0hW-0hW-0hW-0h
表 10-17 ISET 字段说明
字段类型复位说明
31-4RESERVEDR0h
3CNTXTRDYW0h该位表示上下文数据寄存器可以被覆盖并且允许 CPU 写入下一个上下文。
0h = 清除中断屏蔽
1h = 设置中断屏蔽
2SAVEDCNTXTRDYW0h该位表示有一个 AES 身份验证 TAG 和/或 IV 块可供 CPU 检索。仅当“save_context”位设置为“1b”时才会将该位置为有效。该位与“context_ready”位互斥。
0h = 清除中断屏蔽
1h = 设置中断屏蔽
1INPUTRDYW0h这表示引擎可以接受新的输入。如果使用了 DMA 握手(AES_DMA_HS.DMA_DATA_ACK 设置为 1),则不应使用该位
0h = 清除中断屏蔽
1h = 设置中断屏蔽
0OUTPUTRDYW0h这表示内核具有可供读取的输出。如果使用了 DMA 握手(AES_DMA_HS.DMA_DATA_ACK 设置为 1),则不应使用该位
0h = 写入 0 不产生影响
1h = 设置中断

10.3.11 ICLR(偏移 = 1048h)[复位 = 00000000h]

图 10-21 展示了 ICLR,表 10-18 中对此进行了介绍。

返回到汇总表

中断清除。写入 1 以清除相应的中断。

图 10-21 ICLR
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDCNTXTRDYSAVEDCNTXTRDYINPUTRDYOUTPUTRDY
R-0hW-0hW-0hW-0hW-0h
表 10-18 ICLR 字段说明
字段类型复位说明
31-4RESERVEDR0h
3CNTXTRDYW0h该位表示上下文数据寄存器可以被覆盖并且允许 CPU 写入下一个上下文。
0h = 清除中断屏蔽
1h = 设置中断屏蔽
2SAVEDCNTXTRDYW0h该位表示有一个 AES 身份验证 TAG 和/或 IV 块可供 CPU 检索。仅当“save_context”位设置为“1b”时才会将该位置为有效。该位与“context_ready”位互斥。
0h = 清除中断屏蔽
1h = 设置中断屏蔽
1INPUTRDYW0h这表示引擎可以接受新的输入。如果使用了 DMA 握手(AES_DMA_HS.DMA_DATA_ACK 设置为 1),则不应使用该位
0h = 清除中断屏蔽
1h = 设置中断屏蔽
0OUTPUTRDYW0h这表示内核具有可供读取的输出。如果使用了 DMA 握手(AES_DMA_HS.DMA_DATA_ACK 设置为 1),则不应使用该位
0h = 写入 0 不产生影响
1h = 清除中断

10.3.12 IIDX(偏移 = 1050h)[复位 = 00000000h]

图 10-22 展示了 IIDX,表 10-19 中对此进行了介绍。

返回到汇总表

该寄存器提供了具有最高优先级的中断索引。值 0x00 表示没有事件挂起。中断 1 是最高优先级,IIDX 是第二高优先级、4、8、…IIDX^31 是最低优先级。也就是说,设置为 1 的最低位位置表示最高优先级的挂起中断。优先级顺序是固定的。但是,用户可以使用其他寄存器来实现自己的优先级方案,这些寄存器显示了已经发生的中断的完整集合。
每次读取时,仅指示一个中断。读取时,当前中断(最高优先级)由硬件自动清除,同时 [RIS] 和 [MIS] 中相应的中断标志也会被清除。从 CPU(不是从调试接口)读取后,必须使用下一个最高优先级中断更新该寄存器,如果没有中断挂起,则应显示 0x0。

图 10-22 IIDX
313029282726252423222120191817161514131211109876543210
RESERVEDSTAT
R-0hR-0h
表 10-19 IIDX 字段说明
字段类型复位说明
31-8RESERVEDR0h
7-0STATR0h中断索引状态
00h = 无中断挂起
1h = AES 触发器 0 DMA(数据输入触发器)

10.3.13 IMASK(偏移 = 1058h)[复位 = 00000000h]

图 10-23 展示了 IMASK,表 10-20 中对此进行了介绍。

返回到汇总表

中断屏蔽。如果设置了某个位,相应的中断会被取消屏蔽。取消屏蔽中断会导致原始中断显示在 IIDX 以及 MIS 中。

图 10-23 IMASK
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDTRIG0
R-0hR/W-0h
表 10-20 IMASK 字段说明
字段类型复位说明
31-1RESERVEDR0h
0TRIG0R/W0hTRIG0 事件屏蔽。
0h = 清除中断屏蔽
1h = 设置中断屏蔽

10.3.14 RIS(偏移 = 1060h)[复位 = 00000000h]

图 10-24 展示了 RIS,表 10-21 中对此进行了介绍。

返回到汇总表

原始中断状态。反映所有挂起的中断,而不管屏蔽与否。RIS 寄存器允许用户实施轮询方案。即使相应的 IMASK 位未启用,也可以通过向 ICLR 寄存器位写入 1 来清除该寄存器中设置的标志。

图 10-24 RIS
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDTRIG0
R-0hR-0h
表 10-21 RIS 字段说明
字段类型复位说明
31-1RESERVEDR0h
0TRIG0R0hTRIG0 事件
0h = 未发生中断
1h = 已发生中断

10.3.15 MIS(偏移 = 1068h)[复位 = 00000000h]

图 10-25 展示了 MIS,表 10-22 中对此进行了介绍。

返回到汇总表

屏蔽中断状态。这是 IMASK 和 RIS 寄存器的与运算。

图 10-25 MIS
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDTRIG0
R-0hR-0h
表 10-22 MIS 字段说明
字段类型复位说明
31-1RESERVEDR0h
0TRIG0R0hTRIG0 事件
0h = 未发生中断
1h = 已发生中断

10.3.16 ISET(偏移 = 1070h)[复位 = 00000000h]

图 10-26 展示了 ISET,表 10-23 中对此进行了介绍。

返回到汇总表

中断设置。允许通过软件设置中断(在诊断和安全检查中很有用)。向 ISET 中的某个位写入 1 将设置事件,因此相关的 RIS 位也会置位。如果通过屏蔽启用了中断,那么也会设置相应的 MIS 位。

图 10-26 ISET
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDTRIG0
R-0hW-0h
表 10-23 ISET 字段说明
字段类型复位说明
31-1RESERVEDR0h
0TRIG0W0hTRIG0
0h = 写入 0 无效
1h = 设置中断

10.3.17 ICLR(偏移 = 1078h)[复位 = 00000000h]

图 10-27 展示了 ICLR,表 10-24 中对此进行了介绍。

返回到汇总表

中断清除。写入 1 以清除相应的中断。

图 10-27 ICLR
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDTRIG0
R-0hW-0h
表 10-24 ICLR 字段说明
字段类型复位说明
31-1RESERVEDR0h
0TRIG0W0hTRIG0 事件
0h = 写入 0 无效
1h = 清除中断

10.3.18 IIDX(偏移 = 1080h)[复位 = 00000000h]

图 10-28 展示了 IIDX,表 10-25 中对此进行了介绍。

返回到汇总表

该寄存器提供了具有最高优先级的中断索引。值 0x00 表示没有事件挂起。中断 1 是最高优先级,IIDX 是第二高优先级、4、8、…IIDX^31 是最低优先级。也就是说,设置为 1 的最低位位置表示最高优先级的挂起中断。优先级顺序是固定的。但是,用户可以使用其他寄存器来实现自己的优先级方案,这些寄存器显示了已经发生的中断的完整集合。
每次读取时,仅指示一个中断。读取时,当前中断(最高优先级)由硬件自动清除,同时 [RIS] 和 [MIS] 中相应的中断标志也会被清除。从 CPU(不是从调试接口)读取后,必须使用下一个最高优先级中断更新该寄存器,如果没有中断挂起,则应显示 0x0。

图 10-28 IIDX
313029282726252423222120191817161514131211109876543210
RESERVEDSTAT
R-0hR-0h
表 10-25 IIDX 字段说明
字段类型复位说明
31-8RESERVEDR0h
7-0STATR0h中断索引状态
00h = 无中断挂起
1h = AES DMA 触发器 1(数据输出触发器)

10.3.19 IMASK(偏移 = 1088h)[复位 = 00000000h]

图 10-29 展示了 IMASK,表 10-26 中对此进行了介绍。

返回到汇总表

中断屏蔽。如果设置了某个位,相应的中断会被取消屏蔽。取消屏蔽中断会导致原始中断显示在 IIDX 以及 MIS 中。

图 10-29 IMASK
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDTRIG1
R-0hR/W-0h
表 10-26 IMASK 字段说明
字段类型复位说明
31-1RESERVEDR0h
0TRIG1R/W0hTRIG1 事件屏蔽。
0h = 清除中断屏蔽
1h = 设置中断屏蔽

10.3.20 RIS(偏移 = 1090h)[复位 = 00000000h]

图 10-30 展示了 RIS,表 10-27 中对此进行了介绍。

返回到汇总表

原始中断状态。反映所有挂起的中断,而不管屏蔽与否。RIS 寄存器允许用户实施轮询方案。即使相应的 IMASK 位未启用,也可以通过向 ICLR 寄存器位写入 1 来清除该寄存器中设置的标志。

图 10-30 RIS
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDTRIG1
R-0hR-0h
表 10-27 RIS 字段说明
字段类型复位说明
31-1RESERVEDR0h
0TRIG1R0hTRIG1 事件
0h = 未发生中断
1h = 已发生中断

10.3.21 MIS(偏移 = 1098h)[复位 = 00000000h]

图 10-31 展示了 MIS,表 10-28 中对此进行了介绍。

返回到汇总表

屏蔽中断状态。这是 IMASK 和 RIS 寄存器的与运算。

图 10-31 MIS
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDTRIG1
R-0hR-0h
表 10-28 MIS 字段说明
字段类型复位说明
31-1RESERVEDR0h
0TRIG1R0hTRIG1 事件
0h = 未发生中断
1h = 已发生中断

10.3.22 ISET(偏移 = 10A0h)[复位 = 00000000h]

图 10-32 展示了 ISET,表 10-29 中对此进行了介绍。

返回到汇总表

中断设置。允许通过软件设置中断(在诊断和安全检查中很有用)。向 ISET 中的某个位写入 1 将设置事件,因此相关的 RIS 位也会置位。如果通过屏蔽启用了中断,那么也会设置相应的 MIS 位。

图 10-32 ISET
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDTRIG1
R-0hW-0h
表 10-29 ISET 字段说明
字段类型复位说明
31-1RESERVEDR0h
0TRIG1W0hTRIG1 事件
0h = 写入 0 无效
1h = 设置中断

10.3.23 ICLR(偏移 = 10A8h)[复位 = 00000000h]

图 10-33 展示了 ICLR,表 10-30 中对此进行了介绍。

返回到汇总表

中断清除。写入 1 以清除相应的中断。

图 10-33 ICLR
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDTRIG1
R-0hW-0h
表 10-30 ICLR 字段说明
字段类型复位说明
31-1RESERVEDR0h
0TRIG1W0hTRIG1 事件
0h = 写入 0 无效
1h = 清除中断

10.3.24 EVT_MODE(偏移 = 10E0h)[复位 = 00000000h]

图 10-34 展示了 EVT_MODE,表 10-31 中对此进行了介绍。

返回到汇总表

事件模式寄存器。它用于选择在软件模式(软件清除 RIS)或硬件模式(硬件清除 RIS)下是否禁用每条线路

图 10-34 EVT_MODE
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDEVT2_CFGEVT1_CFGINT0_CFG
R-0hR-0hR-0hR-0h
表 10-31 EVT_MODE 字段说明
字段类型复位说明
31-6RESERVEDR0h
5-4EVT2_CFGR0h对应于 INT_EVENT2 的事件的事件线路模式选择
0h = 中断或事件线路被禁用。
1h = 中断或事件线路处于软件模式。软件必须清除 RIS。
2h = 中断或事件线路处于硬件模式。硬件(另一个模块)会自动清除关联的 RIS 标志。
3-2EVT1_CFGR0h对应于 INT_EVENT1 的事件的事件线路模式选择
0h = 中断或事件线路被禁用。
1h = 中断或事件线路处于软件模式。软件必须清除 RIS。
2h = 中断或事件线路处于硬件模式。硬件(另一个模块)会自动清除关联的 RIS 标志。
1-0INT0_CFGR0h对应于 INT_EVENT0 的事件的事件线路模式选择
0h = 中断或事件线路被禁用。
1h = 中断或事件线路处于软件模式。软件必须清除 RIS。
2h = 中断或事件线路处于硬件模式。硬件(另一个模块)会自动清除关联的 RIS 标志。

10.3.25 GCMCCM_TAG0(偏移 = 1100h)[复位 = 00000000h]

图 10-35 展示了 GCMCCM_TAG0,表 10-32 中对此进行了介绍。

返回到汇总表

CBC-MAC 第三密钥 (LSW)/GCM 和 CCM 中间 TAG (LSW)
对于 CBC-MAC:预计算的 CBC-MAC 第三密钥,用于对最后一个输入数据块执行最终异或运算。
对于 CCM:该寄存器在内部用于存储中间值。当写入一个新的 CCM 上下文时,该寄存器必须初始化为零。为了恢复中断的 CCM 操作,需要在该寄存器中加载中间 TAG。
对于 GCM:该寄存器在内部用于存储中间值。当写入一个新的 GCM 上下文时,该寄存器必须初始化为零。为了恢复中断的 GCM 操作,需要在该寄存器中加载中间 TAG。

图 10-35 GCMCCM_TAG0
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-32 GCMCCM_TAG0 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.26 GCMCCM_TAG1(偏移 = 1104h)[复位 = 00000000h]

图 10-36 展示了 GCMCCM_TAG1,表 10-33 中对此进行了介绍。

返回到汇总表

CBC-MAC 第三密钥/GCM 和 CCM 中间 TAG
对于 CBC-MAC:预计算的 CBC-MAC 第三密钥,用于对最后一个输入数据块执行最终异或运算。
对于 CCM:该寄存器在内部用于存储中间值。当写入一个新的 CCM 上下文时,该寄存器必须初始化为零。为了恢复中断的 CCM 操作,需要在该寄存器中加载中间 TAG。
对于 GCM:该寄存器在内部用于存储中间值。当写入一个新的 GCM 上下文时,该寄存器必须初始化为零。为了恢复中断的 GCM 操作,需要在该寄存器中加载中间 TAG。

图 10-36 GCMCCM_TAG1
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-33 GCMCCM_TAG1 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.27 GCMCCM_TAG2(偏移 = 1108h)[复位 = 00000000h]

图 10-37 展示了 GCMCCM_TAG2,表 10-34 中对此进行了介绍。

返回到汇总表

CBC-MAC 第三密钥/GCM 和 CCM 中间 TAG
对于 CBC-MAC:预计算的 CBC-MAC 第三密钥,用于对最后一个输入数据块执行最终异或运算。
对于 CCM:该寄存器在内部用于存储中间值。当写入一个新的 CCM 上下文时,该寄存器必须初始化为零。为了恢复中断的 CCM 操作,需要在该寄存器中加载中间 TAG。
对于 GCM:该寄存器在内部用于存储中间值。当写入一个新的 GCM 上下文时,该寄存器必须初始化为零。为了恢复中断的 GCM 操作,需要在该寄存器中加载中间 TAG。

图 10-37 GCMCCM_TAG2
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-34 GCMCCM_TAG2 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.28 GCMCCM_TAG3(偏移 = 110Ch)[复位 = 00000000h]

图 10-38 展示了 GCMCCM_TAG3,表 10-35 中对此进行了介绍。

返回到汇总表

CBC-MAC 第三密钥 (MSW)/GCM 和 CCM 中间 TAG (MSW)
对于 CBC-MAC:预计算的 CBC-MAC 第三密钥,用于对最后一个输入数据块执行最终异或运算。
对于 CCM:该寄存器在内部用于存储中间值。当写入一个新的 CCM 上下文时,该寄存器必须初始化为零。为了恢复中断的 CCM 操作,需要在该寄存器中加载中间 TAG。
对于 GCM:该寄存器在内部用于存储中间值。当写入一个新的 GCM 上下文时,该寄存器必须初始化为零。为了恢复中断的 GCM 操作,需要在该寄存器中加载中间 TAG。

图 10-38 GCMCCM_TAG3
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-35 GCMCCM_TAG3 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.29 GHASH_H0(偏移 = 1110h)[复位 = 00000000h]

图 10-39 展示了 GHASH_H0,表 10-36 中对此进行了介绍。

返回到汇总表

CCM 和 CBC-MAC 第二密钥 (LSW)/GCM 哈希密钥输入 (LSW)
对于 CBC-MAC:预计算的 CBC-MAC 第二密钥,用于对最后一个输入数据块执行最终异或运算。
对于 GCM:哈希密钥;可以在内部计算或通过这些寄存器写入。仅用于 GHASH (GCM) 模式。
对于 CPU 写入操作,必须向这些寄存器写入随后要传输到引擎的新值。

图 10-39 GHASH_H0
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-36 GHASH_H0 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.30 GHASH_H1(偏移 = 1114h)[复位 = 00000000h]

图 10-40 展示了 GHASH_H1,表 10-37 中对此进行了介绍。

返回到汇总表

CCM 和 CBC-MAC 第二密钥/GCM 哈希密钥输入
对于 CBC-MAC:预计算的 CBC-MAC 第二密钥,用于对最后一个输入数据块执行最终异或运算。
对于 GCM:哈希密钥;可以在内部计算或通过这些寄存器写入。仅用于 GHASH (GCM) 模式。
对于 CPU 写入操作,必须向这些寄存器写入随后要传输到引擎的新值。

图 10-40 GHASH_H1
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-37 GHASH_H1 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.31 GHASH_H2(偏移 = 1118h)[复位 = 00000000h]

图 10-41 展示了 GHASH_H2,表 10-38 中对此进行了介绍。

返回到汇总表

CCM 和 CBC-MAC 第二密钥/GCM 哈希密钥输入
对于 CBC-MAC:预计算的 CBC-MAC 第二密钥,用于对最后一个输入数据块执行最终异或运算。
对于 GCM:哈希密钥;可以在内部计算或通过这些寄存器写入。仅用于 GHASH (GCM) 模式。
对于 CPU 写入操作,必须向这些寄存器写入随后要传输到引擎的新值。

图 10-41 GHASH_H2
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-38 GHASH_H2 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.32 GHASH_H3(偏移 = 111Ch)[复位 = 00000000h]

图 10-42 展示了 GHASH_H3,表 10-39 中对此进行了介绍。

返回到汇总表

CCM 和 CBC-MAC 第二密钥 (MSW)/GCM 哈希密钥输入 (MSW)
对于 CBC-MAC:预计算的 CBC-MAC 第二密钥,用于对最后一个输入数据块执行最终异或运算。
对于 GCM:哈希密钥;可以在内部计算或通过这些寄存器写入。仅用于 GHASH (GCM) 模式。
对于 CPU 写入操作,必须向这些寄存器写入随后要传输到引擎的新值。

图 10-42 GHASH_H3
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-39 GHASH_H3 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.33 KEY0(偏移 = 1120h)[复位 = 00000000h]

图 10-43 展示了 KEY0,表 10-40 中对此进行了介绍。

返回到汇总表

KEY (LSW)

图 10-43 KEY0
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-40 KEY0 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.34 KEY1(偏移 = 1124h)[复位 = 00000000h]

图 10-44 展示了 KEY1,表 10-41 中对此进行了介绍。

返回到汇总表

KEY

图 10-44 KEY1
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-41 KEY1 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.35 KEY2(偏移 = 1128h)[复位 = 00000000h]

图 10-45 展示了 KEY2,表 10-42 中对此进行了介绍。

返回到汇总表

KEY

图 10-45 KEY2
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-42 KEY2 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.36 KEY3(偏移 = 112Ch)[复位 = 00000000h]

图 10-46 展示了 KEY3,表 10-43 中对此进行了介绍。

返回到汇总表

KEY

图 10-46 KEY3
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-43 KEY3 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.37 KEY4(偏移 = 1130h)[复位 = 00000000h]

图 10-47 展示了 KEY4,表 10-44 中对此进行了介绍。

返回到汇总表

KEY

图 10-47 KEY4
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-44 KEY4 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.38 KEY5(偏移 = 1134h)[复位 = 00000000h]

图 10-48 展示了 KEY5,表 10-45 中对此进行了介绍。

返回到汇总表

KEY

图 10-48 KEY5
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-45 KEY5 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.39 KEY6(偏移 = 1138h)[复位 = 00000000h]

图 10-49 展示了 KEY6,表 10-46 中对此进行了介绍。

返回到汇总表

KEY

图 10-49 KEY6
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-46 KEY6 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.40 KEY7(偏移 = 113Ch)[复位 = 00000000h]

图 10-50 展示了 KEY7,表 10-47 中对此进行了介绍。

返回到汇总表

KEY (MSW)

图 10-50 KEY7
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-47 KEY7 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.41 IV0(偏移 = 1140h)[复位 = 00000000h]

图 10-51 展示了 IV0,表 10-48 中对此进行了介绍。

返回到汇总表

IV (LSW)

图 10-51 IV0
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-48 IV0 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.42 IV1(偏移 = 1144h)[复位 = 00000000h]

图 10-52 展示了 IV1,表 10-49 中对此进行了介绍。

返回到汇总表

IV

图 10-52 IV1
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-49 IV1 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.43 IV2(偏移 = 1148h)[复位 = 00000000h]

图 10-53 展示了 IV2,表 10-50 中对此进行了介绍。

返回到汇总表

IV

图 10-53 IV2
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-50 IV2 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.44 IV3(偏移 = 114Ch)[复位 = 00000000h]

图 10-54 展示了 IV3,表 10-51 中对此进行了介绍。

返回到汇总表

IV

图 10-54 IV3
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-51 IV3 字段说明
字段类型复位说明
31-0DATAW0h密钥数据

10.3.45 CTRL(偏移 = 1150h)[复位 = 80000000h]

图 10-55 展示了 CTRL,表 10-52 中对此进行了介绍。

返回到汇总表

输入/输出缓冲器控制和模式选择。该寄存器的内容决定了引擎的运行模式。

图 10-55 CTRL
3130292827262524
CNTXT_RDYSAVED_CNTXT_RDYSAVE_CNTXTGCM_CONTGET_DIGESTOFB_GCM_CCM_CONTRESERVEDCCMM
R-1hR-0hR/W-0hR/W-0hR/W-0hR/W-0hR-0hR/W-0h
2322212019181716
CCMMCCMLCCMGCM
R/W-0hR/W-0hR/W-0hR/W-0h
15141312111098
CBCMACRESERVEDCFBICMCTR_WIDTH
R/W-0hR-0hR/W-0hR/W-0hR/W-0h
76543210
CTR_WIDTHCTRCBCKEYSIZEDIRINPUT_RDYOUTPUT_RDY
R/W-0hR/W-0hR/W-0hR/W-0hR/W-0hR-0hR-0h
表 10-52 CTRL 字段说明
字段类型复位说明
31CNTXT_RDYR1h如果为“1b”,该只读状态位表示上下文数据寄存器可以被覆盖并且允许 CPU 写入下一个上下文。
0h = 未就绪
1h = 就绪
30SAVED_CNTXT_RDYR0h如果为“1b”,该只读状态位表示有一个 AES 身份验证 TAG 和/或 IV 块可供主机检索。仅当“save_context”位设置为“1b”时才会将该位置为有效。该位与“context_ready”位互斥。
0h = 未就绪
1h = 就绪
29SAVE_CNTXTR/W0h该位用于指示需要将身份验证 TAG 或结果 IV 存储为结果上下文。如果设置了该位,当操作完成并且启用相关信号时,上下文输出 DMA 和/或中断将被置为有效。
通常,对于返回 TAG 的身份验证模式(CBC-MAC、GCM 和 CCM),或者对于需要未来继续使用当前结果 IV 的基本加密模式,必须设置该值。
如果设置了该位,引擎将保存其完整的上下文,直到读取 TAG 和/或 IV 寄存器。只有在读取 TAG 或 IV 后,新(输入)上下文的新 DMA 请求才会被置为有效。
如果未设置该位,引擎将在开始处理带有当前上下文的最后一个块后,直接将上下文输入 DMA 请求信号置为有效。
0h = 不产生影响
1h = 启用
28GCM_CONTR/W0h在加密/有效载荷阶段继续处理中断的 AES-GCM 或 AES-CCM 操作。
将该只写信号设置为“1b”并提供用于 GCM 或 CCM 操作的常规模式位设置,以便从下一个完整块(128 位)边界继续处理。
在设置该位之前,必须已将用于恢复处理的所有适用上下文都加载到引擎中:密钥、IV、中间摘要/TAG 和块计数器。由于模式包含于同一寄存器中,因此可将模式与该位一起写入。
0h = 不产生影响
1h = 启用
27GET_DIGESTR/W0h中断处理并在 AES-GCM 或 AES-CCM 操作期间生成中间摘要。
将该只写信号设置为“1b”可在下一个完整块(128 位)边界中断 GCM 或 CCM 处理。在加密/解密数据阶段或 AAD 阶段可请求中间摘要。
注意:中断只能在完整块(128 位)边界上进行。为了恢复并最终完成操作,最小剩余字节数量必须大于或等于 1。
0h = 不产生影响
1h = 启用
26OFB_GCM_CCM_CONTR/W0h该位有两种用途,具体取决于 CCM/GCM 的选择,请参阅位 [18:16]。
如果未选择 CCM/GCM:
如果该位设置为“1b”,则会选择完整块 AES 输出反馈模式 (OFB-128)。
如果选择了 CCM/GCM:
在 AAD 阶段继续处理中断的 AES-GCM 或 AES-CCM 操作。
将该只写信号设置为“1b”并提供用于 GCM 或 CCM 操作的常规模式位设置,以便从下一个完整 AAD 块(128 位)边界继续处理。
在设置该位之前,必须已将用于恢复处理的所有适用上下文都加载到引擎中:密钥、IV、中间摘要/TAG、块计数器和 CCM 对齐数据字(后者仅用于 CCM 模式)。由于模式包含于同一寄存器中,因此可将模式与该位一起写入。
1h = 在 AAD 阶段继续 GCM/CCM 处理
25RESERVEDR0h
24-22CCMMR/W0h定义“M”以指示用于 CCM 操作的身份验证字段的长度;身份验证字段长度等于两倍(CCM-M 的值加 1)。注意:引擎始终返回一个 128 位身份验证字段,其中有 M 个最低有效字节有效。支持所有值。
0h = 长度为 1
7h = 长度为 8
21-19CCMLR/W0h定义“L”以指示用于 CCM 操作的长度字段的宽度;长度字段(以字节为单位)等于 CMM-L 的值加 1。支持所有值。
0h = 长度为 1
7h = 长度为 8
18CCMR/W0h如果设置为“1b”,则会选择 AES-CCM,这是一种组合模式,使用 AES 进行身份验证和加密。除了 CCM 位,还必须设置 CTR 模式位以启用 AES-CTR。其他与 CCM 的组合均无效。
0h = 禁用 CBC 模式
1h = 选择 CBC 模式
17-16GCMR/W0h如果未设置为“00b”,则会选择 AES-GCM 模式,这是一种组合模式,使用伽罗瓦域乘法器 GF(2128) 进行身份验证,并使用 AES-CTR 模式进行加密,这些位指定 GCM 模式:01b = GHASH 且 H 已加载、Y0 加密值强制为零 10b = GHASH 且 H 已加载、Y0 加密值在内部计算 11b = 自主 GHASH(H 和 Y0 加密值均在内部计算)注意:除了 GCM 之外,还必须将 CTR 模式位设置为“1b”以便为 GCM 启用 AES-CTR;如果未设置 CTR 位,则执行仅 GHASH(身份验证)操作。仅当 GCM 模式设置为“01b”且方向位设置为“0b”时,才允许进行仅 GHASH 操作。其他模式不可与 GCM 结合使用。下面的表 14 显示了 GCM 和 CTR 模式位的有效组合,所有其他选项均无效且不得选择。
1h = GHASH 且 H 已加载、Y0 加密值强制为 0
2h = GHASH 且 H 已加载、Y0 加密值在内部计算
3h = 自主 GHASH(H 和 Y0 加密值均在内部计算)
15CBCMACR/W0h如果设置为“1b”,则会选择 AES-CBC MAC,对于此模式,方向位必须设置为“1”。
0h = 禁用 CBC 模式
1h = 选择 CBC 模式
14-11RESERVEDR0h
10CFBR/W0h如果设置为“1b”,则会选择 AES 密码反馈模式 CFB。使用 CTR_WIDTH 字段可以指定反馈宽度。
0h = 禁用 CBC 模式
1h = 选择 CBC 模式
9ICMR/W0h当设置 CFB 位时,指定 CFB 模式反馈宽度:
0h = 禁用 CBC 模式
1h = 选择 CBC 模式
8-7CTR_WIDTHR/W0h当设置 CTR 位时,指定 AES-CTR 模式的计数器宽度。
当设置 CFB 位时,指定 CFB 模式反馈宽度:
0h = CFB-128 模式
1h = CFB-1 模式
2h = CFB-8 模式
3h = 128 位计数器
6CTRR/W0h如果设置为“1b”,则会选择 AES 计数器模式 (CTR)。注意:当需要加密/解密时,还必须为 GCM 和 CCM 设置该位。
0h = 禁用 CBC 模式
1h = 选择 CBC 模式
5CBCR/W0h如果设置为“1b”,则会选择密码分组链接 (CBC) 模式。
0h = 禁用 CBC 模式
1h = 选择 CBC 模式
4-3KEYSIZER/W0h指定加密强度/密钥宽度
1h = 128 位密钥
3h = 256 位密钥
2DIRR/W0h方向。如果设置为“1b”,则会执行加密操作。如果设置为“0b”,则会执行解密操作。注意:当选择了 CBC-MAC 时,必须向该位写入“1b”。
0h = 解密
1h = 加密
1INPUT_RDYR0h输入就绪状态。如果为“1b”,该只读状态位表示 16 字节输入缓冲区为空并允许 CPU 写入下一个数据块。复位后,该位为“0”。写入上下文后,该位将变为“1b”。
0h = 未就绪
1h = 就绪
0OUTPUT_RDYR0h输出就绪。如果为“1b”,该只读状态位表示有一个 AES 输出块可供 CPU 检索。
0h = 未就绪
1h = 就绪

10.3.46 C_LENGTH_0(偏移 = 1154h)[复位 = 00000000h]

图 10-56 展示了 C_LENGTH_0,表 10-53 中对此进行了介绍。

返回到汇总表

加密数据长度 (LSW)。这些寄存器将缓冲进入引擎的长度值。处理期间,长度值递减至零。如果两个长度均为零,则表示数据流完成,并会请求新的上下文。对于基本 AES 模式 (ECB/CBC/CTR/ICM/CFB/OFB),如果上下文 DMA 被禁用,则可以写入加密长度“0”。写入零长度将导致连续的数据请求,直到写入新的上下文。对于其他模式(GCM 和 CCM),如果长度递减至零或等于零,则不会发出(新的)数据请求。
建议为每个数据包写入一个新长度。如果长度寄存器递减至零,则在写入新的上下文或长度值之前不会处理任何新数据。
如果在不写入长度寄存器的情况下写入新上下文,则会重复使用先前上下文的长度寄存器值。

图 10-56 C_LENGTH_0
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-53 C_LENGTH_0 字段说明
字段类型复位说明
31-0DATAW0h加密长度寄存器(LSW 和 MSW)的位 [60:0] 存储所有模式的加密数据长度(以字节为单位)。一旦开始使用此上下文进行处理,此长度将递减至零。允许的最大数据长度为 (261-1) 字节。
对于 GCM,可以使用不超过 236-32 字节的任何值。这是因为使用了 32 位计数器模式;128 位块的最大数量为 232-2,因此最大字节数为 236-32。
写入该寄存器会触发引擎开始使用此上下文。这对除 GCM 和 CCM 之外的所有模式都有效。
请注意,对于组合模式,该长度不包括仅身份验证数据;身份验证长度在下面的 AES_AAD_LENGTH 寄存器中指定。
所有模式的长度必须大于 0。对于组合模式,允许其中一个长度等于零。
对于基本加密模式 (ECB/CBC/CTR/ICM/CFB/OFB),允许将长度字段编程为零;在这种情况下,长度被认为是无穷大。
对于流密码模式,所有数据必须采用字节(8 位)对齐;不支持位对齐的数据流。对于分组密码模式,必须以 16 字节分组密码大小的倍数对数据长度进行编程。

10.3.47 C_LENGTH_1(偏移 = 1158h)[复位 = 00000000h]

图 10-57 展示了 C_LENGTH_1,表 10-54 中对此进行了介绍。

返回到汇总表

加密数据长度 (MSW)。这些寄存器将缓冲进入引擎的长度值。处理期间,长度值递减至零。如果两个长度均为零,则表示数据流完成,并会请求新的上下文。对于基本 AES 模式 (ECB/CBC/CTR/ICM/CFB/OFB),如果上下文 DMA 被禁用,则可以写入加密长度“0”。写入零长度将导致连续的数据请求,直到写入新的上下文。对于其他模式(GCM 和 CCM),如果长度递减至零或等于零,则不会发出(新的)数据请求。
建议为每个数据包写入一个新长度。如果长度寄存器递减至零,则在写入新的上下文或长度值之前不会处理任何新数据。
如果在不写入长度寄存器的情况下写入新上下文,则会重复使用先前上下文的长度寄存器值。

图 10-57 C_LENGTH_1
313029282726252423222120191817161514131211109876543210
RESERVEDDATA
R-0hW-0h
表 10-54 C_LENGTH_1 字段说明
字段类型复位说明
31-29RESERVEDR0h
28-0DATAW0h加密长度寄存器(LSW 和 MSW)的位 [60:0] 存储所有模式的加密数据长度(以字节为单位)。一旦开始使用此上下文进行处理,此长度将递减至零。允许的最大数据长度为 (261-1) 字节。
对于 GCM,可以使用不超过 236-32 字节的任何值。这是因为使用了 32 位计数器模式;128 位块的最大数量为 232-2,因此最大字节数为 236-32。
写入该寄存器会触发引擎开始使用此上下文。这对除 GCM 和 CCM 之外的所有模式都有效。
请注意,对于组合模式,该长度不包括仅身份验证数据;身份验证长度在下面的 AES_AAD_LENGTH 寄存器中指定。
所有模式的长度必须大于 0。对于组合模式,允许其中一个长度等于零。
对于基本加密模式 (ECB/CBC/CTR/ICM/CFB/OFB),允许将长度字段编程为零;在这种情况下,长度被认为是无穷大。
对于流密码模式,所有数据必须采用字节(8 位)对齐;不支持位对齐的数据流。对于分组密码模式,必须以 16 字节分组密码大小的倍数对数据长度进行编程。

10.3.48 AAD_LENGTH(偏移 = 115Ch)[复位 = 00000000h]

图 10-58 展示了 AAD_LENGTH,表 10-55 中对此进行了介绍。

返回到汇总表

AAD 数据长度

图 10-58 AAD_LENGTH
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-55 AAD_LENGTH 字段说明
字段类型复位说明
31-0DATAW0h身份验证长度寄存器的位 [31:0] 仅存储组合模式(GCM 或 CCM)的身份验证数据长度(以字节为单位)
对于 CCM,支持的 AAD 长度为 0 至 (216-28) 字节。对于 GCM,可以使用不超过 232-1 字节的任何值。一旦开始使用此上下文进行处理,此长度将递减至零。
写入该寄存器会触发引擎开始为 GCM 和 CCM 使用此上下文。

10.3.49 DATA0(偏移 = 1160h)[复位 = 00000000h]

图 10-59 展示了 DATA0,表 10-56 中对此进行了介绍。

返回到汇总表

数据输入 (LSW)/数据输出 (LSW)。数据输入/输出寄存器用于缓冲进出引擎的输入/输出数据块。请注意,数据输入缓冲器 (AES_DATA_IN_n) 和数据输出缓冲器 (AES_DATA_OUT_n) 映射到相同的地址位置。向这些地址写入值将加载输入缓冲器,而读取操作将从输出缓冲器拉取值。因此,对于写入访问,写入的是数据输入缓冲器;对于读取访问,读取的是数据输出缓冲器。在开始操作之前必须向数据输入缓冲器写入值。数据输出缓冲器在操作完成时包含有效数据。在每个方向会独立跟踪这些寄存器的所有写入和读取。因此,任何 128 位数据块都可以分割成多次 32 位字传输,这些字传输可以与外部接口上的其他传输混合进行。

图 10-59 DATA0
313029282726252423222120191817161514131211109876543210
DATA
R/W-0h
表 10-56 DATA0 字段说明
字段类型复位说明
31-0DATAR/W0h数据

10.3.50 DATA1(偏移 = 1164h)[复位 = 00000000h]

图 10-60 展示了 DATA1,表 10-57 中对此进行了介绍。

返回到汇总表

数据输入/数据输出。数据输入/输出寄存器用于缓冲进出引擎的输入/输出数据块。请注意,数据输入缓冲器 (AES_DATA_IN_n) 和数据输出缓冲器 (AES_DATA_OUT_n) 映射到相同的地址位置。向这些地址写入值将加载输入缓冲器,而读取操作将从输出缓冲器拉取值。因此,对于写入访问,写入的是数据输入缓冲器;对于读取访问,读取的是数据输出缓冲器。在开始操作之前必须向数据输入缓冲器写入值。数据输出缓冲器在操作完成时包含有效数据。在每个方向会独立跟踪这些寄存器的所有写入和读取。因此,任何 128 位数据块都可以分割成多次 32 位字传输,这些字传输可以与外部接口上的其他传输混合进行。

图 10-60 DATA1
313029282726252423222120191817161514131211109876543210
DATA
R/W-0h
表 10-57 DATA1 字段说明
字段类型复位说明
31-0DATAR/W0h数据

10.3.51 DATA2(偏移 = 1168h)[复位 = 00000000h]

图 10-61 展示了 DATA2,表 10-58 中对此进行了介绍。

返回到汇总表

数据输入/数据输出。数据输入/输出寄存器用于缓冲进出引擎的输入/输出数据块。请注意,数据输入缓冲器 (AES_DATA_IN_n) 和数据输出缓冲器 (AES_DATA_OUT_n) 映射到相同的地址位置。向这些地址写入值将加载输入缓冲器,而读取操作将从输出缓冲器拉取值。因此,对于写入访问,写入的是数据输入缓冲器;对于读取访问,读取的是数据输出缓冲器。在开始操作之前必须向数据输入缓冲器写入值。数据输出缓冲器在操作完成时包含有效数据。在每个方向会独立跟踪这些寄存器的所有写入和读取。因此,任何 128 位数据块都可以分割成多次 32 位字传输,这些字传输可以与外部接口上的其他传输混合进行。

图 10-61 DATA2
313029282726252423222120191817161514131211109876543210
DATA
R/W-0h
表 10-58 DATA2 字段说明
字段类型复位说明
31-0DATAR/W0h数据

10.3.52 DATA3(偏移 = 116Ch)[复位 = 00000000h]

图 10-62 展示了 DATA3,表 10-59 中对此进行了介绍。

返回到汇总表

数据输入 (MSW)/数据输出 (MSW)。数据输入/输出寄存器用于缓冲进出引擎的输入/输出数据块。请注意,数据输入缓冲器 (AES_DATA_IN_n) 和数据输出缓冲器 (AES_DATA_OUT_n) 映射到相同的地址位置。向这些地址写入值将加载输入缓冲器,而读取操作将从输出缓冲器拉取值。因此,对于写入访问,写入的是数据输入缓冲器;对于读取访问,读取的是数据输出缓冲器。在开始操作之前必须向数据输入缓冲器写入值。数据输出缓冲器在操作完成时包含有效数据。在每个方向会独立跟踪这些寄存器的所有写入和读取。因此,任何 128 位数据块都可以分割成多次 32 位字传输,这些字传输可以与外部接口上的其他传输混合进行。

图 10-62 DATA3
313029282726252423222120191817161514131211109876543210
DATA
R/W-0h
表 10-59 DATA3 字段说明
字段类型复位说明
31-0DATAR/W0h数据

10.3.53 TAG0(偏移 = 1170h)[复位 = 00000000h]

图 10-63 展示了 TAG0,表 10-60 中对此进行了介绍。

返回到汇总表

哈希结果 (LSW)。这些寄存器缓冲来自引擎的 TAG。这些寄存器与中间身份验证结果寄存器共享,但在处理完成之前无法读取。

图 10-63 TAG0
313029282726252423222120191817161514131211109876543210
DATA
R-0h
表 10-60 TAG0 字段说明
字段类型复位说明
31-0DATAR0h对于 CPU 读取操作,这些寄存器包含引擎的最后 128 位 TAG 输出;在写入下一个上下文前,该 TAG 一直可用。
仅当设置了 AES_CTRL 寄存器中的“saved_context_ready”或“get_digest”位且 TAG 可用时,该寄存器才会包含有效数据。在 get_digest 的情况下,输出将是用于继续运行 CCM 或 GCM 的中间 TAG。在处理过程中或者对于不返回 TAG 的操作/模式,对该寄存器的读取将返回 IV 寄存器中的数据。如果操作返回 IV 寄存器中的 TAG,必须直接访问 IV 寄存器。

10.3.54 TAG1(偏移 = 1174h)[复位 = 00000000h]

图 10-64 展示了 TAG1,表 10-61 中对此进行了介绍。

返回到汇总表

哈希结果。这些寄存器缓冲来自引擎的 TAG。这些寄存器与中间身份验证结果寄存器共享,但在处理完成之前无法读取。

图 10-64 TAG1
313029282726252423222120191817161514131211109876543210
DATA
R-0h
表 10-61 TAG1 字段说明
字段类型复位说明
31-0DATAR0h对于 CPU 读取操作,这些寄存器包含引擎的最后 128 位 TAG 输出;在写入下一个上下文前,该 TAG 一直可用。
仅当设置了 AES_CTRL 寄存器中的“saved_context_ready”或“get_digest”位且 TAG 可用时,该寄存器才会包含有效数据。在 get_digest 的情况下,输出将是用于继续运行 CCM 或 GCM 的中间 TAG。在处理过程中或者对于不返回 TAG 的操作/模式,对该寄存器的读取将返回 IV 寄存器中的数据。如果操作返回 IV 寄存器中的 TAG,必须直接访问 IV 寄存器。

10.3.55 TAG2(偏移 = 1178h)[复位 = 00000000h]

图 10-65 展示了 TAG2,表 10-62 中对此进行了介绍。

返回到汇总表

哈希结果。这些寄存器缓冲来自引擎的 TAG。这些寄存器与中间身份验证结果寄存器共享,但在处理完成之前无法读取。

图 10-65 TAG2
313029282726252423222120191817161514131211109876543210
DATA
R-0h
表 10-62 TAG2 字段说明
字段类型复位说明
31-0DATAR0h对于 CPU 读取操作,这些寄存器包含引擎的最后 128 位 TAG 输出;在写入下一个上下文前,该 TAG 一直可用。
仅当设置了 AES_CTRL 寄存器中的“saved_context_ready”或“get_digest”位且 TAG 可用时,该寄存器才会包含有效数据。在 get_digest 的情况下,输出将是用于继续运行 CCM 或 GCM 的中间 TAG。在处理过程中或者对于不返回 TAG 的操作/模式,对该寄存器的读取将返回 IV 寄存器中的数据。如果操作返回 IV 寄存器中的 TAG,必须直接访问 IV 寄存器。

10.3.56 TAG3(偏移 = 117Ch)[复位 = 00000000h]

图 10-66 展示了 TAG3,表 10-63 中对此进行了介绍。

返回到汇总表

哈希结果 (MSW)。这些寄存器缓冲来自引擎的 TAG。这些寄存器与中间身份验证结果寄存器共享,但在处理完成之前无法读取。

图 10-66 TAG3
313029282726252423222120191817161514131211109876543210
DATA
R-0h
表 10-63 TAG3 字段说明
字段类型复位说明
31-0DATAR0h对于 CPU 读取操作,这些寄存器包含引擎的最后 128 位 TAG 输出;在写入下一个上下文前,该 TAG 一直可用。
仅当设置了 AES_CTRL 寄存器中的“saved_context_ready”或“get_digest”位且 TAG 可用时,该寄存器才会包含有效数据。在 get_digest 的情况下,输出将是用于继续运行 CCM 或 GCM 的中间 TAG。在处理过程中或者对于不返回 TAG 的操作/模式,对该寄存器的读取将返回 IV 寄存器中的数据。如果操作返回 IV 寄存器中的 TAG,必须直接访问 IV 寄存器。

10.3.57 STATUS(偏移 = 1180h)[复位 = 00000000h]

图 10-67 展示了 STATUS,表 10-64 中对此进行了介绍。

返回到汇总表

状态寄存器

图 10-67 状态
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDKEYWR
R-0hR-0h
表 10-64 STATUS 字段说明
字段类型复位说明
31-1RESERVEDR0h
0KEYWRR0h密钥写入状态。0 - 允许用户对 KEY 寄存器的写入。1 - 忽略用户对 KEY 寄存器的写入。
为了允许用户写入,需执行模块复位。
0h = 允许用户写入 KEY MMR
1h = 禁用用户写入 KEY MMR。 写入不产生影响。

10.3.58 DATA_IN(偏移 = 1184h)[复位 = 00000000h]

图 10-68 展示了 DATA_IN,表 10-65 中对此进行了介绍。

返回到汇总表

Data-in 寄存器:用作单一地址的 DATA0/1/2/3 的别名以便于 DMA 寻址

图 10-68 DATA_IN
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-65 DATA_IN 字段说明
字段类型复位说明
31-0DATAW0h数据输入字

10.3.59 DATA_OUT(偏移 = 1188h)[复位 = 00000000h]

图 10-69 展示了 DATA_OUT,表 10-66 中对此进行了介绍。

返回到汇总表

Data-out 寄存器:用作单一地址的 DATA0/1/2/3 的别名以便于 DMA 寻址

图 10-69 DATA_OUT
313029282726252423222120191817161514131211109876543210
DATA
R-0h
表 10-66 DATA_OUT 字段说明
字段类型复位说明
31-0DATAR0h数据输出字

10.3.60 FORCE_IN_AV(偏移 = 11D0h)[复位 = 00000000h]

图 10-70 展示了 FORCE_IN_AV,表 10-67 中对此进行了介绍。

返回到汇总表

用于输入数据的数据控制寄存器。该只写寄存器提供了一种方法来强制引擎的输入数据缓冲器可用。

图 10-70 FORCE_IN_AV
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-67 FORCE_IN_AV 字段说明
字段类型复位说明
31-0DATAW0h对该寄存器的任何写入都会强制输入数据缓冲器有效,并会强制引擎开始处理此数据。此处写入的数据不会被使用。必须将内核配置为使输入和输出数据确认基于 I/O 寄存器

10.3.61 CCM_ALN_WRD(偏移 = 11D4h)[复位 = 00000000h]

图 10-71 展示了 CCM_ALN_WRD,表 10-68 中对此进行了介绍。

返回到汇总表

AES-CCM AAD 对齐数据字。该寄存器可用于访问在 AES-CCM 处理的 AAD 阶段存储了对齐数据字节的内部寄存器。当 AES-CCM 操作在 AAD 阶段中断时,需要读取和存储该寄存器。在以后的会话中恢复 AES-CCM 操作时,需要写入该寄存器来恢复这个值。

图 10-71 CCM_ALN_WRD
313029282726252423222120191817161514131211109876543210
DATA
W-0h
表 10-68 CCM_ALN_WRD 字段说明
字段类型复位说明
31-0DATAW0h该寄存器可用于访问在 AES-CCM 处理的 AAD 阶段存储了对齐数据字节的内部寄存器。当 AES-CCM 操作在 AAD 阶段中断时,需要读取和存储该寄存器。在以后的会话中恢复 AES-CCM 操作时,需要写入该寄存器来恢复这个值。

10.3.62 BLK_CNT0(偏移 = 11D8h)[复位 = 00000000h]

图 10-72 展示了 BLK_CNT0,表 10-69 中对此进行了介绍。

返回到汇总表

内部块计数器 (LSW)。该寄存器与 BLK_CNT1 寄存器一起提供对引擎内部数据块计数器的访问。此计数器用于在 AES-CCM 和 AES-GCM 操作期间跟踪数据块的数量。读取和写入此计数器允许中断和恢复长时间的 CCM 或 GCM 操作。请注意,块计数器在内部用于 AAD 数据以及加密/解密数据。中断和恢复仅在加密/解密数据阶段受支持,在 AAD 期间不受支持。

图 10-72 BLK_CNT0
313029282726252423222120191817161514131211109876543210
DATA
R/W-0h
表 10-69 BLK_CNT0 字段说明
字段类型复位说明
31-0DATAR/W0h用于 AES GCM 和 CCM 操作的内部块计数器。
这些位的读数是表示要存储的块数的块计数值。在请求中间 GCM/CCM 摘要后,此值对于 saved_context_ready 有效。
写入这些寄存器会将内部块计数器恢复到编程值。只有为了准备引擎以继续处理中断的 GCM 或 CCM 操作时,才需要执行此操作。
另请参阅 AES_CTRL 寄存器中的 get_digest 和 gcm_ccm_continue 位。

10.3.63 BLK_CNT1(偏移 = 11DCh)[复位 = 00000000h]

图 10-73 展示了 BLK_CNT1,表 10-70 中对此进行了介绍。

返回到汇总表

内部块计数器 (MSW)。该寄存器与 BLK_CNT0 寄存器一起提供对引擎内部数据块计数器的访问。此计数器用于在 AES-CCM 和 AES-GCM 操作期间跟踪数据块的数量。读取和写入此计数器允许中断和恢复长时间的 CCM 或 GCM 操作。请注意,块计数器在内部用于 AAD 数据以及加密/解密数据。中断和恢复仅在加密/解密数据阶段受支持,在 AAD 期间不受支持。

图 10-73 BLK_CNT1
313029282726252423222120191817161514131211109876543210
RESERVEDDATA
R-0hR/W-0h
表 10-70 BLK_CNT1 字段说明
字段类型复位说明
31-24RESERVEDR0h
23-0DATAR/W0h用于 AES GCM 和 CCM 操作的内部块计数器。
这些位的读数是表示要存储的块数的块计数值。在请求中间 GCM/CCM 摘要后,此值对于 saved_context_ready 有效。
写入这些寄存器会将内部块计数器恢复到编程值。只有为了准备引擎以继续处理中断的 GCM 或 CCM 操作时,才需要执行此操作。
另请参阅 AES_CTRL 寄存器中的 get_digest 和 gcm_ccm_continue 位。

10.3.64 DMA_HS(偏移 = 11F4h)[复位 = 00000000h]

图 10-74 展示了 DMA_HS,表 10-71 中对此进行了介绍。

返回到汇总表

用于 DMA 握手的控制寄存器

图 10-74 DMA_HS
3130292827262524
RESERVED
R-0h
2322212019181716
RESERVED
R-0h
15141312111098
RESERVED
R-0h
76543210
RESERVEDDMA_DATA_ACK
R-0hR/W-0h
表 10-71 DMA_HS 字段说明
字段类型复位说明
31-1RESERVEDR0h
0DMA_DATA_ACKR/W0h当该位为 0b 时,输入和输出数据确认基于 I/O 寄存器,如 AES_DATA_IN_n/AES_DATA_OUT_n 寄存器的说明中所述。
当该位为 1b 时,输入和输出数据确认基于 DMA 握手信号。
0h = 禁用基于 DMA 的数据握手
1h = 启用基于 DMA 的握手