
- •1) Комбинационная логика, основные элементы (и, или, не), их схемы на кмоп транзисторах.
- •Временная диаграмма работы сдвигового регистра.
- •6) Общая структура микроконтроллерного устройства, алу, программный счётчик.
- •Общая структура микроконтроллерного устройства (из интернета)
- •Программный счётчик.
- •7. Виды памяти микроконтроллеров (на примере семейства avr). Стек и его инициализация.
- •8. Прерывания, вектор прерываний.
- •9) Основы языка Assembler для микроконтроллеров семейства avr. Синтаксис, классификация команд.
- •Команды логических операций.
- •Команды операций с битами.
- •Команды пересылки данных.
- •Команды передачи управления.
- •Команды управления системой.
- •10. Регистры ввода-вывода. Схема устройства вывода микроконтроллера, управляющие регистры, режимы работы.
- •Источники тактовой частоты
- •Управляющие регистры таймера
- •Прерывания таймера
- •3. Цифро-аналоговые преобразователи. Структурная схема цап. Параллельная схема суммирования токов. Последовательная схема суммирования токов.
- •Классификация ацп
- •5. Структурная схема встроенного аналого-цифрового преобразователя, его основные параметры. Настройка ацп, управляющие регистры. Прерывания по завершению цикла преобразования.
- •17. Передача данных с использованием асинхронного последо-вательного интерфейса spi. Схема организации spi интерфейса, сдвиговые регистры. Пакетная передача данных.
- •18) Интерфейс i2c. Протокол передачи данных, режимы работы. Основные преимущества и недостатки интерфейса.
18) Интерфейс i2c. Протокол передачи данных, режимы работы. Основные преимущества и недостатки интерфейса.
Интерфейс I2C использует всего две линии — они именуются SCL (Serial Clock) и SDA (Serial Data). Первая предназначена для передачи синхроимпульсов (они формируются тем устройством, которое в настоящий момент передает данные), а вторая — для передачи самих данных и команд, управляющих этим процессом. Обе линии имеют открытый коллектор (как и во многих других случаях, когда необходимо, чтобы к одной линии мого подключаться несколько различных устройств), поэтому требуют подключения «подтягивающих» резисторов сопротивлением 1-10 кОм.
Для примера на рисунке ниже показана структурная схема:
Протокол передачи данных
Используется только два сигнала (тактовая синхронизация и данные) независимо от того, сколько устройство подключено к шине.
Оба сигнала подтягиваются к положительному напряжению питания через резисторы, соответствующих номиналов.
Каждое устройство взаимодействует с сигналами данных и тактовой синхронизации через драйверы вывода с открытым стоком (или с открытым коллектором).
Каждое ведомое устройство идентифицируется с помощью 7-битного адреса; устройство мастер должно знать эти адреса, чтобы общаться с конкретным ведомым устройством
Все передачи инициируются и прекращаются мастером; мастер может передавать данные одному или нескольким ведомым устройствам или запрашивать данные из ведомого устройства.
Метки «ведущий/master» и «ведомый/slave» по своей сути непостоянны: любое устройство может функционировать и как ведущее, и как ведомое устройство, если оно содержит необходимое аппаратное и/или программное обеспечение. На практике, однако, встраиваемые системы часто используют архитектуру, в которой одни мастер отправляет команды или собирает данные с нескольких ведомых устройств.
Сигнал данных обновляется по заднему фронту тактового сигнала, а его выборка происходит по переднему фронту.
Данные передаются в однобайтовых секциях, причем каждый байт сопровождается однобитным сигналом подтверждения, называемым битом ACK/NACK (подтверждение или неподтверждение)
Пакет данных:
Преимущества интерфейса I2C
необходим всего один микроконтроллер для управления набором устройств;
используется всего два проводника для подключения многих устройств;
возможна одновременная работа нескольких ведущих (master) устройств, подключенных к одной шине I2C;
стандарт предусматривает «горячее» подключение и отключение устройств в процессе работы системы;
встроенный в микросхемы, реализующие интерфейс фильтр подавляет всплески, обеспечивая целостность данных.
Недостатки интерфейса I2C
ограничение на ёмкость линии — 400 пФ;
несмотря на простоту протокола, программирование контроллера I2C затруднено из-за изобилия возможных нештатных ситуаций на шине. По этой причине большинство систем используют I²C c единственным ведущим (master) устройством и распространённые драйверы поддерживают только монопольный режим обмена по I2C;
Трудность локализации неисправности, если одно из подключенных устройств ошибочно устанавливает на шине состояние низкого уровня.