ZHDA106 April 2026 ADC168M102R-SEP
McBSP 编程为串行端口,其内部采样率发生器 (SRG) 配置为生成内部数据时钟 (CLKG) 以用作内部发送时钟 (CLKX)。发送器和接收器设置为 16 位操作,在帧同步之后、帧的第一位发送/接收之前,有一个 1 位的延迟。
发送帧同步脉冲 (FSX) 由 SRG 生成,FSX 的宽度应设置为一个 CLKX 时钟周期。根据使用轮询机制还是中断机制来处理发送和接收数据,FSX 需要设置为:(1) 在对发送寄存器进行写入时生成或 (2) 基于 SRGR2 寄存器中 FPER 位的设置周期性生成。表 4-1 列出了使用轮询或中断方法时,McBSP 与 ADC168M102R-SEP 接口的关键寄存器设置。
| 寄存器 | 轮询操作设置 | 中断操作设置 | 注释 |
|---|---|---|---|
| SRGR2.bit.CLKSM | 1 | 1 | SRG 使用 LSPCLK 作为输入时钟 |
| PCR.bit.SCLKME | 0 | 0 | |
| SRGR1.bit.CLKGDV | 9 | 9 | 时钟分频器 |
| PCR.bit.CLKXM | 1 | 1 | CLKX 由 CLKG 驱动 |
| RCR1.bit.RWDLEN1 | 2 | 2 | 设置为 16 位操作 |
| XCR1.bit.XWDLEN1 | 2 | 2 | |
| RCR2.bit.RDATDLY | 1 | 1 | 数据接收和发送的 1 位延迟 |
| XCR2.bit.XDATDLY | 1 | 1 | |
| PCR.bit.FSXM | 1 | 1 | FSX 由 CLKG 驱动 |
| SRGR1.bit.FWID | 0 | 0 | FSX 为 1 个 CLKG 周期 |
| SRGR2.bit.FSGM | 0 | 0 | 生成 FSX 的不同方式 |
| SRGR2.bit.FPER | – | 21 | 两个 FSX 信号之间的周期 |
| MFFINT.bit.XINT | – | 1 | 使能发送/接收中断。 |
| MFFINT.bit.RINT | – | 1 |
在示例代码中,ADC168M102R-SEP 以 20MHz 的串行时钟运行,这是通过对低速外设时钟 (LSPCLK) 进行 10 分频实现的。ADC168M102R-SEP 的固定数据速率连续转换通过使用中断机制处理 McBSP 中的数据来实现,而 ADC168M102R-SEP 的配置则是使用轮询机制来处理 McBSP 中的数据,如以下代码行所示。
|