Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
1,04 MB
Nội dung
BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG BÁO CÁO MƠN: THIẾT KẾ NGOẠI VI VÀ KỸ THUẬT GHÉP NỐI “Chuẩn giao tiếp I2C” Giảng viên : Dương Quang Duy Nhóm : 02 Sinh viên : Đặng Phương Năm - B19DCDT157 Nguyễn Văn Xuân - B19DCDT257 Nguyễn Mạnh Tuấn – B19DCDT204 Bùi Đức Toàn – B19DCDT196 Hệ : Đại học quy Hà Nội – 2023 `` Thiết kế ngoại vi kỹ thuật ghép nối LỜI CẢM ƠN Chúng em xin gửi đến Học viện Cơng nghệ Bưu Viễn thơng lời cảm ơn trân trọng mang đến kiến thức mơn học vơ bổ ích mơn “Thiết kế ngoại vi kỹ thuật ghép nối” Trong q trình tìm hiểu học tập mơn học, nhóm em nhận nhiều hướng dẫn, giúp đỡ, chia sẻ thực tế, kiến thức môn học hữu ích thầy Dương Quang Duy giúp nhóm em hồn thành báo cáo; Chúng em xin chân thành cảm ơn tiếp thu hướng dẫn tận tình thầy Tuy nhiên, báo cáo nhóm khơng tránh khỏi sai sót Rất mong nhận góp ý thầy để báo cáo nhóm hồn thiện Cuối cùng, chúng em kính chúc thầy dồi sức khỏe thành công nghiệp cao q, ln hồn thành tốt cơng việc giao đạt nhiều thành tựu to lớn nghiệp Hà Nội, tháng năm 2023 `` Thiết kế ngoại vi kỹ thuật ghép nối MỤC LỤC LỜI CẢM ƠN MỤC LỤC DANH MỤC HÌNH ẢNH Các thành phần chuẩn giao tiếp I2C 1.1 Chuẩn giao tiếp I2C: 1.2 Đặc điểm giao tiếp I2C: 1.3 Thiết bị chủ (Master) tớ (Slave): 1.4 Read / Write bit 1.5 ACK / NACK bit Cách truyền liệu chuẩn giao tiếp I2C 2.1 Master gửi điều kiện khởi động (Start condition) 2.2 Master gửi địa mạng lưới 10 2.3 Slave so sánh địa gửi 10 2.4 Master gửi (hoặc nhận) khung liệu 10 2.5 Master gửi lệnh dừng (Stop condition) 11 Thủ tục bóc tách liệu I2C 11 Ưu, nhược điểm chuẩn giao tiếp I2C 11 4.1 Ưu điểm: 12 4.2 Nhược điểm: 12 So sánh với giao tiếp khác 12 Ứng dụng 13 Một ví dụ cụ thể 13 Kết luận 28 `` Thiết kế ngoại vi kỹ thuật ghép nối DANH MỤC HÌNH ẢNH Hình 1:Chuẩn giao tiếp I2C Hình 2: Thiết bị chủ(Master) tớ(Slave) Hình 3: Điều kiện bắt đầu Hình 4: Điều kiện kết thúc Hình 5: Một Master nhiều Slave Hình 6: Nhiều Master nhiều Slave Hình 7: Cách truyền liệu giao tiếp I2C Hình 8: Lưu đồ thuật tốn Hình 9: Master gửi điều kiện khởi động Hình 10: Master gửi địa mạng lưới 10 Hình 11: Các slave so sánh địa 10 Hình 12: Master gửi (hoặc nhận) khung liệu .10 Hình 13: Master gửi lệnh dừng .11 Hình 14: So sánh với giao tiếp khác 13 Hình 15: Sơ đồ ghép nối 13 Hình 16: Lưu đồ thuật toán .14 Hình 17: Mơ kết nối Proteus 15 Hình 18: Giản đồ xung mô .15 Hình 19: Kết thu 28 `` Thiết kế ngoại vi kỹ thuật ghép nối Các thành phần chuẩn giao tiếp I2C 1.1 Chuẩn giao tiếp I2C: - Chuẩn giao tiếp I2C (Inter-Integrated Circuit) loại bus nối tiếp hai chiều với hai dây tín hiệu phát triển hãng sản xuất linh kiện điện tử cho trình giao tiếp IC Đây chuẩn giao tiếp vi điều khiển thường gặp - - - 1.2 - Bus I2C phát triển vào năm 1980 Ban đầu, loại bus dùng linh kiện điện tử Philips Sau đó, tính ưu việt đơn giản nó, I2C chuẩn hóa dùng rộng rãi module truyền thơng nối tiếp vi mạch tích hợp ngày Hình 1:Chuẩn giao tiếp I2C Giao tiếp I2C q trình truyền thơng đồng nối tiếp, hỗ trợ nhiều master (thiết bị chủ) slave (thiết bị tớ) đường truyền I2C phù hợp với ngoại vi mà ưu tiên kết nối đơn giản chi phí sản xuất thấp quan trọng yêu cầu tốc độ truyền giao tiếp vi điều khiển mảng cảm biến, thiết bị hiển thị, thiết bị IoT,… Thủ tục truyền, thủ tục nhận bóc tách liệu I2C (Inter-Integrated Circuit) sử dụng để truyền nhận liệu thiết bị hệ thống điện tử vi xử lý, cảm biến, mạch điều khiển, v.v Đặc điểm giao tiếp I2C: Chỉ cần có hai đường bus (dây) chung để điều khiển thiết bị / IC mạng I2C - Không cần thỏa thuận trước tốc độ truyền liệu giao tiếp UART Vì vậy, tốc độ truyền liệu điều chỉnh cần thiết - Cơ chế đơn giản để xác thực liệu truyền - Sử dụng hệ thống địa bit để xác định thiết bị / IC cụ thể bus I2C - Các mạng I2C dễ dàng mở rộng Các thiết bị kết nối đơn giản với hai đường bus chung I2C Thiết bị chủ (Master) tớ (Slave): Các thiết bị kết nối với bus I2C phân loại thiết bị Chủ (Master) 1.3 - `` Thiết kế ngoại vi kỹ thuật ghép nối thiết bị Tớ (Slave) Ở thời điểm có thiết bị Master trạng thái hoạt động bus I2C Hình 2: Thiết bị chủ(Master) tớ(Slave) - Chuẩn giao tiếp I2C sử dụng dây để truyền liệu thiết bị: • SDA (Serial Data) - Đường truyền cho chủ tớ để gửi nhận liệu • SCL (Serial Clock) - Dịng mang tín hiệu xung nhịp - Nó điều khiển đường tín hiệu đồng hồ SCL định hoạt động thực đường liệu SDA - Mỗi thiết bị tớ(Slave) kết nối với đường SDA, SCL gán địa - Tất thiết bị đáp ứng hướng dẫn từ thiết bị Master Slave Để phân biệt nhiều thiết bị Slave kết nối với bus I2C, thiết bị Slave gán địa vật lý 7-bit cố định - Khi thiết bị Master muốn truyền liệu đến nhận liệu từ thiết bị Slave, xác định địa thiết bị Slave cụ thể đường SDA sau tiến hành truyền liệu Vì vậy, giao tiếp có hiệu diễn thiết bị Master thiết bị Slave cụ thể - Tất thiết bị Slave khác không phản hồi trừ địa chúng định thiết bị Master dòng SDA - Điều kiện khởi động gồm bit bắt đầu cho trình truyền liệu chuẩn giao tiếp I2C Lúc đường SDA chuyển điện áp từ mức cao xuống mức thấp trước đường SCL (ngược với điều kiện dừng) - Khung địa chuỗi 7bit cho slave để xác định slave master muốn liên lạc với Master gửi địa slave mà muốn liên lạc với slave kết nối với Sau đó, slave so sánh địa gửi từ master với địa `` Thiết kế ngoại vi kỹ thuật ghép nối - Điều kiện bắt đầu: Hình 3: Điều kiện bắt đầu - • Khi điều kiện bắt đầu gửi thiết bị Master, chuyển mạch SDA từ mức điện áp cao xuống mức điện áp thấp trước đường SCL chuyển từ cao xuống thấp Điều kiện kết thúc: Hình 4: Điều kiện kết thúc • Thiết bị Master chuyển đường SDA từ mức điện áp thấp sang mức điện áp cao trước đường SCL chuyển từ cao xuống thấp ❖ Một Master nhiều Slave • Bởi I2C sử dụng địa chỉ, nhiều thiết bị Slave điều khiển từ thiết bị Master Với bit địa tương ứng 128 địa có sẵn Để kết nối nhiều thiết bị Slave với một thiết bị Master nhất, nối dây hình bên dưới, kết nối đường SDA SCL với Vcc: Hình 5: Một Master nhiều Slave ❖ Nhiều Master nhiều Slave • Nhiều thiết bị Master kết nối với thiết bị Slave đơn nhiều thiết bị Slave Vấn đề với nhiều thiết bị Master hệ thống xuất hai thiết bị Master cố gắng gửi nhận liệu `` Thiết kế ngoại vi kỹ thuật ghép nối lúc dịng SDA • Để giải vấn đề này, thiết bị Master cần phát xem đường SDA thấp hay cao trước truyền thơng điệp Nếu đường SDA thấp, điều có nghĩa thiết bị Master khác có quyền điều khiển bus thiết bị Master lại phải đợi để gửi tin nhắn Nếu đường SDA cao an tồn để truyền tải thơng điệp Để kết nối nhiều thiết bị Master với nhiều thiết bị Slave, sử dụng sơ đồ sau đây, kết nối đường SDA SCL với Vcc: Hình 6: Nhiều Master nhiều Slave 1.4 - Read / Write bit Bit Read/Write gồm bit sau khung địa Nó cho slave biết master muốn ghi liệu vào hay nhận liệu từ bit đọc / ghi Master gửi liệu đến slave Master yêu cầu nhận liệu từ slave 1.5 ACK / NACK bit - ACK / NACK bit (bit xác nhận) có lần liên lạc Bit có nhiệm vụ đảm bảo việc truyền nhận liệu cách thay đổi mức điện áp dòng SDA Nếu khung địa khung liệu nhận thành công Lúc bit ACK trả lại cho người gửi từ thiết bị nhận (bit nhận xong liệu) Cách truyền liệu chuẩn giao tiếp I2C - Với chuẩn giao tiếp I2C , liệu truyền dạng khung liệu Mỗi slave có khung địa khác để master phân biệt Trong lần truyền liệu cần khung địa để master xác định slave nhiều khung liệu chứa liệu truyền Ngồi cịn có điều kiện bắt đầu dừng, bit Read/Write bit ACK / NACK `` Thiết kế ngoại vi kỹ thuật ghép nối Hình 7: Cách truyền liệu giao tiếp I2C Hình 8: Lưu đồ thuật tốn 2.1 Master gửi điều kiện khởi động (Start condition) - Master gửi điều kiện khởi động (Start condition) đến slave kết nối cách chuyển đường SDA từ mức điện áp cao sang mức điện áp thấp trước chuyển đường SCL từ mức cao xuống mức thấp Hình 9: Master gửi điều kiện khởi động `` Thiết kế ngoại vi kỹ thuật ghép nối 2.2 Master gửi địa mạng lưới - Master gửi địa mạng lưới trùng với địa slave mà muốn giao tiếp Cùng với bit Read/Write (mức Master truyền liệu) Hình 10: Master gửi địa mạng lưới 2.3 Slave so sánh địa gửi - Mỗi thiết bị Slave so sánh địa gửi từ thiết bị Master đến địa riêng Nếu địa trùng khớp, thiết bị Slave gửi bit ACK cách kéo đường SDA xuống thấp bit ACK / NACK thiết lập ‘0’, Nếu địa từ thiết bị Master không khớp với địa riêng thiết bị Slave đường SDA mức cao bit ACK / NACK mức ‘1’ (mặc định) Hình 11: Các slave so sánh địa 2.4 Master gửi (hoặc nhận) khung liệu - Nếu thiết bị Master muốn gửi liệu đến thiết bị Slave, bit Read / Write mức điện áp thấp Nếu thiết bị Master nhận liệu từ thiết bị Slave, bit mức điện áp cao Hình 12: Master gửi (hoặc nhận) khung liệu - Nếu khung liệu thiết bị Slave nhận thành cơng, thiết lập bit 10 `` Thiết kế ngoại vi kỹ thuật ghép nối ❖ Mô kết nối Proteus Hình 17: Mơ kết nối Proteus Hình 18: Giản đồ xung mơ ❖ Chương trình code bên Master Arduino: • #include • #define SCL_PIN • #define SDA_PIN • #define SDA_OUTPUT DDRD |= (1