Một số khái niệm và đặc điểm của I2C
Master: là chip khởi động quá trình truyền nhận, máy chủ phát đi địa chỉ
của thiết bị cần giao tiếp và tạo xung giữ nhịp trên đường SCL.
Slave: là chip có một địa chỉ cố định, được gọi bởi Master và phục vụ
yêu cầu từ Master.
SDA- Serial Data: là đường dữ liệu nối tiếp, tất cả các thông tin về địa
chỉ hay dữ liệu đều được truyền trên đường này theo thứ tự từng bit một.
SCL –Serial Clock: là đường giữ nhịp nối tiếp. I2C là chuần truyền thông
nối tiếp đồng bộ, cần có 1 đường tạo xung giữ nhịp cho quá trình truyền/nhận, cứ mỗi xung trên đường giữ nhịp SCL, một bit dữ liệu trên đường SDA sẽ được lấy mẫu (sample). Dữ liệu nối tiếp trên đường SDA được lấy mẫu khi đường SCL ở mức cao trong một chu kỳ giữ nhịp, vì thế đường SDA không được đổi trạng thái khi SCL ở mức cao (trừ START và STOP condition). Chân SDA có thể được đổi trạng thái khi SCL ở mức thấp.
2.4.2 ADC
Để có thể đọc được giá trị điện áp từ biến trở khi người vận hành xe điều khiển chuyển hướng board Arduino sử dụng bộ ADC 10 bit tích hợp sẵn trong bộ vi điều khiển trên board. Giá trị điện áp từ biến trở sẽ được chuyển đổi sang một giá trị số tương ứng với độ lớn của điện áp. Độ phân giải của bộ ADC được xác định bằng dựa vào số bit theo công thức sau:
(6) Như vậy giá trị điện áp đọc về từ biến trở sẽ nằm trong khoảng 0-1023. Độ phân giải điện áp hay số bước giá trị điện áp nhỏ nhất mà bộ ADC có thể đọc được xác định theo công thức:
(7)
Trong đó là giá trị điện áp tham chiếu của bộ ADC, đối với board mạch
Arduino Due, giá trị điện áp này là 3,3V.
2.4.3 UART
UART (Universal Asynchronous Receiver/Transmitter) là bộ truyền nhận nối tiếp không đồng bộ. UART là thiết bị phần cứng, không phải là chuẩn giao tiếp. UART muốn tạo ra một chuẩn giao tiếp cần phải được kết hợp với một thiết bị chuyển đổi mức điện áp. Chuẩn RS232 (COM) trên các máy tính là sự kết hợp của chip UART và chip chuyển đổi mức điện áp. Tín hiệu từ chip UART thường có mức điện áp chuẩn TTL, mức logic cao là 5V, mức thấp là 0V. Trong khi đó, tín hiệu theo chuẩn RS232 trên máy tính cá nhân thường là -12V cho mức logic cao và +12 cho mức thấp. 12 V -12 V 5 V 3 V 0 V -3 V t
start data parity Stop
LSB Idle MSB RS232 UART Idle 0 1 1 0 1 1 1 0 1 0 1 1