ZHDU116G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
表 23-2 列出了 SSI 寄存器的存储器映射寄存器。表 23-2中未列出的所有寄存器偏移地址都应视为保留的位置,并且不应修改寄存器内容。
| 偏移 | 首字母缩写词 | 寄存器名称 | 部分 |
|---|---|---|---|
| 0h | CR0 | 控制 0 | CR0 寄存器(偏移 = 0h)[复位 = 00000000h] |
| 4h | CR1 | 控制 1 | CR1 寄存器(偏移 = 4h)[复位 = 00000000h] |
| 8h | DR | 数据 | DR 寄存器(偏移 = 8h)[复位 = 00000000h] |
| Ch | SR | 状态 | SR 寄存器(偏移 = Ch)[复位 = 00000003h] |
| 10h | CPSR | 时钟预分频 | CPSR 寄存器(偏移 = 10h)[复位 = 00000000h] |
| 14h | IMSC | 中断屏蔽设置和清除 | IMSC 寄存器(偏移 = 14h)[复位 = 00000000h] |
| 18h | RIS | 原始中断状态 | RIS 寄存器(偏移 = 18h)[复位 = 00000008h] |
| 1Ch | MIS | 已屏蔽中断状态 | MIS 寄存器(偏移 = 1Ch)[复位 = 00000000h] |
| 20h | ICR | 中断清除 | ICR 寄存器(偏移 = 20h)[复位 = 00000000h] |
| 24h | DMACR | DMA 控制 | DMACR 寄存器(偏移 = 24h)[复位 = 00000000h] |
复杂的位访问类型经过编码可适应小型表单元。表 23-3 展示了适用于此部分中访问类型的代码。
| 访问类型 | 代码 | 说明 |
|---|---|---|
| 读取类型 | ||
| R | R | 读取 |
| 写入类型 | ||
| W | W | 写入 |
| 复位或默认值 | ||
| -n | 复位后的值或默认值 | |
图 23-13 展示了 CR0,表 23-4 对其进行了介绍。
返回到汇总表。
控制 0
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||||||||||
| R-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SCR | SPH | SPO | FRF | DSS | |||||||||||
| R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | 保留 |
| 15-8 | SCR | R/W | 0h | 串行时钟速率: 这用于生成 SSI 的发送和接收比特率。比特率为 (SSI 的时钟频率)/((SCR+1)*CPSR.CPSDVSR)。 SCR 是 0-255 之间的值。 |
| 7 | SPH | R/W | 0h | CLKOUT 相位(仅适用于 Motorola SPI 帧格式) 该位选择捕获数据的时钟沿并使其能够更改状态。 由于可以允许或不允许在第一个数据捕获沿之前进行时钟转换,所以对第一个发送的位的影响最大。 0h = 1ST_CLK_EDGE:在第一次时钟沿转换时捕获数据。 1h = 2ND_CLK_EDGE:在第二次时钟沿转换时捕获数据。 |
| 6 | SPO | R/W | 0h | CLKOUT 极性(仅适用于 Motorola SPI 帧格式) 0h = 不传输数据时,SSI 在 CLKOUT 引脚上 生成稳态低电平值。 1h = 不传输数据时,SSI 在 CLKOUT 引脚上生成稳态高电平值。 |
| 5-4 | FRF | R/W | 0h | 帧格式。 支持的帧格式为 Motorola SPI、TI 同步串行和 National Microwire。 值 0'b11 是保留值,不得使用。 0h = Motorola SPI 帧格式 1h = TI 同步串行帧格式 2h = National Microwire 帧格式 |
| 3-0 | DSS | R/W | 0h | 数据大小选择。 值 0b0000、0b0001、0b0010 是保留值,不得使用。 3h = 4_BIT:4 位数据 4h = 5_BIT: 5 位数据 5h = 6_BIT: 6 位数据 6h = 7_BIT: 7 位数据 7h = 8_BIT: 8 位数据 8h = 9_BIT: 9 位数据 9h = 10_BIT: 10 位数据 Ah = 11_BIT: 11 位数据 Bh = 12_BIT: 12 位数据 Ch = 13_BIT: 13 位数据 Dh = 14_BIT: 14 位数据 Eh = 15_BIT: 15 位数据 Fh = 16_BIT: 16 位数据 |
图 23-14 展示了 CR1,表 23-5 对其进行了介绍。
返回到汇总表。
控制 1
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||||||||||
| R-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | SOD | MS | SSE | LBM | |||||||||||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-4 | RESERVED | R | 0h | 保留 |
| 3 | SOD | R/W | 0h | 禁用从模式输出 该位仅在从模式 (MS=1) 中适用。在多从系统中,SSI 主器件可以向系统中的所有从器件广播一条消息,同时确保只有一个从器件将数据驱动到其串行输出线路上。在这样的系统中,来自多个从器件的 RXD 线路可以连接在一起。要在此类系统中运行,如果 SSI 从器件不应驱动 TXD 线路,则可以设置该位字段: 0:SSI 可在从模式下驱动 TXD 输出。 1:SSI 无法在从模式下驱动 TXD 输出。 |
| 2 | MS | R/W | 0h | 主或从模式选择。仅当禁用 SSI (SSE=0) 时才能修改该位。 0h = 器件配置为主器件 1h = 器件配置为从器件 |
| 1 | SSE | R/W | 0h | 同步串行接口使能。 0h = SSI_DISABLED:操作已禁用 1h = SSI_ENABLED: 操作已启用 |
| 0 | LBM | R/W | 0h | 环回模式: 0:正常串行端口操作已启用。 1:发送串行移位器的输出在内部连接到接收串行移位器的输入。 |
图 23-15 展示了 DR,表 23-6 中对此进行了介绍。
返回到汇总表。
数据
16 位宽数据寄存器:
读取时,会访问接收 FIFO 内部由当前 FIFO 读取指针指向的条目。当接收逻辑从传入数据帧中删除数据值时,会将这些数据值放入接收 FIFO 内部由当前 FIFO 写入指针指向的条目中。
写入时,会写入发送 FIFO 内部由写入指针指向的条目。发送逻辑从发送 FIFO 中一次移出一个数据值。这个数据值加载到发送串行移位器中,然后以编程的比特率串行移出到 TXD 输出引脚。
当所选的数据大小小于 16 位时,用户必须将写入发送 FIFO 的数据右对齐。发送逻辑忽略未使用的位。接收到的小于 16 位的数据在接收缓冲器中自动右对齐。
| 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 |
| RESERVED | DATA | ||||||||||||||||||||||||||||||
| R-0h | R/W-X | ||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | 保留 |
| 15-0 | DATA | R/W | X | 发送/接收数据 当 SSI 编程为小于 16 位的数据大小 (CR0.DSS != 0b1111) 时,从该字段读取或写入该字段的值必须右对齐。发送逻辑会忽略顶部未使用的位。接收逻辑会自动右对齐。 |
图 23-16 展示了 SR,表 23-7 中对此进行了介绍。
返回到汇总表。
状态
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||||||||||
| R-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | BSY | RFF | RNE | TNF | TFE | ||||||||||
| R-0h | R-0h | R-0h | R-0h | R-1h | R-1h | ||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-5 | RESERVED | R | 0h | 保留 |
| 4 | BSY | R | 0h | 串行接口忙: 0:SSI 空闲 1:SSI 当前正在发送和/或接收帧,或者发送 FIFO 不为空。 |
| 3 | RFF | R | 0h | 接收 FIFO 已满: 0:接收 FIFO 未满。 1:接收 FIFO 已满。 |
| 2 | RNE | R | 0h | 接收 FIFO 不为空 0:接收 FIFO 为空。 1:接收 FIFO 不为空。 |
| 1 | TNF | R | 1h | 发送 FIFO 未满: 0:发送 FIFO 已满。 1:发送 FIFO 未满。 |
| 0 | TFE | R | 1h | 发送 FIFO 为空: 0:发送 FIFO 不为空。 1:发送 FIFO 为空。 |
图 23-17 展示了 CPSR,表 23-8 中对此进行了介绍。
返回到汇总表。
时钟预分频
| 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 |
| RESERVED | CPSDVSR | ||||||||||||||||||||||||||||||
| R-0h | R/W-0h | ||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | 保留 |
| 7-0 | CPSDVSR | R/W | 0h | 时钟预分频因子: 该字段指定 SSI 输入系统时钟在进一步使用之前必须进行内部分频的分频因子。 编程到此字段中的值必须为偶数非零值 (2-254)。编程数字的最低有效位被硬编码为零。如果向该寄存器写入奇数,则从该寄存器读回的数据 的最低有效位为零。 |
图 23-18 展示了 IMSC,表 23-9 中对此进行了介绍。
返回到汇总表。
中断屏蔽设置和清除
| 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 | TXIM | RXIM | RTIM | RORIM | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-4 | RESERVED | R | 0h | 保留 |
| 3 | TXIM | R/W | 0h | 发送 FIFO 中断屏蔽: 读取操作返回发送 FIFO 中断的当前屏蔽。写入 1 时会设置发送 FIFO 中断的屏蔽,这意味着中断状态将反映在 MIS.TXMIS 中。写入 0 会清除屏蔽,这意味着 MIS.TXMIS 不会反映中断。 |
| 2 | RXIM | R/W | 0h | 接收 FIFO 中断屏蔽: 读取操作返回接收 FIFO 中断的当前屏蔽。写入 1 时会设置接收 FIFO 中断的屏蔽,这意味着中断状态将反映在 MIS.RXMIS 中。写入 0 会清除屏蔽,这意味着 MIS.RXMIS 不会反映中断。 |
| 1 | RTIM | R/W | 0h | 接收超时中断屏蔽: 读取操作返回接收超时中断的当前屏蔽。写入 1 时会设置接收超时中断的屏蔽,这意味着中断状态将反映在 MIS.RTMIS 中。写入 0 会清除屏蔽,这意味着 MIS.RTMIS 不会反映中断。 |
| 0 | RORIM | R/W | 0h | 接收超限中断屏蔽: 读取操作返回接收溢出中断的当前屏蔽。写入 1 时会设置接收超限中断的屏蔽,这意味着中断状态将反映在 MIS.RORMIS 中。写入 0 会清除屏蔽,这意味着 MIS.RORMIS 不会反映中断。 |
图 23-19 展示了 RIS,表 23-10 中对此进行了介绍。
返回到汇总表。
原始中断状态
| 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 | TXRIS | RXRIS | RTRIS | RORRIS | |||
| R-0h | R-1h | R-0h | R-0h | R-0h | |||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-4 | RESERVED | R | 0h | 保留 |
| 3 | TXRIS | R | 1h | 原始发送 FIFO 中断状态: 当发送 FIFO 中有四个或更少的有效条目时,发送中断将置为有效。发送中断不受 SSI 使能信号的限定。因此,可以使用以下方式之一: - 在使能 SSI 和中断之前,可以将数据写入 发送 FIFO。 - 可以使能 SSI 和中断,以便通过中断服务例程将数据写入发送 FIFO。 |
| 2 | RXRIS | R | 0h | 接收 FIFO 中断的原始中断状态: 当接收 FIFO 中有四个或更多的有效条目时,接收中断将置为有效。 |
| 1 | RTRIS | R | 0h | 接收超时中断的原始中断状态: 当接收 FIFO 不为空且 SSI 在固定的 32 位周期内保持空闲时,此接收超时中断有效。该机制可用于通知用户,接收 FIFO 中仍有数据需要处理。如果后续读取使接收 FIFO 变为空或在 RXD 上接收到新数据,则该中断置为无效。 也可以通过写入 ICR.RTIC 来清除该中断。 |
| 0 | RORRIS | R | 0h | 接收超限中断的原始中断状态: 当 FIFO 已满且接收到额外的数据帧时,接收超限中断将置为有效,从而导致 FIFO 超限。数据在接收移位寄存器中 被覆盖,但 FIFO 中的数据不受影响,因此 FIFO 内容保持有效。 也可以通过写入 ICR.RORIC 来清除该中断。 |
图 23-20 展示了 MIS,表 23-11 中对此进行了介绍。
返回到汇总表。
已屏蔽中断状态
| 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 | TXMIS | RXMIS | RTMIS | RORMIS | |||
| R-0h | R-0h | R-0h | R-0h | R-0h | |||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-4 | RESERVED | R | 0h | 保留 |
| 3 | TXMIS | R | 0h | 发送 FIFO 中断的屏蔽中断状态: 该字段返回发送 FIFO 中断的屏蔽中断状态,该状态是原始中断状态 RIS.TXRIS 与屏蔽设置 IMSC.TXIM 的“与”运算结果。 |
| 2 | RXMIS | R | 0h | 接收 FIFO 中断的屏蔽中断状态: 该字段返回接收 FIFO 中断的屏蔽中断状态,该状态是原始中断状态 RIS.RXRIS 与屏蔽设置 IMSC.RXIM 的“与”运算结果。 |
| 1 | RTMIS | R | 0h | 接收超时中断的屏蔽中断状态: 该字段返回接收超时中断的屏蔽中断状态,该状态是原始中断状态 RIS.RTRIS 与屏蔽设置 IMSC.RTIM 的“与”运算结果。 |
| 0 | RORMIS | R | 0h | 接收超限中断的屏蔽中断状态: 该字段返回接收溢出中断的屏蔽中断状态,该状态是原始中断状态 RIS.RORRIS 与屏蔽设置 IMSC.RORIM 的“与”运算结果。 |
图 23-21 展示了 ICR,表 23-12 中对此进行了介绍。
返回到汇总表。
中断清除
写入 1 即可清除相应的中断。写入 0 不起作用。
| 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 | RTIC | RORIC | |||||
| R-0h | W-0h | W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-2 | RESERVED | R | 0h | 保留 |
| 1 | RTIC | W | 0h | 清除接收超时中断: 向该字段写入 1 会清除超时中断 (RIS.RTRIS)。写入 0 无效。 |
| 0 | RORIC | W | 0h | 清除接收超限中断: 向该字段写入 1 会清除超限错误中断 (RIS.RORRIS)。写入 0 无效。 |
图 23-22 展示了 DMACR,表 23-13 中对此进行了介绍。
返回到汇总表。
DMA 控制
| 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 | TXDMAE | RXDMAE | |||||
| R-0h | R/W-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-2 | RESERVED | R | 0h | 保留 |
| 1 | TXDMAE | R/W | 0h | 发送 DMA 使能。如果该位设置为 1,则发送 FIFO 的 DMA 被使能。 |
| 0 | RXDMAE | R/W | 0h | 接收 DMA 使能。如果该位设置为 1,则接收 FIFO 的 DMA 被使能。 |