Giới thiệu

I2C (Inter-Integrated Circuit) là một giao thức kết nối giao diện bus nối
tiếp. Nó còn được gọi là TWI (giao diện hai dây) vì nó chỉ sử dụng hai dây để
giao tiếp, hai dây đó được gọi là SDA (serial data) và SCL (serial clock).
ATmega16 / ATmega32 dựa trên AVR có một mô-đun TWI được tạo thành từ một số
mô-đun con như thể hiện trong hình.

I2C làm việc ở hai chế độ cụ thể là:

  • Chế độ Master
  • Chế độ Slave

Chân SDA & SCL

  • Các chân này được sử dụng để giao tiếp với các thiết bị ngoại vi và vi điều
    khiển bên ngoài dựa trên TWI.
  • Các trình điều khiển đầu ra chứa một giới hạn tốc độ quay. Các giai đoạn đầu
    vào chứa một đơn vị triệt tiêu xung đột biến loại bỏ các gai ngắn hơn 50 ns.

Bus interface unit

  • The bus interface unit contains Start / Stop control chịu
    trách nhiệm tạo và phát hiện các điều kiện START, REPEATED START
    STOP.
  • TWDR  Thanh ghi add/data shift chứa dữ liệu được truyền và
    nhận.
  • Bit ACK receives ack / nack trong transmitter mode và nó
    được tạo ra thông qua phần mềm ở receives mode.
  • Bộ phận ngăn chặn Spike sẽ xử lý các điểm đột biến trong khi tính năng phát
    hiện trọng tài liên tục theo dõi trạng thái bus và thông báo cho bộ phận
    điều khiển về nó.

Address match unit

Trong chế độ Slave, Address match unit nhận một địa chỉ 7 bit và so sánh với địa
chỉ trong thanh ghi TWAR (Thanh ghi Two Wire Address) để kiểm tra xem nó
có khớp hay không và khi khớp xảy ra, control unit sẽ thực hiện hành động cần
thiết. Nó cũng xem xét địa chỉ cuộc gọi chung nếu bit TWGCE trong
TWAR được kích hoạt.

Bit rate generator unit

Bộ tạo tốc độ bit điều khiển chu kỳ SCL ở chế độ chủ để tạo tần số SCL. Nó được
tính bằng,
Tần số SCL = (tần số CLK CPU) / (16 + 2 (TWBR) * 4 ^ TWPS)
Trong
đó TWPS là giá trị của một bit mở rộng trước trong TWSR.

Control unit

  • Đơn vị điều khiển chứa TWSR (thanh ghi trạng thái TWI), TWCR (thanh ghi
    điều khiển TWI).
  • Nó kiểm soát quá trình tổng thể của sự chú ý đối với các sự kiện cần
    thiết, xác định các sự kiện khi xảy ra, TWINT ngắt xác nhận và cập nhật
    TWSR.
  • Miễn là cờ TWINT đặt SCL được giữ ở mức thấp

Hãy xem các đăng ký trong mô-đun ATmega16 / 32 I2C

TWBR: Thanh ghi tốc độ bit TWI

Thanh ghi tốc độ bit TWI được sử dụng để tạo tần số SCL trong
khi hoạt động ở chế độ Master

www.truongcongly.com

0 bình luận trong “I2C Trong AVR ATmega16/ATmega32

Trả lời Nặc danh Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *