Универсальный инженерный мультитул: компактный модуль I2C/SPI/UART/JTAG за 1000 рублей

Я, как инженер и техноэнтузиаст, постоянно ищу возможности улучшить своё оборудование. Недавно, просматривая маркетплейсы, обнаружил универсальный инструмент для embedded-разработки — контроллер I2C/SPI/UART/JTAG всего за 1 000 ₽. Не удержался и протестировал его во всех режимах, о чём и рассказываю ниже.

Описание устройства

Раньше я редко делал обзоры «железа», но этот гаджет уникален и востребован не только у embedded-разработчиков, но и у мастеров по ремонту мобильной и компьютерной техники.

Универсальный инженерный мультитул: компактный модуль I2C/SPI/UART/JTAG за 1000 рублей

В официальной вики производителя указаны следующие параметры:

  • Интерфейсы: SPI с двумя CS, I2C, полноценный JTAG с линиейRESET, два UART с CTS/RTS;
  • Контроллер: WCH CH347 (родственник CH341A);
  • Питание: 5 В и 3.3 В, ток ≈ 65 мА от USB VBus, есть самовосстанавливающийся предохранитель.
Логотип Waveshare
Waveshare — известный производитель одноплатных компьютеров, периферии и инструментов.

Устройство пришло в компактной коробке вместе с USB Type-B кабелем, проводами Dupont в IDC-разъёме и коротким руководством.

Комплектация контроллера

Металлический корпус снабжён монтажными ушками, на крышке — схема распиновки и светодиоды индикаторов UART.

Металлический корпус с индикаторами

Внутри — предохранитель, линейный стабилизатор AMS1117, сам CH347 и переключатели режимов.

Внутреннее устройство контроллера

Тестирование UART

Переключив тумблер в режим M0, получаем два независимых UART: до 9 Мбод на UART0 и до 7.5 Мбод на UART1.

Подключение проводов UART
Провода подсоединены по цветовой маркировке и логике, а не просто «красный — VCC, чёрный — GND».

Я подключил к своей консоли RX/TX и землю, выбрал COM-порт в PuTTY на скорости 115200 бод — и получил лог загрузки.

Вывод логов в PuTTY

Гаджет годится и для прошивки телефонов с UART-режимом, а также для диагностики ретро-устройств без спец-JIG.

Работа с SPI и I2C

CH347 использует проприетарный USB-протокол. Для Windows (начиная с 2000) есть официальная библиотека, а для Linux — драйверы spidev и i2c-dev.

Ссылка на драйвер
Скачать Windows-драйвер можно по ссылке на wch.cn.

Через тестовую утилиту из SDK отправил данные в SPI-флеш 25-й серии и EEPROM 24-й.

Тест SPI-утилиты

Проект с дисплеем

Для примера подключил 1.8″ дисплей: MOSI → SDO, SCK → CLK, VCC → питание, BL → подсветка. Линии D/C и RESET вывел на GPIO6 (CTS UART1) и GPIO7 (RTS UART1).

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

В коде на C++ получаем дескриптор через CH347OpenDevice, проверяем режим, настраиваем SPI (режим, скорость, CS) и GPIO:

deviceHandle = CH347OpenDevice(deviceIndex);
if (!deviceHandle) throw runtime_error("Невозможно открыть устройство");
CH347GetDeviceInfor(deviceIndex, &info);
if (info.ChipMode != 1) throw runtime_error("Неправильный режим чипа");

CH347SetTimeout(deviceIndex, to, to);
mSpiCfgS cfg = {0};
cfg.iMode = 0; cfg.iClock = 0; cfg.iChipSelect = 0;
CH347SPI_Init(deviceIndex, &cfg);

Аппаратный сброс и последовательная отправка команд EMIPI:

CH347GPIO_Set(deviceIndex, 1<
Инициализация дисплея
Индикация инициализации. При правильной настройке видна «шумящая» картинка.

Для вывода изображения преобразуем рисунок в массив RGB565 и копируем буфер:

uint8_t cmd = (uint8_t)cmdRAMWR;
GPIOSet(deviceIndex, config.IODataCommand, 0);
CH347SPI_Write(deviceIndex, 0,1,1,&cmd);
GPIOSet(deviceIndex, config.IODataCommand,1);
CH347SPI_Write(deviceIndex,0,frameSize,2,pixels);
Результат на экране

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

Итоги

Waveshare предложила действительно универсальный и недорогой инструмент. Такая цена и удобство переключателей с проводами Dupont делают его отличным выбором. Дешевле встречаются только голые платы без «фич».

JTAG-тест пока отложу, но возможности модуля впечатляют.

Если вам интересны ремонт, моддинг и программирование устаревших гаджетов — подписывайтесь на мой Telegram «Клуб фанатов балдежа» и YouTube. Поддержать проект можно на Boosty.

Ищем девайсы для будущих обзоров
Гаджеты для обзора
Список девайсов

Рекомендую хостинг Timeweb Cloud — надёжный провайдер для размещения всех проектов.

 

Источник

Читайте также