在搭载 Quartus® II 软件版本 11.0 的 Qsys 设计中使用 UART(RS-232 串行端口)组件时,您可能会遇到这样的问题。 这可能会导致 UART 不与其他端同步或通信。
要解决此问题,计算正确的divisor_constant,通过将分配给 UART 的 UART 输入时钟频率分配给 UART,然后按分配的 Baud rate (es) ,然后验证此值已分配给 Qsys 生成的_uart_0文件中的divor_constant模拟。 如果需要更改指定值以匹配您的计算。
例如,Qsys UART 的输入时钟为 83MHz。 分配的 Baud 速率(数据包)= 115200。 管理程序应为 83,000,000 / 115200 = 720。 在_uart_0文件中验证此值时,您会找到以下代码行:
合成translate_on
合成read_comments_as_HDL开启
分配divisor_constant = 434;
合成read_comments_as_HDL关闭
更改divor_constant = 720,如下所示。
分配divisor_constant = 720;
Quartus® II 软件版本 11.0 SP1 解决了此问题。