Chuẩn truyền dữ liệu I2C

Một phần của tài liệu Thiết kế và thi công mô hình cửa hàng giặt sấy tự động phục vụ (Trang 45 - 47)

a. Tổng quan về chuẩn I2C

I2C, viết tắt của từ Inter Integrated Circuit, là một chuẩn truyền thông do hãng điện tử Philips Semiconductor sáng lập, cho phép giao tiếp một thiết bị chủ với nhiều thiết bị tớ với nhau.

Hình 2.27. Hệ thống giao tiếp theo chuẩn I2C

Chuẩn giao tiếp I2C có 2 đường tín hiệu tên là SDA (serial data) có chức năng truyền tải dữ liệu và tín hiệu SCL (serial clock) truyền tải xung clock để dịch chuyển dữ liệu. Trong hệ thống truyền dữ liệu I2C, thiết bị nào cung cấp xung clock thì được gọi là chủ (master), thiết bị nhận xung clock được gọi là tớ (slave)[3].

Thiết bị chủ chỉ có 1, thiết bị tớ thì có nhiều, mỗi thiết bị tớ sẽ có 1 địa chỉ độc lập, chuẩn truyền ban đầu dùng địa chỉ 7 bit nên có thể 1 chủ giao tiếp với 128 thiết bị tớ. Các thiết bị sau này tăng thêm số bit địa chỉ nên có thể giao tiếp nhiều hơn.

Địa chỉ của thiết bị tớ thường do nhà chế tạo thiết bị thiết lập sẵn.

Quy trình thiết bị chủ giao tiếp với thiết bị tớ để thực hiện việc ghi đọc dữ liệu như sau:

Quá trình thiết bị chủ ghi dữ liệu vào thiết bị tớ[3] :

Bước 1: Thiết bị chủ tạo trạng thái START để bắt đầu quá trình truyền dữ liệu –

các thiết bị tớ sẽ ở trạng thái sẵn sàng nhận địa chỉ từ thiết bị chủ.

Bước 2: Thiết bị chủ gửi địa chỉ của thiết bị tớ cần giao tiếp – khi đó tất cả các thiết bị tớ đều nhận địa chỉ và so sánh với địa chỉ của mình, các thiết bị tớ sau khi phát hiện không phải địa chỉ của mình thì chờ cho đến khi nào nhận trạng thái START mới.

Trong dữ liệu 8 bit thì có 7 bit địa chỉ và 1 bit điều khiển đọc/ghi (R/W): bit này bằng 0 để báo cho thiết bị tớ sẽ nhận byte tiếp theo.

Bước 3: Thiết bị chủ chờ nhận tín hiệu bắt tay từ thiết bị tớ. Thiết bị tớ nào đúng địa chỉ thì phát 1 tín hiệu trả lời cho chủ biết.

Bước 4: Thiết bị chủ tiến hành gửi địa chỉ của ô nhớ bắt đầu cần ghi dữ liệu, bit R/W ở trạng thái ghi.

Bước 5: Thiết bị chủ chờ nhận tín hiệu trả lời từ thiết bị tớ.

Bước 6: Thiết bị chủ gửi tiến hành gửi dữ liệu để ghi vào thiết bị tớ, mỗi lần ghi 1 byte, sau khi gửi xong thì tiến hành chờ nhận tín hiệu trả lời từ thiết bị tớ, quá trình thực hiện cho đến byte cuối cùng xong rồi thì thiết bị chủ chuyển sang trạng thái STOP để chấm dứt quá trình giao tiếp với thiết bị tớ.

Quá trình thiết bị chủ đọc dữ liệu vào thiết bị tớ [3]

Bước 1: Thiết bị chủ tạo trạng thái START để bắt đầu quá trình truyền dữ liệu,

các thiết bị tớ sẽ ở trạng thái sẵn sàng nhận địa chỉ từ thiết bị chủ.

Bước 2: Thiết bị chủ gửi địa chỉ của thiết bị tớ cần giao tiếp, khi đó tất cả các

thiết bị tớ đều nhận địa chỉ và so sánh với địa chỉ của mình. Các thiết bị tớ sau khi phát hiện không phải địa chỉ của mình thì chờ cho đến khi nào nhận trạng thái START mới.

Bước 3: Thiết bị chủ chờ nhận tín hiệu bắt tay từ thiết bị tớ. Thiết bị tớ nào đúng địa chỉ thì phát 1 tín hiệu trả lời cho chủ biết.

Bước 4: Thiết bị chủ tiến hành gửi địa chỉ của ô nhớ bắt đầu cần đọc dữ liệu, bit R/W ở trạng thái đọc.

Bước 5: Thiết bị chủ chờ nhận tín hiệu trả lời từ thiết bị tớ.

Bước 6: Thiết bị chủ chuyển sang trạng thái STOP, bắt đầu lại trạng thái START,

tiến hành gửi địa chỉ của thiết bị và bit R/W bằng 1 để yêu cầu thiết bị tớ gửi dữ liệu nội dung ô nhớ của địa chỉ đã nhận.

Bước 7: Thiết bị chủ sau khi nhận sẽ báo tín hiệu trả lời, quá trình này thực hiện cho đến khi nhận hết dữ liệu mong muốn thì thiết bị chủ tạo tín hiệu STOP để chấm dứt.

Một phần của tài liệu Thiết kế và thi công mô hình cửa hàng giặt sấy tự động phục vụ (Trang 45 - 47)