Первое подключение и использование модуля на интерфейсном чипе CH376S (часть 1)

(часть 2)

     Прежде чем начать, сообщу что данная запись (ну и надеюсь последующие) это выдержки из моих экспериментов по работе с данным модулем, хочу как-то систематизировать эту работу для себя и думаю это будет интересно многим. Есть очень хорошая статейка (eng) для Arduino, где описывается работа с этим устройством, хотя там есть некоторые ошибки, которые автор признал, но в коде не поправил, и только из комментариев это можно узнать. Моя цель не писать скетчи для Arduino, а научиться использовать данную микросхему для микроконтроллеров AVR (хотя в этой области я ещё профан), что необходимо для моего проекта, о котором как-нибудь поведаю.
     Модуль для Arduino на микросхеме CH376S (File manage and control chip CH376) можно использовать для чтения, записи и др. с USB flash устройств (поддерживает файловые системы FAT12/FAT16/FAT32 объёмом не более 32Gb).


Схема подключения к модулю


Как видно на картинке к нему можно подключаться по трём интерфейсам:
  • 8 bit paralel interface;
  • UART;
  • SPI.

Я же пока буду использовать UART

     Для экспериментов с данным модулем необходима программа для работы с COM портом Terminal (это же как вариант) или Docklight ну и сам переходник на ваше усмотрение.


например такой (на микросхеме PL2303)

Итак, подключаемся (схема подключения напомню приведена выше).

     Интерфейсный чип CH376S при первом включении настроен на скорость 9600 бод (8 бит данных, 1 стоп бит, остальное none), конечно же скорость приёма-передачи можно изменять в широких пределах.

настройки COM порта

     CH376S использует определённый список команд, который неплохо описан в DataSheet, хотя далеко не с первого раза у меня получилось с ним работать и было много нюансов.

     Так-как список команд в DataSheet приведен в шестнадцатеричном виде, то и мы для удобства будем использовать эту систему счисления.

     Если вы будете использовать программу Terminal, то для передачи данных в шестнадцатеричной системе счисления необходимо писать так (перед каждым числом ставим знак $): $57$AB и т.д. Я буду везде писать в таком виде (кроме случаев когда мы будем получать ответ от микроконтроллера), а вы имейте это ввиду.


нажимаем в Terminal кнопку Connect

     Любая команда для микросхемы CH376S начинается с «синхронизационных» двух байт:
$57$AB и далее следует команда

     В своих экспериментах я понял, что для корректной работы и правильных результатов, необходима определённая последовательность команд и при её несоблюдении вы можете столкнуться с ошибками (об ошибках мы поговорим в другой раз).

     Обычная последовательность действий для подключения USB Flash:
  • $57$AB$05 — сброс чипа (RESET_ALL);
  • $57$AB$15$06 — переключение в режим USB (SET_USB_MODE) — ответ должен быть: 51 15 (значит всё хорошо, продолжаем);
  • $57$AB$30 — подключение USB Flash (DISK_CONNECT) — ответ должен быть: 14 (значит всё хорошо, продолжаем);
  • $57$AB$31 — монтируем USB Flash (DISK_MOUNT) — ответ должен быть: 14 (значит всё хорошо, продолжаем);

     Теперь наше USB Flash устройство подключено и мы можем продолжить

Для примера введём последовательность:
$57$AB$27 — получение сведений об устройстве (RD_USB_DATA0) — ответ будет в зависимости от устройства разным, но примерно таким:



А теперь переведем всё это в читаемый вид ASCII (переведем переключатель на ASCII) и повторим все команды:



Ну вот и всё, мы получили сведения о подключенном устройстве USB Flash

     Надеюсь эта статейка поможет кому-нибудь в изучении данного модуля на микросхеме CH376S.

     Для чего всё это..., думаю есть много людей желающих создать устройство для доступа к файлам на USB Flash без участия компьютера, осуществления каких-нибудь манипуляций с ними, просто чтения/записи и т.п.

     Цена данного модуля на сегодняшнюю дату примерно 2.5 доллара, или 10 долларов за 5 штучек самого чипа.

     В следующий раз разберемся как обращаться к файлам, как открыть, как получать их размер (и как его конвертировать в читаемый вид), и ещё чего-нибудь..))

Не судите строго, старался сделать всё доходчиво, но может чего и упустил.
Upd: внесены правки с учётом замечания

  • ?
  • 23 марта 2020, 22:30
  • Saylon

Комментарии (5)

RSS свернуть / развернуть
File manage and control chip CH376
этого интересного микроконтроллера
Не надо бы в одной статье себе самому противоречить. CH376 интерфейсный чип, никаких программируемых мозгов у него вроде нет.
0
Спасибо за замечание, действительно в документации я встречал аббревиатуру MCU (Micro Controller Unit) и ошибочно полагал, что это имеет отношение к данному чипу. Чуть позже обязательно поправлю это.
0
Неплохо китайцы отожгли. Респект.
0
Спасибо за статью, надеюсь будет продолжение.
0
Уже, есть
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.