BÀI TIỂU LUẬN Môn học: Kiến trúc máy tính và mạng truyền thông công nghiệp Đề tài: Giao tiếp I2C

9 33 0
BÀI TIỂU LUẬN Môn học: Kiến trúc máy tính và mạng truyền thông công nghiệp Đề tài: Giao tiếp I2C

Đang tải... (xem toàn văn)

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ-ĐẠI HỌC QUỐC GIA HÀ NỘI KHOA CƠ HỌC KĨ THUẬT VÀ TỰ ĐỘNG HÓA BÁO CÁO Mơn kiến trúc máy tính mạng truyền thơng cơng nghiệp Giảng viên : Đặng Anh Việt Nhóm thực : Trần Minh Đức 17020276 Nguyễn Quang Linh 17020351 MỤC LỤC PHẦN I Giao tiếp I2C Giới thiệu I2C tên viết tắt cụm từ tiếng anh “Inter-Integrated Circuit” Nó giao thức giao tiếp phát triển Philips Semiconductors để truyền liệu xử lý trung tâm với nhiều IC board mạch sử dụng hai đường truyền tín hiệu Do tính đơn giản nên loại giao thức sử dụng rộng rãi cho giao tiếp vi điều khiển mảng cảm biến, thiết bị hiển thị, thiết bị IoT, EEPROMs, v.v … Đây loại giao thức giao tiếp nối tiếp đồng Nó có nghĩa bit liệu truyền bit theo khoảng thời gian đặn thiết lập tín hiệu đồng hồ tham chiếu Đặc điểm giao tiếp I2C Một giao tiếp I2C gồm có dây: Serial Data (SDA) Serial Clock (SCL) SDA đường truyền liệu hướng, SCL đường truyền xung đồng hồ theo hướng Như hình vẽ trên, thiết bị ngoại vi kết nối vào đường I2C chân SDA nối với dây SDA bus, chân SCL nối với dây SCL Mỗi dây SDA hay SCL nối với điện áp dương nguồn thông qua điện trở kéo lên Sự cần thiết điện trở kéo chân giao tiếp I2C thiết bị ngoại vi thường dạng cực máng hở (open-collector) Giá trị điện trở khác tùy vào thiết bị chuẩn giao tiếp thường dao động khoảng 1K đến 4.7K Một thiết bị hay IC kết nối với bus I2C, địa (duy nhất) để phân biệt, cịn cấu hình thiết bị chủ (master) hay tớ (slave) Vì bus I2C quyền điều khiển thuộc thiết bị chủ (master) Thiết bị chủ nắm vai trò tạo xung đồng hồ cho toàn hệ thống, hai thiết bị chủ/tớ giao tiếp thiết bị chủ có nhiệm vụ tạo xung đồng hồ quản lý địa thiết bị tớ suốt trình giao tiếp Thiết bị chủ giữ vai trò chủ động, thiết bị tớ giữ vai trò bị động viêc giao tiếp Nhìn hình ta thấy xung đồng hồ có hướng từ chủ đến tớ, cịn luồng liệu theo hai hướng, từ chủ đến tớ hay ngược lại tớ đến chủ Về liệu truyền bus I2C, bus I2C chuẩn truyền 8‐bit liệu có hướng đường truyền với tốc độ 100Kbits/s – Chế độ chuẩn (Standard mode) Tốc độ truyền lên tới 400Kbits/s – Chế độ nhanh (Fast mode) cao 3,4Mbits/s – Chế độ cao tốc (High‐speed mode) Một bus I2C hoạt động nhiều chế độ khác nhau: - Một chủ tớ (one master – one slave) Một chủ nhiều tớ (one master – multi slave) Nhiều chủ nhiều tớ (Multi master – multi slave) Dù chế độ nào, giao tiếp I2C dựa vào quan hệ chủ/tớ Giả thiết thiết bị A muốn gửi liệu đến thiết bị B, trình thực sau: ‐ ‐ ‐ Thiết bị A (Chủ) xác định địa thiết bị B (tớ), cừng với việc xác định địa chỉ, thiết bị A định việc đọc hay ghi vào thiết bị tớ Thiết bị A gửi liệu tới thiết bị B Thiết bị A kết thúc trình truyền liệu Khi A muốn nhận liệu từ B, trình diễn trên, khác A nhận liệu từ B Trong giao tiếp này, A chủ B tớ Bit Start Stop START STOP điều kiện bắt buộc phải có thiết bị chủ muốn thiết lập giao tiếp với thiết bị mạng I2C START điều kiện khởi đầu, báo hiệu bắt đầu giao tiếp, STOP báo hiệu kết thúc giao tiếp Ban đầu chưa thực trình giao tiếp, hai đường SDA SCL mức cao (SDA = SCL = HIGH) Lúc bus I2C coi free (“bus free”), sẵn sàng cho giao tiếp Hai điều kiện START STOP thiếu việc giao tiếp thiết bị I2C với Điều kiện START: chuyển đổi trạng thái từ cao xuống thấp đường SDA đường SCL mức cao (cao = 1, thấp = 0) báo hiệu điều kiện Start Điều kiện STOP: Một chuyển đổi trạng thái từ mức thấp lên cao đường SDA đường SCL mức cao Cả hai điều kiện START STOP tạo thiết bị chủ Sau tín hiệu START, bus I2C coi trang thái làm việc (busy) Bus I2C rỗi, sẵn sàng cho giao tiếp sau tín hiệu STOP từ phía thiết bị chủ Sau có điều kiện START, qua trình giao tiếp, có tín hiệu START lặp lại thay tín hiệu STOP bus I2C tiếp tục trạng thái bận Tín hiệu START lặp lại START có chức giống khởi tạo giao tiếp Định dạng liệu truyền Dữ liệu truyền bus I2C theo bit, bit liệu truyền sườn dương xung đồng hồ dây SCL, trình thay đổi bit liệu xảy SCL mức thấp Mỗi byte liệu truyền có độ dài bits Số lượng byte truyền lần không hạn chế Mỗi byte truyền theo sau bit ACK để báo hiệu nhận liệu Bit có trọng số cao (MSB) truyền đầu tiên, bít truyền Sau xung clock dây SCL, bit liệu truyền Lúc thiết bị nhận, sau nhận đủ bít liệu kéo SDA xuống mức thấp tạo xung ACK ứng với xung clock thứ dây SDA để báo hiệu nhận đủ bit Thiết bị truyền nhận bit ACK tiếp tục thực trình truyền kết thúc Một byte truyền có kèm theo bit ACK điều kiên bắt buộc, nhằm đảm bảo cho trình truyền nhận diễn xác Khi khơng nhận địa hay muốn kết thúc trình giao tiếp, thiết bị nhận gửi xung Not‐ACK (SDA mức cao) để báo cho thiết bị chủ biết, thiết bị chủ tạo xung STOP để kết thúc hay lặp lại xung START để bắt đầu trình Định dạng địa thiết bị Mỗi thiết bị ngoại vi tham gia vào bus i2c có địa nhất, nhằm phân biệt thiết bị với Độ dài địa – bit, điều có nghĩa bus I2C ta phân biệt tối đa 128 thiết bị Khi thiết bị chủ muốn giao tiếp với ngoại vi bus I2C, gửi bit địa thiết bị bus sau xung START Byte gửi bao gồm bit địa bít thứ điều khiển hướng truyền Mỗi thiết bị ngoại vi có địa riêng nhà sản xuất quy định Địa cố định hay thay đổi Riêng bit điều khiển hướng quy định chiều truyền liệu Nếu bit “0” có nghĩa byte liệu sau truyền từ chủ đến tớ, ngược lại “1” byte theo sau byte liệu từ tớ gửi đến chủ Việc thiết lập giá trị cho bit chủ thi hành, tớ tùy theo giá trị mà có phản hồi tương ứng đến chủ 6 Chế độ Master – Slave Việc truyền liệu diễn chủ tớ Dữ liệu truyền theo hướng, từ chủ đến tớ hay ngược lại Hướng truyền quy định bit thứ byte truyền Truyền liệu từ chủ đến tớ (ghi liệu): Thiết bị chủ muốn ghi liệu đến tớ, trình thực là: ‐ ‐ ‐ Thiết bị chủ tạo xung START Thiết bị chủ gửi địa thiết bị tớ mà cần giao tiếp với bit =0 bus đợi xung ACK phản hồi từ tớ Khi nhận xung ACK báo nhận diện thiết bị tớ, chủ bắt đầu gửi liệu đến tớ theo byte Theo sau byte xung ACK Số lượng byte truyền khơng hạn chế Kết thúc q trình truyền, chủ sau truyền byte cuối tạo xung STOP báo hiệu kết thúc Truyền liệu từ tớ đến chủ (đọc liệu): Thiết bị chủ muốn đọc liệu từ thiết bị tớ, trình thực sau: ‐ ‐ ‐ ‐ Khi bus rỗi, thiết bị chủ tạo xung START, báo hiệu bắt đầu giao tiếp Thiết bị chủ gửi địa thiết bị tớ cần giao tiếp với bit = đợi xung ACK từ phía thiết bị tớ Sau xung ACK dầu tiên, thiết bị tớ gửi byte bus, thiết bị chủ nhận liệu trả xung ACK Số lượng byte không hạn chế Khi muốn kết thúc trình giao tiếp, thiết bị chủ gửi xung Not‐ACK tạo xung STOP để kết thúc Quá trình kết hợp ghi đọc liệu: hai xung START STOP, thiết bị chủ thực việc đọc hay ghi nhiều lần, với hay nhiều thiết bị Để thực việc đó, sau trình ghi hay đọc, thiết bị chủ lặp lại xung START lại gửi lại địa thiết bị tớ bắt đầu trình Chế độ giao tiếp Master‐Slave chế độ bus I2C, toàn bus quản lý master Trong chế độ khơng xảy tình trạng xung đột bus hay đồng xung clock có master tạo xung clock PHẦN II Kết luận ... bị chủ muốn thiết lập giao tiếp với thiết bị mạng I2C START điều kiện khởi đầu, báo hiệu bắt đầu giao tiếp, STOP báo hiệu kết thúc giao tiếp Ban đầu chưa thực trình giao tiếp, hai đường SDA SCL... đường truyền tín hiệu Do tính đơn giản nên loại giao thức sử dụng rộng rãi cho giao tiếp vi điều khiển mảng cảm biến, thiết bị hiển thị, thiết bị IoT, EEPROMs, v.v … Đây loại giao thức giao tiếp. .. giao thức giao tiếp nối tiếp đồng Nó có nghĩa bit liệu truyền bit theo khoảng thời gian đặn thiết lập tín hiệu đồng hồ tham chiếu Đặc điểm giao tiếp I2C Một giao tiếp I2C gồm có dây: Serial Data

Ngày đăng: 14/02/2022, 14:39

Tài liệu cùng người dùng

Tài liệu liên quan