1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp Công nghệ kỹ thuật máy tính: Thiết kế và đánh giá bộ chuyển đổi giao thức APB sang UART

109 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Và Đánh Giá Bộ Chuyển Đổi Giao Thức APB Sang UART
Tác giả Lương Công Hoàn
Người hướng dẫn TS. Tạ Đình Hiến
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Máy Tính
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2024
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 109
Dung lượng 9,31 MB

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI (15)
    • 1.1 GIỚI THIỆU (15)
    • 1.2 MỤC TIÊU ĐỀ TÀI (15)
    • 1.3 PHẠM VI GIỚI HẠN CỦA ĐỀ TÀI (16)
    • 1.4 PHƯƠNG PHÁP NGHIÊN CỨU (16)
    • 1.5 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU (16)
    • 1.6 BỐ CỤC KHÓA LUẬN (16)
  • CHƯƠNG 2 CƠ SỞ LÝ THUYẾT (18)
    • 2.1 TỔNG QUAN VỀ AMBA VÀ CHUẨN BUS APB (18)
      • 2.1.1 Giới thiệu về System on Chip (18)
      • 2.1.2 Tổng quan về AMBA (18)
    • 2.2 TỔNG QUAN VỀ BUS APB (20)
      • 2.2.2 Mô tả các tín hiệu của bus APB4 (20)
      • 2.2.3 Quá trình ghi dữ liệu của bus APB4 (22)
      • 2.2.4 Quá trình đọc dữ liệu của bus APB4 (24)
      • 2.2.5 Chi tiết một vài tín hiệu của bus APB (25)
    • 2.3 TỔNG QUAN VỀ GIAO THỨC UART (27)
      • 2.3.1 Giới thiệu về giao thức UART (27)
      • 2.3.2 Khung dữ liệu của UART (28)
      • 2.3.3 Bộ truyền và nhận của UART (29)
      • 2.3.4 Các lỗi có trong UART (30)
  • CHƯƠNG 3 THIẾT KẾ BỘ CHUYỂN ĐỔI GIAO THỨC APB SANG UART (32)
    • 3.1 YÊU CẦU CỦA HỆ THỐNG (32)
    • 3.2 THIẾT KẾ HỆ THỐNG (33)
      • 3.2.1 Chức năng của hệ thống (33)
      • 3.2.2 Sơ đồ khối tổng quát (33)
      • 3.2.3 Thiết kế khối APB Interface (34)
      • 3.2.4 Thiết kế khối BCLK Generator (44)
      • 3.2.5 Thiết kế khối Transmitter (46)
      • 3.2.6 Thiết kế khối Receiver (54)
      • 3.2.7 Sơ đồ kết nối bộ chuyển đổi giao thức APB – UART (62)
  • CHƯƠNG 4 KẾT QUẢ VÀ ĐÁNH GIÁ (64)
    • 4.1 SƠ ĐỒ KẾT NỐI BỘ CHUYỂN ĐỔI GIAO THỨC APB SANG (64)
    • 4.2 KẾT QUẢ xác minh và kiểm thử chức năng của BỘ CHUYỂN ĐỔI (65)
      • 4.2.2 Kết quả kiểm thử quá trình truyền dữ liệu (65)
      • 4.2.3 Kết quả nhận dữ liệu (0)
      • 4.2.4 Kết quả truyền nhận dữ liệu đồng thời (0)
      • 4.2.5 Kết quả xử lý các tín hiệu ngắt, tín hiệu PSVLERR (0)
    • 4.3 ĐÁNH GIÁ KẾT QUẢ (102)
  • CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (105)
    • 5.1 KẾT LUẬN (105)
    • 5.2 HƯỚNG PHÁT TRIỂN (105)
  • TÀI LIỆU THAM KHẢO (108)

Nội dung

2.3 TỔNG QUAN VỀ GIAO THỨC UART 2.3.1 Giới thiệu về giao thức UART UART Universal Asynchronous Receiver-Transmitter – Bộ truyền nhận dữ liệu không đồng bộ là một giao thức dùng để giao

CƠ SỞ LÝ THUYẾT

TỔNG QUAN VỀ AMBA VÀ CHUẨN BUS APB

2.1.1 Giới thiệu về System on Chip

System on Chip (SoC) là một mạch tích hợp, bao gồm các thành phần như bộ xử lý, bộ nhớ và cổng ngoại vi được gộp lại trên một con chip Các thành phần này được kết nối thông qua một hệ thống bus, với tần số hoạt động khác nhau, dẫn đến việc thiết kế các bus tùy theo yêu cầu giữa các thành phần Những đặc điểm này tạo nên kiến trúc bus của hệ thống.

Kiến trúc bus đóng vai trò quan trọng trong việc xây dựng hệ thống trên chip (SoC), với các thành phần và bus được xác định rõ về vị trí kết nối Mỗi công ty thường có kiến trúc riêng trong thiết kế chip, và một số kiến trúc phổ biến hiện nay bao gồm AMBA của ARM và CoreConnect của IBM.

System on Chip (SoC) được phân loại theo mục đích sử dụng, bao gồm các loại như: SoC được thiết kế dựa trên bộ vi điều khiển, SoC xây dựng quanh bộ vi xử lý, và SoC phát triển dựa trên một ASIC.

AMBA, hay Advanced High-performance Bus, là một hệ thống đường truyền do ARM Limited phát triển, được thiết kế để kết nối và quản lý các khối chức năng trong System on Chip Đây là một tiêu chuẩn mở, bao gồm nhiều chuẩn con khác nhau với các tên gọi và mục đích sử dụng đa dạng.

Hình 2.1 Sơ đồ khối của một hệ thống triển khai theo AMBA

Các chuẩn ASB và AHB trong kiến trúc AMBA được áp dụng cho các giao tiếp yêu cầu hiệu suất cao và băng thông lớn, trong khi APB phục vụ cho các giao tiếp với tốc độ xử lý thấp như UART Để kết nối giữa hai chuẩn có tốc độ xử lý khác nhau, một cầu chuyển tiếp (Bridge) được sử dụng, giúp chuyển đổi tín hiệu và đồng bộ hóa hoạt động giữa chúng.

AMBA hỗ trợ phát triển thiết kế đa bộ xử lý với nhiều bộ điều khiển và thành phần dựa trên kiến trúc bus Nguyên tắc thiết kế bus AMBA bao gồm các tiêu chí quan trọng như sau [1, 2, 3]:

Tạo điều kiện thuận lợi cho việc phát triển các vi điều khiển nhúng ngay từ lần đầu tiên, sử dụng một hoặc nhiều CPU, GPU, hoặc bộ xử lý tín hiệu.

- Độc lập về công nghệ, cho phép tái sử dụng lõi IP và hệ thống trên các quy trình IC đa dạng,

Khuyến khích thiết kế hệ thống mô-đun nhằm nâng cao tính độc lập của bộ xử lý, đồng thời phát triển các thư viện IP hệ thống và ngoại vi có khả năng tái sử dụng.

- Giảm thiểu cơ sở hạ tầng silicon đồng thời hỗ trợ giao tiếp trên chip hiệu suất cao và tiêu thụ điện năng thấp

Qua từng năm, AMBA đã liên tục phát triển và cho ra mắt nhiều phiên bản mới nhằm đáp ứng nhu cầu ngày càng cao trong thiết kế chip Tổng số phiên bản của AMBA ngày càng đa dạng, phục vụ tốt hơn cho các yêu cầu kỹ thuật trong ngành công nghiệp bán dẫn.

5 phiên bản tính tới hiện tại bao gồm: AMBA, AMBA 1, AMBA 2, AMBA 3, AMBA 4 và AMBA5

Trong đó, thông số kỹ thuật của AMBA 4 có chuẩn bus như sau:

- AXI Coherency Extensions Lite (ACE-Lite)

- Advanced Extensible Interface 4 Lite (AXI4-Lite)

- Advanced Extensible Interface 4 Stream (AXI4-Stream v1.0)

- AMBA Low Power Interfaces (Q-Channel and P-Channel) Đặc biệt, chuẩn ACE được sử dụng rộng rãi trong các bộ xử lý Arm Cortex-A bao gồm Cortex-A7 và Cortex-A15.-

TỔNG QUAN VỀ BUS APB

2.2.1 Giới thiệu về bus APB

APB (Advanced Peripheral Bus) là bus ngoại vi nâng cao, thuộc kiến trúc giao thức AMBA APB được thiết kế để tối ưu hóa việc tiêu thụ điện năng và giảm độ phức tạp của giao diện.

APB hoạt động theo mô hình Master - Slave, trong đó slave đóng vai trò cầu nối giữa các tín hiệu nội bộ và thiết bị ngoại vi Với thiết kế không có ống dẫn, APB đơn giản và phù hợp cho việc giao tiếp với các thiết bị ngoại vi có tốc độ xử lý và băng thông tương đối thấp so với tốc độ xử lý bên trong.

Trong suốt các năm, APB đã trải qua nhiều phiên bản phát triển, bao gồm AMBA APB, AMBA 2 APB, AMBA 3 APB, AMBA 4 APB và AMBA 5 APB Các phiên bản này thường được gọi tắt, như AMBA 4 APB được gọi là APB4.

2.2.2 Mô tả các tín hiệu của bus APB4

Các tín hiệu của bus APB4 được mô tả theo bảng 2.1 [4]:

Bảng 2.1 Các tín hiệu của bus APB4

Tín hiệu Nguồn tín hiệu Mô tả

PCLK Bộ tạo xung hệ thống

Là xung hệ thống, trong đó cạnh lên của xung được sử dụng trong suốt quá trình giao tiếp APB

Tín hiệu reset tích cực mức thấp, có tác dụng khôi phục khối APB trở về trạng thái mặc định

PADDR APB master Địa chỉ, nhằm xác định địa chỉ của thanh ghi trong khối APB trong quá trình đọc và ghi dữ liệu

Mức độ bảo mật của giao tiếp có thể được phân loại thành ba cấp độ: bình thường, đặc quyền và an toàn Điều này cho phép xác định liệu giao tiếp đang thực hiện truy cập dữ liệu hay truy cập lệnh.

Tín hiệu lựa chọn Thiết bị chủ APB quyết định chọn thiết bị tớ APB nào thông qua tín hiệu này

Tín hiệu này cho biết chu kỳ thứ hai và các chu kỳ tiếp theo của quá trình giao tiếp APB

Tín hiệu quyết định quá trình giao tiếp là đọc hay là ghi, trong đó mức cao là ghi và mức thấp là đọc dữ liệu

Dữ liệu ghi trên bus được điều khiển bởi thiết bị APB master trong suốt quá trình giao tiếp khi PWRITE ở mức cao Bus này có khả năng mở rộng lên tới một giới hạn nhất định.

PSTRB APB master Tín hiệu quyết định làn byte nào của

PWDATA được cập nhật trong quá trình truyền ghi Mỗi bit của PSTRB tương ứng với 8 bit của PWDATA, như vậy với PSTRB[n] tương ứng với

Tín hiệu sẵn sàng từ phía slave, APB slave có thể quyết định kéo dài giao tiếp hay không thông qua tín hiệu này

Bus này được điều khiển bởi thiết bị APB slave được chọn trong suốt quá trình giao tiếp khi PWRITE ở mức thấp Bus có khả năng mở rộng lên tới 32 bit.

PSLVERR APB slave Tín hiệu báo lỗi từ phía APB slave, cho biết quá trình giao tiếp thất bại

2.2.3 Quá trình ghi dữ liệu của bus APB4

Việc ghi dữ liệu của bus APB4 được chia làm 2 kiểu là: Quá trình ghi không có trạng thái chờ và quá trình ghi có trạng thái chờ

• Quá trình ghi không có trạng thái chờ:

Quá trình ghi không có trạng thái chờ được mô tả theo hình 2.2 [4]:

Hình 2.2 Quá trình ghi không có trạng thái chờ

Tại cạnh lên của chu kỳ T1, đường địa chỉ PADDR và đường dữ liệu ghi PWDATA nhận dữ liệu từ APB master, trong khi tín hiệu PWRITE và PSEL được nâng lên mức cao để chỉ định quá trình ghi và chọn APB slave Tuy nhiên, do tín hiệu PENABLE vẫn ở mức thấp, APB slave được chọn không xử lý hai đường dữ liệu PADDR và PWDATA.

Trong chu kỳ T2, APB master nâng tín hiệu PENABLE lên mức cao, trong khi APB slave cũng tăng PREADY lên mức cao để xác nhận mức độ sẵn sàng Khi PREADY được xác nhận, APB master sẽ hạ PENABLE về mức thấp trong chu kỳ tiếp theo, trong khi PADDR và PWDATA vẫn giữ nguyên giá trị cho đến chu kỳ tiếp theo.

Tại giai đoạn cuối của chu kỳ T3, PENABLE giảm xuống mức thấp để hoàn tất quá trình truyền Trong khi đó, PSEL có thể duy trì ở mức cao nhằm tiếp tục cho quá trình truyền kế tiếp.

• Quá trình ghi có trạng thái chờ:

Quá trình ghi có trạng thái chờ được mô tả như hình 2.3 [4]:

Hình 2.3 Quá trình ghi có trạng thái chờ Tại quá trình ghi có trạng thái chờ, PREADY được kéo lên mức cao ở trạng thái không có quá trình truyền

Sau khi xác nhận mức cao của PSEL tại cạnh lên xung T1, PREADY được kéo về mức thấp tại cạnh lên của chu kỳ T2 và duy trì trong 2 chu kỳ xung Trong quá trình này, APB master xác nhận mức thấp của PREADY, cho phép tiếp tục quá trình giao tiếp.

Tại cạnh lên của chu kỳ T4, PREADY được kéo lên mức cao, chuẩn bị kết thúc quá trình truyền ở chu kỳ kế tiếp

Tại giai đoạn cuối của chu kỳ T5, khi PREADY được xác nhận, APB master sẽ kéo PENABLE về mức thấp, trong khi PSEL có thể giữ nguyên để chuẩn bị cho chu kỳ tiếp theo.

2.2.4 Quá trình đọc dữ liệu của bus APB4

Quá trình đọc dữ liệu của bus APB được phân thành hai loại: đọc không có trạng thái chờ và đọc có trạng thái chờ, tương tự như quá trình ghi.

• Quá trình đọc không có trạng thái chờ:

Quá trình đọc không có trạng thái chờ được mô tả như hình 2.4 [4]:

Trong quá trình đọc không có trạng thái chờ, tín hiệu PWRITE duy trì mức thấp liên tục trong suốt quá trình truyền, khác với quá trình ghi Các tín hiệu khác hoạt động tương tự như trong quá trình ghi.

• Quá trình đọc có trạng thái chờ:

Quá trình đọc có trạng thái chờ được mô tả như hình 2.5 [4]:

Trong quá trình đọc có trạng thái chờ, các tín hiệu hoạt động tương tự như trong quá trình đọc không có trạng thái chờ Tuy nhiên, tín hiệu PREADY từ phía APB slave được duy trì khi không có quá trình truyền và sẽ kéo xuống mức thấp trong 2 chu kỳ sau khi tín hiệu PSEL đạt mức cao, nhằm kéo dài quá trình truyền.

2.2.5 Chi tiết một vài tín hiệu của bus APB

Một vài tín hiệu mới có trong APB3 và APB4 được giới thiệu trong phần này

Tín hiệu PSTRB, hay còn gọi là write strobe, đóng vai trò quan trọng trong việc xác định byte hợp lệ trên đường dữ liệu trong quá trình ghi Nhờ vào tín hiệu này, APB master có khả năng quyết định byte nào trên thanh ghi của APB slave sẽ được cập nhật giá trị trong quá trình ghi dữ liệu.

Một bit của PSTRB đại diện cho 8 bit hay 1 byte đường dữ liệu Như vậy với PWDATA[(8n + 7):(8n)] thì có PSTRB[n] tương ứng

TỔNG QUAN VỀ GIAO THỨC UART

2.3.1 Giới thiệu về giao thức UART

UART (Bộ truyền nhận dữ liệu không đồng bộ) là giao thức giao tiếp không đồng bộ, cho phép cấu hình định dạng dữ liệu và tốc độ truyền.

UART là một thành phần quan trọng trong mạch tích hợp (IC) được sử dụng cho truyền thông nối tiếp qua các cổng nối tiếp của máy tính và thiết bị ngoại vi Thông thường, một chip vi điều khiển sẽ tích hợp một hoặc nhiều thiết bị ngoại vi UART, giúp nâng cao khả năng giao tiếp và kết nối trong các ứng dụng điện tử.

Một bộ UART thường chứa các thành phần sau:

- Một bộ tạo xung nhịp, được tính toán để có thể lấy mẫu dữ liệu ở giữa chu kỳ bit

- Hai thanh ghi dịch ở phía truyền và phía nhận, đi kèm với đó là hai bộ đệm hoặc FIDO truyền/nhận

- Bộ điều khiển truyền nhận

- Bộ logic điều khiển quá trình ghi/đọc

UART hoạt động ở ba chế độ: simplex (truyền một chiều), song công (cả hai thiết bị có thể truyền nhận cùng lúc) và bán song công (hai thiết bị thay phiên nhau truyền nhận) Để hai UART giao tiếp hiệu quả, cả hai bên cần thiết lập các thông số giống nhau, bao gồm mức điện áp, tốc độ Baud rate, chế độ Parity, kích thước bit dữ liệu, kích thước stop bit và kiểm soát lưu lượng.

Một bộ UART thường bao gồm hai chân là TXD và RXD, trong đó TXD là ngõ ra của bộ truyền (Transmitter) và RXD là ngõ vào của bộ nhận (Receiver) Kết nối giữa hai bộ UART được thể hiện trong hình 2.9.

Hình 2.9 Kết nối của 2 bộ UART

2.3.2 Khung dữ liệu của UART

Một khung dữ liệu của UART bao gồm 5 thành phần sau:

- Start bit: là bit 0 báo hiệu cho phía bộ nhận biết rằng một dữ liệu đang đến

- Data bits: bits dữ liệu, thường được thiết lập khoảng 5 tới 9 bit

- Parity bit: bit chẵn lẻ dùng để xác định dữ liệu có bị lỗi trong quá trình truyền hay không

- Stop bit: thường khoảng là 1 tới 2 bit 1, báo hiệu kết thúc khung dữ liệu

Khung dữ liệu UART 8 bit hoạt động bằng cách giữ ngõ ra ở mức cao khi không có giao tiếp Khi có dữ liệu cần truyền, bộ truyền sẽ gửi các bit dữ liệu theo thứ tự: start bit, data bits, parity bit (nếu có) và stop bits, với quy chuẩn truyền data bits từ LSB đến MSB.

Thông thường, các bộ UART thường truyền dữ liệu có độ lớn là 8 bit, và thường không có bit parity để hiệu suất giao tiếp

2.3.3 Bộ truyền và nhận của UART

Bộ truyền và bộ nhận là hai thành phần quan trọng trong quá trình truyền nhận của UART

Bộ truyền UART hoạt động đơn giản với xung riêng chạy ở bội số của tốc độ dữ liệu mà không cần xác nhận trạng thái đường truyền Khi hệ thống gửi dữ liệu vào thanh ghi đệm và không có dữ liệu nào đang truyền, bộ truyền sẽ lần lượt truyền các ký tự theo khung dữ liệu đã định Start bit ở mức thấp thông báo cho bên nhận chuẩn bị nhận dữ liệu, trong khi stop bit cũng ở mức thấp đánh dấu sự kết thúc của khung dữ liệu.

Do sự khác biệt lớn giữa tốc độ xử lý của CPU và tốc độ truyền của UART, các bộ FIFO thường được sử dụng để cho phép CPU ghi nhiều dữ liệu cùng lúc trước khi truyền đi, thay vì phải chờ từng dữ liệu được truyền xong mới bắt đầu ghi.

Bộ truyền thông thường được trang bị tín hiệu báo trạng thái bận để thông báo cho CPU khi đang truyền dữ liệu Bên cạnh đó, tín hiệu báo trạng thái rảnh cũng có thể được thiết kế như một tín hiệu ngắt, giúp CPU nhận biết thời điểm để ghi dữ liệu.

Bộ nhận UART sử dụng một xung riêng biệt tương tự như bộ truyền, nhưng thiết kế của nó phức tạp hơn để đáp ứng yêu cầu hoạt động Bộ nhận liên tục kiểm tra trạng thái đường truyền để phát hiện sự thay đổi Khi phát hiện đường truyền bị kéo xuống mức thấp, bộ nhận sẽ lấy mẫu sau nửa chu kỳ bit Nếu mẫu ở mức cao, tín hiệu mức thấp được coi là giả và bộ nhận trở về trạng thái ban đầu; nếu mẫu ở mức thấp, đó là start bit và bộ nhận chuyển sang trạng thái ghi dữ liệu Các bit dữ liệu được lấy mẫu ở giữa chu kỳ bit và lưu vào thanh ghi đệm hoặc bộ FIFO Ngoài ra, phía UART cũng phát tín hiệu cho dữ liệu mới và thường có tín hiệu ngắt để thông báo cho bộ xử lý trung tâm thực hiện chuyển dữ liệu.

Do thiếu bộ định thời cho UART, bộ nhận cần phải đồng bộ hóa với bộ tạo xung bên trong UART mỗi khi có sự thay đổi trên đường truyền, nếu không sẽ bị coi là xung giả.

Bộ nhận có thể áp dụng phương pháp FIFO để tối ưu hóa số lượng dữ liệu ghi trước khi truyền đi Ngoài ra, bộ nhận cũng có thể được thiết kế với tín hiệu báo trạng thái bận và tín hiệu thông báo có dữ liệu mới.

2.3.4 Các lỗi có trong UART

Dưới đây là một số lỗi có thể xuất hiện trong một bộ UART:

Lỗi tràn xảy ra khi bộ nhận không kịp xử lý dữ liệu mới trước khi dữ liệu tiếp theo được gửi đến Nguyên nhân chính là do bộ đệm của UART thường có giới hạn dung lượng, và khi bộ đệm đầy, CPU không thể chuyển dữ liệu kịp thời, dẫn đến tình trạng mất dữ liệu.

Lỗi chạy ngầm: Lỗi chạy ngầm xảy ra ở bộ truyền sau khi dữ liệu truyền đi hoàn tất và bộ đệm ở phía truyền trống

Lỗi đóng khung trong UART xảy ra khi thiết bị nhận không phát hiện được stop bit Quá trình nhận dữ liệu bắt đầu bằng start bit, và khi đến thời điểm lấy mẫu stop bit, thiết bị mong đợi ghi nhận trạng thái mức cao Tuy nhiên, nếu phát hiện trạng thái mức thấp, điều này cho thấy khung dữ liệu đã bị lỗi.

Lỗi parity xảy ra khi bộ UART kiểm tra tính chẵn lẻ của các bit dữ liệu và so sánh với bit parity đã gửi Nếu có sự khác biệt, điều này cho thấy dữ liệu trên đường truyền đã bị lỗi.

THIẾT KẾ BỘ CHUYỂN ĐỔI GIAO THỨC APB SANG UART

YÊU CẦU CỦA HỆ THỐNG

Bộ chuyển đổi giao thức APB sang UART là thành phần quan trọng trong bus AMBA, có chức năng trung gian kết nối các thiết bị ngoại vi UART với hệ thống bus nội bộ.

Hình 3.1 Vị trí bộ chuyển đổi APB sang UART

Với nhiệm vụ như trên, bộ chuyển đổi giao thức APB sang UART cần thực hiện được các yêu cầu sau đây:

- Sử dụng được các tín hiệu từ hệ thống như xung hệ thống, tín hiệu reset

- Tiếp nhận, xử lý các dữ liệu từ quá trình ghi của phía APB, chuyển đổi qua dạng tín hiệu UART để truyền đi

- Tiếp nhận, xử lý các dữ liệu nhận được từ thiết bị UART bên ngoài, chuyển đổi qua bus APB

- Có thể cài đặt, thiết lập được các thông số như tốc độ truyền, tín hiệu cho phép ngắt, tín hiệu cho phép lõi IP hoạt động

- Đảm bảo quá trình hoạt động được chính xác, có thể thông báo các lỗi nếu xảy ra trong quá trình hoạt động.

THIẾT KẾ HỆ THỐNG

3.2.1 Chức năng của hệ thống

Dựa vào các yêu cầu đã đề ra, bộ chuyển đổi giao thức APB sang UART bao gồm các tính năng như sau:

- Bộ chuyển đổi sử dụng xung hệ thống và tín hiệu reset mức thấp từ hệ thống bên trong trong suốt quá trình hoạt động

Cổng giao tiếp APB, theo phiên bản APB4, cho phép kết nối với APB master trong hệ thống nội bộ Trong quá trình ghi, cổng này nhận dữ liệu để truyền đến thiết bị ngoại vi qua giao tiếp UART, đồng thời bộ chuyển đổi có khả năng điều chỉnh các thông số như tốc độ truyền, chế độ hoạt động, chế độ parity và ngắt Trong quá trình đọc, cổng có thể tiếp nhận dữ liệu từ thiết bị ngoại vi và đưa vào đường dữ liệu đọc, hoặc cho phép hệ thống truy xuất các thông số đã được thiết lập.

- Nhận và truyền dữ liệu theo giao thức UART dựa trên xung của hệ thống và xung riêng, tích hợp bộ FIFO,

Bộ thu và bộ nhận trong hệ thống UART hoạt động nhờ vào một bộ tạo xung riêng, với độ rộng xung được xác định dựa trên tốc độ truyền đã được thiết lập.

- Bộ chuyển đổi có thể xử lý và thông báo các tín hiệu ngắt sau: Ngắt ngưỡng, ngắt tràn, ngắt lỗi khung, ngắt lỗi parity

3.2.2 Sơ đồ khối tổng quát

Bộ chuyển đổi APB sẽ bao gồm nhiều khối chính được kết nối với nhau Sơ đồ khối của bộ chuyển đổi được thể hiện theo như hình 3.2:

Hình 3.2 Sơ đồ khối của bộ chuyển đổi Dựa vào các tính năng đã đề ra như trên, các khối chính của bộ chuyển đổi bao gồm:

Khối APB Interface đảm nhận vai trò kết nối với hệ thống bus APB, thực hiện việc xử lý dữ liệu nhận từ bus APB để truyền sang UART và ngược lại Đồng thời, khối này cũng xử lý các tín hiệu ngắt và thông báo cho bộ xử lý trung tâm.

Khối BCLK Generator nhận giá trị đã được thiết lập và tạo ra xung riêng dựa trên tín hiệu từ hệ thống Xung riêng này đóng vai trò quan trọng trong việc điều khiển hoạt động của hai khối UART Receiver và UART Transmitter.

Khối UART Receiver có chức năng nhận dữ liệu từ đường truyền theo giao thức UART và chuyển giao dữ liệu cho giao diện APB Bên cạnh đó, khối này còn đảm nhiệm việc thông báo các tín hiệu trạng thái, tín hiệu lỗi và tín hiệu ngắt.

Khối UART Transmitter nhận dữ liệu từ APB và truyền qua chân TXD theo giao thức UART, đồng thời thông báo các tín hiệu trạng thái và tín hiệu ngắt cho phía UART.

3.2.3 Thiết kế khối APB Interface

Khối APB Interface chịu trách nhiệm chuyển giao dữ liệu giữa bus APB và các khối truyền nhận UART, đồng thời thiết lập các thông số và xử lý tín hiệu ngắt Sơ đồ khối tổng quát của khối APB được minh họa trong hình 3.3.

Hình 3.3 Sơ đồ khối tổng quát khối APB Interface Chi tiết các tín hiệu được liệt kê theo bảng 3.1:

Bảng 3.1 Mô tả tín hiệu APB Interface

Tên tín hiệu Loại tín hiệu Mô tả

PCLK Tín hiệu vào Xung hệ thống

PRESETN Tín hiệu vào Tín hiệu khởi động lại từ hệ thống PADDR[31:0] Tín hiệu vào Địa chỉ thanh ghi

PSEL Tín hiệu vào Tín hiệu lựa chọn

PWRITE Tín hiệu vào Đặt trạng thái ghi hoặc đọc cho quá trình truyền

PENABLE Tín hiệu vào Cho biết các chu kỳ kế tiếp trong quá trình truyền

PWDATA[31:0] Tín hiệu vào Đường dữ liệu ghi từ bus APB có độ rộng

PSTRB[3:0] Tín hiệu vào Cho biết byte nào của thanh ghi được cập nhật trong quá trình ghi

PPROT[2:0] Tín hiệu vào Cho biết cấp độ bảo mật

DATA_RX[7:0] Tín hiệu vào Dữ liệu có độ rộng 8 bit nhận được từ khối Receiver

TX_THR Tín hiệu vào

Thông báo bộ FIFO tại Transmitter có số ô trống bằng hoặc lớn hơn mức đã thiết lập

RX_THR Tín hiệu vào

Thông báo bộ FIFO tại Receiver có số ô đã được ghi dữ liệu bằng hoặc lớn hơn mức đã thiết lập

RX_FE Tín hiệu vào Thông báo lỗi khung dữ liệu UART RX_PE Tín hiệu vào Thông báo lỗi Parity

The RX_OV signal indicates a FIFO RX buffer overflow notification The TX_BUSY signal alerts that the transmitter is currently in operation Meanwhile, the RX_BUSY signal informs that the receiver is actively processing data.

Tín hiệu PRDATA[31:0] cung cấp đường dữ liệu đọc cho bus APB với độ rộng 32 bit Tín hiệu PREADY thông báo trạng thái sẵn sàng, trong khi tín hiệu PSLVERR thông báo nếu có lỗi trong quá trình truyền.

DATA_TX[7:0] Tín hiệu ra Đường dữ liệu 8 bit nối tới phía Transmitter để truyền đi theo giao thức

BCL_VAL[10:0] Tín hiệu ra Giá trị để tạo xung BCLK

TX_THR_VAL Tín hiệu ra Mức ngưỡng cho bộ FIFO của

Transmitter RX_THR_VAL Tín hiệu ra Mức ngưỡng cho bộ FIFO của Receiver

IP_EN Tín hiệu ra Cho phép hai bộ Transmitter và Receiver hoạt động

PARITY_EN Tín hiệu ra Cho phép dùng phương pháp parity trong quá trình truyền nhận theo UART

WRITE_TX_EN Tín hiệu ra Cho phép ghi dữ liệu vào bộ FIFO của

READ_RX_EN Tín hiệu ra Cho phép đọc dữ liệu từ bộ FIFO của

I_RXOV Tín hiệu ra Tín hiệu ngắt tràn

I_TXTHR Tín hiệu ra Tín hiệu ngắt ngưỡng Transmitter I_RXTHR Tín hiệu ra Tín hiệu ngắt ngưỡng Receiver

I_FE Tín hiệu ra Tín hiệu ngắt lỗi khung dữ liệu

I_PE Tín hiệu ra Tín hiệu ngắt lỗi Parity

I_TOTAL Tín hiệu ra Tín hiệu ngắt tổng

Sơ đồ kết nối các khối chính có trong APB Interface:

Hình 3.4 Sơ đồ các khối chính trong APB Interface Khối APB Interface bao gồm các khối chính như sau:

APB FSM là một máy trạng thái hữu hạn, có chức năng hạ tín hiệu PREADY xuống mức thấp trong 2 chu kỳ để kéo dài quá trình truyền dữ liệu Bên cạnh đó, máy còn tạo ra tín hiệu đọc/ghi mỗi khi cần thực hiện thao tác ghi hoặc đọc dữ liệu.

Khối điều khiển đọc ghi: Có nhiệm giải mã địa chỉ và thực hiện đọc ghi giá trị vào thanh ghi thích hợp

Khối thanh ghi: gồm 4 thanh ghi là: thanh ghi dữ liệu, thanh ghi giá trị BCLK, thanh ghi cho phép và thanh ghi thiết lập mức ngưỡng

Khối APB FSM là một máy trạng thái hữu hạn, có chức năng kéo dài quá trình truyền thông thông qua tín hiệu PREADY Đồng thời, nó nâng cao hai tín hiệu cho phép đọc và ghi FIFO trong một chu kỳ xung PCLK.

Sơ đồ hoạt động của máy trạng thái hữu hạn được mô tả theo như hình 3.5:

Hình 3.5 Hoạt động của APB FSM

Máy trạng thái APB FSM có ba trạng thái chính: IDLE, SETUP và ACCESS Trong trạng thái IDLE, tín hiệu PREADY duy trì ở mức cao, đồng thời hai tín hiệu READ_RX_EN và WRITE_TX_EN cũng được giữ ở mức cao Khối sẽ chuyển sang trạng thái SETUP khi phát hiện tín hiệu PSEL ở mức cao.

Trạng thái SETUP: PREADY được hạ xuống mức thấp Khối chuyển sang trạng thái kế tiếp là ACCESS nếu như nhận thấy PENABLE ở mức cao

Trạng thái ACCESS: PREADY duy trì ở mức thấp; khi tín hiệu PWRITE cao, WRITE_TX_EN sẽ được tăng lên mức cao Ngược lại, nếu PWRITE thấp, READ_TX_EN sẽ được nâng lên mức cao Máy sẽ chuyển sang trạng thái IDLE ở cạnh lên của chu kỳ xung tiếp theo mà không cần điều kiện nào.

Ví dụ về một hoạt động ghi được thể hiện như hình 3.6:

Hình 3.6 Ví dụ về hoạt động ghi ở khối APB FSM Tại T0, khi thấy PSEL, APB FSM chuyển qua trạng thái kế tiếp

Tại T1, PREADY được hạ xuống mức thấp

Tại T2, nhận thấy PWRITE ở mức cao nên WRITE_TX_EN được nâng lên mức cao

Tại T3, WRITE_TX_EN được hạ xuống mức thấp, PREADY được nâng lên mức cao thông báo kết thúc quá trình truyền

Tại T4, PENBALE được hạ xuống mức thấp, PSEL có thể được giữ ở mức cao nếu như tiếp tục một quá trình truyền khác

Lưu ý: WRITE_TX_EN và READ_TX_EN chỉ được thay đổi giá trị nếu như địa chỉ cho quá trình truyền là của thanh ghi dữ liệu

• Khối điều khiển đọc ghi

Khối điều khiển đọc ghi có chức năng giải mã địa chỉ và thực hiện quá trình đọc ghi vào vị trí thanh ghi tương ứng với địa chỉ đã được cung cấp.

Khối bao gồm hai bộ giải mã địa chỉ, bộ giải mã ghi được gọi là Write Decoder và bộ giải mã đọc được gọi là Read Decoder

Tại Write Decoder, một thanh ghi Reg_sel được sử dụng để lựa chọn các thanh ghi có trong bộ chuyển đổi

Bộ giải mã ghi gồm nhiều thanh ghi, mỗi thanh ghi kết nối với các tín hiệu PSEL, PSTRB, PENABLE và một bit của Reg_sel Khi tất cả các tín hiệu này đều bằng 1, thanh ghi sẽ lưu dữ liệu từ PWDATA Đối với bộ giải mã đọc, dữ liệu từ các thanh ghi được chuyển trực tiếp tới ngõ ra PRDATA theo địa chỉ đã được cung cấp.

KẾT QUẢ VÀ ĐÁNH GIÁ

SƠ ĐỒ KẾT NỐI BỘ CHUYỂN ĐỔI GIAO THỨC APB SANG

Sau khi hoàn tất thiết kế và lập trình bằng phần mềm Xilinx ISE, bộ chuyển đổi giao thức APB sang UART đã được kết nối hoàn chỉnh, bao gồm các khối chức năng APB Interface, BCLK Generator, UART Transmitter và UART Receiver.

Figure 4.1 illustrates the connection diagram of the blocks within the APB-UART TOP In this setup, the signal lines of the APB bus are connected to the APB Interface block, while the RXD and TXD lines are respectively linked to the UART Receiver and UART Transmitter blocks.

KẾT QUẢ xác minh và kiểm thử chức năng của BỘ CHUYỂN ĐỔI

4.2.1 Xây dựng môi trường mô phỏng để xác minh và kiểm thử chức năng bộ chuyển đổi giao thức APB sang UART Để việc xác mình và kiểm thử các chức năng của bộ chuyển đổi được thực hiện chính xác, một môi trường mô phỏng đã được xây dựng nhằm đáp ứng các yêu cầu trên Cấu trúc của môi trường mô phỏng được thể hiện theo hình 4.2:

Môi trường mô phỏng bộ chuyển đổi giao thức APB sang UART được thể hiện qua hình 4.2, trong đó các khối APB MASTER, UART DEVICE và TÍN HIỆU HỆ THỐNG được mô tả chi tiết thông qua các test case.

Môi trường mô phỏng hoạt động với tần số 100MHz, tương đương với chu kỳ xung PCLK là 10 ns Tốc độ truyền mặc định trong quá trình này được thiết lập ở mức 460800 bit/s, với giá trị được gửi vào thanh ghi REG_BCLK là 14.

4.2.2 Kết quả kiểm thử quá trình truyền dữ liệu

Các trường hợp (testcase) kiểm thử được liệt kê và mô tả cụ thể trong bảng 4.1

Bảng 4.1 Các testcase cho truyền dữ liệu

Tên testcase Mô tả quá trình

Truyền dữ liệu không có chế độ Parity

Khởi động lại hệ thống bằng tín hiệu PRESETN mức thấp

Để nâng PRESETN lên mức cao, hãy thiết lập giá trị 00111111 cho thanh ghi REG_EN tại địa chỉ 0x00000008 Tiếp theo, thiết lập giá trị 14 (tốc độ truyền = 480600) cho thanh ghi REG_BCLK ở địa chỉ 0x00000004 Cuối cùng, hãy thiết lập giá trị 11011001 cho thanh ghi REG_DATA tại địa chỉ 0x00.

Truyền dữ liệu có chế độ Parity chẵn

Khởi động lại hệ thống bằng tín hiệu PRESETN mức thấp

Để nâng PRESETN lên mức cao, thiết lập giá trị 11111111 cho thanh ghi REG_EN tại địa chỉ 0x00000008 Tiếp theo, thiết lập giá trị 14 (tốc độ truyền = 480600) cho thanh ghi REG_BCLK ở địa chỉ 0x00000004 Cuối cùng, thiết lập giá trị 11011001 cho thanh ghi REG_DATA ở địa chỉ 0x00000000.

Truyền dữ liệu có chế độ Parity lẻ Khởi động lại hệ thống bằng tín hiệu

Để nâng PRESETN lên mức cao, cần thiết lập giá trị 01111111 cho thanh ghi REG_EN tại địa chỉ 0x00000008 Tiếp theo, thiết lập giá trị 14 (tốc độ truyền = 480600) cho thanh ghi REG_BCLK ở địa chỉ 0x00000004 Cuối cùng, thiết lập giá trị 11011001 cho thanh ghi REG_DATA ở địa chỉ 0x00000000.

Truyền 2 dữ liệu liên tiếp

Khởi động lại hệ thống bằng tín hiệu PRESETN mức thấp

Để nâng PRESETN lên mức cao, bạn cần thiết lập giá trị 01111111 cho thanh ghi REG_EN tại địa chỉ 0x00000008 Tiếp theo, hãy thiết lập giá trị 14 (tốc độ truyền = 480600) cho thanh ghi REG_BCLK ở địa chỉ 0x00000004 Cuối cùng, hãy thiết lập hai giá trị cần thiết.

11011001 và giá trị 01010110 liên tiếp cho thanh ghi REG_DATA ở địa chỉ 0x00000000

Truyền 2 dữ liệu liên tiếp với tốc độ truyền 115200

Khởi động lại hệ thống bằng tín hiệu PRESETN mức thấp

Để nâng PRESETN lên mức cao, hãy thiết lập giá trị 00111111 cho thanh ghi REG_EN tại địa chỉ 0x00000008 Tiếp theo, thiết lập giá trị 54 cho thanh ghi REG_BCLK ở địa chỉ 0x00000004, tương ứng với tốc độ truyền 115200 khi hoạt động ở tần số 100MHz.

Cuối cùng thiết lập giá trị 11011001 cho thanh ghi REG_DATA ở địa chỉ 0x00000000

• Kết quả truyền dữ liệu không có chế độ Parity

Kết quả truyền dữ liệu từ APB sang UART diễn ra qua hai giai đoạn chính: giai đoạn thiết lập và giai đoạn truyền dữ liệu Giai đoạn thiết lập được minh họa trong hình 4.3.

Hình 4.3 Kết quả thiết lập thông số truyền không có chế độ Parity

Quá trình thiết lập các thông số được mô tả trong hình 4.3 Trong khoảng thời gian từ 0ns đến 20ns, tín hiệu PRESETN duy trì ở mức thấp để khởi động lại hệ thống, trong khi đó tín hiệu TXD giữ ở mức cao.

Từ 40ns đến 80ns, quá trình ghi bắt đầu để thiết lập thông số cho thanh ghi Tại 40ns, PSEL = 1, đánh dấu sự khởi đầu của quá trình truyền, với PADDR được thiết lập là 0x0000008 và PWDATA có giá trị 63 (00111111) Trong chu kỳ tiếp theo, PENABLE được nâng lên mức cao, dữ liệu từ PWDATA được đưa vào thanh ghi REG_EN, trong khi tín hiệu cho phép truyền nhận Parity ở mức thấp.

Từ 80ns đến 120ns, quá trình ghi bắt đầu với trạng thái chờ nhằm thiết lập thông số cho thanh ghi REG_BCLK Tại thời điểm 80ns, tín hiệu PENABLE được kéo xuống mức thấp, trong khi PADDR được thiết lập giá trị 0x00000004 và PWDATA được gán giá trị 14 Đến 90ns, dữ liệu từ PWDATA được chuyển vào thanh ghi REG_BCLK Cuối cùng, PENABLE và PSEL được kéo xuống mức thấp để hoàn tất quá trình ghi.

Tại thời điểm 130 ns, PSEL được nâng lên mức cao, khởi đầu quá trình ghi dữ liệu để truyền đi Đến 140 ns, PENABLE cũng được nâng lên mức cao, cho phép thanh ghi REG_DATA tiếp nhận 8 bit đầu tiên của tín hiệu PWDATA với giá trị nhị phân tương ứng.

Sau 4 chu kỳ, tại thời điểm 180 ns, thanh ghi DATA_TEMP ở khối UART Transmitter đã tiếp nhận dữ liệu và gắn vào 8 bit đầu tiên của mình

Kế tiếp là kết quả truyền dữ liệu ở chân TXD được thể hiện trong hình 4.4:

Hình 4.4 Kết quả truyền dữ liệu không có chế độ Parity

Dữ liệu cần truyền đi trong quá trình này là 11011001, dựa vào điều kiện này có thể phân tích sóng ngõ ra tại TXD dựa theo hình 4.3 như sau:

Vào thời điểm 0.19 us, TXD giảm xuống mức thấp, đánh dấu sự khởi đầu của quá trình truyền dữ liệu Đến 2.44 us, TXD tăng lên mức cao, bắt đầu truyền bit 0 Độ dài của start bit là 225 us.

Từ 2.44 us đến 4.68 us, tương ứng với khoảng thời gian là 224 us, TXD được kéo lên mức cao hay bit 0 được truyền

Từ 4.68 us đến 9.16 us, tương ứng với khoảng thời gian là 448 us, TXD được kéo xuống mức thấp hay bit 1 và bit 2 được truyền

Từ 9.16 us đến 13.64 us, tương ứng với khoảng thời gian là 448 us, TXD được kéo lên mức cao hay bit 3 và bit 4 được truyền

Từ 13.64 us đến 15.88 us, tương ứng với khoảng thời gian là 224 us, TXD được kéo xuống mức thấp hay bit 5 được truyền

Từ 15.88 us đến 22.6 us, tương ứng với khoảng thời gian là 672 us, TXD được kéo lên mức cao hay bit 6, bit 7 và Stop bit được truyền

Như vậy, từ thời điểm 0.19 us đến 22.6 us, các bit lần lược là start bit, 8 bit dữ liệu là 11011001 và stop bit đã được truyền đi

• Kết quả truyền dữ liệu có chế độ Parity chẵn

Quá trình thiết lập các thông số được thể hiện ở hình 4.5:

Hình 4.5 Kết quả thiết lập thông số truyền có chế độ Parity chẵn

Quá trình thiết lập thông số truyền không có parity tương tự như truyền có parity, nhưng giá trị của thanh ghi REG_EN được thiết lập là 255 (11111111), cho phép truyền nhận parity ở mức cao với chế độ parity chẵn Tại thời điểm 190 ns, dữ liệu trong thanh ghi DATA_TEMP của khối Transmitter có giá trị 01011001.

8 bit đầu tương ứng với 8 bit dữ liệu và bit cuối tương ứng với parity bit

Kế tiếp là kết quả truyền dữ liệu ở chân TXD được thể hiện trong hình 4.6:

Hình 4.6 Kết quả truyền dữ liệu có chế độ Parity chẵn

ĐÁNH GIÁ KẾT QUẢ

Dựa theo các kết quả kiểm thử ở phần 4.2, các trường hợp mô phỏng được tổng hợp và đánh giá theo bảng 4.9

Bảng 4.9 Tổng hợp trường hợp mô phỏng được tổng hợp và đánh giá

Số thứ tự Tên trường hợp Đánh giá

1 Truyền dữ liệu từ APB sang UART không có chế độ parity Hoạt động chính xác

2 Truyền dữ liệu từ APB sang UART có chế độ parity chẵn Hoạt động chính xác

3 Truyền dữ liệu từ APB sang UART có chế độ parity lẻ Hoạt động chính xác

4 Truyền liên tiếp 2 dữ liệu từ APB sang

UART không có chế độ parity

Hoạt động chính xác Tuy nhiên, vẫn có độ trễ giữa hai dữ liệu, dẫn đến tốc độ truyền thực tế chậm hơn so với lý thuyết

5 Nhận dữ liệu từ UART sang APB không có chế độ parity Hoạt động chính xác

6 Nhận dữ liệu từ UART sang APB có chế độ parity chẵn Hoạt động chính xác

7 Nhận dữ liệu từ UART sang APB chế độ parity lẻ Hoạt động chính xác

8 Nhận liên tiếp 2 dữ liệu từ UART sang APB không có chế độ parity Hoạt động chính xác

Nhận dữ liệu từ UART sang APB không có chế độ parity với tốc độ truyền khác

10 Truyền và nhận dữ liệu đồng thời ở phía UART Hoạt động chính xác

11 Nhận start bit giả từ UART Hoạt động chính xác

12 Kích hoạt tín hiệu ngắt ngưỡng

Transmitter Hoạt động chính xác

13 Kích hoạt tín hiệu ngắt ngưỡng

Receiver Hoạt động chính xác

14 Kích hoạt tín hiệu ngắt tràn Hoạt động chính xác

15 Kích hoạt tín hiệu ngắt lỗi parity Hoạt động chính xác

16 Kích hoạt tín hiệu ngắt lỗi khung Hoạt động chính xác

17 Kích hoạt tín hiệu PSLVERR Hoạt động chính xác

Từ các kết quả đánh giá được tổng hợp ở bảng 4.9, bộ chuyển đổi giao thức APB sang UART đã thực hiện đúng các chức năng sau:

Truyền nhận dữ liệu giữa bus APB và UART có thể thực hiện một cách liên tục và đồng thời, với khả năng hỗ trợ nhiều tốc độ truyền khác nhau.

- Bộ chuyển đổi có thể cấu hình được các tín hiệu cho phép, các mức ngưỡng, tốc độ truyền

- Thiết lập các tín hiệu ngắt đúng theo chức năng đã quy định

Như vậy, bộ chuyển đổi đã hoạt động đúng như những chức năng đã đề ra.

Ngày đăng: 19/12/2024, 12:05

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] ARM Limited, "AMBA Specification", ARM IHI 0024C, 1999 Sách, tạp chí
Tiêu đề: AMBA Specification
[2] S, Kavyashree, "Design and Implementation of UART using Verilog", 12 December, 2015 Sách, tạp chí
Tiêu đề: Design and Implementation of UART using Verilog
[3] Bhargav Tarpara, Heli ShahP and Chinmay ModiP, "Design & Implementation of Advance Peripheral Bus Protocol", June 2015 Sách, tạp chí
Tiêu đề: Design & Implementation of Advance Peripheral Bus Protocol
[6] Institute of Electrical and Electronics Engineers, Inc, "IEEE Standard for Verilog Hardware Description Language", 7 April 2006 Sách, tạp chí
Tiêu đề: IEEE Standard for Verilog Hardware Description Language
[7] Mary Grace Legaspi and Eric Peňa, "UART: A Hardware Communication Protocol Understanding Universal Asynchronous Receiver/Transmitter", December 2020 Sách, tạp chí
Tiêu đề: UART: A Hardware Communication Protocol Understanding Universal Asynchronous Receiver/Transmitter
[8] Neeta Choubey and H.R.Singh, "IMPLEMENTATION OF UART WITH STATUS REGISTER AND APB", July-August 2015 Sách, tạp chí
Tiêu đề: IMPLEMENTATION OF UART WITH STATUS REGISTER AND APB
[9] Anushka Dwivedi and Dr. Anand Jatti, "DESIGN AND IMPLEMENTATION OF AMBA APB PROTOCOL", July-2022 Sách, tạp chí
Tiêu đề: DESIGN AND IMPLEMENTATION OF AMBA APB PROTOCOL
[5] Texas Instruments, KeyStone Architecture Universal Asynchronous Receiver/Transmitter (UART) User Guide, Nov. 2010 Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN