Что такое шина i2c в телевизоре

Общие сведения:

Подключение:

Шина поддерживает подключение до 112 устройств (при 7-ми битной адресации) по двум проводам (плюс GND и Vcc), может иметь несколько ведущих и ведомых. При использовании нескольких ведущих, каждый из них должен поддерживать этот режим и уметь определять состояние занятой шины.

I²C на Arduino

Arduino UNO R3/Piranha UNO

На Arduino UNO R3/Piranha UNO шина I2C находится на выводах A4, A5. Также в эти выводы продублированы на колодке с цифровыми выводами рядом с кнопкой Reset.

7b6781f00baf68ac75d1849a356db9d3

Piranha ULTRA

На Piranha ULTRA шина I²C не занимает аналоговые выводы A4, A5 и находится на цифровой колодке рядом с кнопкой Reset, выводы обозначены SDA и SCL

f6b66178e50c3605bba0b9607b58c6bd

Arduino MEGA R3

На Arduino MEGA R3 шина I²C находится на цифровой колодке на крайних выводах, близких к разъёму USB и на выводах 20, 21. Выводы объединены.

3aaa4fa7ec41a7558b372bd19ae5b889

Примеры для Arduino

В этом примере на матрицу выводится изображение стрелки. Стоит заметить, ко всем нашим модулям написаны библиотеки с высокоуровневым интерфейсом и вовсе не обязательно работать с матрицей на низком уровне. Подробнее о работе с библиотекой матрицы можно узнать по этой ссылке.

I²C на Raspberry Pi

На Raspberry Pi I²C выводы это 3-й и 5-й выводы колодки, GPIO2 и GPIO3 по номенклатуре BCM и выводы 8, 9 по номенклатуре WiringPi.

b20194d68cf816e08075dc36a60a4ad9

Примеры для Raspberry

Подробнее о шине I²C:

Резисторы, ёмкость и длина линий шины

В официальном описании от NXP ничего не сказано о максимальной длине шины, но не стоит этим злоупотреблять. Шина была придумана для обмена информации между интегральными схемами в пределах одной платы одного устройства. В расчёт бралась только паразитная ёмкость линии, которая сказывается на скорости нарастания фронта волны. От этой ёмкости зависит номинал подтягивающих резисторов. Можно подобрать резисторы так, чтобы фронт волны нарастал согласно спецификации и при 100-метровой длине проводов, но это не избавляет от помех, которые влечёт за собой несимметричная электрическая реализация. Опять же, при слишком маленьком сопротивлении качество сигнала улучшается, но при этом растёт ток который необходимо пропускать устройствам через выводы для притяжки линий.

При использовании шины на модулях не существует принятого стандарта установки подтягивающих резисторов на ведущем или ведомом. У Arduino подтягивающие резисторы отсутствуют и для работы с шиной нужен хотя бы один модуль с ними. У Raspberry Pi на плате установлены подтягивающие резисторы номиналом 1,7 килоОм и для неё нет необходимости в подтяжке на модулях.

Сигналы и специальные биты шины

Устанавливаемые только ведущим

Устанавливаемые ведущим и ведомым

Обмен данными

При обмене данными тактированием занимается только ведущий, а ведомый может удерживать линию тактирования только если не успевает за ведущим, так называемое растягивание тактирования (clock-stretching). Не все модули поддерживают удержание. Установка бита на линии данных может происходит в момент, когда линия тактирования прижата, а считывания, когда линия отпущена (подтянута к Vcc), но в большинстве случаев это происходит по фронту волны на линии тактирования.

Рассмотрим пример простого обмена данными:

Запись в регистры ведомого. Данные взяты из примеров, приведённых выше.

После сигнала Start и указания адреса ведущий записывает адрес регистра с которого будет производиться дальнейшая запись. Стоит заметить, что у ведомого есть внутренний счётчик и каждый последующий байт после подтверждения будет записан в следующий регистр. Таким образом байт со значением 0x00 будет записан в регистр 0x11, байт со значением 0x18 будет записан в регистр 0x12, байт со значением 0x3C будет записан в регистр 0x13 и т. д. В этом примере биты ACK устанавливает ведомый.

Вот так сигналы этого примера выглядят на осциллографе:

Чтение из регистров ведомого. Предположим, мы хотим прочитать байт из регистра 0x13.

После сигнала Start и указания адреса ведущий записывает адрес регистра, который необходимо прочитать. Далее следует сигнал Restart (или Stop, затем Start). Ведущий снова выводит адрес ведомого, но уже с битом Read (чтения). Ведомый устанавливает бит ACK и во время следующих 8-ти импульсов тактирования выводит данные на линию SDA. На девятом импульсе уже ведущий устанавливает бит ACK (или NACK, если данные не удалось прочитать) и завершает обмен сигналом Stop.

Скорость

Первоначальный стандарт I²C был реализован на скорости 100 кГц. С тех пор появились и другие реализации шины, но большинство устройств работают на этой скорости. Так же известны случаи когда скорость шины специально снижена, чтобы увеличить расстояние передачи и уменьшить чувствительность к помехам. Не все модули могут работать на сниженной скорости.

Источник

Ремонт телевизоров.

Глава 1. Система управления и контроля современных телевизоров

1.1. Система передачи информации в телевизорах

1.1.1. Оцифровка аналоговых сигналов

На рис. 1.1. представлена упрощенная схема процесса оцифровки аналогового сигнала.

1.1

Рис. 1.1. Упрощенная схема преобразования аналогового сигнала в цифровую информацию

Слева на рис. 1.1 показано изменение амплитуды ступенчатого сигнала градаций серого с импульсом синхронизации по строкам. Снятие амплитуды аналогового сигнала в определенные моменты времени принято называть выборкой. Обработанный схемой выборки аналоговый сигнал трансформируется в импульсно-амплитудно-модулированный с фиксированными интервалами времени. Частоту снятия амплитуды сигнала определяют как тактовую частоту осуществления выборки. На рисунке показана тактовая частота выборки и линии, проведенные от перепадов сигнала тактовой частоты к аналоговому сигналу, которые указывают, какое значение амплитуды при этом измеряется. Чем выше выбирается тактовая частота выборки, тем точнее восстанавливается исходный аналоговый сигнал в результате обратного преобразования. Известно, что после дискретизации правильно могут быть восстановлены только те сигналы, частота которых меньше, чем половина тактовой частоты осуществления выборки. На рисунке для наглядности тактовая частота показана существенно ниже необходимой.

Читайте также:  Чтобы не прогарал глушитель

Преобразование аналогового сигнала в цифровой кодированный сигнал выполняется аналого-цифровыми преобразователями (АЦП), как показано на рис. 1.2. Здесь же показан аналоговый сигнал, который, пройдя в АЦП преобразование в соответствии с прикладываемой тактовой частотой, на выходе имеется в закодированном цифровом виде.

1.2

Рис. 1.2. Аналого-цифровой преобразователь

1.1.2. Система информационных шин

Необходимым условием транспортирующей способности шины является подключение ее к источнику напряжения питания. Обычно проводники шин подключаются к источнику питания через нагрузочные резисторы. В состоянии покоя на проводниках шины высокий (Н) уровень. Когда уровень на соответствующей линии шины изменяется с Н на L, что является приказом абонента шины, начинается передача информации. Информация передается последовательно следующими друг за другом блоками. Сначала передаются адресные биты и задается режим работы памяти (запись или чтение), затем следуют блоки данных. В конце передачи уровень на линии изменяется с L на Н.

Итак, передача цифровых данных и управляющих сигналов производится по специально устроенным проводникам, обеспечивающим бесперебойный обмен цифровой информацией между устройствами, подключенными к этим проводникам. Должен быть также установлен вид передачи данных (последовательный или параллельный). Все эти условия оговариваются в различных системах устройства цифровых шин. В телевизорах обычно применяются три различных системы устройства цифровых шин с последовательной передачей данных (последовательных шин):

1. Шина IM (Intermetall Bus) 2. Шина Томсона 3. Шина I2C.

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

В схеме конкретной модели телевизора может быть как одна, так и несколько цифровых шин, одинаковых или разных видов в тех или иных сочетаниях, используемых для обеспечения выполнения разного рода задач. Кроме того, существуют так называемые PLL-шины, которые используются для однонаправленной передачи данных по трем линиям в системах ФАПЧ.
Во всех случаях, когда речь идет о комплекте сигнальных линий, из которых состоит та или иная цифровая шина, надо иметь ввиду, что в комплект входит и «общий» провод.

Шина IM

На рис. 1.3 представлены временные диаграммы сигналов в линиях шины IM. Все три линии подключены к источнику положительного напряжения, поэтому в состоянии покоя на них присутствует напряжение высокого уровня. Обмен данными начинается в тот момент, когда уровень напряжения на линиях идентификации и синхронизации изменяется с высокого на низкий. Короткий импульс на линии идентификации свидетельствует об окончании процесса обмена.

На рис. 1.4 показана конфигурация системы с использованием шины IM. Передача данных производится по командам ведущего устройства (Master), которое в телевизорах обычно располагается в центральном узле управления (CCU). Все периферийные устройства работают как ведомые Slave, и передача данных происходит в одном направлении. Все три линии шины подключены через нагрузочные резисторы к источнику положительного напряжения. Стрелки справа означают, что к шине можно подключать и другие устройства.

1.3

Рис. 1.3. Временная диаграмма сигналов шины IM

1.4

Рис. 1.4. Конфигурация системы с шиной IM

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

Шина Томсона

1.5

Рис. 1.5. Временная диаграмма сигналов шины Томсона

1.6

Рис. 1.6. Конфигурация системы с шиной Томсона

На рис. 1.5 представлены временные диаграммы сигналов в линиях шины Томсона. Из рисунка видно, что передача данных начинается, когда уровень напряжения на линиях CLOCK и ENABLE изменяется с высокого на низкий. Конец передачи сигнализируется коротким импульсом на линии ENABLE. На рис. 1.6 показана конфигурация системы с шиной Томсона. Стрелки на линии данных указывают, что передача информации возможна в обоих направлениях. В этой системе также возможно подключение к шине нескольких устройств. При неисправности в одной из линий шины процесс обмена данными прекращается.

Шина I2C

Передача данных в этой системе возможна в обоих направлениях. На рис. 1.7 представлены временные диаграммы сигналов в линиях шины 12C. Здесь же показаны условия начала и остановки обмена информацией.

1.7

Рис. 1.7. Временная диаграмма сигналов шины I2C

1.8

Рис. 1.8. Конфигурация системы с шиной I2С

Параллельные шины

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

Источник

Радиолюбительские измерения: анализ сигналов шины I2C

9d6512d5a8bbea73ff0cbdf18361c8d4

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

Недавно я испытал потребность выяснить, что на самом деле передаётся в разрабатываемом мной устройстве по шине I2C. Это был тот счастливый момент, когда можно было себе позволить «пилить пилой».

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

Цифровой двухканальный осциллограф с памятью

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

К сигналу SCL был подключен CH1. К сигналу SDA был подключен CH2. Для обоих каналов был установлен масштаб 1.00 V/дел. Масштаб развёртки – 10 us/дел. Для наглядности луч первого канала смещён в верхнюю половину экрана, а луч второго канала – в нижнюю.

В меню Trigger осциллограф был настроен на однократное измерение с запуском по достижению передним фронтом в канале CH1 уровня 1.00 V:

w5rh6fc6t7ylim2soe16el1y su

После включения тестируемого оборудования была нажата большая красная кнопка Run/Stop. Осциллограф встал в режим ожидания, затем запустился. Через несколько секунд запись была остановлена вручную.

Полученная осциллограмма записывалась на внешний носитель поэкранно:

jjw uj7azfuajleysvkjytbkqza

Произведём разбор записанных сигналов. На первом экране мы видим отображение настроек прибора и осциллограмму сигналов SCL (верхняя часть) и SDA (нижняя часть экрана), на которой читаем слева направо:

Читайте также:  Стартер на тойоту 5а от чего подойдет

Логический анализатор цифровых сигналов

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

В программе был включен анализатор протокола I2C. Для сигнала SCL был назначен канал CH0, а для сигнала SDA – канал CH1. Частота выборки сигнала 24 MSa/s.

Запуск был настроен по «переднему» фронту CH0. Для отображения данных был выбран шестнадцатеричный формат.

g3dqkkhyebti856uuvvri6qb1iw

После включения тестируемого оборудования была нажата большая зелёная кнопка Start, и через несколько секунд на экран вывелась диаграмма:

hjudwij6fp19tjsbila6ryky11o

Максимум пользы в применении логического анализатора я вижу в том, что программа сама дешифрует полученные данные. Результаты дешифровки заносятся построчно в окно Decoded Protocols. При выборе в окне строки данных, программа показывает расположение этих данных на диаграмме.

Цифровой осциллограф vs логический анализатор

Для сравнения вариантов я «склеил» в графическом редакторе четыре снимка экрана осциллографа и фрагмент диаграммы логического анализатора:

goy8 kswvkuwhlpepxz2bcp s8u

Start обозначен зеленым кружочком, Stop – красным кружочком. На диаграмме сначала происходит проверка наличия на шине устройства с адресом 0x60, а затем производится запись в регистр 0xB7 этого устройства значения 0x80.

Если подходить к сравнению вариантов «с пристрастием», то можно заметить, что на диаграмме логического анализатора (частота выборки 24 MSa/s) присутствует «джиттер» сигнала SCL, которого нет, как такового, на осциллограмме с частотой выборки 1 GSa/s. В остальном картина совпадает, а логическим анализатором ещё и производится правильная дешифрация данных в автоматическом режиме.

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

Однако, если бы существовало программное обеспечение с лицензионным соглашением, позволяющим использование недорогих клонов популярных логических анализаторов, типа Saleae Logic 8 или DSLogic Plus…

И такое программное обеспечение существует

Недорогие клоны популярных логических анализаторов, и не только их, поддерживает программное обеспечение open source проекта sigrok.

Было собрано рабочее место:

jvb7uib7vtfwnq7h4z0 gpkc

После этого, в Zadig для устройства Logic были установлены драйверы WinUSB, и после повторного сканирования оно определилось в Zadig, как устройство fx2latw:

После этого для устройства fx2latw в Zadig снова были установлены драйверы WinUSB, и только после этого PulseView увидела в списке устройство «Saleae Logic». Устройство было подключено.

После подключения устройства были произведены следующие настройки программы (слева направо по панели инструментов, начиная с надписи «Saleae Logic»):

k

Похоже, «танцы с бубном» того стоили!

UPD: После ручной установки в Диспетчере устройств для устройства USB Logic драйвера libusb-win32 программа PulseView начала стабильно определять наличие в системе «Saleae Logic» без манипуляций с Zadig.

Краткие выводы:

В статье была описана методика проведения анализа сигналов шины I2C с помощью цифрового осциллографа с памятью и логических анализаторов с пакетами прикладного программного обеспечения.

Универсальным методом анализа сигналов, но недешёвым и небыстрым, является применение цифрового осциллографа с памятью.

Быстрым и бюджетным методом анализа сигналов, но с нетривиальной задачей подключения оборудования, является применение недорогого клона логического анализатора в связке с PulseView.

Буду рад, если своей публикацией помог сэкономить читателям время и деньги.

В следующей публикации расскажу, как измерял частоту, на которой запустился кварцевый резонатор в синтезаторе частоты, без частотомера. Но это уже другая история…

Источник

Передача данных. Протокол I2C.

24718 original

Микроконтроллер на рисунке это ведущий элемент (Master1) им может быть процессор. На рисунке представлено 3 ведомых перефириных элемента Slave В качестве Slave могут быть память, ЦАП, АЦП и пр. К шине может быть подключено до 127 устройств.

24908 original

Состояние СТАРТ и СТОП
Процедура обмена начинается с того, что ведущий формирует состояние СТАРТ: генерирует переход сигнала линии SDA из ВЫСОКОГО состояния в НИЗКОЕ при ВЫСОКОМ уровне на линии SCL. Этот переход воспринимается всеми устройствами, подключенными к шине, как признак начала процедуры обмена. Генерация синхросигнала — это всегда обязанность ведущего; каждый ведущий генерирует свой собственный сигнал синхронизации при пересылке данных по шине. Процедура обмена завершается тем, что ведущий формирует состояние СТОП — переход состояния линии SDA из низкого состояния в ВЫСОКОЕ при ВЫСОКОМ состоянии линии SCL. Состояния СТАРТ и СТОП всегда вырабатываются ведущим.
Считается, что шина занята после фиксации состояния СТАРТ. Шина считается освободившейся через некоторое время после фиксации состояния СТОП. При передаче посылок по шине I²C каждый ведущий генерирует свой синхросигнал на линии SCL. После формирования состояния СТАРТ ведущий опускает состояние линии SCL в НИЗКОЕ состояние и выставляет на линию SDA старший бит первого байта сообщения. Количество байт в сообщении не ограничено. Спецификация шины I²C разрешает изменения на линии SDA только при НИЗКОМ уровне сигнала на линии SCL. Данные действительны и должны оставаться стабильными только во время ВЫСОКОГО состояния синхроимпульса. Для подтверждения приёма байта от ведущего-передатчика ведомым-приёмником в спецификации протокола обмена по шине I²C вводится специальный бит подтверждения, выставляемый на шину SDA после приёма 8 бита данных.
Подтверждение
Таким образом передача 8 бит данных от передатчика к приёмнику завершаются дополнительным циклом (формированием 9-го тактового импульса линии SCL), при котором приёмник выставляет низкий уровень сигнала на линии SDA, как признак успешного приёма байта.

Подтверждение при передаче данных обязательно, кроме случаев окончания передачи ведомой стороной. Соответствующий импульс синхронизации генерируется ведущим. Передатчик отпускает (переводит в ВЫСОКОЕ состояние) линию SDA на время синхроимпульса подтверждения. Приёмник должен удерживать линию SDA в течение ВЫСОКОГО состояния синхроимпульса подтверждения в стабильном НИЗКОМ состоянии.

В том случае, когда ведомый-приёмник не может подтвердить свой адрес (например, когда он выполняет в данный момент какие-либо функции реального времени), линия данных должна быть оставлена в ВЫСОКОМ состоянии. После этого ведущий может выдать состояние СТОП для прерывания пересылки данных. Если в пересылке участвует ведущий-приёмник, то он должен сообщить об окончании передачи ведомому-передатчику путём неподтверждения последнего байта. Ведомый-передатчик должен освободить линию данных для того, чтобы позволить ведущему выдать состояние СТОП или повторить состояние СТАРТ.
Синхронизация
Синхронизация выполняется с использованием подключения к линии SCL по правилу монтажного И. Это означает, что ведущий не имеет монопольного права на управление переходом линии SCL из НИЗКОГО состояния в ВЫСОКОЕ. В том случае, когда ведомому необходимо дополнительное время на обработку принятого бита, он имеет возможность удерживать линию SCL в низком состоянии до момента готовности к приёму следующего бита. Таким образом, линия SCL будет находиться в НИЗКОМ состоянии на протяжении самого длинного НИЗКОГО периода синхросигналов.

Читайте также:  Характеристики стартер ст 369

Устройства с более коротким НИЗКИМ периодом будут входить в состояние ожидания на время, пока не кончится длинный период. Когда у всех задействованных устройств кончится НИЗКИЙ период синхросигнала, линия SCL перейдет в ВЫСОКОЕ состояние. Все устройства начнут проходить ВЫСОКИЙ период своих синхросигналов. Первое устройство, у которого кончится этот период, снова установит линию SCL в НИЗКОЕ состояние. Таким образом, НИЗКИЙ период синхролинии SCL определяется наидлиннейшим периодом синхронизации из всех задействованных устройств, а ВЫСОКИЙ период определяется самым коротким периодом синхронизации устройств.

Механизм синхронизации может быть использован приёмниками как средство управления пересылкой данных на байтовом и битовом уровнях.

На уровне байта, если устройство может принимать байты данных с большой скоростью, но требует определенное время для сохранения принятого байта или подготовки к приёму следующего, то оно может удерживать линию SCL в НИЗКОМ состоянии после приёма и подтверждения байта, переводя таким образом передатчик в состояние ожидания.

На уровне битов устройство, такое, как микроконтроллер без встроенных аппаратных цепей I²C или с ограниченными цепями, может замедлить частоту синхроимпульсов путём продления их НИЗКОГО периода. Таким образом скорость передачи любого ведущего адаптируется к скорости медленного устройства.
Адресация в шине I²C
Каждое устройство, подключённое к шине, может быть программно адресовано по уникальному адресу. Для выбора приёмника сообщения ведущий использует уникальную адресную компоненту в формате посылки. При использовании однотипных устройств ИС часто имеют дополнительный селектор адреса, который может быть реализован как в виде дополнительных цифровых входов селектора адреса, так и в виде аналогового входа.

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

В обычном режиме используется 7-битная адресация.

Процедура адресации на шине I²C заключается в том, что первый байт после сигнала СТАРТ определяет, какой ведомый адресуется ведущим для проведения цикла обмена. Исключение составляет адрес «Общего вызова», который адресует все устройства на шине. Когда используется этот адрес, все устройства в теории должны послать сигнал подтверждения. Однако устройства, которые могут обрабатывать «общий вызов», на практике встречаются редко.

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

После того, как адрес послан, каждое устройство в системе сравнивает первые семь бит после сигнала СТАРТ со своим адресом. При совпадении устройство полагает себя выбранным как ведомый-приёмник или как ведомый-передатчик, в зависимости от бита направления.

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

Все специализированные ИМС, поддерживающие работу в стандарте шины I²C, имеют набор фиксированных адресов, перечень которых указан производителем в описаниях контроллеров.

Комбинация бит 11110ХХ адреса зарезервирована для 10-битной адресации.

Как следует из спецификации шины, допускаются как простые форматы обмена, так и комбинированные, когда в промежутке от состояния СТАРТ до состояния СТОП ведущий и ведомый могут выступать и как приёмник, и как передатчик данных. Комбинированные форматы могут быть использованы, например, для управления последовательной памятью.

Во время первого байта данных можно передавать адрес в памяти, который записывается во внутренний регистр-защёлку. После повторения сигнала СТАРТа и адреса ведомого выдаются данные из памяти. Все решения об авто-инкременте или декременте адреса, к которому произошёл предыдущий доступ, принимаются конструктором конкретного устройства. Поэтому в любом случае лучший способ избежать неконтролируемой ситуации на шине перед использованием новой (или ранее не используемой) ИМС — следует тщательно изучить её описание (datasheet или reference manual), получив его с сайта производителя. Более того, производители часто размещают рядом более подробные инструкции по применению.

В любом случае по спецификации шины все разрабатываемые устройства должны сбрасывать логику шины при получении сигнала СТАРТ или повторный СТАРТ и подготавливаться к приёму адреса.

Тем не менее, основные проблемы с использованием I²C шины возникают именно из-за того, что разработчики, «начинающие» работать с I²C шиной, не учитывают того факта, что ведущий (часто — микропроцессор) не имеет монопольного права ни на одну из линий шины.

1. Связь процессора с памятью (чаще EEPROM)
2. HDMI и DVI интерфейсы (для передачи служебной информации от телевизора к устройству которое воспроизводит видеоконтент, либо для передачи информации от монитора к компьютеру для передачи информации, что за монитор подключили с какими характеристикаи, передача информации от термостата ЦП или информация о скорости вращения кулера и т.д.)
3. Микросхемы и карты памяти (EEPROM, RAM, FERAM, Flash);
4. Доступ к низкоскоростным ЦАП/АЦП;
5. Регулировка контрастности, насыщенности и цветового баланса мониторов;
6. Регулировка звука в динамиках;
7. Управление светодиодами, в том числе в мобильных телефонах;
8. Чтение информации с часов реального времени (кварцевых генераторов);
9. Управление включением/выключением питания системных компонент;
10. Клавиатуры
11. Информационный обмен между микроконтроллерами;

Пример системы с шиной I²C:
На рисунке (Кликабельно):
(a) Высокоинтегрированный телевизор25316 600
Микроконтроллер
ФАПЧ-синтезатор
Флеш-память
Мультисистемный декодер сигналов цветности
Стереодекодер звука
Улучшитель сигнала картинки
Hi-Fi аудиопроцессор
Аналоговый видеопроцессор
Декодер телетекста
ИМС сигналов OSD
(b) базовая станция радиотелефона стандарта DECT
Генератор DTMF
Интерфейс телефонной линии
Кодек АДИКМ
Пакетный контроллер
Микроконтроллер

Источник

Оцените статью
Adblock
detector