Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

12C Slave реализация с синхронной передачей данных

Автор:   •  Январь 4, 2026  •  Курсовая работа  •  1,594 Слов (7 Страниц)  •  7 Просмотры

Страница 1 из 7

[pic 1]


[pic 2]


Министерство образования и науки  Российской Федерации

Федеральное государственное автономное образовательное учреждение

высшего образования

«Уральский  федеральный университет имени первого Президента России Б.Н. Ельцина»

Физико-технологический институт

Кафедра экспериментальной физики

ТЕМА КУРСОВОй работы

12C Slave реализация с синхронной передачей данных

КУРСОВАЯ РАБОТА

Пояснительная записка

Руководитель

_____________

М.В. Ушаков

Студент гр. Фт-490301

_____________

Цымбаленко Д.Н

Екатеринбург

 2022

 

Оглавление

ВВЕДЕНИЕ        3

Протокол I2C        4

Передача и получение данных от ведущего        6

Реализация        8

START/STOP/RESTART        8

Фиксация входных данных        11

Конечный автомат        13

Асинхронная память        15

Выходной драйвер        18

Тестирование        19

Заключение        22


ВВЕДЕНИЕ

I2C — это популярный протокол двухпроводной последовательной шины для связи между устройствами. Его поддерживает большинство микроконтроллеров, так что это хороший выбор интерфейса для многих чипов. В данной работе будет реализован slave интерфейс I2C без использования тактовой частоты дискретизации шины.

Выборка по шине — это простой способ реализовать ведомое устройство I2C, но для поддержки разумных скоростей передачи I2C вам потребуется тактовая частота выборки в несколько МГц. Это нормально, если остальная часть вашего устройства уже нуждается в таких быстрых частотах, но если это не так, то энергопотребление будет излишне увеличено. Надежное slave устройство I2C может быть реализовано с использованием только сигналов шины для синхронизации. Преимущество этого заключается в том, что подчиненный интерфейс не потребляет энергии (за исключением токов утечки), когда шина простаивает.


Протокол I2C

Шина I2C состоит из двух линий: SCL (последовательные часы) и SDA(последовательные данные), обе из которых обычно поддерживаются на высоком логическом уровне с помощью слабого подтягивающего резистора. Устройства управляют шиной, выбирая перевод линий в низкий логический уровень или оставляя свои выходы с высоким импедансом. Это основной механизм, лежащий в основе арбитража с несколькими ведущими, но здесь он не будет рассматриваться — для простоты мы предположим, что один главный сервер имеет несколько подчиненных устройств.

Есть три специальных события, генерируемых мастером, которые называются START, STOP и RESTART. Они используются, соответственно, для того, чтобы начать транзакцию, завершать транзакцию и начинать новую транзакцию без освобождения управления шиной. Временные диаграммы для этих трех событий показаны здесь:

[pic 3]

Синхронизация трех специальных управляющих событий, генерируемых мастером на шине I2C.

Существует два типа событий передачи байтов: от ведущего к ведомому и от ведомого к ведущему. Время для обоих одинаковое:

[pic 4]Время передачи данных по шине I2C

Биты данных размещаются SDA сначала по старшему разряду. В транзакции «ведущий-ведомый» мастер отправляет байт данных в течение первых 8 циклов, а затем ведомый подтверждает на 9-м цикле, устанавливая SDA низкий уровень. Транзакция ведомого к ведущему в точности обратна, за исключением того, что ведущее устройство подтверждает только то, что оно хочет, чтобы ведомое устройство передало еще один байт. Без этого правила ведомое устройство может продолжать удерживать SDA в следующем цикле, что не позволяет ведущему устройству генерировать событие RESTART или .STOP

...

Скачать:   txt (20.5 Kb)   pdf (1.3 Mb)   docx (1.3 Mb)  
Продолжить читать еще 6 страниц(ы) »
Доступно только на Essays.club