Устройство hid на шине i2c что это

от admin

Устройство HID на шине I2C что это такое?

Запуск устройства HID на шине I2C невозможен. Код 10. Что делать?

Asus TUF Gaming не работает тачпад

Asus TUF Gaming не работает тачпад

Ошибка Access Denied на сайте Lenovo. Что делать?

Ошибка Access Denied на сайте Lenovo. Что делать?

Не регулируется яркость экрана на Lenovo Z500/Z400

Не регулируется яркость экрана на Lenovo Z500/Z400

Устройство HID на шине I2C в диспетчере устройств

Просматривая устройства в диспетчере, некоторые пользователи могут отметить в нем некое устройство HID на шине I2C, помеченное восклицательным знаком. А это может говорить лишь об одном: с этим устройством есть проблемы. Причем они могут быть как программного характера, так и аппаратного.

В данной статье мы расскажем какое устройство обычно скрывается под данным названием и что можно попробовать сделать самостоятельно для устранения этой проблемы.

Запуск устройства HID на шине I2C невозможен (Код 10)

Для начала разберемся что это за устройство. В 80% случаев им является тачпад. В оставшихся 20% – клавиатура, подключенная по USB мышка или тачскрин (Сенсор экрана, если экран в вашем ноутбуке сенсорный).

что такое Устройство HID на шине I2C

Ошибка запуска устройства с кодом 10

Первым делом нужно проверить работоспособность всех этих устройств: ввести что-либо с клавиатуры, поводить пальцем по тачпаду и т.д.

То, что окажется нерабочим, и будет являться тем самым устройством HID на шине I2C.

Что делать, чтобы устройство заработало?

Самый верный путь – определить модель ноутбука, перейти на официальный сайт, скачать драйвера на все устройства ввода (тачпад, тачскрин, клавиатура) и установить их.

Второй вариант заключается в поиске драйвера для устройства по его идентификатору. Для этого в диспетчере устройств нужно дважды кликнуть мышкой по устройству HID на шине I2C.

что такое Устройство HID на шине I2C

Определение ИД оборудования

В открывшемся окне перейти на вкладку “Сведения” и выбрать свойство “ИД оборудования”.

Далее скопировать самое верхнее значение и вставить его в поиск гугла или яндекса.

Устройство HID на шине I2C что это такое

Поиск драйвера к устройству по его ИД

В полученных результатах выдачи останется отыскать драйвер под ваше устройство.

Если ничего из вышеописанного не помогло и устройство HID на шине I2C все равно отображается в диспетчере устройств с восклицательным знаком и статусом “Запуск этого устройства невозможен. Код 10”, то это означает, что с этим устройством имеются проблемы на аппаратном уровне.

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

Устройство HID на шине I2C — что это такое?

Устройство HID на шине I2C — устройство для взаимодействия с человеком (мышка, клавиатура, тачпад), которое подключено к последовательной шине I2C (Inter-Integrated Circuit).

Проблема может касаться разных производителей — Asus, Acer, Lenovo и других.

Данным устройством, как уже выше выяснили — может быть мышка, клавиатура, тачпад ноутбука, тачскрин. Из названия известно только, что оно подключено к шине I2C, а HID расшифровывается как Human Interface Device и говорит о том, что девайс категории взаимодействие с человеком.

Проанализировав интернет, можно прийти к выводу — под данным оборудованием в большинстве случаев скрывается тачпад, второе место — тачскрин.

Если планшет/ноутбук работал исправно продолжительное время, после чего появилось данное устройство, запуск которого невозможен (Код 10) — значит возможно проблема носит аппаратный характер. Например плохой контакт тачпада с платой.

Устройство hid на шине i2c (код 10) — как исправить?

Недавно столкнулся с проблемой, сенсор перестал реагировать. Сам планшет работает, Lenovo k3011w ideatab. Я начал это понимать, в диспетчере устройств не работает скрытое устройство на шине l2c.

Это устройство не запускается. (Код 10)

Запрос дескриптора HID завершился неудачно.

Думаю по этой причине не работает тач, подскажите как можно решить эту проблему.

PS Отключился после обновления винды.

Привет, зверский лес,

Добро пожаловать в сообщество Microsoft!

Сожалеем, что у вас возникли проблемы с сенсором экрана после обновления Windows.

Я постараюсь вам помочь.

Попробуйте для начала загрузить последнюю версию драйвера датчика с веб-сайта производителя планшета и установить ее.

Устройство hid на шине i2c что это

Устройство HID на шине I2C что это такое

Запуск устройства HID на шине I2C невозможен. Код 10. Что делать?

Asus TUF Gaming не работает тачпад

Asus TUF Gaming не работает тачпад

Ошибка Access Denied на сайте Lenovo. Что делать?

Ошибка Access Denied на сайте Lenovo. Что делать?

Не регулируется яркость экрана на Lenovo Z500/Z400

Не регулируется яркость экрана на Lenovo Z500/Z400

Устройство HID на шине I2C в диспетчере устройств

Просматривая устройства в диспетчере, некоторые пользователи могут отметить в нем некое устройство HID на шине I2C, помеченное восклицательным знаком. А это может говорить лишь об одном: с этим устройством есть проблемы. Причем они могут быть как программного характера, так и аппаратного.

В данной статье мы расскажем какое устройство обычно скрывается под данным названием и что можно попробовать сделать самостоятельно для устранения этой проблемы.

Запуск устройства HID на шине I2C невозможен (Код 10)

Для начала разберемся что это за устройство. В 80% случаев им является тачпад. В оставшихся 20% – клавиатура, подключенная по USB мышка или тачскрин (Сенсор экрана, если экран в вашем ноутбуке сенсорный).

что такое Устройство HID на шине I2C

Ошибка запуска устройства с кодом 10

Первым делом нужно проверить работоспособность всех этих устройств: ввести что-либо с клавиатуры, поводить пальцем по тачпаду и т.д.

То, что окажется нерабочим, и будет являться тем самым устройством HID на шине I2C.

Что делать, чтобы устройство заработало?

Самый верный путь – определить модель ноутбука, перейти на официальный сайт, скачать драйвера на все устройства ввода (тачпад, тачскрин, клавиатура) и установить их.

Второй вариант заключается в поиске драйвера для устройства по его идентификатору. Для этого в диспетчере устройств нужно дважды кликнуть мышкой по устройству HID на шине I2C.

что такое Устройство HID на шине I2C

Определение ИД оборудования

В открывшемся окне перейти на вкладку “Сведения” и выбрать свойство “ИД оборудования”.

Далее скопировать самое верхнее значение и вставить его в поиск гугла или яндекса.

Устройство HID на шине I2C что это такое

Поиск драйвера к устройству по его ИД

В полученных результатах выдачи останется отыскать драйвер под ваше устройство.

Если ничего из вышеописанного не помогло и устройство HID на шине I2C все равно отображается в диспетчере устройств с восклицательным знаком и статусом “Запуск этого устройства невозможен. Код 10”, то это означает, что с этим устройством имеются проблемы на аппаратном уровне.

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

Информационное сообщение. ПК-трансформеры HP Spectre 13, 15 x360 — Устройство HID на шине I2C отключено, и сенсорная панель не отображается в диспетчере устройств

  1. Подключите внешнюю мышь или используйте сенсорный экран.
  2. Откройте Диспетчер устройств.
  3. Щелкните правой кнопкой мыши или нажмите на Устройство HID на шине 12C и выберите Включить. Сенсорная панель Synaptics HID Touchpad появится в диспетчере устройств.
  4. Щелкните правой кнопкой мыши или нажмите на устройство Synaptics HID Touchpad и выберите Включить. Сенсорная панель заработает.

Включите сенсорную панель Synaptics HID Touchpad.

HP Spectre 13-ap0000 x360 Convertible PC, HP Spectre 15-df0000 x360 Convertible PC, HP Spectre 15-df1000 x360 Convertible PC, HP Spectre x360 — 13-ap000 CTO, HP Spectre x360 — 13-ap0000na, HP Spectre x360 — 13-ap0000nb, HP Spectre x360 — 13-ap0000nc, HP Spectre x360 — 13-ap0000nf, HP Spectre x360 — 13-ap0000nh, HP Spectre x360 — 13-ap0000ni, HP Spectre x360 — 13-ap0000nj, HP Spectre x360 — 13-ap0000nk, HP Spectre x360 — 13-ap0000nl, HP Spectre x360 — 13-ap0000nn, HP Spectre x360 — 13-ap0000no, HP Spectre x360 — 13-ap0000nq, HP Spectre x360 — 13-ap0000ns, HP Spectre x360 — 13-ap0000nt, HP Spectre x360 — 13-ap0000nv, HP Spectre x360 — 13-ap0000nw, HP Spectre x360 — 13-ap0000nx, HP Spectre x360 — 13-ap0000sa, HP Spectre x360 — 13-ap0000tu, HP Spectre x360 — 13-ap0000ur, HP Spectre x360 — 13-ap0001la, HP Spectre x360 — 13-ap0001na, HP Spectre x360 — 13-ap0001nb, HP Spectre x360 — 13-ap0001nc, HP Spectre x360 — 13-ap0001nf, HP Spectre x360 — 13-ap0001nh, HP Spectre x360 — 13-ap0001nj, HP Spectre x360 — 13-ap0001nk, HP Spectre x360 — 13-ap0001nl, HP Spectre x360 — 13-ap0001nn, HP Spectre x360 — 13-ap0001no, HP Spectre x360 — 13-ap0001np, HP Spectre x360 — 13-ap0001nq, HP Spectre x360 — 13-ap0001ns, HP Spectre x360 — 13-ap0001nt, HP Spectre x360 — 13-ap0001nu, HP Spectre x360 — 13-ap0001nv, HP Spectre x360 — 13-ap0001nw, HP Spectre x360 — 13-ap0001nx, HP Spectre x360 — 13-ap0001tu, HP Spectre x360 — 13-ap0001ur, HP Spectre x360 — 13-ap0002ne, HP Spectre x360 — 13-ap0002nf, HP Spectre x360 — 13-ap0002nh, HP Spectre x360 — 13-ap0002ni, HP Spectre x360 — 13-ap0002nj, HP Spectre x360 — 13-ap0002nk, HP Spectre x360 — 13-ap0002nn, HP Spectre x360 — 13-ap0002no, HP Spectre x360 — 13-ap0002np, HP Spectre x360 — 13-ap0002ns, HP Spectre x360 — 13-ap0002nt, HP Spectre x360 — 13-ap0002nu, HP Spectre x360 — 13-ap0002nw, HP Spectre x360 — 13-ap0002nx, HP Spectre x360 — 13-ap0002sa, HP Spectre x360 — 13-ap0002tu, HP Spectre x360 — 13-ap0002ur, HP Spectre x360 — 13-ap0003nb, HP Spectre x360 — 13-ap0003nf, HP Spectre x360 — 13-ap0003ni, HP Spectre x360 — 13-ap0003np, HP Spectre x360 — 13-ap0003nq, HP Spectre x360 — 13-ap0003ns, HP Spectre x360 — 13-ap0003nt, HP Spectre x360 — 13-ap0003nw, HP Spectre x360 — 13-ap0003nx, HP Spectre x360 — 13-ap0003tu, HP Spectre x360 — 13-ap0003ur, HP Spectre x360 — 13-ap0004na, HP Spectre x360 — 13-ap0004ne, HP Spectre x360 — 13-ap0004ni, HP Spectre x360 — 13-ap0004no, HP Spectre x360 — 13-ap0004np, HP Spectre x360 — 13-ap0004ns, HP Spectre x360 — 13-ap0004nw, HP Spectre x360 — 13-ap0004nx, HP Spectre x360 — 13-ap0004tu, HP Spectre x360 — 13-ap0004ur, HP Spectre x360 — 13-ap0005ne, HP Spectre x360 — 13-ap0005nf, HP Spectre x360 — 13-ap0005ni, HP Spectre x360 — 13-ap0005nl, HP Spectre x360 — 13-ap0005nn, HP Spectre x360 — 13-ap0005np, HP Spectre x360 — 13-ap0005nq, HP Spectre x360 — 13-ap0005nw, HP Spectre x360 — 13-ap0005nx, HP Spectre x360 — 13-ap0005tu, HP Spectre x360 — 13-ap0005ur, HP Spectre x360 — 13-ap0006nb, HP Spectre x360 — 13-ap0006nf, HP Spectre x360 — 13-ap0006no, HP Spectre x360 — 13-ap0006nu, HP Spectre x360 — 13-ap0006nw, HP Spectre x360 — 13-ap0006nx, HP Spectre x360 — 13-ap0006tu, HP Spectre x360 — 13-ap0006ur, HP Spectre x360 — 13-ap0007na, HP Spectre x360 — 13-ap0007ne, HP Spectre x360 — 13-ap0007nf, HP Spectre x360 — 13-ap0007nn, HP Spectre x360 — 13-ap0007no, HP Spectre x360 — 13-ap0007nq, HP Spectre x360 — 13-ap0007nx, HP Spectre x360 — 13-ap0007tu, HP Spectre x360 — 13-ap0007ur, HP Spectre x360 — 13-ap0008ca, HP Spectre x360 — 13-ap0008nc, HP Spectre x360 — 13-ap0008nf, HP Spectre x360 — 13-ap0008nn, HP Spectre x360 — 13-ap0008no, HP Spectre x360 — 13-ap0008nu, HP Spectre x360 — 13-ap0008nx, HP Spectre x360 — 13-ap0008tu, HP Spectre x360 — 13-ap0008ur, HP Spectre x360 — 13-ap0009nc, HP Spectre x360 — 13-ap0009ne, HP Spectre x360 — 13-ap0009nl, HP Spectre x360 — 13-ap0009no, HP Spectre x360 — 13-ap0009nx, HP Spectre x360 — 13-ap0009tu, HP Spectre x360 — 13-ap0009ur, HP Spectre x360 — 13-ap0010ca, HP Spectre x360 — 13-ap0010na, HP Spectre x360 — 13-ap0010ne, HP Spectre x360 — 13-ap0010nf, HP Spectre x360 — 13-ap0010nl, HP Spectre x360 — 13-ap0010no, HP Spectre x360 — 13-ap0010nq, HP Spectre x360 — 13-ap0010nx, HP Spectre x360 — 13-ap0010tu, HP Spectre x360 — 13-ap0010ur, HP Spectre x360 — 13-ap0011na, HP Spectre x360 — 13-ap0011nc, HP Spectre x360 — 13-ap0011ne, HP Spectre x360 — 13-ap0011nf, HP Spectre x360 — 13-ap0011no, HP Spectre x360 — 13-ap0011ur, HP Spectre x360 — 13-ap0012nc, HP Spectre x360 — 13-ap0012ne, HP Spectre x360 — 13-ap0012nf, HP Spectre x360 — 13-ap0012nn, HP Spectre x360 — 13-ap0012no, HP Spectre x360 — 13-ap0012nq, HP Spectre x360 — 13-ap0012tu, HP Spectre x360 — 13-ap0012ur, HP Spectre x360 — 13-ap0013dx, HP Spectre x360 — 13-ap0013nb, HP Spectre x360 — 13-ap0013ne, HP Spectre x360 — 13-ap0013nf, HP Spectre x360 — 13-ap0013tu, HP Spectre x360 — 13-ap0013ur, HP Spectre x360 — 13-ap0014na, HP Spectre x360 — 13-ap0014nf, HP Spectre x360 — 13-ap0014tu, HP Spectre x360 — 13-ap0014ur, HP Spectre x360 — 13-ap0015na, HP Spectre x360 — 13-ap0015nf, HP Spectre x360 — 13-ap0015nq, HP Spectre x360 — 13-ap0015tu, HP Spectre x360 — 13-ap0015ur, HP Spectre x360 — 13-ap0016nf, HP Spectre x360 — 13-ap0016ng, HP Spectre x360 — 13-ap0016tu, HP Spectre x360 — 13-ap0016ur, HP Spectre x360 — 13-ap0017ng, HP Spectre x360 — 13-ap0017tu, HP Spectre x360 — 13-ap0017ur, HP Spectre x360 — 13-ap0018nf, HP Spectre x360 — 13-ap0018tu, HP Spectre x360 — 13-ap0018ur, HP Spectre x360 — 13-ap0019tu, HP Spectre x360 — 13-ap0019ur, HP Spectre x360 — 13-ap0020tu, HP Spectre x360 — 13-ap0020ur, HP Spectre x360 — 13-ap0021tu, HP Spectre x360 — 13-ap0021ur, HP Spectre x360 — 13-ap0022tu, HP Spectre x360 — 13-ap0023dx, HP Spectre x360 — 13-ap0023tu, HP Spectre x360 — 13-ap0024tu, HP Spectre x360 — 13-ap0025tu, HP Spectre x360 — 13-ap0026tu, HP Spectre x360 — 13-ap0027tu, HP Spectre x360 — 13-ap0028ca, HP Spectre x360 — 13-ap0028tu, HP Spectre x360 — 13-ap0029tu, HP Spectre x360 — 13-ap0030tu, HP Spectre x360 — 13-ap0031tu, HP Spectre x360 — 13-ap0032tu, HP Spectre x360 — 13-ap0033dx, HP Spectre x360 — 13-ap0033tu, HP Spectre x360 — 13-ap0034tu, HP Spectre x360 — 13-ap0035tu, HP Spectre x360 — 13-ap0036tu, HP Spectre x360 — 13-ap0037tu, HP Spectre x360 — 13-ap0038nr, HP Spectre x360 — 13-ap0038tu, HP Spectre x360 — 13-ap0039tu, HP Spectre x360 — 13-ap0040ca, HP Spectre x360 — 13-ap0040tu, HP Spectre x360 — 13-ap0041tu, HP Spectre x360 — 13-ap0042tu, HP Spectre x360 — 13-ap0043dx, HP Spectre x360 — 13-ap0043tu, HP Spectre x360 — 13-ap0044tu, HP Spectre x360 — 13-ap0045tu, HP Spectre x360 — 13-ap0046tu, HP Spectre x360 — 13-ap0047tu, HP Spectre x360 — 13-ap0048tu, HP Spectre x360 — 13-ap0049tu, HP Spectre x360 — 13-ap0050ca, HP Spectre x360 — 13-ap0050ng, HP Spectre x360 — 13-ap0050tu, HP Spectre x360 — 13-ap0051la, HP Spectre x360 — 13-ap0051tu, HP Spectre x360 — 13-ap0052tu, HP Spectre x360 — 13-ap0053tu, HP Spectre x360 — 13-ap0054tu, HP Spectre x360 — 13-ap0055tu, HP Spectre x360 — 13-ap0056tu, HP Spectre x360 — 13-ap0057tu, HP Spectre x360 — 13-ap0058tu, HP Spectre x360 — 13-ap0059tu, HP Spectre x360 — 13-ap0060tu, HP Spectre x360 — 13-ap0061tu, HP Spectre x360 — 13-ap0062tu, HP Spectre x360 — 13-ap0063tu, HP Spectre x360 — 13-ap0064tu, HP Spectre x360 — 13-ap0065tu, HP Spectre x360 — 13-ap0066tu, HP Spectre x360 — 13-ap0067tu, HP Spectre x360 — 13-ap0068ms, HP Spectre x360 — 13-ap0068tu, HP Spectre x360 — 13-ap0069tu, HP Spectre x360 — 13-ap0070tu, HP Spectre x360 — 13-ap0071tu, HP Spectre x360 — 13-ap0072tu, HP Spectre x360 — 13-ap0073tu, HP Spectre x360 — 13-ap0074tu, HP Spectre x360 — 13-ap0075tu, HP Spectre x360 — 13-ap0076tu, HP Spectre x360 — 13-ap0077tu, HP Spectre x360 — 13-ap0078tu, HP Spectre x360 — 13-ap0079tu, HP Spectre x360 — 13-ap0080tu, HP Spectre x360 — 13-ap0081tu, HP Spectre x360 — 13-ap0082tu, HP Spectre x360 — 13-ap0083tu, HP Spectre x360 — 13-ap0084tu, HP Spectre x360 — 13-ap0085tu, HP Spectre x360 — 13-ap0086tu, HP Spectre x360 — 13-ap0087tu, HP Spectre x360 — 13-ap0088tu, HP Spectre x360 — 13-ap0089tu, HP Spectre x360 — 13-ap0090tu, HP Spectre x360 — 13-ap0091tu, HP Spectre x360 — 13-ap0092tu, HP Spectre x360 — 13-ap0093tu, HP Spectre x360 — 13-ap0094tu, HP Spectre x360 — 13-ap0095tu, HP Spectre x360 — 13-ap0096tu, HP Spectre x360 — 13-ap0097tu, HP Spectre x360 — 13-ap0098tu, HP Spectre x360 — 13-ap0099tu, HP Spectre x360 — 13-ap0100nd, HP Spectre x360 — 13-ap0100tu, HP Spectre x360 — 13-ap0101ng, HP Spectre x360 — 13-ap0101tu, HP Spectre x360 — 13-ap0102ng, HP Spectre x360 — 13-ap0102tu, HP Spectre x360 — 13-ap0103tu, HP Spectre x360 — 13-ap0104ng, HP Spectre x360 — 13-ap0104tu, HP Spectre x360 — 13-ap0105tu, HP Spectre x360 — 13-ap0106tu, HP Spectre x360 — 13-ap0107tu, HP Spectre x360 — 13-ap0108tu, HP Spectre x360 — 13-ap0109ng, HP Spectre x360 — 13-ap0109tu, HP Spectre x360 — 13-ap0110ng, HP Spectre x360 — 13-ap0110tu, HP Spectre x360 — 13-ap0111tu, HP Spectre x360 — 13-ap0112tu, HP Spectre x360 — 13-ap0113tu, HP Spectre x360 — 13-ap0114tu, HP Spectre x360 — 13-ap0115tu, HP Spectre x360 — 13-ap0116tu, HP Spectre x360 — 13-ap0117tu, HP Spectre x360 — 13-ap0118tu, HP Spectre x360 — 13-ap0119tu, HP Spectre x360 — 13-ap0120ng, HP Spectre x360 — 13-ap0120tu, HP Spectre x360 — 13-ap0121ng, HP Spectre x360 — 13-ap0121tu, HP Spectre x360 — 13-ap0122ng, HP Spectre x360 — 13-ap0122tu, HP Spectre x360 — 13-ap0180nd, HP Spectre x360 — 13-ap0250nd, HP Spectre x360 — 13-ap0303ng, HP Spectre x360 — 13-ap0304ng, HP Spectre x360 — 13-ap0312ng, HP Spectre x360 — 13-ap0317ng, HP Spectre x360 — 13-ap0400nd, HP Spectre x360 — 13-ap0404nz, HP Spectre x360 — 13-ap0406nz, HP Spectre x360 — 13-ap0409nz, HP Spectre x360 — 13-ap0450nd, HP Spectre x360 — 13-ap0500nz, HP Spectre x360 — 13-ap0509nz, HP Spectre x360 — 13-ap0550nz, HP Spectre x360 — 13-ap0589na, HP Spectre x360 — 13-ap0590na, HP Spectre x360 — 13-ap0599na, HP Spectre x360 — 13-ap0609nz, HP Spectre x360 — 13-ap0708nz, HP Spectre x360 — 13-ap0800no, HP Spectre x360 — 13-ap0801no, HP Spectre x360 — 13-ap0802no, HP Spectre x360 — 13-ap0803no, HP Spectre x360 — 13-ap0807nz, HP Spectre x360 — 13-ap0809nz, HP Spectre x360 — 13-ap0857nz, HP Spectre x360 — 13-ap0897nz, HP Spectre x360 — 13-ap0900nz, HP Spectre x360 — 13-ap0902nz, HP Spectre x360 — 13-ap0904nz, HP Spectre x360 — 13-ap0950nz, HP Spectre x360 — 13-ap0970nz, HP Spectre x360 — 13-ap0980nz, HP Spectre x360 — 13-ap0990nz, HP Spectre x360 — 13-ap0991nz, HP Spectre x360 — 13-ap0997nb, HP Spectre x360 — 13-ap0998nb, HP Spectre x360 — 13-ap0999nb, HP Spectre x360 — 13t-ap000 CTO, HP Spectre x360 — 15-df000 CTO, HP Spectre x360 — 15-df0000nf, HP Spectre x360 — 15-df0000no, HP Spectre x360 — 15-df0000nv, HP Spectre x360 — 15-df0000nx, HP Spectre x360 — 15-df0000tx, HP Spectre x360 — 15-df0000ur, HP Spectre x360 — 15-df0001nd, HP Spectre x360 — 15-df0001nf, HP Spectre x360 — 15-df0001nv, HP Spectre x360 — 15-df0001nx, HP Spectre x360 — 15-df0001tx, HP Spectre x360 — 15-df0002na, HP Spectre x360 — 15-df0002nf, HP Spectre x360 — 15-df0002no, HP Spectre x360 — 15-df0002nx, HP Spectre x360 — 15-df0002tx, HP Spectre x360 — 15-df0003nc, HP Spectre x360 — 15-df0003nx, HP Spectre x360 — 15-df0003tx, HP Spectre x360 — 15-df0004na, HP Spectre x360 — 15-df0004nc, HP Spectre x360 — 15-df0004ne, HP Spectre x360 — 15-df0004no, HP Spectre x360 — 15-df0004tx, HP Spectre x360 — 15-df0005na, HP Spectre x360 — 15-df0005ne, HP Spectre x360 — 15-df0005nf, HP Spectre x360 — 15-df0005no, HP Spectre x360 — 15-df0005tx, HP Spectre x360 — 15-df0006na, HP Spectre x360 — 15-df0006nl, HP Spectre x360 — 15-df0006tx, HP Spectre x360 — 15-df0007na, HP Spectre x360 — 15-df0007nf, HP Spectre x360 — 15-df0007tx, HP Spectre x360 — 15-df0008ca, HP Spectre x360 — 15-df0008nc, HP Spectre x360 — 15-df0008tx, HP Spectre x360 — 15-df0009nc, HP Spectre x360 — 15-df0009nf, HP Spectre x360 — 15-df0009tx, HP Spectre x360 — 15-df0010ca, HP Spectre x360 — 15-df0010nf, HP Spectre x360 — 15-df0010tx, HP Spectre x360 — 15-df0011na, HP Spectre x360 — 15-df0011nf, HP Spectre x360 — 15-df0011tx, HP Spectre x360 — 15-df0012na, HP Spectre x360 — 15-df0012tx, HP Spectre x360 — 15-df0013dx, HP Spectre x360 — 15-df0013tx, HP Spectre x360 — 15-df0014tx, HP Spectre x360 — 15-df0015tx, HP Spectre x360 — 15-df0015ur, HP Spectre x360 — 15-df0016na, HP Spectre x360 — 15-df0016tx, HP Spectre x360 — 15-df0017tx, HP Spectre x360 — 15-df0018tx, HP Spectre x360 — 15-df0018ur, HP Spectre x360 — 15-df0019tx, HP Spectre x360 — 15-df0020tx, HP Spectre x360 — 15-df0021tx, HP Spectre x360 — 15-df0022nb, HP Spectre x360 — 15-df0023dx, HP Spectre x360 — 15-df0025na, HP Spectre x360 — 15-df0025nb, HP Spectre x360 — 15-df0026na, HP Spectre x360 — 15-df0027nb, HP Spectre x360 — 15-df0028na, HP Spectre x360 — 15-df0028nb, HP Spectre x360 — 15-df0029na, HP Spectre x360 — 15-df0030na, HP Spectre x360 — 15-df0032nb, HP Spectre x360 — 15-df0035na, HP Spectre x360 — 15-df0037ur, HP Spectre x360 — 15-df0038ur, HP Spectre x360 — 15-df0039na, HP Spectre x360 — 15-df0042na, HP Spectre x360 — 15-df0044nb, HP Spectre x360 — 15-df0062nb, HP Spectre x360 — 15-df0065nr, HP Spectre x360 — 15-df0068nr, HP Spectre x360 — 15-df0100nd, HP Spectre x360 — 15-df0104ng, HP Spectre x360 — 15-df0106ng, HP Spectre x360 — 15-df0108ng, HP Spectre x360 — 15-df0126ng, HP Spectre x360 — 15-df0180no, HP Spectre x360 — 15-df0303ng, HP Spectre x360 — 15-df0304ng, HP Spectre x360 — 15-df0306nz, HP Spectre x360 — 15-df0322ng, HP Spectre x360 — 15-df0400nd, HP Spectre x360 — 15-df0400nz, HP Spectre x360 — 15-df0500nd, HP Spectre x360 — 15-df0590na, HP Spectre x360 — 15-df0599na, HP Spectre x360 — 15-df0707nz, HP Spectre x360 — 15-df0709nz, HP Spectre x360 — 15-df0757nz, HP Spectre x360 — 15-df0797nz, HP Spectre x360 — 15-df0800no, HP Spectre x360 — 15-df0800nz, HP Spectre x360 — 15-df0801no, HP Spectre x360 — 15-df0850nz, HP Spectre x360 — 15-df0900nz, HP Spectre x360 — 15-df0950nz, HP Spectre x360 — 15-df0999nb, HP Spectre x360 — 15-df0999nl, HP Spectre x360 — 15t-df000 CTO, HP Spectre x360 — 15t-df100 CTO

Интерфейсная шина IIC (I2C)

Один из моих самых любимых интерфейсов. Разработан в компании Philips и право на его использование стоит денег, но все на это дружно положили и пользуют в свое удовольствие, называя только по другому. В Atmel его зовут TWI , но от этого ничего не меняется �� Обычно при разборе IIC во всех книгах ограничиваются примером с EEPROM на этом и ограничиваются. Да еще юзают софтверный Master. Не дождетесь, у меня будет подробный разбор работы этой шины как в режиме Master так и Slave, да еще на аппаратных блоках с полным выполнением всей структуры конечного автомата протокола. Но об этом после, а сейчас основы.

Физический уровень.
Данные передаются по двум проводам — провод данных и провод тактов. Есть ведущий (master) и ведомый (slave), такты генерирует master, ведомый лишь поддакивает при приеме байта. Всего на одной двупроводной шине может быть до 127 устройств . Схема подключения — монтажное И

Передача/Прием сигналов осуществляется прижиманием линии в 0 , в единичку устанавливается сама, за счет подтягивающих резисторов . Их ставить обязательно всегда ! Стандарт! Резисторы на 10к оптимальны. Чем больше резистор, тем дольше линия восстанавливается в единицу (идет перезаряд паразитной емкости между проводами) и тем сильней заваливаются фронты импульсов, а значит скорость передачи падает. Именно поэтому у I 2 C скорость передачи намного ниже чем у SPI . Обычно IIC работает либо на скорости 10кбит/с — в медленном режиме, либо на 100кбит/с в быстром. Но в реальности можно плавно менять скорость вплоть до нуля.
Ни в коем случае нельзя переключать вывод микроконтроллера в OUT и дергать ногу на +5. Можно запросто словить КЗ и пожечь либо контроллер либо какой-нибудь девайс на шине. Мало ли кто там линию придавит.

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

После старта передача одного бита данных идет по тактовому импульсу. То есть когда линия SCL в нуле master или slave выставляют бит на SDA (прижимают — если 0 или не прижимают — если 1 линию SDA ) после чего SCL отпускается и master/slave считывают бит. Таким образом, у нас протокол совершенно не зависит от временных интервалов , только от тактовых битов. Поэтому шину I 2 C очень легко отлаживать — если что то не так, то достаточно снизить скорость до байта в минуту и спокойно, обычными вольтметрами, смотреть что у нас происходит. Правда это не прокатит с железным I 2 C , там нет таких низких скоростей. Но что нам мешает затактовать микроконтроллер от ОЧЕНЬ медленного тактового генератора и отладить все по шагам? ��

Логический уровень
Как передаются отдельные биты понятно, теперь о том что эти биты значат. В отличии от SPI тут умная адресная структура. Данные шлются пакетами, каждый пакет состоит из девяти бит. 8 данных и 1 бит подтверждения/не подтверждения приема.

Первый пакет шлется от ведущего к ведомому это физический адрес устройства и бит направления .
Сам адрес состоит из семи бит (вот почему до 127 устройств на шине), а восьмой бит означает что будет делать Slave на следующем байте — принимать или передавать данные . Девятым битом идет бит подтверждения ACK . Если Slave услышал свой адрес и считал полностью, то на девятом такте он придавит линию SDA в 0, сгенерировав ACK — то есть Понял! Мастер, заметя это, понимает, что все идет по плану и можно продолжать. Если Slave не обнаружился, прозевал адрес, неправильно принял байт, сгорел или еще что с ним случилось, то, соответственно, SDA на девятом такте будет прижать некому и ACK не получится. Будет NACK . Мастер с горя хлопнет водки и прекратит свои попытки до лучших времен.

После адресного пакета идут пакеты с данными в ту или другую сторону, в зависимости от бита RW в заголовочном пакете.
Вот, например, Запись. В квадратиках идут номера битов. W=0

Чтение практически также, но тут есть одна тонкость из-за которой я когда то убил кучу времени. При приеме последнего байта надо дать ведомому понять, что в его услугах больше не нуждаемся и отослать NACK на последнем байте. Если отослать ACK то после стопа Master не отпустит линию — такой уж там конечный автомат. Так что прием двух байтов будет выглядеть так (R=1):
Есть еще одно состояние, как повторный старт .
Это когда мы не обьявляя STOP вкатываем на шину еще один START . После него мы можем обратиться к другому устройству не освобождая шину. Но чаще идет обращение к тому же самому устройству и это связано с особенностями организации памяти.

Организация памяти.
Это относится уже не столько к самому протоколу I 2 C , сколько к заморочкам создателей разных EEPROM и прочих I 2 C устройств. Но встречается это повсеместно, поэтому я расскажу про этот момент. Но, повторюсь, это не аксиома, не стандарт и вообще зависит от конкретного Slave устройства. Так что датит в зубы и вкуривать, но обычно так принято.

Итак, о чем речь.
Как видно из протокола, в первом байте мы адресовываем само устройство , а их может быть до 127 штук. Но в самом устройстве вполне может быть очень сложная структура, с кучей ячеек. Например EEPROM с килобайтами данных внутри. Как обращаться с этими данными? Не считывать же все по очереди от нуля до конца — это долго. Поэтому приняли хитрый формат. Это не стандарт, но юзается повсеместно.

Поясню на примере:
Есть микросхема часов реального времени PCF8583 (я про нее еще напишу, следите за обновлениями), общающася по протоколу I 2 C . Внутри нее ячейки памяти, в которых хранятся часы, минуты, секунды, дата, состояние флагов и куча еще всего. До кучи там еще 240 байт просто так, для свободного пользования. Карта адресов этой микросхемы выглядит так:

И вот надо мне установить дату. Для этого надо мне записать две ячейки памяти с адресами 0х05 и 0x06 . Как это сделать? Из даташита я узнаю, что первый байт данных это адрес куда мы будем обращаться, а потом уже идут данные и со следующим байтом счетчик адреса увеличивается на 1. Там же, в даташите, написано что эти часы откликаются на Slave-адрес 1010000х где х — состояние ноги А0 микросхемы . Я эту ногу сразу посадил на 0 так что Slave-адрес у меня 10100000. Очевидно, что на одной шине может быть не более двух экземпляров этой микросхемы с адресами 10100000 и 10100001.

Задача решается так:
Вот и славно. Часы установлены и начали тикать. Но вот надо нам считать те же данные, а вдруг изменились?
С записью все понятно — записали вначале адрес, а потом следом записали данные. А умная микросхема все прекрасно поняла и рассовала по ячейкам. А с чтением? А с чтением все через задницу, в смысле через запись.

То есть, мы, вначале, записываем один байт — адрес. Потом делаем повторный старт, затем снова обращаемся к часам по ее Slave-адресу , но уже с битом R , на чтение. И умная микруха выдает нам байты с адреса который мы в нее вот только что записали. Выглядит это так:
В этих часах так, у других микрух может быть все по другому, но в 99% очень похоже. Адрес, например, может быть двухбайтным или страницу надо будет указать, но сути это не меняет. Цепочка запись-повстарт-чтение это повсеместно.
Вот так, кстати, выглядит чтение данных из часов PCF8583 на экране моего логического анализатора. Тут не полная посылка (все 5 байт просто не влезли в экран), но тут четко видно запись начального адреса, потом повторный старт, и чтение из девайса.

Скриншот с осциллографа RIGOL 1042CD

Арбитраж шины I 2 C.
Почему то все мануалы для начинающих в которых рассматривалась тема протокола IIC как то ссыкливо замалчивают возможность работы двух ведущих на линии. Master-Slave и все тут. А если у нас демократия? И каждый сам себе Master и сам себе Slave ? Согласен, редкий случай, но тем не менее, описывать так описывать. Короче, в случае подобного садо-мазо варианта действует железное правило — кто раньше встал того и тапки. В смысле кто первый начал вещать тот и текущий Master .
Но вот случилось вообще невероятное — два Ведущих начали вещать одновременно . Прям совсем одновременно. Как быть? А тут нам поможет свойство монтажного И — где против лома нуля нет приема. Короче, оба мастера бит за битом играют в простую игру ножик-камень(1 и 0 соответственно). Кто первый выкинет камень против ножика тот и побеждает арбитраж, продолжая вещать дальше. Так что очевидно, что самый важный адрес должен начинаться с нулей, чтобы тот кто к нему пытался обращаться всегда выигрывал арбитраж. Проигравшая же сторона вынуждена ждать пока шина не освободится.

Вроде бы все, практический пример с AVR будет потом, а пока помедитируйте над диаграммой работы конечного автомата TWI передатчика ATmega8. Скоро я вас буду этим грузить!

Страшна? �� На самом деле там все не так брутально. Можно обойтись вообще парой десятков строк кода на ассемблере.

Спасибо. Вы потрясающие! Всего за месяц мы собрали нужную сумму в 500000 на хоккейную коробку для детского дома Аистенок. Из которых 125000+ было от вас, читателей EasyElectronics. Были даже переводы на 25000+ и просто поток платежей на 251 рубль. Это невероятно круто. Сейчас идет заключение договора и подготовка к строительству!

А я встрял на три года, как минимум, ежемесячной пахоты над статьями :)))))))))))) Спасибо вам за такой мощный пинок.

202 thoughts on “Интерфейсная шина IIC (I2C)”

(1) OpenID работает криво. Я зашёл как blacklion.livejournal.com и всё равно справа-сверху «войти» (а не «выйти») и не даю комментировать. Пришлось регистрироваться и теперь тут два меня.

(2) Софтового мастера сделать не сложно. А вот слейва как-то просто не получается.

Щас попробую с опен ид поиграться.

Более того, многие предпочитают делать софтовый И2С мастер чтобы не заморачиваться с встроенным в TWI конечным автоматом.

Более того, многие предпочитают делать софтовый И2С мастер чтобы не заморачиваться с встроенным в TWI конечным автоматом.
Я когда первый раз подходил к электронике смотрел на PIC (зачем я это делал!? Зачем на PIC?!) так реализовал мастера в качестве упражнения за вечер. А вот слейва так и не осилил…

Я сделал софтового слейва на AT89C2051, но работало жутко медленно.

плюсадин. я уже раз 5 жаловался что логины глючат �� нашел выход, что залогинился, пару минуток подождал и рефреш. работает, но бесит :\

DI HALT спасибо за статью. Давно ждал рассказ про I2C. ��

Могу поделицца опытом работы конкретно с DS1307. Он, сука, еще тот глючный девайс. Вроде просто, но не все просто. ПРопиши бит СН, запусти часы, не забудь про бит снова, ой а чо горим — а мы забыли Vbat на землю положить…

У меня их почти полный аналог ICL12008 ваще работать не хотят — не отзываются на свой адрес, не дают ACK

и у тебя, Брут? я изъебался с их инициализацией — не пашут и все. взял ds, который считал сгоревшим и не рабочим, по по недоразумению не выкинул — и он заработал. в топку эти ISL, от лукавого они..

А у меня 5 штук их лежит — сэмплы. Надо бы в ST гневный мессадж накатать. МОл чо вы за говно нам подсунули?

Да, есть такое дело �� Вообще при начале работы с IIC девайсом, желательно вдоль и поперек изучить Datasheet к нему. В свое время тоже поломал голову с m41 от ST. Вроде все пишется, все читается, но часы стоят и все тут. Оказалось там есть хитрый битик, который при пропадании всего питания — Vcc и Vbat, останавливает часы и пока его не сбросишь они не пойдут.
Ну и еще обычный прикол с часами, что не все могут работать при отключенной батарейке — даже если Vcc есть, внутри у них стоит контроль, который проверяет разницу между напругой и Vbat, и если Vbat нет, то часы просто ни на что не отвечают ��

p.s. а про NACK в конце чтения это да, самые популярные грабли наверно. Кстати для отлаживания шины если нет крутого осцила, можно прикрутить I2C Sniffer на Atmega8 — оч удобная штука, она в консоли показывает полностью весь обмен в удобоваримом виде.

А чё с ним было голову ломать? Кстати, m41t56 рекомендую, простые и удобные I2C часы. Про битик я давно знал — он у всех часовых изделий от ST присутствует. Наверное, как совместимость с m48t08 — который с батареей на борту. Чтобы батарею не сажать, пока таймкипер лежит на складе, они глушат часы.

О)) На самом деле классная тема! Мне бы сначала с простым UARTом разобраться, а потом только к творению Philips)) Буду ждать исходников…

Отличная статья! А есть последняя диаграмма только в чуть лучшем качестве? А то буквы трудно различить.

Красные пути — нормальная работа
Синие — возможные косяки.

Читать:
Как скачать ffmpeg для replay mod

Похожие статьи