Академический Документы
Профессиональный Документы
Культура Документы
I2C (TWI)
Схема подключения
2
I2C (TWI)
3
I2C (TWI) Подключение устройств
Данные передаются по двум
линиям: линия данных (SDA) и
линия тактов (SCL).
Есть ведущий (master) и
ведомый (slave). Такты
генерирует master, а ведомый
отвечает на принимаемые
байты.
На одной двухпроводной шине
может быть до 127 устройств.
Линии SDL и SCL должны быть
Рисунок 1 — схема подключения подтянуты через резисторы к
устройств к шине I2C (TWI) напряжению питания.
4
I2C (TWI) Передача данных
Смена данных на линии SDL
возможна только в момент
времени, когда на линии SCL
логический ноль. В момент
времени, когда на линии SCL
логическая единица, данные
на линии SDL должны
оставаться неизменными, т.к.
в это время осуществляется их
Рисунок 2 — временная диаграмма прием.
передачи отдельных битов
5
I2C (TWI) СТАРТ - СТОП
События СТАРТ и СТОП всегда формирует master. Каждый master генерирует свой собственный
сигнал синхронизации при пересылке данных по шине.
Процедура обмена начинается с того, что master отправляет состояние СТАРТ: генерирует
переход сигнала линии SDA из ВЫСОКОГО состояния в НИЗКОЕ при ВЫСОКОМ уровне на
линии SCL. Переход воспринимается всеми устройствами slave, подключенными к шине, как
признак начала процедуры обмена.
Процедура обмена завершается тем, что master формирует состояние СТОП: переход
состояния линии SDA из НИЗКОГО состояния в ВЫСОКОЕ при ВЫСОКОМ состоянии линии SCL.
9
I2C (TWI) TWBR Регистр
TWBR — Регистр установки частоты тактирования вывода SCL. Регистр
задействован только в режиме мастер. Частота тактирования вывода SCL
вычисляется по следующие формуле.
CPU Clock frequency
𝑆𝐶𝐿 𝑓𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑦 =
16 + 2⋅TWBR⋅PrescalerValue
где:
• 𝑆𝐶𝐿 𝑓𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑦 — Частота тактирования вывода SCL;
• CPU Clock frequency — Тактовая часта микроконтроллера;
• TWBR — Значение регистра TWBR;
• PrescalerValue — Значение предделителя установленного в регистре TWSR.
10
I2C (TWI) TWCR Регистр
11
I2C (TWI) TWCR Регистр
TWCR — Регистр управления I2C (TWI) интерфейсом.
12
I2C (TWI) TWCR Регистр
Bit 6 – TWEA: Генерация ACK.
Если данный бит установлен в 1-цу то на TWI шине будет сгенерирован бит ACK
при следующих условиях.
1. По шине TWI пришёл адрес устройства совпадающий с регистром TWAR;
2. Обнаружен общий вызов при этом бит TWGCE в регистре TWAR должен быть
установлен в 1-цу;
3. Байт данных получен в режиме мастер приёмник или ведомый приёмник.
13
I2C (TWI) TWCR Регистр
Bit 5 – TWSTA: При записи единице в данный бит устройство проверяет занятость
TWI шины, если шина занята то устройство ожидает пока на шине не будет
сгенерировано условие стоп. Если шина свободна то осуществляется генерация
старт условия и устройство становится мастером. По окончанию генерации старт
условия данный бит должен быть сброшен.
Bit 4 – TWSTO: При записи единице в данный бит, в режиме мастер генерируется
условие стоп. Когда условие стоп сгенерировано данный бит очищается
автоматически. В режиме ведомого устройства запись единице в данный бит
сбрасывает устройство в состояние ожидания адреса.
14
I2C (TWI) TWCR Регистр
Bit 3 – TWWC: Бит устанавливается в единицу при попытке изменить состояние
регистра TWDR пока бит TWINT установлен в ноль. Сброс осуществляется
аппоратно при записи данных в регистр TWDR пока бит TWINT установлен в
единицу.
Bit 2 – TWEN: Включает работу TWI интерфейса. Лини SCL/SDA предаются под
управление TWI модуля и находятся в состоянии с открытом коллектором.
15
I2C (TWI) TWSR Регистр
16
I2C (TWI) TWSR Регистр
TWSR — Регистр статуса.
17
I2C (TWI) TWSR Регистр
Bits 1:0 – TWSn: Статус TWI логики.
18
I2C (TWI) TWDR Регистр
19
I2C (TWI) TWAR Регистр
20
I2C (TWI) TWAR Регистр
TWAR — Регистр адреса в режиме подчинённого устройства.
21
TCN75A
MSOP, SOIC Symbol Function Device A6 A5 A4 A3 A2 A1 A0
1 SDA Bidirectional Serial Data
TCN75 1 0 0 1 x x x
2 SCL Serial Clock Input A
3 ALERT Temperature Alert Output
4 GND Ground
5 A2 Address Select Pin (bit 2)
22
TCN75A
23
TCN75A
24
TCN75A
25
TCN75A TA регистр
26
TCN75A CONFIG регистр
CONFIGURATION REGISTER (CONFIG) — ADDRESS <0000 0001>: Регистр конфигурации.
27
TCN75A CONFIG регистр
Bit 4:3 – FAULT QUEUE: Количество ошибочных оцифровок для компенсации
дребезга температуры на границе гистерезиса.
00 = 1 (Power-up default)
01 = 2
10 = 4
11 = 6
Bit 2 – ALERT POLARITY: Рабочий фронт вывода ALERT
1 = Active-high
0 = Active-low (Power-up default)
28
TCN75A CONFIG регистр
Bit 1 – COMP/INT: Режим работы термореле
1 = Interrupt mode
0 = Comparator mode (Power-up default)
Bit 0 – SHUTDOWN: Запуск преобразований
1 = Enable
0 = Disable (Power-up default)
29
TCN75A THYST регистр
30
TCN75A TSET регистр
31
TCN75A
32
TCN75A
33
TCN75A
main.c TCN75.h
34
TCN75A
TCN75.с TCN75.с
35
Лабораторная работа 4
Реализовать терморегулятор используя аппаратные
возможности температурного датчика TCN75A. В режимах
Comparator и Interrupt.
На LCD дисплей выводится текущая температура,
предельные границы температуры.
Первые 3 бита адреса устанавливаются в соответствии с
номером группы.
36
Варианты заданий на лабораторную работа 4
1. Режим Comparator – Оцифровка 9-bit.
2. Режиме Interrupt – Оцифровка 9-bit.
3. Режим Comparator – Оцифровка 10-bit.
4. Режиме Interrupt – Оцифровка 10-bit.
5. Режим Comparator – Оцифровка 11-bit.
37
Пример оформления отчета
1. Титульный лист
2. Задание на лабораторную работу
3. Текст программ
4. Вывод
38