🌱 Core 7. ARM Bus Protocol & Bus Interface
Bài viết này chúng ta sẽ cùng tìm hiểu về các đường Bus trong Vi điều khiển STM32. Bài viết Core 2 đã nói về cách Processor giao tiếp với các ngoại vi như GPIO, UART, ... bằng các đường bus AHB, APB. Trong bài viết này chúng ta sẽ cùng tìm hiểu kỹ hơn về các đường bus này.
👉 Trong Cortex Mx, các giao diện bus dựa trên một đặc điểm kỹ thuật gọi là AMBA - Advanced Microcontroller Bus Architecture - Kiến trúc Bus vi điều khiển nâng cao. AMBA là một kỹ thuật được thiết kế bở ARM, nhằm quản lý tiêu chuẩn cho truyền thông trên chip.
AMBA hỗ trợ một số giao thức bus:
- AHB Lite (AMBA High – performance Bus)
- APB (AMBA Peripheral Bus)
👉 AHB & APB
- AHB Lite Bus chủ yếu được sử dụng cho các giao diện bus chính.
- APB Bus sử dụng cho truy cập ngoại vi private và một số truy cập ngoại vi trên chip, bằng cách sử dụng cầu nối AHB – APB.
- AHB Lite Bus chủ yếu được sử dụng để giao tiếp tốc độ cao với thiết bị ngoại vi yêu cầu tốc độ cao (GPIO).
- APB bus được sử dụng cho các giao tiếp tốc độ thấp hơn so với AHB. Và hầu hết ngoại vi không yêu cầu tốc độ cao đều được kết nối với bus này. Bus này sử dụng để tiết kiệm năng lượng cho bộ xử lý (UART, SPI, I2C, Timer, ADC, ...). Trong vi điều khiển STM32 thường chia làm 2 bus APB1 và APB2 để đáp ứng nhu cầu của nhiều bộ ngoại vi khác nhau.
Bộ xử lý đưa ra 4 giao diện bus AHB (như hình): I-BUS, D-BUS, S-BUS, PPB, sử dụng các giao diện bus này để kết nối nhiều loại vùng nhớ khác nhau.
- Các bus trong vi điều khiển STM32 đều có độ rộng 32 bits.
- Có 2 giao diện bus để truy cập vào vùng nhớ Code: I-CODE - Instruction và D-CODE – Data. Trên I-CODE, bộ xử lý tìm nạp lệnh và bảng vector từ vùng nhớ Code. Trên D-CODE, nó sẽ truy cập dữ liệu từ vùng nhớ Code.
Điều này có nghĩa là: Bộ xử lý sử dụng 2 giao diện bus chuyên dụng để tìm nạp lệnh và dữ liệu đồng thời từng vùng nhớ Code. - Bus Hệ thống S-BUS – System để truy cập RAM, ngoại vi, …
- Bus PPB – Private Peripheral Bus: Giao tiếp với vùng bus ngoại vi riêng. Vùng này bao gồm hầu hết các thanh ghi ngoại vi của bộ xử lý Cortex Mx như NVIC, Systick, …
Các bus AHB1/AHB2/AHB3 cũng như các đường bus khác trong bộ xử lý được liên kết qua ma trận bus – Bus Matrix => Nó chính là Arbiter – Trọng tài để xử lý giao thông giữa các bus.
>>>= Follow ngay =<<<
Để theo dõi những bài học miễn phí mới nhất nhé 😊
Chúc các bạn học tập tốt 😊
0 Nhận xét