Tiểu luận: Kiến trúc máy tính và mạng truyền thông công nghiệp

Tiểu luận Kiến trúc máy tính và mạng truyền thông công nghiệp giới thiệu chung về I2C; tìm hiểu về modul I2C với PIC.

Tiểu luận: Kiến trúc máy tính và mạng truyền thông công nghiệp

1. Giới thiệu chung về I2C( Master –Slave) 

Phương pháp Master – Slave (chủ  -  tớ), một trạm chủ (master) có trách nhiệm chủ động phân chia quyền truy cập bus cho các trạm tớ (slave ). Các trạm tớ đóng vai trò bị động chỉ có quyền truy cập bus và gửi tín hiệu đi kh có yêu cầu. Trạm chủ có thể dùng phương pháp hỏi tuần tự theo chu kỳ để kiểm soát toàn bộ hệ thống. Nhờ vậy các trạm tớ có thể gửi các dữ liệu thu thập được từ quá trình kỹ thuật gửi đến trạm chủ cũng như nhận được  các thông tin điều khiển từ trạm chủ. Và chuẩn giao tiếp I2C là một chuẩn giao tiếp sử dụng phương pháp này. 

Đặc điểm giao tiếp I2C 

  • Một giao tiếp I2C gồm có 2 dây: Serial Data (SDA) và Serial Clock (SCL). SDA  là đường truyền dữ liệu 2 hướng, còn SCL là đường truyền xung đồng hồ và chỉ theo một hướng. Như hình vẽ trên, khi một thiết bị ngoại vi kết nối vào đường I2C thì chân SDA của nó sẽ nối với dây SDA của bus, chân SCL sẽ nối với dây SCL. 

Bit Start và Stop 

  • START là điều kiện khởi  đầu, báo hiệu bắt đầu của giao tiếp, còn STOP báo hiệu kết thúc một giao tiếp.
  • Điều kiện START:  một sự chuyển đổi trạng thái từ cao xuống thấp trên đường SDA trong khi đường SCL đang ở mức cao (cao = 1; thấp = 0) báo hiệu một điều kiện START 
  • Điều kiện STOP: Một sự chuyển đổi trạng thái từ mức thấp lên cao trên đường SDA trong khi đường SCL đang ở mức cao.
  • Cả hai điều kiện START và STOP đều được tạo ra bởi thiết bị chủ. Sau tín hiệu START, bus I2C coi như đang trong trang thái làm việc (busy). Bus I2C sẽ rỗi, sẵn sàng cho một giao tiếp mới sau tín hiệu STOP từ phía thiết bị chủ.

Định dạng dữ liệu truyền 

  • Dữ liệu được truyền trên bus I2C theo từng bit, bit dữ liệu được truyền đi tại mỗi sườn dương của xung đồng hồ trên dây SCL, quá trình thay đổi bit dữ liệu xảy ra khi SCL đang ở mức thấp. 

Định dạng địa chỉ thiết bị

  • Mỗi thiết bị ngoại vi tham gia vào bus I2C đều có một địa chỉ duy nhất, nhằm phân biệt giữa các thiết bị với nhau. Độ dài địa chỉ là 7 – bit,  điều đó có nghĩa là trên một bus I2C ta có thể 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 nào trên bus I2C, nó sẽ gửi 7 bit địa chỉ của thiết bị đó ra bus ngay sau xung START. Byte đầu tiên được gửi sẽ bao gồm 7 bit địa chỉ và một bít thứ 8 điều khiển hướng truyền đó mà có sự phản hồi tương ứng đến con chủ. 

Truyền dữ liệu trên bus I2C, chế độ Master ‐Slave 

  • Việc truyền dữ liệu diễn ra giữa con chủ và con tớ. Dữ liệu truyền có thể theo 2 hướng, từ chủ đến tớ hay ngược lại. Hướng truyền được quy định bởi bit thứ 8 trong byte đầu tiên được truyền đi. 
  • Quá trình kết hợp ghi và đọc dữ liệu: giữa hai xung START và STOP, thiết bị chủ có thể thực hiện việc đọc hay ghi nhiều lần, với một hay nhiều thiết bị.

Chế độ Multi ‐Master 

  • Trên bus I2C có thể có nhiều hơn một master điều khiển bus. Khi đó bus I2C sẽ hoạt động ở chế độ Multi‐Master. Chế độ này được hiểu là trên trong trên cùng một bus có thể hiều hơn một thiết bị làm Slave có thể trở thành một Master nếu nó có khả năng trở thành Master ở một thời điểm nào đó.

2. Modul I2C với PIC 

Modul I2C với PIC

  • Với những tiện ích đem lại, khối giao tiếp I2C đã được tích hợp cứng trong khá nhiều loại vi điều khiển khác nhau. Trong các loại Vi điều khiển PIC dòng Mid‐range phổ biến tại Việt Nam, chỉ từ 16F88 mới có hỗ trợ phần cứng I2C, còn các loại chip khác không có. Với những loại Vi điều khiển không có  hỗ  trợ phần cứng giao tiếp I2C, để sử dụng ta có thể dùng phần mềm lập trình, khi đó ta  sẽ viết một chương trinh điều khiển 2 chân bất kỳ của Vi điều khiển để nó thực hiện giao tiếp I2C (các hàm START, STOP, WRITE, READ). 
  • Trong việc lập trình cho PIC có rất nhiều phần mềm viết chương trình như CCS, AMS, Mplab…  nhưng tôi chỉ đề cập đến phần giao tiếp I2C sử dụng Mplab. 

Ví dụ sử dụng modul I2C của PIC 18f4520 với ds1307( đồng hồ thời gian thực)

--- Nhấn nút TẢI VỀ hoặc XEM ONLINE để tham khảo đầy đủ nội dung Tiểu luận trên ---

Ngày:24/08/2020 Chia sẻ bởi:Denni Trần

CÓ THỂ BẠN QUAN TÂM