1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tập lớn môn Kiến trúc máy tính và mạng truyền thông công nghiệp Giao tiếp I2C ( Master – Slave)

15 1 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 1,86 MB

Nội dung

Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Bài tập lớn mơn Kiến trúc máy tính mạng truyền thông công nghiệp: Giao tiếp I2C ( Master – Slave) I Giới thiệu chung I2C( Master – Slave) Phương pháp Master – Slave (chủ - tớ), trạm chủ (master) có trách nhiệm chủ động phân chia quyền truy cập bus cho trạm tớ (slave ) Các trạm tớ đóng vai trị bị động có quyền truy cập bus gửi tín hiệu kh có yêu cầu Trạm chủ dùng phương pháp hỏi theo chu kỳ để kiểm sốt tồn hệ thống Nhờ trạm tớ gửi liệu thu thập từ trình kỹ thuật gửi đến trạm chủ nhận thông tin điều khiển từ trạm chủ Và chuẩn giao tiếp I2C chuẩn giao tiếp sử dụng phương pháp Ngày hệ thống điện tử đại, nhiều IC hay thiết bị ngoại vi cần phải giao tiếp với IC hay thiết bị khác giao tiếp với giới bên Với mục tiêu đạt hiệu cho phần cứng tốt với mạch điện đơn giản, Phillips phát triển chuẩn giao tiếp nối tiếp dây gọi I2C I2C tên viết tắt cụm Bus giao tiếp IC với từ Inter ‐ Intergrated Circuit I2C phát triển bới Philips, nhiều nhà sản xuất IC giới sử dụng I2C trở thành chuẩn công nghiệp cho giao tiếp điều khiển, kể vài tên tuổi Philips như: Texas Intrument (TI), Maxim‐Dallas, analog Device, National Semiconductor Bus I2C sử dụng làm bus giao tiếp ngoại vi cho nhiều loại IC khác loại Vi điều khiển 8051, PIC , AVR, ARM, chíp nhớ RAM tĩnh (Static Ram), EEPROM, chuyển đổi tương tự số (ADC), số tương tự (DAC), IC điểu khiển LCD, LED… Đặc điểm giao tiếp I2C Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] 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ồ Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] 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 cấp thơng qua kéo chân giao tiếp I2C thiết bị ngoại vi thường dạng cực máng tùy vào thiết bị chuẩn giao tiếp thường dao động khoảng 1KΩ đến 4.7KΩ điện trở kéo lên (pull‐up resistor) Sự cần thiết điện trở kéo hở (open‐drain or open - collector) Giá trị điện trở khác Nhìn lại hình 1.1, ta thấy có nhiều thiết bị (IC) kết nối vào bus I2C, nhiên không xảy chuyện nhầm lẫn thiết bị, thiết bị nhận địa với quan hệ chủ/tớ tồn suốt thời gian kết nối Mỗi thiết bị hoạt đơng thiết bị nhận liệu hay vừa truyền vừa nhận Hoạt động truyền hay nhận tùy thuộc vào việc thiết bị chủ chủ (master) hay tớ (slave) 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) Tại lại có phân biệt ? Đó bus I2C quyền điều khiển thuộc thiết Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] bị chủ (master) Thiết bị 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 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] 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 một thiết bị A muốn gửi liệu đến thiết bị B, trình thực sau tớ ‐ Thiết bị A (Chủ) xác định địa thiết bị B (tớ), với việc xác định địa chỉ, thiết bị A định việc đọc hay ghi vào thiết bị - 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ớ Chi tiết việc thiết lập giao tiếp với thiết bị mạng I2C 2: Bit Start Stop START điều kiện khởi đầu, báo hiệu bắt đầu giao tiếp, STOP hiệu kết thúc giao tiếp Hình mơ tả điều kiện START báo STOP Ban đầu chưa thực trình giao tiếp, Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn hai đường SDA Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] SCL mức cao (SDA = SCL= HIGH) Lúc bus I2C coi dỗi (“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 Hình 1.4 Điều kiện START STOP bus I2C Đ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, , q 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 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] 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 xung STOP để kết thúc hay lặp lại xung START để bắt đầu trình Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Đị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à có phản hồi tương ứng đến chủ 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ớ, cịn ngược lại “1” 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ủ Việc thiết lập giá trị cho bit chủ thi hành, tớ tùy theo giá trị Truyền liệu bus I2C, 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 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Truyền liệu từ chủ đến tớ (ghi liệu) đến tớ, trình thực là: Thiết bị chủ muốn ghi liệu ‐ 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 = 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 cho tớ theo byte Theo sau byte xung ACK Số lượng byte truyền không hạn chế - Kết thúc trình truyền, chủ sau truyền byte cuối tạo xung STOP báo hiệu 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 q 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 Chế độ Multi‐Master Trên bus I2C có nhiều master điều khiển bus Khi bus I2C hoạt động chế độ Multi‐Master Chế độ hiểu bus hiều thiết bị làm Slave trở thành Master có khả trở thành Master thời điểm Tuy nhiên sử dụng IC điều khiển chip nhớ chế độ Multi – Master khơng ồn chip nhớ thiết kế Slave, khơng có khả trở thành Master Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] II: Modul I2C với PIC Modul I2C với PIC Với tiện ích đem lại, khối giao tiếp I2C tích hợp cứng nhiều loại vi điều khiển khác Trong loại Vi điều khiển PIC dòng Mid‐range phổ biến Việt Nam, từ 16F88 có hỗ trợ phần cứng I2C, cịn loại chip khác khơng có Với loại Vi điều khiển khơng có hỗ trợ phần cứng giao tiếp I2C, để sử dụng ta dùng phần mềm lập trình, ta viết chương trinh điều khiển chân Vi điều khiển để thực giao tiếp I2C (các hàm START, STOP, WRITE, READ) Trong việc lập trình cho PIC có nhiều phần mềm viết chương trình CCS, AMS,Mplab… tơi đề cập đến phần giao tiếp I2C sử dụng Mplab Trong Mplab, cần quan tâm đến câu lệnh sau:   OpenI2C(MASTER,SLEW_OFF); // khởi tạo I2C, chọn chip làm chủ hay tớ   SSPADD=0x31; // đặt tốc đọ xung clock(SCL)   StartI2C();// bắt đầu I2C   IdleI2C(); // ACK, đợi phản hồi   WriteI2C(noi dung can ghi);// ghi liệu   StopI2C();// dừng I2C   RestartI2C();// bắt đầu lại I2C   AckI2C(); // ACK phản hồi đi   NotAckI2C(); // NotAck phản hồi     Ví dụ sử dụng modul I2C PIC 18f4520 với ds1307( đồng hồ thời gian thực) DS1307 chip đồng hồ thời gian thực, khái niệm thời gian thực dùng với ý nghĩa thời gian tuyệt đối mà người sử dụng, tính giây, phút, giờ… DS1307 sản phẩm Dallá Semiconductỏ Chip có ghi8 bit chứa thời gian là: giây, phút, giờ, thứ, ngày, tháng, năm Ngồi DS1307 cịn có ghi điều khiển ngõ phụ 56 ghi trống dùng RAM DS1307 đọc thông qua giao diện I2C nên Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] cấu tạo bên đơn giản DS1307 xuất hai gói SOIC DIP có chân Hình 2.1 Hình ảnh DS1307 Các chân DS1307 mô tả sau: - X1 X2 hai ngõ kết nối với thạch anh 32768KHz làm nguồ tạo dao động cho chip - Vbat : cực dương pin 3V nuôi chip - GND: chân mas chung cho pin 3V Vcc - Vcc: nguồn cho giao diện I2C, thường 5V dùng chung với vi điều khiển Chú ý Vcc khơng nguồn Vbat cấp DS1307 dang hoạt động không đọc ghi - SQUW/OUT: ngõ phụ tạo xung vuông, tần số xung lập trình - SCL SDA hai đường giao xung nhịp liệu giao diện I2C Có thể kết nối DS1307 mạch điện đơn giản sau: Hình 2.2: Mạch ứng dụng đơn giản DS1307 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Đây mạch PIC 18f4520 DS1307 vẽ phần mềm proteus Hình 2.3: mạch PIC 18f4520 DS1307 Mạch sử dụng LCD hiển thị thời gian thực từ ds1307, chip PIC coi Master gọi slave (ds1307) trả lời Và chương trình modul I2C PIC 18f4520 Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Hình 2.4: Chương trình với modul I2C Với chương trình này, phần mềm proteus hiển thị kết mô là: Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Hỗ trợ ơn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] Hình 2.5: Kết mơ proteus Đây ví dụ nhỏ đơn giản việc ứng dụng giao tiếp I2C Ngồi cịn sử dụng I2C giao tiếp chip với chip khác, giao tiếp chip với IC, … Vì phổ biến quan trọng vi điều khiển Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn

Ngày đăng: 12/07/2023, 22:52

w