Описание
Оригинальные импортные USB I2C последовательный SPI Многофункциональный USB модуль

Краткое введение
В USB-ISS Многофункциональный коммуникационный модуль USB обеспечивает полный интерфейс между вашим компьютером и I2C автобус, SPI, последовательный порт и аналоговым входом или цифрового ввода/вывода. Модуль питается от USB. Рабочее напряжение можно выбрать между 3,3 В и 5 В. И ток до 80 мА может быть предоставлен для внешней цепи стандартного USB порта 100 мА под 5 В.
Ссылка на соответствующие данные: pan.baidu.com/s/1qWwWN0o
Pan.baidu.com/s/1pLYvTSf

I2C режим
USB-ISS всегда работает как I2C автобус хост.
В I2C режим имеет много команды для доступа к I2C устройств с 0,1 или 2 внутренний адрес байт, а также для того, чтобы создать свой собственный I2C последовательности. Эти заключаются в следующем:

В USB-ISS модуль несет ответственность за оплату всех I2C автобус требования, такие, как начать/перезагрузки/остановки сортировки и подъемно-транспортное ответ циклов. Вам просто нужно предоставить несколько байтов, чтобы сообщить модулю, как это сделать.
Написать один байт в I2C устройства без внутренней прибор приемно-регистр
Эти устройства включают в себя Philips PCF8574 I/O удлинитель для головок и т. д .. После I2C_SGL, вы отправляете I2C адрес и байт устройства.

Все биты 3 байт последовательности PCF8574 I/O удлинитель для головок чип на низком уровне. Все 3 байта должны быть отправлены USB-ISS в одном заказе. Зазор вызовет перезагрузку USB-ISS внутренней циклы синхронизации команд и пропуск сообщения. После получения всех байт, USB-ISS выполняет IC2 операций записи на PCF8574 и отправляет один байт обратно на ПК. Если команда записи не работает, возвращенный байт будет 0x00 (ноль), и если запись успешно, это будет не ноль. Перед совершением следующей транзакции ПК должен ждать возврата в этот байт (время ожидания после 500 мс).
Чтение в виде одного байта из I2C устройства без внутренней прибор приемно-регистр
Это аналогично написанию, за исключением того, что вы должны добавить 1 к адресу устройства, чтобы сделать его нечетным номером. Читать с PCF8574 адреса 0x40, вы будете использовать 0x41, так как адрес. (в том случае, если адрес на I2C автобус гаснет, 1 находится в нижнем положении при чтении период). Ниже приведена таблица с указанием PCF8574 I/O Эспандер для чтения вход образца:

В USB-ISS модуль будет работать при операциях чтения на I2C автобуса и послать одну байт (PCF8574 вход) обратно на ПК. Перед продолжением следующей транзакции ПК должен ждать возврата байтов (таймаут после 500 мс).
Напишите несколько байт на устройство, которое не имеет внутреннего адреса.
Если есть, то таким образом работает мало реальных устройств, но некоторые люди запрограммировали uконтроллер, чтобы сделать это. Пример оригинального дизайна интерьера: отправка четыре байта к устройству с I2C адрес 0x30.
После получения всех байтов, USB-ISS выполняет функцию записи IC2 на шины I2C и отправляет байт обратно на ПК. Если команда записи не работает, возвращенный байт будет 0x00 (ноль), и если запись успешно, это будет не ноль. Перед совершением следующей транзакции ПК должен ждать возврата в этот байт (время ожидания после 500 мс).
Прочтите несколько Байт из I2C устройство работает без установки новый адрес
Это используется для устройств, которые не имеют внутренних адресов регистрации, но возвращаются в несколько байтов. Датчик давления серии Honeywell ASDX DO является образцом такого устройства. Эта команда также может использоваться для устройств с внутренними адресами, которые автоматически увеличиваются между считыванием и не требуют каждого набора, например EEPROMs. В этом случае, вы будете использовать команду I2C_AD1 или I2C_AD2 для первого чтения, а затем использовать I2C_AD0 для следующего чтения. Ниже приведен пример чтения двухбайтового давления от датчика Honeywell

USB-ISS будет выполнять операции чтения на шины I2C и сначала отправит два байта обратно на ПК высоких байт в этом образе датчика ASDX. Перед продолжением следующей транзакции ПК должен ждать двух байтов возврата (таймаут после 500 мс).
Письменной форме I2C устройств с 1 байт внутреннего список адресов
Это включает в себя почти все I2C устройств. Отправить аппарат I2C адрес в соответствии с I2C_AD1 команду, а затем отправьте внутренний регистр адрес устройства, которое должно быть написаны и количество байт, чтобы быть записана. Максимальное количество байтов данных не должно превышать 60, чтобы избежать перегрузки внутреннего буфера USB-ISS.

5 байт последовательности начинается SRF08 в диапазоне адреса 0xE0. Все 5 байт должны быть отправлены USB-ISS в одном заказе. Зазор вызовет перезагрузку USB-ISS внутренней циклы синхронизации команд и пропуск сообщения. После получения всех байтов, USB-ISS будет выполнять функцию записи IC2 в SRF08 и отправить один байт обратно на ПК. Если команда записи не работает, возвращенный байт будет 0x00 (ноль), и если запись успешно, это будет не ноль. Перед совершением следующей транзакции ПК должен ждать возврата в этот байт (время ожидания после 500 мс).
Это другой записи (как, например, в данный момент 8 байт последовательности для инициализации MD22 привод мотора:

Если запись успешна, USB-ISS ответит на ноль, и если она не сработает, она будет нулевой. Не означает, что нет ответа от I2C устройства.
Чтения с I2C устройства с внутренним список адресов с 1 байт
Это аналогично написанию, за исключением того, что вы должны добавить 1 к адресу устройства, чтобы сделать его нечетным номером. Для чтения из SRF08 адреса 0xE0, вы будете использовать 0xE1 в качестве адреса. (в том случае, если адрес на I2C автобус гаснет, 1 находится в нижнем положении при чтении период). Максимальное количество запрашиваемых байтов данных не должно превышать 60, чтобы избежать перегрузки внутреннего буфера USB-ISS. Ниже приведен пример чтения двух байтовых направления от компасного модуля CMPS03.

USB-ISS будет выполнять операции чтения на шины I2C и отправлять два байта обратно на ПК-высокие байты. Перед продолжением следующей транзакции ПК должен ждать двух байтов возврата (таймаут после 500 мс).
Письменной форме I2C устройств с 2 байт внутреннего адресом регистрации
Это в основном EEPROM от 24LC32 (4 K x 8) до 24LC1024 (2*64 K x 8). После I2C_AD2 вы отправляете устройство I2C тот адрес, который указан, затем отправить устройства внутренней адрес регистра (2 байт, а высокий байт в первую очередь EEPROM), а затем напишите номер байт. Максимальное количество байтов данных не должно превышать 59, чтобы избежать внутреннего буферного перерасхода 64 байт USB-ISS.

Последовательность 37 байт записывает последние 32 байта на адрес 0x0000 в EEPROM. Все 37 байт должны быть отправлены USB-ISS в одном заказе. Зазор вызовет перезагрузку USB-ISS внутренней циклы синхронизации команд и пропуск сообщения. После получения всех байтов, USB-ISS будет выполнять функцию записи IC2 и отправить его на ПК. Если команда записи не работает, возвращенный байт будет 0x00 (ноль), и если запись успешно, это будет не ноль. Перед совершением следующей транзакции ПК должен ждать возврата в этот байт (время ожидания после 500 мс).
Чтения с I2C устройства с внутренним список адресов с 2 байт
Это аналогично написанию, за исключением того, что вы должны добавить 1 к адресу устройства, чтобы сделать его нечетным номером. Для чтения с EEPROM адреса 0xA0, вы будете использовать 0xA1 в качестве адреса. (в том случае, если адрес на I2C автобус гаснет, 1 находится в нижнем положении при чтении период). Максимальное количество байтов запрашиваемых данных не должно превышать 64, чтобы избежать перегрузки внутреннего буфера USB-ISS. Это пример чтения 64 (0x40) Байт от внутренний адрес 0x0000 EEPROM I2C адрес 0xA0.

USB-ISS будет выполнять операции чтения на шины I2C и отправляет 64 байта обратно на ПК. Перед продолжением следующей транзакции ПК должен ждать возврата всех 64 байт (таймаут после 500 мс).
I2C_DIRECT команды
В I2C_DIRECT используется, чтобы разрешить построить изготовленный на заказ I2C последовательности.
Вы отправляете команду I2C_DIRECT (0x57), а затем отправляете как можно больше подкоманд. Эти подкомандами заключаются в следующем:

Подкоманда I2C_Read может считывать максимум до 16 байт. 0x20 прочитает 1 байт, 0x21 прочитает 2 байта, и 0x2F прочитает 16 байт. Все Считываемые байты буферизируются и отправляются после обработки всех подкоманд.
Подкоманда I2C_Write может быть записана в 16 байтов. 0x30 будет записан в 1 байте, 0x35 будет записан в 6 байтов, и 0x3F будет записан в 16 байтов. За байтами для записи следует команда записи. Пожалуйста, убедитесь, что вы предоставите правильное количество байтов, указанных в подкоманды.
Ниже приведена таблица с указанием 0x55 PCF8574 I/O расширитель письменный заказ.

Следующие записи 4 байта до 24LC512 EEPROM. Для этого используется 2 внутренних адресных байта.

Это считывает 4 байта от 24LC512 EEPROM.

Пожалуйста, обратите внимание, что в соответствии с последовательностью чтения мы должны сначала написать адрес, который мы хотим прочитать. Мы считываем 3 байта 4 байта, а затем устанавливаем флаг NACK перед чтением последнего байта. Это основано на I2C спецификации, но это на самом деле не нужно, и после будет одна и та же:

Ответ на команду I2C_DIRECT-это переменный номер байта, но всегда не менее 2. Сначала следует считывать два байта, потому что они являются байтами состояния. Первый байт-состояние ACK (0xFF) или NACK (0x00).
Если вы получаете команду ACK, во второй байтах есть количество байтов для чтения. Если вы не запрашиваете чтение, то оно будет нулевым, или вы должны теперь прочитать количество байтов, доступных.
Если вы не получили команду NACK, во вторых байтах есть причина, как показано ниже:
Характеристики
- Тип товара
- Передатчики FM
- Бренд
- MLLSE










