Sự phân xử và sự khởi tạo xung nhịp

Một phần của tài liệu Báo cáo VDK (Trang 29 - 33)

1. 1 Giới thiệu

3.1.9.Sự phân xử và sự khởi tạo xung nhịp

1. Sự đồng bộ:

Tất cả các bộ chủ khởi tạo xung nhịp của chúng trên SCL để chuyển thông điệp trên I2C Bus. Dữ liệu chỉ hợp lệ trong suốt khoảng thời gian xung nhịp ở mức CAO. Xung nhịp được định nghĩa về việc này thì cần thiết cho thủ tục phân xử theo từng bit xảy ra.

Đồng bộ xung nhịp được thực hiện bằng cách sử dụng And nối dây của giao diện I2C đến SCL. Điều này có nghĩa là sự chuyển tiếp từ mức CAO xuống mức THẤP trên SCL gây ra cho thiết bị liên quan bắt đầu giai đoạn ở mức THẤP ( LOW period) xung nhịp của một thiết bị sẽ xuống mức THẤP, nó sẽ giữ trạng thái này cho đến khi đạt được trạng thái CAO.( Xem hình 8). Tuy

nhiên , sự chuyển tiếp từ mức THẤP xuống mức CAO của xung nhịp này có thể không thay đổi trạng thái của SCL nếu xung nhịp của thiết bị khác vẫn ở trong giai đoạn ở mức THẤP của nó. SCL sẽ được giữ ở mức THẤP bởi thiế bị mà có giai đoạn ở mức THẤP của nó dài nhất. Những thiết bị với giai đoạn ở mức THẤP của nó ngắn hơn trạng thái chờ ở mức CAO trong suốt thời gian này.

Hình 3.7. Đồng bộ xung nhịp trong thủ tục phân sử.

Khi tất cả các thiết bị liên quan không ở giai đoạn ở mức THẤP của chúng, SCL sẽ được giải phóng và lên mức CAO. Không có sự khác biệt giữa xung nhịp của thiết bị . Và tất cả các thiết bị sẽ khởi động đến giai đoạn ở mức CAO của chúng. Nếu thiết bị đầu tiên hoàn thành giai đoạn ở mức CAO của chúng và lại kéo SCL xuống THẤP.

Trong trường hợp này, xung nhịp của SCL mà được đồng bộ được khởi động với giai đoạn ở mức THẤP của nó quyết định bởi thiết bị có giai đoạn ở mức THẤP dài nhất, giai đoạn ở mức CAO của nó quyết định bởi thiết bị có giai đoạn ở mức CAO ngắn nhất.

2. Sự phân xử( Arbitration):

Bộ chủ chỉ có thể bắt đầu sự truyền nếu Bus rảnh. Hai hay nhiều bộ chủ có thể phát động S trong khoảng thời gian duy trì nhỏ nhất ( the minimum hold time : tHD,STA) của S mà kết quả trong định nghĩa S đến Bus.

Sự phân xử xảy ra trên SDA trong khi đó SCL ở mức cao, trong trường hợp như vậy bộ chủ mà truyền đi mức CAO. Trong khi đó một bộ chủ khác

truyền mức THẤP sẽ ngắt ngõ ra dữ liệu của nó bởi vì mức logic trên Bus không tương thích với mức logic của chính nó.

Sự phân xử có thể tiếp tục cho nhiều bit. Giai đoạn đầu tiên là so sánh các bit địa chỉ. Nếu các bộ chủ mà cùng cố gắng để định chỉ cho cùng một thiết bị, sự phân xử sẽ tiếp tục so sánh các bit dữ liệu nếu chúng là bộ phát chủ hoặc bit ACK nếu chúng là bộ thu chủ. Bởi vì thông tin về địa chỉ và dữ liệu trên I2C Bus bởi bộ chủ thắng trong sự phân xử, không có thông tin bị mất trong quá trình phân xử.

Bộ chủ mà thua trong sự phân xử có thể phát động xung nhịp cho đến khi kết thúc byte mà nó thua trong sự phân xử.

Như bộ chủ ở kiểu HS có mã bộ chủ 8 bit duy nhất, nó luôn luôn kết thúc phân xử trong byte đầu tiên.

Nếu bộ chủ kết hợp chặt chẽ với chức năng của bộ tớ và nó thua trong sự phân xử trong suốt giai đoạn định địa chỉ, có khả năng bộ chủ đang cố gắng định địa chỉ nó. Bộ chủ thua trong sự phân xử vì thế phải ngay lập tức chuyển thành chế độ tớ.

Hình 3.8 cho ta thấy thủ tục phân xử cho hai bộ chủ. Dĩ nhiên, có thể bao gồm nhiều hơn( phụ thuộc vào bao nhiêu bộ chủ kết nối với Bus).

Xự phân xử sẽ hoàn tất trên SDA khi SCL ở mức cao. Khi đó bộ chủ mà truyền mức CAO trong khi đó bộ chủ khác truyền mức THẤP sẽ thua trong phân xử.

3. Sử dụng cơ chế đồng bộ xung nhịp như là sự bắt tay:

Được thêm vào để sử dụng trong suốt thủ tục phân xử, cơ chế đồng bộ xung nhịp có thể được sử dụng dể cho phép bộ thu đối phó với truyền data tốc độ cao, trên 1 byte hoặc 1 bit.

Xét về byte, thiết bị có khả năng nhận các byte dữ liệu ở tốc độ nhanh, nhưng cần nhiều thời gian hợn để lưu trữ byte nhận được và chuẩn bị byte khác truyền tới. Bộ tớ sau đó có thể giữ SCL ở mức thấp sau đó thu nhận byte và ACK của byte đó để đưa bộ chủ về trạng thái chờ cho đến khi bộ tớ sẵn sàng cho sự truyền của byte kế tiếp trong một kiểu bắt tay.( Hình 3.9)

Xét về bit, một thiết bị như là vi diều khiển kết nối với I2C Bus, có thể làm chậm xung nhịp của Bus mở rộng giai đoạn ở mức thấp của mỗi chu kỳ xung nhịp. Tốc độ của bất cứ bộ chủ nào bằng cách này thích nghi với tốc độ vận hành bên trong của thiết bị này.

Trong kiểu HS, kiểu này chỉ có thể được sử dụng trên byte.

Một phần của tài liệu Báo cáo VDK (Trang 29 - 33)