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

แชร์
ฝัง
  • เผยแพร่เมื่อ 13 ส.ค. 2016
  • Кратко описаны основные способы обмена данных по шине. I2C - простая двухпроводная шина для двунаправленного обмена данных. Допускает подключение и отключение устройств к ней "на горячую" (без отключения питания).Возможно подключение большого количества устройств, Устройства на ней асимметричны по ролям: Все операции выполняются по инициативе ведущего, который также формирует тактовые сигналы. Сигналы на шине данных могут формироваться и ведущим и ведомыми устройствами. Применяется для подключения к микроконтроллеру датчиков, памяти, устройств вывода данных и управления.
    Список всех лекций на сайте автора в описании канала.

ความคิดเห็น • 107

  • @oleksandrhusiev6544
    @oleksandrhusiev6544 5 ปีที่แล้ว +41

    Божественные лекции, я бы заново поступил в универ, если бы так преподавали. Спасибо!

  • @aleksandrmikhalitsyn7940
    @aleksandrmikhalitsyn7940 7 ปีที่แล้ว +105

    Спасибо Вам огромное. Вы замечательный преподаватель.
    (Привет из СПбГУ)

  • @alucard503
    @alucard503 7 ปีที่แล้ว +57

    Спасибо Вам большое за интереснейшие, а главное понятные лекции, дай Бог Вам здоровья! Очень хотелось бы увидеть лекцию о UART и USART интерфейсе и рассмотрении их отличий. Заранее благодарен!

  • @Radia5022
    @Radia5022 6 ปีที่แล้ว +20

    Чувствуются советские фундаментальные знания.
    Лайк!
    Здоровья и удачи!

  • @user-bq6vk8qz4t
    @user-bq6vk8qz4t 3 ปีที่แล้ว +4

    Тупа шок. Такого понятного объяснения даже не ожидал. Сердечно благодарю!

  • @andreyr7461
    @andreyr7461 6 ปีที่แล้ว +3

    Классные лекции. Большое спасибо.

  • @master-sd
    @master-sd 6 ปีที่แล้ว +2

    Молодец. Чувствуется что любите свою работу Спасибо.

  • @zvezdokol
    @zvezdokol 6 ปีที่แล้ว +2

    Отличная лекция, поздравляю студентов.

  • @jackthursby9770
    @jackthursby9770 5 ปีที่แล้ว +2

    Спасибо Вам большое за Вашу Работу!

  • @user-rq9ji8kb4w
    @user-rq9ji8kb4w 4 ปีที่แล้ว +1

    Огромное спасибо за ваши лекции!

  • @ValterMiass
    @ValterMiass 7 ปีที่แล้ว +2

    Отличная лекция!!! СПАСИБО!

  • @wovada
    @wovada 5 ปีที่แล้ว +3

    Спасибо за работу. Буду изучать. Молодец Вы.

  • @Smith19722011
    @Smith19722011 5 ปีที่แล้ว +6

    Захотел пойти учится :)
    Спасибо, все очень доступно и понятно. Подписываюсь!

  • @chuvakelectronshic96
    @chuvakelectronshic96 7 ปีที่แล้ว +19

    Шикарная лекция, отличный канал! Спасибо Вам за это!

  • @motoham48
    @motoham48 7 ปีที่แล้ว +3

    Очень грамотное объяснение. спасибо!

  • @cbr929fb
    @cbr929fb 6 ปีที่แล้ว +2

    Отличная подача, даже мне самоучки все понятно стало

  • @DennyBoyTrade
    @DennyBoyTrade 6 ปีที่แล้ว +2

    Большое спасибо за ваши труды. Все просто и понятно.

  • @allavg
    @allavg 3 ปีที่แล้ว +2

    Дай вам Бог здоровья! Очень полезная информация!

  • @petrovichvictor2536
    @petrovichvictor2536 5 ปีที่แล้ว +2

    Лучше чем мой препод в универе, спасибо)

  • @NixHibriD
    @NixHibriD 5 ปีที่แล้ว +3

    Спасибо вам огромное! Вы лучший!

  • @MeligosLast
    @MeligosLast 5 ปีที่แล้ว +3

    Отличная лекция! Все понятно и доступно! Спасибо большое. Нам бы в институт таких преподавателей

  • @bill2home
    @bill2home 7 ปีที่แล้ว +6

    Спасибо за знания!

  • @banaaboy6504
    @banaaboy6504 6 ปีที่แล้ว +2

    Всех благ вам. Спасибо.

  • @amd9800
    @amd9800 7 ปีที่แล้ว +4

    Супер - самая лучшая лекция из Ютуб

  • @user-xd8tq4he7y
    @user-xd8tq4he7y 6 ปีที่แล้ว +2

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

  • @avkservise
    @avkservise 7 ปีที่แล้ว +12

    Ура!!! Микрофон, у Вас самые лучшие лекции, спасибо Вам, удачи

  • @dmitriykozmin3091
    @dmitriykozmin3091 5 ปีที่แล้ว +10

    Спасибо большое за Ваш труд! Вы - прекрасный преподаватель!

  • @JurijBabicev
    @JurijBabicev 5 ปีที่แล้ว +3

    замечательные лекции, просто глатаю информацыю кусками. Очень благодарен автору за этот труд.

  • @nagirich
    @nagirich 7 ปีที่แล้ว +2

    офигенно объясняете

  • @ArduBlock
    @ArduBlock 4 ปีที่แล้ว +2

    Спасибо) Очень полезная информация) При работе с Arduino!

  • @user-ok2lx6zd7z
    @user-ok2lx6zd7z 6 ปีที่แล้ว +2

    Очень понятно обьяснили , спасибо .

  • @user-de5sw1dy4h
    @user-de5sw1dy4h 7 ปีที่แล้ว +9

    Отличная лекция. Спасибо огромное, общедоступным языком рассказано. Благодарен.

  • @hidok4551
    @hidok4551 4 ปีที่แล้ว +2

    Класс .Наконец то я понял как работает i2c.Лайк!

  • @user-do2rp6br5v
    @user-do2rp6br5v 5 ปีที่แล้ว +2

    Благодарю! Просто и доходчиво.

  • @avr_stm_pro2955
    @avr_stm_pro2955 4 ปีที่แล้ว +2

    Преподаватель от Бога

  • @Iismenok
    @Iismenok 4 ปีที่แล้ว +1

    Очень понятно и толково .Спасибо !!!

  • @vyorkin
    @vyorkin 4 ปีที่แล้ว +1

    Отличное объяснение! Спасибо

  • @sancholife9451
    @sancholife9451 5 ปีที่แล้ว +7

    Очень классно! СПАСИБО ВАМ! Эх, поступить бы учиться... но староват наверное я уже... )))) Да и считать не умею..

  • @artcleavenger2640
    @artcleavenger2640 2 ปีที่แล้ว +1

    Очень приятно слушать. Преподаватель супер. Много даже сейчас для себя освоил

  • @user-gp8qo3vq6i
    @user-gp8qo3vq6i 4 ปีที่แล้ว +2

    Спасибо.Интересная лекция.Вот если бы продолжение по работе с EEPROM

  • @user-bq1nw9ld8m
    @user-bq1nw9ld8m 4 ปีที่แล้ว +1

    Всё очень понятно, спасибо!

  • @Bartimeus1
    @Bartimeus1 4 ปีที่แล้ว +1

    Спасибо, отличное объяснение!

  • @trampblack7317
    @trampblack7317 7 ปีที่แล้ว +2

    Огроменное спасибо!

  • @aleksei089
    @aleksei089 3 ปีที่แล้ว +1

    Спасибо за интересную и понятную лекцию! Крепкого здоровья и продуктивной деятельности!
    С уважением, робототехники Лондонского Миддлсекского университета!

  • @_suso_
    @_suso_ 4 ปีที่แล้ว +2

    Огромное спасибо!

  • @NBMaster
    @NBMaster 5 ปีที่แล้ว +2

    Спасибо, очень доступно.

  • @j.memecian3286
    @j.memecian3286 4 ปีที่แล้ว +1

    Низкий поклон.

  • @laune73
    @laune73 4 ปีที่แล้ว +3

    Супер! Всё понятно!

  • @user-fc2ju4cu3w
    @user-fc2ju4cu3w 7 ปีที่แล้ว +2

    спасибо Вам!

  • @user-pb1sg7nv8b
    @user-pb1sg7nv8b 6 ปีที่แล้ว +1

    Приятно слушать, жаль потраченного времени на самостоятельное изучение

  • @mpetkov1
    @mpetkov1 5 ปีที่แล้ว +2

    Большое спасибо.

  • @vitaliyanokhin371
    @vitaliyanokhin371 5 ปีที่แล้ว +1

    Уважаемы лектор.

  • @andrejva7249
    @andrejva7249 5 ปีที่แล้ว +3

    Благодарю 👍👍👍👍

  • @Expert69RUS
    @Expert69RUS 5 ปีที่แล้ว +2

    Хороший дядька.

  • @fog3905
    @fog3905 7 ปีที่แล้ว +3

    Спасибо!

  • @user-yq8uh8gw2y
    @user-yq8uh8gw2y 3 ปีที่แล้ว +1

    сколько было на ней построено в своё время. тащился от неё в 90ые.

  • @user-ep9th1vq8c
    @user-ep9th1vq8c 2 ปีที่แล้ว +1

    Спасибо большое! Все понятно и доходчиво!👏

  • @konstantintsygankov153
    @konstantintsygankov153 6 ปีที่แล้ว +2

    Спасибо!!!

  • @tester4858
    @tester4858 6 ปีที่แล้ว +2

    Класс!!!!!

  • @DrLithium
    @DrLithium 5 ปีที่แล้ว +1

    Ай-квадрат-си! Пора бы уже всем запомнить.

  • @klausschneider6421
    @klausschneider6421 3 ปีที่แล้ว +1

    Gut gemacht!

  • @user-fm7po3pt8o
    @user-fm7po3pt8o 4 ปีที่แล้ว +2

    Спасибо

  • @AndriiNikolaiev
    @AndriiNikolaiev 4 ปีที่แล้ว +2

    Спасибо.

  • @vladimirpetrov2696
    @vladimirpetrov2696 4 ปีที่แล้ว +3

    !!! Спасибо.

  • @Dr.Byte_life
    @Dr.Byte_life 5 ปีที่แล้ว +2

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

  • @kostrd2048
    @kostrd2048 4 ปีที่แล้ว +2

    Отличная лекция) Есть ли у вас лекция в текстовом варианте?

  • @3d_idea800
    @3d_idea800 4 ปีที่แล้ว +1

    Спасибо за лекцию, а не подскажите где почитать про мульти мастер системы?

  • @Tarik91011
    @Tarik91011 4 ปีที่แล้ว +1

    1000р. СПАСИБО.

  • @user-rd6cz1ol4y
    @user-rd6cz1ol4y 6 ปีที่แล้ว +1

    СПАСИБО БОЛЬШОЕ . А ЧТО МОЖНО СКАЗАТЬ О ПОМЕХОУСТОЙЧИВОСТИ ТАКОЙ ШИНЫ?

  • @nickolsky
    @nickolsky 5 ปีที่แล้ว +4

    А как мастер узнаёт адреса подчинённых устройств? Может перед стартом опрос какой, или в мастер заранее забиты адреса. Или если кто-то по адресу выставил (А), то адрес рабочий, начинаем передачу))?

    • @486OverDrive
      @486OverDrive 4 ปีที่แล้ว +4

      Обычно адрес подчинённого устройства известен заранее главному устройству. Адрес Slave'а по-умолчанию должен быть указан производителем в документации к устройству. Если документацию не удалось найти, можно просто подключить одно это устройство к I2C шине (не подключать ничего, кроме него) и просканировать шину. В интернете есть примеры I2C сканера на Arduino - там программа примитивнейшая - цикл по всем адресам в диапазоне [8..127]. Диапазон адресов [0..7] обычно не сканируется, так как он зарезервирован для служебных целей. С какого адреса откликнется устройство, то и есть его адрес.

  • @master-electronics
    @master-electronics 4 ปีที่แล้ว +1

    Для программирования микросхем памяти I2C программой PonyProg для сигнала SCL используется исходящий вывод 7 COM порта RTS. Нужно ли обязательно задействовать при этом для сигнала SCL входящий вывод 6 COM порта DSR ? Если нужно то зачем? Вывод микросхем памяти SCL является однонаправленным, однако в многочисленных схемах программаторов вывод 6 COM порта для SCL почему то задействован.

  • @user-if4gr7om3m
    @user-if4gr7om3m 6 ปีที่แล้ว +1

    есть ли формула расчета резисторов? не хотелось бы брать значения сопротивления с потолка в курсовой

  • @CEPAstrel
    @CEPAstrel 7 ปีที่แล้ว

    посмотрю видосы, пересдам зачёт, если сдам, напишу) хахаха

  • @systemupdate2152
    @systemupdate2152 6 ปีที่แล้ว +4

    Заметил не стыковку на 19 минуте. В начале повествования Вы говорили, что SCL формирует ТОЛЬКО MASTER, в таком случае SLAVE не может влиять на линию SCL. А для "затягивания времени ответа" он просто не будет выставлять данные на SDL (уровень не меняется) и MASTER вынужден ждать ответа, и если его не получит в течении определенного времени, вывалиться в ошибку по Time Out завершив обращение выставив (Р). Думаю это логичнее, или заблуждаюсь?

    • @user-sc9it9zd4g
      @user-sc9it9zd4g 6 ปีที่แล้ว

      Как вы себе представляете "невыставление данных"?

    • @user-sc9it9zd4g
      @user-sc9it9zd4g 6 ปีที่แล้ว

      Кроме того, задержка SCL может применяться ведомым и при приёме.

  • @DmitryKikot
    @DmitryKikot 7 ปีที่แล้ว +7

    Круто, спасибо!
    Но осталось неясным - откуда берутся адреса slave-устройств, кто их назначает? Тем более при замене slave'ов "на горячую".

    • @nickolsky
      @nickolsky 5 ปีที่แล้ว +2

      Да также не понял, может перед стартом опрос какой, или в мастер заранее забиты адреса. Или если кто-то по адресу выставил (А), то адрес рабочий, начинаем передачу.

    • @user-pc9br8yt6j
      @user-pc9br8yt6j 4 ปีที่แล้ว +1

      зашиты в устройстве при производстве. Программист их узнает из datasheet

    • @486OverDrive
      @486OverDrive 4 ปีที่แล้ว +1

      чаще всего на slave-устройствах есть перемычки, которые позволяют либо полностью задать любой удобный адрес, либо позволяющие менять часть адреса, таким образом, если стандартный адрес устройства конфликтует с другим устройством на шине, то достаточно в одном из устройств замкнуть/разомкнуть одну или несколько перемычек. Например, на модуле реального времени DS3231 есть 3 пары контактов, которые можно замыкать (в данном случае напаять кусочек олова) для того, что бы поменять адрес, установленный производителем по-умолчанию. Адрес по-умолчанию должен быть указан производителем в документации к устройству. Если документацию не удалось найти, можно просто подключить одно это устройство к I2C шине (не подключать ничего, кроме него) и просканировать шину. В интернете есть примеры I2C сканера на Arduino - там программа примитивнейшая - цикл по всем адресам в диапазоне [8..127]. Диапазон адресов [0..7] обычно не сканируется, так как он зарезервирован для служебных целей. С какого адреса откликнется устройство, то и есть его адрес.

    • @vyorkin
      @vyorkin 4 ปีที่แล้ว

      Действительно, хороший вопрос :)

    • @user-sn1sj7ze3c
      @user-sn1sj7ze3c 4 ปีที่แล้ว

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

  • @Burgunsky
    @Burgunsky 5 ปีที่แล้ว +2

    А про USB можно такую же?

  • @scrypto
    @scrypto 5 ปีที่แล้ว

    Можете номер карты своей оставить в описании? Я бы закинул деньжат на развитие канала

  • @user-sc8ye9qj5e
    @user-sc8ye9qj5e 7 ปีที่แล้ว

    Супер! Спасибо за отличную подачу информации!
    Но почему два в седьмой это "порядка ста", а не просто сто двадцать восемь?! )

    • @user-gp7pu6ub2p
      @user-gp7pu6ub2p 5 ปีที่แล้ว

      Потому что дважды два четыре, ну пять, ну шесть, ну семь(в крайнем случае), но никак не восемь!)

    • @user-pc9br8yt6j
      @user-pc9br8yt6j 4 ปีที่แล้ว

      Потому что некоторые slave устройства используют сразу 2 адреса

    • @486OverDrive
      @486OverDrive 4 ปีที่แล้ว +1

      Насколько мне известно (но это не точно), часть адресов по стандарту зарезервировано [0..7], использоваться могут только [8..127] и то есть ряд ограничений. Иногда производитель устройства не предоставляет возможности настроить устройство на любой адрес - приходится выбирать из ограниченного списка вариантов). Более того, есть ограничения, о которых сказал лектор (суммарная ёмкость и т.д.). На практике сложно достичь максимального количества в 119 устройств.

  • @andy0x58
    @andy0x58 3 ปีที่แล้ว

    Что делать, если мастер Ack не получил?

  • @sandrok14
    @sandrok14 6 ปีที่แล้ว

    А зачем нужны подтягивающие резисторы? Это разьве не мешает нормальной работе шины. Ведь там все время будет лог 1

    • @volodymyrhryhortsev5556
      @volodymyrhryhortsev5556 5 ปีที่แล้ว

      1. для ограничения тока проходящего через выходные каскады устройств.

  • @ra1zik946
    @ra1zik946 5 ปีที่แล้ว +1

    кто эти шестеро?!

  • @mishuha
    @mishuha 7 ปีที่แล้ว

    Есть наглядный пример работы производного от I2C протокола - SMbus
    th-cam.com/video/natf8NZOV2c/w-d-xo.html

  • @valekprometey
    @valekprometey 7 ปีที่แล้ว +1

    Спасибо!

  • @germanpetrov260
    @germanpetrov260 4 ปีที่แล้ว

    Спасибо.

  • @mikhailfrenkel361
    @mikhailfrenkel361 6 ปีที่แล้ว +1

    Спасибо!

  • @dmitriyhitriy2002
    @dmitriyhitriy2002 5 ปีที่แล้ว +1

    Спасибо!

  • @user-sx5zx2ru4e
    @user-sx5zx2ru4e 5 ปีที่แล้ว +1

    Спасибо!

  • @user-ow3sz4zz2j
    @user-ow3sz4zz2j 4 ปีที่แล้ว +1

    Спасибо!

  • @user-mc7kc2bd8b
    @user-mc7kc2bd8b 2 ปีที่แล้ว

    Спасибо!