主题中讨论的其他器件: C2000WARE
我想将 TMS320F280025C 与单板计算机通信、该计算机允许标准和高波特率、包括:1200、2400、4800、9600、19200、38400、57600、115200、230400、460800、921600。我已经使用20MHz 外部晶体和100MHz 系统时钟在 TMS320F280025C 上进行了可实现的波特率计算。 在尝试实现 115200 或更高波特率时、计算结果显示出较高的百分比误差:
| 波特率 | LSPCLK (MHz) | 计算出的 BRR | 实际波特率 | %ERROR |
| 1200 | 100 | 10418 | 1200 | 0 |
| 2400 | 100 | 5209. | 2399 | 0.041667 |
| 4800人 | 100 | 2604. | 4798 | 0.041667 |
| 9600 | 100 | 1302. | 9593. | 0.072917. |
| 19200 | 100 | 651. | 19172. | 0.145833 |
| 38400 | 100 | 326 | 38226 | 0.453125 |
| 57600 | 100 | 217. | 57339 | 0.453125 |
| 115200 | 100 | 109. | 113636 | 1.357639 |
| 230400 | 100 | 54 | 227273 | 1.357205 |
| 460800 | 100 | 27. | 446429 | 3.118707 |
| 921600 | 100 | 14. | 833333 | 9.577582 |
以下公式用于计算 BRR 和实际波特率:
| BRR = LSPCLK /(SCI 异步波特* 8)- 1 | ||
| 实际波特率= SCI 异步波特率= LSPCLK /((BRR + 1)*8) |
我期待一些专家意见和可能的解决方案、以在不影响主 CPU 时钟(即100MHz)的情况下实现低误差的高波特率。