Нет понимания по шине

Понимание шины IIC, функций вызова и общих вопросов интервью

IIC — это межинтегральная схема (шина интегральной схемы)
Шина I2C — это последовательная шина, запускаемая PHLIPS. Шина I2C имеет только две двунаправленные сигнальные линии. Один — это линия данных SDA, а другой — линия синхронизации SCL.
Напишите здесь описание изображения
Нет понимания по шине
Каждое устройство, подключенное к шине I2C, имеет уникальный адрес. При передаче данных между хостом и другими устройствами хост может отправлять данные другим устройствам, а затем хост является передатчиком. Устройство, получающее данные по шине, является получателем.
Нет понимания по шине
2. Протокол связи шины IIC:

Чтобы освоить протокол связи IIC, вам необходимо освоить следующие 6 сигналов связи:
1. Сигнал запуска
2. Сигнал завершения
3. Запись данных
4. Чтение данных.
5. Сигнал ответа
6. Сигнал отсутствия ответа

Сигналы запуска и остановки
Во время высокого уровня линии SCL изменение линии SDA с высокого на низкий указывает сигнал запуска; во время высокого уровня линии SCL линия SDA изменяется с низкого на низкий. Изменение высокого уровня указывает на сигнал завершения.

Ответный сигнал
Протокол шины IIC предусматривает, что после передачи каждого байта данных должен быть ответный сигнал, чтобы определить, получена ли передача данных другой стороной. Ответный сигнал генерируется принимающим устройством. Во время высокого уровня SCL принимающее устройство переводит SDA с низкого на низкий, указывая, что передача данных правильная, и генерируется подтверждение (ACK).

передача информации
Когда шина I2C передает данные, данные в линии данных должны оставаться стабильными во время высокого уровня тактового сигнала. Только когда сигнал на линии тактового сигнала низкий, линия данных Допускается изменение высокого или низкого уровня переключателя.

Согласно микросхеме AT24C02 могут быть написаны следующие программы сигнальных функций:

Нет понимания по шине

Согласно схеме последовательности операций, 24C02 могут записывать функциональные программы чтения и записи:

Нет понимания по шине

3. Общие вопросы интервью о автобусе IIC: (ссылка)

Видео:Что означает МАРКИРОВКА НА ШИНАХ / Значение всех цифр и букв на резинеСкачать

Что означает МАРКИРОВКА НА ШИНАХ / Значение всех цифр и букв на резине

Расскажи про I2C, знаешь?
Шина I2C — это последовательная шина, представленная Philips (PHLIPS), используемая для подключения микроконтроллера и его периферийных устройств. Последовательная шина I2C имеет две двунаправленные сигнальные линии. Один — это линия данных SDA, а другой — линия синхронизации SCL. Он может управлять всеми подчиненными устройствами, установленными на шине I2C, только с двумя сигнальными линиями. Преимущество этого заключается в значительной экономии ресурсов порта ввода-вывода нашего микропроцессора.

Сколько устройств можно подключить к I2C?
Ответ. Протокол IIC предусматривает, что после запуска шины старшие 7 бит первого байта являются адресом адресации подчиненного узла, среди которых старшие четыре бита — идентификатор типа устройства, а следующие три бита — Выбор микросхемы, последний бит — это бит чтения и записи. Когда он равен 1, это операция чтения, а когда он равен 0, это операция записи. Таким образом, количество установленных устройств определяется адресом I2C. 7-битный адрес адресации минус 1 широковещательный адрес 0x00 Нет, поэтому 2 ^ 7 = 128-1 = 127, то есть 127 адресов, поэтому теоретически можно подключить 127 подчиненных устройств.

Как I2C может одновременно монтировать несколько устройств одного типа (устройств с одним и тем же адресом)?
Ответ. Теоретически такая конструкция невозможна. Если вам необходимо это сделать, вы можете разработать ее аппаратно, чтобы контролировать, установлено ли устройство на шине. Подключен ли к шине SDA или SCL для достижения)

Как происходит связь между мастером и ведомым устройством шины I2C?
Связь между ведущим и ведомым устройством шины I2C в основном связана с синхронизацией I2C. SCL и SDA устанавливаются на высокий уровень в начале связи, и это время простоя шины. Когда SCL высокий, во время SDA уровень понижается, отмечая начало шины. Когда SCL высокий, уровень SDA повышается, отмечая завершение шины. Во время передачи данных, во время высокого уровня SCL, данные на SDA должны оставаться стабильными.Только когда сигнал SCL низкий, высокий уровень на SDA может изменяться. Итак, пока мы правильно записываем время IIC в соответствии с руководством по микросхеме и отправляем адрес устройства (разные устройства имеют разные адреса) и данные в соответствии с синхронизацией, тогда ведущее и ведомое устройства могут обмениваться данными.

Вы знаете арбитраж шины I2C?
К шине может быть подключено несколько устройств, и иногда два или более главных устройства хотят занять шину одновременно. Такая ситуация называется конкуренцией шины. Шина I2C имеет несколько возможностей главного управления, которые могут определять конкуренцию на шине, которая происходит на линии SDA. Принцип арбитража таков: когда несколько главных устройств хотят занять шину одновременно, если главное устройство отправляет высокий уровень, и Если другое ведущее устройство отправляет низкий уровень, устройство, уровень отправки которого не соответствует уровню шины SDA в это время, автоматически отключит свой выходной каскад. Арбитраж автобусных соревнований проводится на двух уровнях. Первый — это сравнение битов адреса.Если ведущее устройство обращается к одному и тому же ведомому устройству, оно вводит сравнение битов данных для обеспечения надежности арбитража конкуренции. Поскольку информация на шине I2C используется для арбитража, никакая информация не будет потеряна.

Читайте также: Система подкачки шин урал некст

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

Другие особенности шины I2C
1. Во время передачи данных уровень на линии SDA должен оставаться стабильным в течение высокого уровня SCL. Только при низком уровне вероятности нежелательной почты уровень на линии SDA может изменять состояние. И когда передается каждый байт, первым идет старший разряд.
2. Для сигнала ответа, когда ACK = 0, это действительный бит ответа, указывающий, что ведомое устройство успешно приняло байт, если он равен 1, это указывает, что прием был неудачным.
3. Если ведомому устройству необходимо задержать время начала передачи следующего байта данных, оно может заставить ведущее устройство перейти в состояние ожидания, установив низкий уровень вероятности нежелательной почты и поддерживая его.
4. После того, как хост завершает обмен данными и хочет продолжать занимать шину для другого обмена данными, не освобождая шину, он должен использовать сигнал перезапуска Sr. Он служит концом предыдущей передачи данных и началом следующей передачи.
5. Когда шина конфликтует, в соответствии с принципом арбитража «сначала низкий уровень», шина оценивается ведущему устройству, которое сначала отправляет низкий уровень по линии данных.
6. В особых случаях, если вам нужно запретить все обмены данными, которые происходят на шине I2C, вы можете заблокировать или закрыть шину. Конкретная операция заключается в блокировании SCL на любом устройстве на шине. Достаточно низкого уровня.
7. Обработка арбитража SDA и тактовой синхронизации SCL не связаны друг с другом, а выполняются одновременно.

Основные концепции и структура I2C

1. Характеристики шины IIC

2. Принцип работы шины IIC.

Управляющий сигнал, посылаемый ЦП, делится на две части: адресный код и управляющую величину:

Видео:Что означает маркировка на шинах! Значение цифр и букв на резине.Скачать

Что означает маркировка на шинах! Значение цифр и букв на резине.

Код адреса используется для выбора адреса, то есть для подключения цепи, подлежащей управлению, для определения типа управления;

Величина контроля определяет тип регулировки (например, контрастность, яркость и т. Д.) И величину, которую нужно отрегулировать.

Таким образом, хотя схемы управления подключены к одной шине, они независимы друг от друга и не связаны друг с другом.

Стартовый сигнал: при высоком уровне вероятности нежелательной почты SDA переходит с высокого на низкий и начинает передачу данных;

Конечный сигнал: при высоком уровне SCL SDA переходит с низкого уровня на высокий, завершая передачу данных;

Сигнал передачи данных: после условия запуска, периода высокого уровня тактового сигнала SCL, когда линия данных стабильна, состояние линии данных SDA указывает, что данные действительны, то есть данные могут быть считаны, и операция чтения началась. В течение низкого периода тактового сигнала SCL данные в линии данных могут изменяться. Каждый бит данных требует тактового импульса.

Сигнал ответа: после получения 8-битных данных ИС, принимающая данные, отправляет специальный импульс низкого уровня в ИС, передающую данные, чтобы указать, что данные были получены. После того, как ЦП отправляет сигнал управляемому блоку, он ожидает, пока управляемый блок отправит ответный сигнал.После того, как ЦП принимает ответный сигнал, он определяет, следует ли продолжать передачу сигнала в соответствии с реальной ситуацией. Если ответный сигнал не получен, определяется, что управляемый блок неисправен.

3. Основные операции автобуса

Арбитраж не может проводиться между следующими ситуациями:

1) Повторите условие запуска и бит данных;
2) Условия остановки и биты данных;
3) Повторите условие запуска и условие остановки.

a — Когда SCL = 1 (высокий уровень), SDA не должен мерцать . В противном случае, если SDA перескакивает вниз, «штрафом» является «сигнал запуска S», а если SDA повышается, «штрафом» является «сигнал остановки P» «.

b-Когда SCL = 0 (низкий уровень), SDA будет мигать по желанию . (Не мерцайте, чтобы SCL подскакивал высоко)

Видео:Как понять, когда протектор износился и шины пора менятьСкачать

Как понять, когда протектор износился и шины пора менять

Читайте также: Давление в шинах пежо 605

c-После каждого байта другая сторона должна отправить ответный сигнал ACK как знак того, что другая сторона находится в сети. Сигнал неподтверждения обычно идет после последнего байта всех байтов. Как правило, соглашение подписывается обеими сторонами.

d-SCL должен быть отправлен хостом, иначе мир будет в хаосе

e-Первый байт — это «сигнал выбора микросхемы», то есть 7-битный адрес ведомого плюс 1 бит управления направлением (чтение и запись). Подчиненное устройство принимает (слышит) свой собственный адрес, прежде чем сможет отправить ответный сигнал (должен ответить . ) Это означает, что вы в сети. Рабам других адресов запрещено мерцать . (Конечно, групповые вызовы могут мерцать, но они могут только слушать, а не говорить)

f-чтение и запись определяются с точки зрения хоста. «Чтение» означает, что хост получает данные от подчиненного устройства, а «запись» означает, что хост отправляет данные подчиненному устройству.

g — Бит повтора в основном используется хостом для переключения «сигнала» из режима отправки в режим приема. Поскольку здесь всего 2 провода, преобразование трансивера должно быть более сложным, чем SPI, потому что SPI может отправлять и получать данные с разными фронтами, а IIC — нет.

h-В аппаратном модуле IIC, особенно MCU / ARM / DSP, каждый этап получит точный код состояния.По этому коду состояния легко узнать, какой статус и какое сообщение об ошибке находится в настоящее время.

i-7-битная шина IIC может быть подключена к 127 устройствам IIC с разными адресами, а в качестве адреса группового вызова используется «номер устройства» 0. 10-битная шина IIC может быть подключена к большему количеству 10-битных устройств IIC.

2. Архитектура драйвера IIC под Linux

Нет понимания по шине

На рисунке выше полностью описана архитектура драйвера i2c для linux.Хотя аппаратная архитектура I2C относительно проста, реализация архитектуры i2c в Linux довольно сложна.

1. Классификация иерархии структур

Видео:Как понять, повреждённая шина ещё годится или уже нетСкачать

Как понять, повреждённая шина ещё годится или уже нет

Первый уровень: предоставить аппаратный драйвер адаптера i2c, обнаружить и инициализировать адаптер i2c (например, подать заявку на адрес io и номер прерывания i2c), запустить адаптер i2c, управляемый soc, для генерации сигналов (запуск, остановка, подтверждение) на оборудовании и обработать прерывание i2c. . Уровень аппаратной реализации в оверлее

Второй уровень: предоставить алгоритм адаптера i2c, использовать функцию xxx_xferf () конкретного адаптера для заполнения указателя функции master_xfer i2c_algorithm, а затем назначить назначенный i2c_algorithm указателю алгоритма i2c_adapter. Уровень абстракции доступа и основной уровень i2c в оверлее

Третий уровень: реализовать интерфейс i2c_driver в драйвере устройства i2c и назначить указатели функций-членов i2c_driver с помощью методов attach_adapter () и detach_adapter () конкретного устройства i2c. Осуществите связь между устройством и шиной (или адаптером). Слой драйвера драйвера в наложении

Четвертый уровень: реализовать драйвер конкретного устройства, соответствующего устройству i2c, i2c_driver реализует только подключение устройства к шине, а устройства, подключенные к шине, очень разные, поэтому необходимо реализовать запись (), чтение конкретного устройства устройства. (), ioctl () и другие методы присваивают значения file_operations, а затем регистрируют символьные устройства (в основном символьные устройства). Слой драйвера драйвера в наложении

2. Детальный анализ трех частей архитектуры драйвера I2C под Linux.

Файл i2c-mpc.c в папке Busses реализует драйвер адаптера шины I2C в PowerPC, определяет и описывает структуру данных i2c_adapter конкретного адаптера шины I2C и реализует конкретный метод доступа к шине I2C на нижнем уровне. I2Cadapter создает структуру данных для интерфейса уровня I2Ccore и регистрирует контроллер с помощью I2Ccore через функцию интерфейса. I2Cadapter в основном реализует алгоритм доступа к шине I2C. Функция iic_xfer () является реализацией нижнего уровня I2Cadapter для метода чтения и записи шины I2C. В то же время I2Cadpter также реализует функцию обработки прерываний контроллера I2C.

Нет понимания по шине

Согласно спецификации шины IIC, шина IIC состоит из двух физических линий: SDA и SCL. Пока устройства, подключенные к шинам SDA и SCL, могут называться устройствами IIC.

Как ответить на собеседовании —-> Протокол шины IIC?

Основные проблемы IIC, с которыми столкнулись во время собеседования, заключаются в следующем.

Расскажи про I2C, знаешь?
Шина I2C — это последовательная шина, представленная Philips (PHLIPS), используемая для подключения микроконтроллера и его периферийных устройств. Последовательная шина I2C имеет две двунаправленные сигнальные линии. Один — это линия данных SDA, а другой — линия синхронизации SCL. Он может управлять всеми подчиненными устройствами, установленными на шине I2C, только с двумя сигнальными линиями. Преимущество этого заключается в значительной экономии ресурсов порта ввода-вывода нашего микропроцессора.

Сколько устройств можно подключить к I2C?
Ответ. Протокол IIC предусматривает, что после запуска шины старшие 7 бит первого байта являются адресом адресации подчиненного узла, среди которых старшие четыре бита — идентификатор типа устройства, а следующие три бита — Выбор микросхемы, последний бит — это бит чтения и записи. Когда он равен 1, это операция чтения, а когда он равен 0, это операция записи. Таким образом, количество установленных устройств определяется адресом I2C. 7-битный адрес адресации минус 1 широковещательный адрес 0x00 Нет, поэтому 2 ^ 7 = 128-1 = 127, то есть 127 адресов, поэтому теоретически можно подключить 127 подчиненных устройств.

Видео:Жёсткость шины и высота профиля. Размеры шин. Как выбрать.Скачать

Жёсткость шины и высота профиля. Размеры шин. Как выбрать.

Читайте также: Мазда 6 2019 года размер шин

Как I2C может одновременно монтировать несколько устройств одного типа (устройств с одним и тем же адресом)?
Ответ. Теоретически такая конструкция невозможна. Если вам необходимо это сделать, вы можете разработать ее аппаратно, чтобы контролировать, установлено ли устройство на шине. Подключен ли к шине SDA или SCL для достижения)

Как происходит связь между мастером и ведомым устройством шины I2C?
Связь между ведущим и ведомым устройством шины I2C в основном связана с синхронизацией I2C. SCL и SDA устанавливаются на высокий уровень в начале связи, и это время простоя шины. Когда SCL высокий, во время SDA уровень понижается, отмечая начало шины. Когда SCL высокий, уровень SDA повышается, отмечая завершение шины. Во время передачи данных, во время высокого уровня SCL, данные на SDA должны оставаться стабильными.Только когда сигнал SCL низкий, высокий уровень на SDA может изменяться. Итак, пока мы правильно записываем время IIC в соответствии с руководством по микросхеме и отправляем адрес устройства (разные устройства имеют разные адреса) и данные в соответствии с синхронизацией, тогда ведущее и ведомое устройства могут обмениваться данными.

Вы знаете арбитраж шины I2C?
К шине может быть подключено несколько устройств, и иногда два или более главных устройства хотят занять шину одновременно. Такая ситуация называется конкуренцией шины. Шина I2C имеет несколько возможностей главного управления, которые могут определять конкуренцию на шине, которая происходит на линии SDA. Принцип арбитража таков: когда несколько главных устройств хотят занять шину одновременно, если главное устройство отправляет высокий уровень, и Если другое ведущее устройство отправляет низкий уровень, устройство, уровень отправки которого не соответствует уровню шины SDA в это время, автоматически отключит свой выходной каскад. Арбитраж автобусных соревнований проводится на двух уровнях. Первый — это сравнение битов адреса.Если ведущее устройство обращается к одному и тому же ведомому устройству, оно вводит сравнение битов данных для обеспечения надежности арбитража конкуренции. Поскольку информация на шине I2C используется для арбитража, никакая информация не будет потеряна.

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

Другие особенности шины I2C
1. Во время передачи данных уровень на линии SDA должен оставаться стабильным в течение высокого уровня SCL. Только при низком уровне вероятности нежелательной почты уровень на линии SDA может изменять состояние. И когда передается каждый байт, первым идет старший разряд.

2. Для ответного сигнала, когда ACK = 0, это действительный бит ответа, указывающий, что ведомое устройство успешно приняло байт, если он равен 1, это указывает, что прием был неудачным.

3. Если ведомому устройству необходимо отсрочить время начала передачи следующего байта данных, уровень SCL можно понизить и удерживать, чтобы заставить ведущее устройство перейти в состояние ожидания.

4. После того, как хост завершает обмен данными и хочет продолжить использование шины для связи, не освобождая шину, он должен использовать сигнал перезапуска Sr. Он служит концом предыдущей передачи данных и началом следующей передачи.

5. Когда шина конфликтует, в соответствии с арбитражным принципом «приоритета низкого уровня», шина оценивается ведущему устройству, которое сначала отправляет низкий уровень по линии данных.

6. В особых обстоятельствах, если вам нужно запретить все коммуникации, которые происходят на шине I2C, вы можете заблокировать или закрыть шину.Особая операция — заблокировать SCL на низком уровне любым устройством на шине.

7. Процессы арбитража SDA и синхронизации часов SCL не связаны друг с другом, но выполняются одновременно.

  • Свежие записи
    • Нужно ли менять пружины при замене амортизаторов
    • Скрипят амортизаторы на машине что делать
    • Из чего состоит стойка амортизатора передняя
    • Чем стянуть пружину амортизатора без стяжек
    • Для чего нужны амортизаторы в автомобиле

    🎥 Видео

    Всего за 2 минуты определить направление движения у колеса, если нет Никаких ОбозначенийСкачать

    Всего за 2 минуты определить направление движения у колеса, если нет Никаких Обозначений

    ЧТО БУДЕТ ЕСЛИ ШИНУ ПОСТАВИТЬ ДРУГОЙ СТОРОНОЙСкачать

    ЧТО БУДЕТ ЕСЛИ ШИНУ ПОСТАВИТЬ ДРУГОЙ СТОРОНОЙ

    Как определить , можно ли ездить на этой б\у резине или пора менять?Скачать

    Как определить , можно ли ездить на этой б\\у резине или пора менять?

    Разуется или нет? Переставка на шинах Run Flat и 80 км на жеваной покрышке! Все об усиленных шинахСкачать

    Разуется или нет? Переставка на шинах Run Flat и 80 км на жеваной покрышке! Все об усиленных шинах

    ШИНЫ НЕ БУДУТ ТРЕСКАТЬСЯ ЕСЛИ СДЕЛАТЬ ТАКСкачать

    ШИНЫ НЕ БУДУТ ТРЕСКАТЬСЯ ЕСЛИ СДЕЛАТЬ ТАК

    Экспресс диагностика CAN шины на автомобиле. №21Скачать

    Экспресс диагностика CAN шины на автомобиле. №21

    Можно ли поставить шину шире диска?! Что будет если поставить шину шире диска?Скачать

    Можно ли поставить шину шире диска?! Что будет если поставить шину шире диска?

    5 ошибок о РЕМОНТНЫХ ШИПАХСкачать

    5 ошибок о РЕМОНТНЫХ ШИПАХ

    ДАВЛЕНИЕ В ШИНАХ БУДЕТ ТОЧНЫМ ЕСЛИ СДЕЛАТЬ ТАК | КАЛИБРОВКА МАНОМЕТРА СВОИМИ РУКАМИСкачать

    ДАВЛЕНИЕ В ШИНАХ БУДЕТ ТОЧНЫМ ЕСЛИ СДЕЛАТЬ ТАК | КАЛИБРОВКА МАНОМЕТРА СВОИМИ РУКАМИ

    ТИХИЕ ШИНЫ - ПОСМОТРИ ПЕРЕД ПОКУПКОЙСкачать

    ТИХИЕ ШИНЫ - ПОСМОТРИ ПЕРЕД ПОКУПКОЙ

    Маркировка шин: расшифровка размера, даты производства и других обозначенийСкачать

    Маркировка шин: расшифровка размера, даты производства и других обозначений

    Какой размер шин подходит автомобилю: 5 способов узнатьСкачать

    Какой размер шин подходит автомобилю: 5 способов узнать

    Давление в Шинах от R13 до R18Скачать

    Давление в Шинах от R13 до R18

    Монтаж шин и направление рисунка протектораСкачать

    Монтаж шин и направление рисунка протектора

    Подробно про CAN шинуСкачать

    Подробно про CAN шину
Поделиться или сохранить к себе:
Технарь знаток