使用 Quartus® II 軟體版本 11.0 的 Qsys 設計中的 UART (RS-232 序列埠) 元件時,您可能會遇到此問題。 這可能會導致 UART 不同步或與另一端通訊。
若要解決此問題,請透過分配的 Baud 速率 (divisor_constant) 分配給 UART 的 UART 輸入頻率頻率來計算正確的divisor_constant,然後請確認此值被分配到 _uart_0檔案中所產生的 Qsys 中的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 中解決。