Подтверждение в I2 C раб - PullRequest
       57

Подтверждение в I2 C раб

0 голосов
/ 02 февраля 2020

Я прочитал спецификацию I2 C, предоставленную nxp.но мне все еще неясно по некоторым пунктам. Можете ли вы объяснить мне?

  1. обычно подчиненный подчиняется I2 C master. Подтверждение активируется ведущим I2 C, тогда как подчиненное устройство генерирует подтверждение I2 C?
  2. I2 C Адрес подчиненного устройства и байты данных I2 C являются однобайтовыми данными, тогда как I2 C раб различает между ними?

1 Ответ

0 голосов
/ 17 февраля 2020

Предполагая, что i2 c спецификация для nxp идентична отраслевому стандарту.

1) Я не думаю, что «подтверждение включено Мастером» является правильным термином здесь. После каждого (полного) байта, отправленного Ведущим, он ожидает, пока Ведомый не отправит обратно бит подтверждения (или не подтверждение). Ведомое устройство делает это, изменяя уровень линии SDA.

2) Для передачи данных от ведущего устройства к подчиненному (и обратно) очень важно соблюдать порядок отправленных байтов. Типичный пример будет выглядеть следующим образом:

  • Ведущие отправляют: сигнал запуска
  • Ведущие отправляют: адрес ведомого + бит записи
  • Отправляемые ведомые: ACK
  • Мастер посылает: регистр адрес, который мастер хочет прочитать
  • Ведомый отправляет: ACK
  • Мастер отправляет: повторный стартовый сигнал
  • Мастер отправляет: адрес ведомого + бит чтения
  • Slave отправляет: ACK
  • Slave отправляет: содержимое регистра. Адрес регистра, который мастер хочет прочитать
  • Master посылает: NACK
  • Master посылает: сигнал остановки

Если вы ищете более подробную информацию о I2 C, то в Inte rnet их много. Для меня, раздел 21 этой таблицы данных очень помог мне понять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...