ZHDA106 April 2026 ADC168M102R-SEP
F28377D-SEP 集成了高速同步 SPI,支持将编程长度(1 至 16 位)的串行比特流移入和移出器件。此外,它还支持 16 级接收和发送 FIFO。
在该接口方案中,SPI 端口配置为从器件,采用 4 线模式运行。为了与 ADC168M102R-SEP 时序图兼容,SPI 端口设置为在上升沿输出数据,在下降沿输入数据,且使用非延迟时钟。
在源代码中,SPI 端口的字符长度设置为 11 位。发送和接收采用缓冲器,前一个字传输完成后立即传输缓冲器中的下一个字,从而将两次 SPI 传输合并为一个 ADC168M102R-SEP 转换周期;以下几行代码显示了它们之间的转换。表 4-2 列出了前述 SPI 端口的关键寄存器设置。
|
|
| 寄存器 | 设置 | 注释 |
|---|---|---|
| SPICTL.all | 0x0002 | 作为从器件,使用标准 SPI 时钟方案,无延迟 |
| SPIPRI.bit.TRIWIRE | 0 | 标准 4 线 SPI 模式 |
| SPIFFCT | 0x0000 | 缓冲器中的前一个字传输完成后立即传输下一个字 |
| SPICCR.all | 0x008A | 11 位;上升沿输出数据,下降沿输入数据 |
所使用的两个 ePWM 模块设置为相同时钟频率和计数模式,但计数周期不同,因此可以用作 RD/CONVST 信号或时钟信号。当 ePWM1 模块的计数值达到零时,ePWM2 模块的计数值同步为零。ePWM 模块的关键寄存器设置如表 4-3 所示。
| 寄存器 | ePWM1 设置 | PWM2 设置 | 注释 |
|---|---|---|---|
| TBCTL.bit.HSPCLKDIV | 1 | 1 | 设置时基时钟速率 |
| TBCTL.bit.CLKDIV | 1 | 1 | |
| TBCTL.bit.CTRMODE | 0 | 0 | 将计数模式设置为递增计数模式 |
| TBPRD | 219 | 9 | 设置时基计数器的周期 |
| AQCTLA.bit.ZRO | 2 | 2 | 设置 ePWM 模块输出操作 |
| AQCTLA.bit.CAU | 1 | 1 | |
| CMPA.half.CMPA | 10 | 5 | 设置比较寄存器以控制占空比 |
| TBCTL.bit.PHSEN | 0 | 1 | 同步控制,ePWM1 作为主器件,ePWM2 作为从器件 |
| TBCTL.bit.SYNCOSEL | 1 | 0 | |
| TBPHS.half.TBPHS | 0 | 0 | 设置同步后的计数值 |