Описание ПО 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 | Микросхема | Назначение |
|---|---|---|
| MOSI | SDI | данные ПК → микросхема |
| MISO | SDO | данные микросхема → ПК |
| SCLK | SCLK | тактовый сигнал SPI |
| CS | SSTR | строб кадра |
Опционально дополнительно подключаются: NRESET, STNDBY, SAMPLE, VC, nSEN, а также два канала квадратурных энкодеров (ENC1, ENC2). Режим SPI — 0, частота по умолчанию 10 МГц (настраивается в приложении).
Запуск и подключение
- Подключите мост ESP32-S3 (или демо-плату) к ПК кабелем USB с передачей данных. На платах с двумя разъёмами type-C обмен с приложением ведётся через разъём «USB» (нативный USB, интерфейс CDC). Разъём «UART» (USB-UART мост) предназначен для прошивки контроллера.
- Определите виртуальный COM-порт: «Диспетчер устройств» в Windows или
ls /dev/tty*в Linux. - Запустите приложение: Windows —
Workstation4ad3s-X.X.X.bat, Linux/macOS —./Workstation4ad3s-X.X.X.sh(при первом запуске требуется Java 17+; при её отсутствии приложение сообщит, как установить). - В левой панели (ConnectPanel) выберите CDC-порт разъёма «USB» (виртуальный COM-порт нативного USB) и нажмите Open COM.
- После подключения читайте и записывайте регистры микросхемы через вкладку Terminal.
При одновременном подключении обоих разъёмов в системе регистрируются два независимых COM-порта: мост «UART» (прошивка/лог) и CDC-порт разъёма «USB» (приложение). В Workstation4ad3s используется CDC-порт разъёма «USB», а не порт моста.
- Прошивка моста ESP32-S3 (
ad3s_prog_esp32):DCsoyuz/ad3s
Быстрый старт
ПО поставляется с готовым проектом user_asm — он открывается в дереве файлов (File Tree) при первом запуске и уже настроен под типичный датчик — классический СКВТ (resolver). Рабочая конфигурация по умолчанию на месте, вручную регистры настраивать не нужно:
- Подайте питание на плату и микросхему.
- Подключите плату к ПК и нажмите Open COM (см. «Запуск и подключение»).
- Нажмите Program — в микросхему зашивается готовый набор регистров (
base_ram.txt). - Нажмите 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 | Открыть файл проекта |
| Save | Ctrl+S | Сохранить текущий файл |
| Save As... | Ctrl+Shift+S | Сохранить файл под новым именем |
| Exit | Ctrl+Q | Выход из приложения |
Options
| Пункт | Назначение |
|---|---|
| Float Helper | Утилита для работы с числами с плавающей точкой |
| Encoder | Просмотр данных энкодера |
| Paths | Редактор путей к файлам проекта |
| Record | Запись и воспроизведение сеансов |
| ParallelSpiView | Параллельный вывод данных HAND (2 канала, непрерывный поток) |
| BatchWriter | Пакетная запись регистров |
| Окно Тест | Диагностика подключения (LED, Find IC, SpiSpd) |
Help
| Пункт | Назначение |
|---|---|
| About | Информация о версии приложения |
| Registers | HTML-документация по регистрам микросхемы |
| 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.