Giới thiệu lý thuyết về multi master slave

Một phần của tài liệu Thiết kế bộ thực nghiệm xe điện, nhận dạng mô hình bánh xe và xây dựng bộ điều khiển phát động ứng dụng với xe điện PET (Trang 25 - 26)

Bus I2C ban đầu thực chất được phát triển như một bus multi-master (nhiều chủ). Có nghĩa là có hơn 1 thiết bị có thể chủđộng trong hệ thống.

Nếu ta chỉ dùng 1 master thì trên bus thực sự không có sự xung đột dữ liệu.Tuy nhiên nếu có từ 2 master trở lên như hình 3.4.

Hình 3.3. Khung truyền dữ liệu I2C.

Chương 3. Thu thập số liệu thực nghiệm và xử lý số liệu

-18- http://www.ebook.edu.vn

Khi Master 1 phát ra tín hiệu bắt đầu (Start condition) và gửi 1 địa chỉ, tất cả Slave

đều lắng nghe, bao gồm cả CPU 2 ngay thời gian này cũng được xem như là 1 slave.Nếu

địa chỉ không khớp với địa chỉ của CPU2, CPU2 sẽ phải dừng mọi hoạt động của nó trên bus cho tới khi bus trở lại trạng thái IDLE sau điều kiện Stop của CPU1.

Miễn là 2 CPU (hay là Pic) quan sát được tình trạng của bus (start và stop) thì không có rắc rối nào xảy ra.Tuy nhiên giả sử rằng một con Pic không quan sát được điều kiện Start và nghĩ rằng bus đang IDLE (tức là rãnh), hay là nó nghĩ bus mới Reset thì nó sẽ

gửi tín hiệu lên bus, từđó sẽ gây ra rắc rối.

Phát hiện bus bận:

Tính chất vật lý của bus I2C đã hỗ trợ ta điều này. Bởi vì cấu trúc của bus là một bus nối các thiết bị nối tiếp lại với nhau (giống kiểu And), chúng ta có thể kiểm tra bus như

sau: nếu có 1 thiết bị nào đó kéo bus xuống mức thấp LOW thì nó sẽở mức thấp LOW. Khi một Master thay đổi trạng thái của dây lên cao HIGH, nó phải luôn kiểm tra là

đường dây đã lên HIGH. Nếu đường dây vẫn ở mức thấp như vậy sự tranh chấp đã xảy ra và chỉ ra rằng có 1 thiết bị nào đó đã kéo đường dẩy xuống LOW.

Do đó luật chung để nhận biết là: Nếu một master không thể đưa một đường dây lên mức HIGH tức là nó mất quyền kiểm soát, nó phải lặp chờ cho tới khi có điều kiện stop xảy ra trên bus thì nó mới được truyền dữ liệu.

Một phần của tài liệu Thiết kế bộ thực nghiệm xe điện, nhận dạng mô hình bánh xe và xây dựng bộ điều khiển phát động ứng dụng với xe điện PET (Trang 25 - 26)