Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
theory:i2c [2020/05/19 16:36] labuser29theory:i2c [2020/05/19 16:59] (текущий) labuser29
Строка 7: Строка 7:
 Интерфейсы нужны в первую очередь для стандартизации и унификации. Несколько различных производителей устройств, которые никогда не слышали о существовании друг друга, могут производить устройства, которые успешно работают вместе, благодаря тому, что поддерживают один и тот же стандартный интерфейс.  Интерфейсы нужны в первую очередь для стандартизации и унификации. Несколько различных производителей устройств, которые никогда не слышали о существовании друг друга, могут производить устройства, которые успешно работают вместе, благодаря тому, что поддерживают один и тот же стандартный интерфейс. 
  
-Микроконтроллеры обычно включают в себя в качестве периферийных устройств контрóллеры различных интерфейсов.+Микроконтроллеры обычно включают в себя в качестве периферийных устройств контрóллеры различных интерфейсов. Мы будем использовать интерфейс I2C для работы с LCD дисплеем нашего конструктора. 
 + 
 +I2C — последовательная асимметричная шина для связи между интегральными схемами внутри электронных приборов. Использует две двунаправленные линии связи (SDA и SCL), применяется для соединения низкоскоростных периферийных компонентов с процессорами и микроконтроллерами (например, на материнских платах, во встраиваемых системах, в мобильных телефонах). Разработана фирмой Philips Semiconductors в начале 1980-х как простая 8-битная шина внутренней связи для создания управляющей электроники. Была рассчитана на частоту 100 кГц. Стандартизована в 1992 году, в первой версии к стандартному режиму 100 кбит/с добавлен скоростной режим 400 кбит/с (Fast-mode, Fm); за счёт 10-битной адресации становится возможным подключение на одну шину более 1000 устройств. 
 + 
 +Протокол обмена данными по шине I2C достаточно сложен, рассматривать его сейчас мы не будем. Для нас работа с ним будет заключаться в вызове функций стандартной библиотеки Python. 
 + 
 +<WRAP center round info 60%> 
 +[[https://ru.wikipedia.org/wiki/I²C|Подробнее о шине I2C]] 
 +</WRAP> 
 + 
 +Для нас важно то, что  
 +  * для обмена данными шина I2C использует две линии связи, грубо говоря два провода  
 +  * интерфейс подразумевает деление устройств на ведущих и ведомых 
 +  * ведущее устройство может быть только одно, ведомых несколько 
 +  * обменом управляет ведущее устройство 
 +  * только ведущее устройство может быть инициатором обмена данными 
 +  * для того, чтобы ведомые устройства поняли к кому из них обращается ведущий, используется адрессация. У каждого ведомого устройства есть свой адрес