Перейти к основному содержимому

Описание ПО Workstation4ad3s

Программное обеспечение Workstation4ad3s предназначено для настройки, диагностики и отладки микросхемы преобразователя 5400ТР065А-022. Связь с микросхемой осуществляется через микроконтроллер МК (ad3s_prog_esp32) по интерфейсу USB CDC (виртуальный COM-порт), который далее общается с микросхемой по SPI.

Варианты аппаратной части и запуск

ПО распространяется в виде дистрибутива (скрипт запуска + JAR) и требует установленной Java 17 или новее (JDK 17 для скачивания — на FTP, офлайн-вариант для ПК без интернета; либо на сайте Microsoft). Приложение не работает с микросхемой напрямую: связь выполняется через мост на ESP32-S3 с прошивкой ad3s_prog_esp32, который подключается к ПК по USB (виртуальный COM-порт), а к микросхеме — по SPI. Чтобы ПО заработало с преобразователем, возможны два варианта аппаратной части.

Вариант 1 — готовая демонстрационная плата

Готовая отладочная плата уже содержит микросхему 5400ТР065А-022, мост ESP32-S3 с залитой прошивкой и всю необходимую обвязку (тактовый генератор, опорные напряжения, фильтры, разъёмы). В этом варианте ничего программировать не нужно — достаточно подключить плату к ПК кабелем USB и запустить приложение. Удобен для быстрого начала работы и демонстрации.

Вариант 2 — своя плата с микросхемой 5400ТР065А-022 + модуль ESP32-S3

Если используется собственная плата с микросхемой 5400ТР065А-022, к ней подключается отдельный модуль ESP32-S3, который необходимо предварительно прошить мостовой прошивкой ad3s_prog_esp32. Исходники и инструкции находятся в репозитории DCsoyuz/ad3s. При сборке прошивки в menuconfig (AD3S Board Configuration → Version board) выберите вариант платы «Custom User Board» и в файле main/ad3s_types.hpp задайте номера GPIO под свою обвязку (по умолчанию там рабочая разводка образца). Минимально требуются 4 линии SPI:

ESP32-S3МикросхемаНазначение
MOSISDIданные ПК → микросхема
MISOSDOданные микросхема → ПК
SCLKSCLKтактовый сигнал SPI
CSSSTRстроб кадра

Опционально дополнительно подключаются: NRESET, STNDBY, SAMPLE, VC, nSEN, а также два канала квадратурных энкодеров (ENC1, ENC2). Режим SPI — 0, частота по умолчанию 10 МГц (настраивается в приложении).

Запуск и подключение

  1. Подключите мост ESP32-S3 (или демо-плату) к ПК кабелем USB с передачей данных. На платах с двумя разъёмами type-C обмен с приложением ведётся через разъём «USB» (нативный USB, интерфейс CDC). Разъём «UART» (USB-UART мост) предназначен для прошивки контроллера.
  2. Определите виртуальный COM-порт: «Диспетчер устройств» в Windows или ls /dev/tty* в Linux.
  3. Запустите приложение: Windows — Workstation4ad3s-X.X.X.bat, Linux/macOS — ./Workstation4ad3s-X.X.X.sh (при первом запуске требуется Java 17+; при её отсутствии приложение сообщит, как установить).
  4. В левой панели (ConnectPanel) выберите CDC-порт разъёма «USB» (виртуальный COM-порт нативного USB) и нажмите Open COM.
  5. После подключения читайте и записывайте регистры микросхемы через вкладку Terminal.
Два COM-порта — какой выбирать

При одновременном подключении обоих разъёмов в системе регистрируются два независимых COM-порта: мост «UART» (прошивка/лог) и CDC-порт разъёма «USB» (приложение). В Workstation4ad3s используется CDC-порт разъёма «USB», а не порт моста.

Связанные ресурсы
  • Прошивка моста ESP32-S3 (ad3s_prog_esp32): DCsoyuz/ad3s

Быстрый старт

ПО поставляется с готовым проектом user_asm — он открывается в дереве файлов (File Tree) при первом запуске и уже настроен под типичный датчик — классический СКВТ (resolver). Рабочая конфигурация по умолчанию на месте, вручную регистры настраивать не нужно:

  1. Подайте питание на плату и микросхему.
  2. Подключите плату к ПК и нажмите Open COM (см. «Запуск и подключение»).
  3. Нажмите Program — в микросхему зашивается готовый набор регистров (base_ram.txt).
  4. Нажмите Loading — запускается циклическое чтение регистров, и во вкладке Terminal в полях C1Coord/C2Coord появится считанная координата (угол) поворота датчика, а в C1Vel/C2Vel — скорость.
Что зашито в user_asm по умолчанию

Конфигурация рассчитана на классический СКВТ (resolver), два независимых канала:

  • Тип датчика: СКВТ, режим sin/cos.
  • Возбуждение: формируется внутренним генератором микросхемы (выводы EXO1/EXO2), синусоида ~12 кГц, минимальная амплитуда.
  • Входные сигналы: sin/cos через встроенные ОУ (OPA_en = 1); блок восстановления опорного сигнала включён.
  • DC-коррекция: включена (DC_correction = 1) — компенсация среднего уровня сигналов АЦП.
  • Тактирование: от внешнего резонатора 10 МГц на входе CLK60 (для демонстрационной платы; внутренний PLL выключен, Fclk_adc = 2,5 МГц).
  • Выход: координата 16 бит и скорость по каждому каналу; эмуляция энкодера выключена.

После запуска доступны инструменты наблюдения и отладки:

  • HandTap — осциллограммы сигналов с датчика (sin/cos, опора);
  • GraphView — графики координаты/скорости в реальном времени;
  • Terminal — чтение/запись отдельных регистров для калибровки;
  • ParallelSpiView — двухканальный DMA-осциллограф.

Тонкую настройку (частоты, опорные уровни, режимы входных/выходных сигналов, калибровку) выполняйте по Методике подключения и настройки.

Структура окна

+------------------------------------------------------------------+
| Меню: File | Options | Help |
+------------------------------------------------------------------+
| Левая | Рабочая область (вкладки) |
| панель | |
| | [Asm Editor] [Terminal] [GraphView] [HandTap] [Debug] |
| Дерево | |
| проекта | Содержимое активной вкладки |
| | |
|----------+ |
| Connect- | |
| Panel | |
+----------+--------------------------------------------------------+
| Консоль вывода (лог сообщений) |
+------------------------------------------------------------------+

Левая панель

  • Меню — строка меню (File, Options, Help).
  • Дерево проекта — навигация по файлам проекта (ассемблерные исходники, RAM-файлы, конфигурация). Двойной клик открывает файл в редакторе.
  • ConnectPanel — кнопки подключения и управления: выбор COM-порта, ParseAll, Program, Prog Flash, Verify, Open COM, Clean log.

Рабочая область (вкладки)

5 стыкуемых вкладок, которые можно переключать, перетаскивать и откреплять в плавающие окна:

ВкладкаОписание
Asm EditorРедактор ассемблерного кода с подсветкой синтаксиса
TerminalПросмотр и редактирование регистров микросхемы
GraphViewОсциллограф регистровых данных в реальном времени
HandTapАнализатор контуров отслеживания
Debugger CPUsПошаговый отладчик микровычислителей

Консоль вывода

Нижняя панель отображает системные сообщения, лог операций и ошибки. Контекстное меню (правый клик) — Copy и Clear.

Сохранение layout

Расположение вкладок автоматически сохраняется в dock_layout.xml. Для возврата к стандартному расположению — Help → Restore Window.

Меню

File

ПунктСочетаниеНазначение
Open...Ctrl+OОткрыть файл проекта
SaveCtrl+SСохранить текущий файл
Save As...Ctrl+Shift+SСохранить файл под новым именем
ExitCtrl+QВыход из приложения

Options

ПунктНазначение
Float HelperУтилита для работы с числами с плавающей точкой
EncoderПросмотр данных энкодера
PathsРедактор путей к файлам проекта
RecordЗапись и воспроизведение сеансов
ParallelSpiViewПараллельный вывод данных HAND (2 канала, непрерывный поток)
BatchWriterПакетная запись регистров
Окно ТестДиагностика подключения (LED, Find IC, SpiSpd)

Help

ПунктНазначение
AboutИнформация о версии приложения
RegistersHTML-документация по регистрам микросхемы
Restore WindowВосстановление layout вкладок по умолчанию. Сбрасывает сохранённые настройки GraphView и детектора к начальным значениям.

Состав ПО

Terminal

Вкладка для просмотра и редактирования регистров микросхемы в ручном режиме. Содержит таблицу всех IC-регистров (адреса 0–95), панели настройки контуров C1/C2 (KampS, KampC, KbiasS, KbiasC и др.) и кнопки управления (Load/Store, Loading, Program, Verify, OTP-программирование).

Подробное описание — в разделе Terminal.

GraphView

Осциллограф регистровых данных реального времени. Считывает значения регистров микросхемы напрямую (до 4 независимых каналов на двух графиках) и отображает их в виде бегущих осциллограмм. Поддерживает настройку адресов регистров, разрядности, знаковости данных, а также режим детектора для анализа сигналов SIN/COS. Все введённые настройки сохраняются автоматически.

Подробное описание — в разделе GraphView.

Анализатор HandTap

Осциллограф-диагностик контуров отслеживания. При включении режима микровычислитель CPU1 перезагружается специальной программой, которая захватывает данные конвертера HAND1 или HAND2 и передаёт их на ПК для отображения в виде осциллограмм. Позволяет анализировать сигналы sin/cos АЦП, координату, скорость, метрики ошибки и другие внутренние сигналы микросхемы в реальном времени.

Подробное описание — в разделе Анализатор HandTap.

ParallelSpiView (параллельный вывод)

Осциллограф-диагностик с непрерывным потоком данных в режиме параллельной выдачи микросхемы 5400ТР065А-022 (7-проводный параллельный вывод). В отличие от HandTap, обеспечивает неограниченный захват данных и одновременное отображение двух каналов (Addr1 и Addr2). Поддерживает управление сигналами VC и SDI, режим синхронизации (Trig) и авто-масштабирование. Открывается через меню Options → ParallelSpiView.

Подробное описание — в разделе ParallelSpiView.

Отладчик CPU

Пошаговый отладчик программ микровычислителей CPU1 и CPU2. Позволяет ставить до 2 точек останова, выполнять программу по шагам (Step), запускать до точки останова (Run), просматривать регистры (PC, инструкции, R0–R7, каналы, флаги) и память данных CPU. Листинг программы отображается с синтаксической подсветкой; редактирование выполняется в Asm Editor, изменения автоматически передаются в отладчик при сохранении.

Подробное описание — в разделе Отладчик CPU.

Окно Тест

Средства первичной диагностики подключения к микросхеме: управление светодиодом LED на плате МК, автоматический поиск адреса микросхемы (Find IC), настройка скорости SPI (SpiSpd). Также содержит инструкции по восстановлению связи, если микросхема перестала отвечать.

Подробное описание — в разделе Окно Тест.

Энкодер

Окно для настройки и чтения данных квадратурного энкодера через ESP32. Поддерживает два канала (ENC1, ENC2), аппаратный счётчик PCNT и автоматический сброс по нулевой метке (Index). Настройки передаются при нажатии Start Reading.

Подробное описание — в разделе Энкодер.

Программирование OTP

Сохранение конфигурации микросхемы в энергонезависимую память (BOTP/UOTP) для автоматической загрузки при включении или сбросе: генерация слепка регистров, прожиг с подачей VPP 9V и верификация.

Подробное описание — в разделе Программирование OTP.