
Giao tiếp APB - AMBA 2.0
Giao tiếp APB (Advanced Peripheral Bus) là một trong bộ giao tiếp AMBA (Advanced Microcontroller Bus Architecture). AMBA là một cấu trúc bus hệ thống sử dụng trong các vi điều khiển được phát triển bởi ARM. AMBA có nhiều cấu trúc bus khác nhau như AXI, AHB, ASB, APB. Trong đó, APB là bus dùng để giao tiếp với các ngoại vi không đòi hỏi tốc độ xử lý nhanh như UART, SPI, I2C, ...
APB có giao tiếp đơn giản gồm các tín hiệu như sau:
PCLK: Tín hiệu clock đồng bộ hoạt động theo cạnh lên
PADDR: địa chỉ thanh ghi được truy xuất
PWRITE: tín hiệu cho phép ghi
PSEL: tín hiệu cho phép
PENABLE: tín hiệu báo pha ENABLE của một truy xuất đọc hoặc ghi
PWDATA: dữ liệu ghi
PRDATA: dữ liệu đọc
Hình 1. Giao tiếp APB - Ghi (trái) và Đọc (phải)
Master APB: thành phần lái các tín hiệu điều khiển của bus APB. Master APB thường là một bus khác có tốc độ cao hơn trong hệ thống bus, ví dụ như AXI, AHB, ... tuy nhiên nó cũng có thể là một master đầu cuối có giao tiếp trực tiếp đến bus APB.
Slave APB: thành phần nhận các tín hiệu điều khiển của bus APB. Bộ điều khiển EEPROM trong bài này là một slave APB
Hình 2. Minh họa về kết nối của APB bus
Hình minh họa sau đây là một ví dụ về kết nối bus hệ thống. Trong đó, master APB là DMA-230 và bus AHB.
Hình 3. Minh họa một kết nối bus hệ thống trong vi điều khiển (https://developer.arm.com)
Hoạt động của giao tiếp APB đơn giản gồm 3 pha (trạng thái):
IDLE: khi PSEL = 0. Lúc này, PENABLE cũng phải bằng "0" và slave APB không quan tâm đến giá trị các tín hiệu điều khiển còn lại trên bus như PWRITE, PWDATA hay PADDR
SETUP: khi PSEL = 1 và PENABLE = 0. Lúc này, các tín hiệu điều khiển trên bus phải có giá trị hợp lệ. Các tín hiệu điều khiển bao gồm PADDR, PWRITE và PWDATA nếu là một truy cập "ghi".
ENABLE: khi PSEL = 1 và PENABLE = 1. Lúc này, slave APB phải nhận xong các giá điều khiển và phải lái PRDATA đến giá trị hợp lệ nếu đó là một truy cập "đọc"
Chú ý, mỗi truy cập "đọc" hoặc "ghi" từ master APB đến slave APB phải qua 2 bước là SETUP và ENABLE. Sau bước ENABLE nếu không có truy cập nào khác thì trạng thái truy cập sẽ về IDLE nhưng nếu master APB tiếp tục có truy cập tiếp theo thì có thể lái trực tiếp qua trạng thái SETUP.
Hình 4. Các trạng thái hoạt động của bus APB
Nguồn: NguyenQuanIc
Bạn Có Đam Mê Với Vi Mạch hay Nhúng - Bạn Muốn Trau Dồi Thêm Kĩ Năng
Mong Muốn Có Thêm Cơ Hội Trong Công Việc
Và Trở Thành Một Người Có Giá Trị Hơn
Bạn Chưa Biết Phương Thức Nào Nhanh Chóng Để Đạt Được Chúng
Hãy Để Chúng Tôi Hỗ Trợ Cho Bạn. SEMICON
Hotline: 0972.800.931 - 0938.838.404 (Mr Long)