ID bài viết: 000085649 Loại nội dung: Xử lý sự cố Lần duyệt cuối: 21/08/2012

Khi sử dụng UART (Cổng nối tiếp RS-232) tại sao tốc độ baud của tôi không chính xác?

Môi Trường

  • Phiên bản đăng ký Intel®Intel® Quartus® II
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Mô tả

    Bạn có thể gặp vấn đề này khi sử dụng thành phần UART (Cổng nối tiếp RS-232) trong thiết kế Qsys với phần mềm Quartus® II phiên bản 11.0.   Điều này có thể khiến UART không đồng bộ hóa hoặc giao tiếp với đầu còn lại.

    Để giải quyết vấn đề này, hãy tính toán divisor_constant chính xác, bằng cách chia tần số xung nhịp đầu vào UART được chỉ định cho UART, theo tốc độ Baud (bps được chỉ định), sau đó xác minh giá trị này được chỉ định cho mô phỏng divor_constant thay đổi trong tệp Qsys được tạo _uart_0.  Nếu cần thay đổi giá trị được chỉ định để phù hợp với tính toán của bạn.

    Ví dụ: đồng hồ đầu vào đến Qsys UART là 83MHz.  Tỷ lệ Baud (bps) được chỉ định = 115200.  Tỷ lệ chia nên là 83.000.000 / 115200 = 720.  Khi xác minh giá trị này trong tệp _uart_0 bạn tìm thấy các dòng mã sau:

    tổng hợp translate_on
    tổng hợp read_comments_as_HDL trên
    chuyển divisor_constant = 434;
    tắt read_comments_as_HDL tổng hợp

    Thay đổi divor_constant = 720 như minh họa dưới đây.

    chuyển divisor_constant = 720;

    Sự cố này được khắc phục trong phần mềm Quartus II phiên bản 11.0 SP1.

    Các sản phẩm liên quan

    Bài viết này áp dụng cho 1 sản phẩm

    Thiết bị có thể lập trình Intel®

    Nội dung gốc bằng tiếng Anh trên trang này vừa do con người vừa do máy dịch. Nội dung này chỉ để cung cấp thông tin chung và giúp quý vị thuận tiện. Quý vị không nên tin đây là thông tin hoàn chỉnh hoặc chính xác. Nếu có bất kỳ mâu thuẫn nào giữa bản tiếng Anh và bản dịch của trang này, thì bản tiếng Anh sẽ chi phối và kiểm soát. Xem phiên bản tiếng Anh của trang này.