Тёмный

Лекция 308. Шина I2C 

Электротехника и электроника для программистов
Просмотров 101 тыс.
50% 1

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

Опубликовано:

 

13 авг 2016

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 107   
@oleksandrhusiev6544
@oleksandrhusiev6544 5 лет назад
Божественные лекции, я бы заново поступил в универ, если бы так преподавали. Спасибо!
@aleksandrmikhalitsyn7940
@aleksandrmikhalitsyn7940 7 лет назад
Спасибо Вам огромное. Вы замечательный преподаватель. (Привет из СПбГУ)
@jamiekohen9818
@jamiekohen9818 2 года назад
InstaBlaster.
@alucard503
@alucard503 7 лет назад
Спасибо Вам большое за интереснейшие, а главное понятные лекции, дай Бог Вам здоровья! Очень хотелось бы увидеть лекцию о UART и USART интерфейсе и рассмотрении их отличий. Заранее благодарен!
@user-bq6vk8qz4t
@user-bq6vk8qz4t 3 года назад
Тупа шок. Такого понятного объяснения даже не ожидал. Сердечно благодарю!
@Radia5022
@Radia5022 6 лет назад
Чувствуются советские фундаментальные знания. Лайк! Здоровья и удачи!
@chuvakelectronshic96
@chuvakelectronshic96 7 лет назад
Шикарная лекция, отличный канал! Спасибо Вам за это!
@andreyr7461
@andreyr7461 6 лет назад
Классные лекции. Большое спасибо.
@ValterMiass
@ValterMiass 7 лет назад
Отличная лекция!!! СПАСИБО!
@jackthursby9770
@jackthursby9770 5 лет назад
Спасибо Вам большое за Вашу Работу!
@zvezdokol
@zvezdokol 6 лет назад
Отличная лекция, поздравляю студентов.
@user-rq9ji8kb4w
@user-rq9ji8kb4w 4 года назад
Огромное спасибо за ваши лекции!
@dmitriykozmin3091
@dmitriykozmin3091 5 лет назад
Спасибо большое за Ваш труд! Вы - прекрасный преподаватель!
@motoham48
@motoham48 7 лет назад
Очень грамотное объяснение. спасибо!
@wovada
@wovada 5 лет назад
Спасибо за работу. Буду изучать. Молодец Вы.
@DennyBoyTrade
@DennyBoyTrade 6 лет назад
Большое спасибо за ваши труды. Все просто и понятно.
@allavg
@allavg 3 года назад
Дай вам Бог здоровья! Очень полезная информация!
@NixHibriD
@NixHibriD 5 лет назад
Спасибо вам огромное! Вы лучший!
@Smith19722011
@Smith19722011 5 лет назад
Захотел пойти учится :) Спасибо, все очень доступно и понятно. Подписываюсь!
@amd9800
@amd9800 7 лет назад
Супер - самая лучшая лекция из Ютуб
@user-xd8tq4he7y
@user-xd8tq4he7y 6 лет назад
Спасибо вам большое за лекции, давно искал подобные курсы, что бы восполнить нехватку знаний в стремительно развивающий век электроники.
@MeligosLast
@MeligosLast 5 лет назад
Отличная лекция! Все понятно и доступно! Спасибо большое. Нам бы в институт таких преподавателей
@avkservise
@avkservise 7 лет назад
Ура!!! Микрофон, у Вас самые лучшие лекции, спасибо Вам, удачи
@user-de5sw1dy4h
@user-de5sw1dy4h 7 лет назад
Отличная лекция. Спасибо огромное, общедоступным языком рассказано. Благодарен.
@JurijBabicev
@JurijBabicev 5 лет назад
замечательные лекции, просто глатаю информацыю кусками. Очень благодарен автору за этот труд.
@bill2home
@bill2home 7 лет назад
Спасибо за знания!
@master-sd
@master-sd 6 лет назад
Молодец. Чувствуется что любите свою работу Спасибо.
@cbr929fb
@cbr929fb 6 лет назад
Отличная подача, даже мне самоучки все понятно стало
@banaaboy6504
@banaaboy6504 6 лет назад
Всех благ вам. Спасибо.
@petrovichvictor2536
@petrovichvictor2536 5 лет назад
Лучше чем мой препод в универе, спасибо)
@artcleavenger2640
@artcleavenger2640 2 года назад
Очень приятно слушать. Преподаватель супер. Много даже сейчас для себя освоил
@user-do2rp6br5v
@user-do2rp6br5v 5 лет назад
Благодарю! Просто и доходчиво.
@nagirich
@nagirich 7 лет назад
офигенно объясняете
@hidok4551
@hidok4551 4 года назад
Класс .Наконец то я понял как работает i2c.Лайк!
@user-ok2lx6zd7z
@user-ok2lx6zd7z 6 лет назад
Очень понятно обьяснили , спасибо .
@ArduBlock
@ArduBlock 4 года назад
Спасибо) Очень полезная информация) При работе с Arduino!
@trampblack7317
@trampblack7317 7 лет назад
Огроменное спасибо!
@Iismenok
@Iismenok 4 года назад
Очень понятно и толково .Спасибо !!!
@vyorkin
@vyorkin 4 года назад
Отличное объяснение! Спасибо
@NBMaster
@NBMaster 4 года назад
Спасибо, очень доступно.
@user-bq1nw9ld8m
@user-bq1nw9ld8m 4 года назад
Всё очень понятно, спасибо!
@aleksei089
@aleksei089 3 года назад
Спасибо за интересную и понятную лекцию! Крепкого здоровья и продуктивной деятельности! С уважением, робототехники Лондонского Миддлсекского университета!
@_suso_
@_suso_ 3 года назад
Огромное спасибо!
@j.memecian3286
@j.memecian3286 3 года назад
Низкий поклон.
@user-fc2ju4cu3w
@user-fc2ju4cu3w 7 лет назад
спасибо Вам!
@Bartimeus1
@Bartimeus1 4 года назад
Спасибо, отличное объяснение!
@andrejva7249
@andrejva7249 5 лет назад
Благодарю 👍👍👍👍
@Expert69RUS
@Expert69RUS 4 года назад
Хороший дядька.
@fog3905
@fog3905 7 лет назад
Спасибо!
@avr_stm_pro2955
@avr_stm_pro2955 4 года назад
Преподаватель от Бога
@laune73
@laune73 4 года назад
Супер! Всё понятно!
@mpetkov1
@mpetkov1 5 лет назад
Большое спасибо.
@user-gp8qo3vq6i
@user-gp8qo3vq6i 4 года назад
Спасибо.Интересная лекция.Вот если бы продолжение по работе с EEPROM
@konstantintsygankov153
@konstantintsygankov153 6 лет назад
Спасибо!!!
@user-ep9th1vq8c
@user-ep9th1vq8c 2 года назад
Спасибо большое! Все понятно и доходчиво!👏
@vitaliyanokhin371
@vitaliyanokhin371 5 лет назад
Уважаемы лектор.
@sancholife9451
@sancholife9451 5 лет назад
Очень классно! СПАСИБО ВАМ! Эх, поступить бы учиться... но староват наверное я уже... )))) Да и считать не умею..
@user-fm7po3pt8o
@user-fm7po3pt8o 4 года назад
Спасибо
@AndriiNikolaiev
@AndriiNikolaiev 4 года назад
Спасибо.
@tester4858
@tester4858 6 лет назад
Класс!!!!!
@vladimirpetrov2696
@vladimirpetrov2696 4 года назад
!!! Спасибо.
@klausschneider6421
@klausschneider6421 3 года назад
Gut gemacht!
@user-pb1sg7nv8b
@user-pb1sg7nv8b 6 лет назад
Приятно слушать, жаль потраченного времени на самостоятельное изучение
@kostrd2048
@kostrd2048 4 года назад
Отличная лекция) Есть ли у вас лекция в текстовом варианте?
@user-yq8uh8gw2y
@user-yq8uh8gw2y 3 года назад
сколько было на ней построено в своё время. тащился от неё в 90ые.
@DrLithium
@DrLithium 4 года назад
Ай-квадрат-си! Пора бы уже всем запомнить.
@Tarik91011
@Tarik91011 3 года назад
1000р. СПАСИБО.
@3d_idea800
@3d_idea800 4 года назад
Спасибо за лекцию, а не подскажите где почитать про мульти мастер системы?
@Dr.Byte_life
@Dr.Byte_life 5 лет назад
Борисыч, жжжоте!!! Куда проще чем мануал ковырять) Почему я на эту лекцию только сейчас попал?) на парах я такого не помню)) пришлось мануал грызть.
@user-rd6cz1ol4y
@user-rd6cz1ol4y 6 лет назад
СПАСИБО БОЛЬШОЕ . А ЧТО МОЖНО СКАЗАТЬ О ПОМЕХОУСТОЙЧИВОСТИ ТАКОЙ ШИНЫ?
@nickolsky
@nickolsky 4 года назад
А как мастер узнаёт адреса подчинённых устройств? Может перед стартом опрос какой, или в мастер заранее забиты адреса. Или если кто-то по адресу выставил (А), то адрес рабочий, начинаем передачу))?
@486OverDrive
@486OverDrive 4 года назад
Обычно адрес подчинённого устройства известен заранее главному устройству. Адрес Slave'а по-умолчанию должен быть указан производителем в документации к устройству. Если документацию не удалось найти, можно просто подключить одно это устройство к I2C шине (не подключать ничего, кроме него) и просканировать шину. В интернете есть примеры I2C сканера на Arduino - там программа примитивнейшая - цикл по всем адресам в диапазоне [8..127]. Диапазон адресов [0..7] обычно не сканируется, так как он зарезервирован для служебных целей. С какого адреса откликнется устройство, то и есть его адрес.
@user-if4gr7om3m
@user-if4gr7om3m 6 лет назад
есть ли формула расчета резисторов? не хотелось бы брать значения сопротивления с потолка в курсовой
@master-electronics
@master-electronics 4 года назад
Для программирования микросхем памяти I2C программой PonyProg для сигнала SCL используется исходящий вывод 7 COM порта RTS. Нужно ли обязательно задействовать при этом для сигнала SCL входящий вывод 6 COM порта DSR ? Если нужно то зачем? Вывод микросхем памяти SCL является однонаправленным, однако в многочисленных схемах программаторов вывод 6 COM порта для SCL почему то задействован.
@systemupdate2152
@systemupdate2152 6 лет назад
Заметил не стыковку на 19 минуте. В начале повествования Вы говорили, что SCL формирует ТОЛЬКО MASTER, в таком случае SLAVE не может влиять на линию SCL. А для "затягивания времени ответа" он просто не будет выставлять данные на SDL (уровень не меняется) и MASTER вынужден ждать ответа, и если его не получит в течении определенного времени, вывалиться в ошибку по Time Out завершив обращение выставив (Р). Думаю это логичнее, или заблуждаюсь?
@user-sc9it9zd4g
@user-sc9it9zd4g 6 лет назад
Как вы себе представляете "невыставление данных"?
@user-sc9it9zd4g
@user-sc9it9zd4g 6 лет назад
Кроме того, задержка SCL может применяться ведомым и при приёме.
@DmitryKikot
@DmitryKikot 7 лет назад
Круто, спасибо! Но осталось неясным - откуда берутся адреса slave-устройств, кто их назначает? Тем более при замене slave'ов "на горячую".
@nickolsky
@nickolsky 4 года назад
Да также не понял, может перед стартом опрос какой, или в мастер заранее забиты адреса. Или если кто-то по адресу выставил (А), то адрес рабочий, начинаем передачу.
@user-pc9br8yt6j
@user-pc9br8yt6j 4 года назад
зашиты в устройстве при производстве. Программист их узнает из datasheet
@486OverDrive
@486OverDrive 4 года назад
чаще всего на slave-устройствах есть перемычки, которые позволяют либо полностью задать любой удобный адрес, либо позволяющие менять часть адреса, таким образом, если стандартный адрес устройства конфликтует с другим устройством на шине, то достаточно в одном из устройств замкнуть/разомкнуть одну или несколько перемычек. Например, на модуле реального времени DS3231 есть 3 пары контактов, которые можно замыкать (в данном случае напаять кусочек олова) для того, что бы поменять адрес, установленный производителем по-умолчанию. Адрес по-умолчанию должен быть указан производителем в документации к устройству. Если документацию не удалось найти, можно просто подключить одно это устройство к I2C шине (не подключать ничего, кроме него) и просканировать шину. В интернете есть примеры I2C сканера на Arduino - там программа примитивнейшая - цикл по всем адресам в диапазоне [8..127]. Диапазон адресов [0..7] обычно не сканируется, так как он зарезервирован для служебных целей. С какого адреса откликнется устройство, то и есть его адрес.
@vyorkin
@vyorkin 4 года назад
Действительно, хороший вопрос :)
@user-sn1sj7ze3c
@user-sn1sj7ze3c 4 года назад
Есть варианты, например на микросхеме вывод притягивается к плюсу или минусу и получает фиксированный адрес указанный в даташите..
@scrypto
@scrypto 4 года назад
Можете номер карты своей оставить в описании? Я бы закинул деньжат на развитие канала
@Burgunsky
@Burgunsky 5 лет назад
А про USB можно такую же?
@CEPAstrel
@CEPAstrel 7 лет назад
посмотрю видосы, пересдам зачёт, если сдам, напишу) хахаха
@user-sc8ye9qj5e
@user-sc8ye9qj5e 7 лет назад
Супер! Спасибо за отличную подачу информации! Но почему два в седьмой это "порядка ста", а не просто сто двадцать восемь?! )
@user-gp7pu6ub2p
@user-gp7pu6ub2p 5 лет назад
Потому что дважды два четыре, ну пять, ну шесть, ну семь(в крайнем случае), но никак не восемь!)
@user-pc9br8yt6j
@user-pc9br8yt6j 4 года назад
Потому что некоторые slave устройства используют сразу 2 адреса
@486OverDrive
@486OverDrive 4 года назад
Насколько мне известно (но это не точно), часть адресов по стандарту зарезервировано [0..7], использоваться могут только [8..127] и то есть ряд ограничений. Иногда производитель устройства не предоставляет возможности настроить устройство на любой адрес - приходится выбирать из ограниченного списка вариантов). Более того, есть ограничения, о которых сказал лектор (суммарная ёмкость и т.д.). На практике сложно достичь максимального количества в 119 устройств.
@andy0x58
@andy0x58 3 года назад
Что делать, если мастер Ack не получил?
@sandrok14
@sandrok14 6 лет назад
А зачем нужны подтягивающие резисторы? Это разьве не мешает нормальной работе шины. Ведь там все время будет лог 1
@volodymyrhryhortsev5556
@volodymyrhryhortsev5556 5 лет назад
1. для ограничения тока проходящего через выходные каскады устройств.
@mishuha
@mishuha 7 лет назад
Есть наглядный пример работы производного от I2C протокола - SMbus ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-natf8NZOV2c.html
@ra1zik946
@ra1zik946 5 лет назад
кто эти шестеро?!
@valekprometey
@valekprometey 7 лет назад
Спасибо!
@germanpetrov260
@germanpetrov260 4 года назад
Спасибо.
@mikhailfrenkel361
@mikhailfrenkel361 6 лет назад
Спасибо!
@dmitriyhitriy2002
@dmitriyhitriy2002 5 лет назад
Спасибо!
@user-sx5zx2ru4e
@user-sx5zx2ru4e 5 лет назад
Спасибо!
@user-ow3sz4zz2j
@user-ow3sz4zz2j 4 года назад
Спасибо!
@user-mc7kc2bd8b
@user-mc7kc2bd8b 2 года назад
Спасибо!
Далее
Лекция 309.  1-wire интерфейс
15:48
Просмотров 32 тыс.
Подробно про CAN шину
30:19
Просмотров 663 тыс.
Лекция 307. Интерфейс SPI
16:23
Просмотров 76 тыс.
лекция 403  CAN шина- введение
13:04
Просмотров 347 тыс.
25 Шина I2C
43:22
Просмотров 1,6 тыс.
Урок 353. Колебательный контур
41:18
Лекция 230. СОМ порт
19:53
Просмотров 75 тыс.