Интерфейс для программирования и отладки MCU
Внимание
Это документация по Azure Sphere (устаревшая версия). Служба Azure Sphere (устаревшая версия) выходит на пенсию 27 сентября 2027 г., и к этому времени пользователи должны перейти в Azure Sphere (интегрированная). Используйте селектор версий, расположенный над toC, чтобы просмотреть документацию по Azure Sphere (интегрированная).
MT3620 предоставляет два специализированных универсальных асинхронных интерфейса (UART) и два управляющих сигнала (сброс и восстановление) для использования во время подготовки и восстановления устройств. Кроме того, интерфейс SWD доступен для отладки RTApps, а для Microsoft диагностика зарезервирован дополнительный интерфейс UART.
Программные средства Azure Sphere для компьютера требуют наличия интерфейсной микросхемы "USB — UART", которая предоставляет эти интерфейсы компьютеру и позволяет программным средствам распознавать их и взаимодействовать с ними. Средства Azure Sphere включают поддержку загрузки приложения через USB с помощью service UART и восстановления ОС Azure Sphere с помощью UART восстановления. Для предоставления интерфейсов в инструментах ПК требуется использование интерфейсной микросхемы Future Technology Devices International (FTDI) FT4232HQ "UART к USB". В настоящее время эти инструменты не поддерживают другие микросхемы FTDI или интерфейсные микросхемы от других производителей.
На платах разработки эта интерфейсная микросхема обычно конструктивно совмещается с MT3620. Этот подход задокументирован в проектировании эталонной платы разработки MT3620 (RDB). Для пользовательской платы или модуля, использующего MT3620, можно использовать микросхему интерфейса на отдельном пк, так как это оборудование требуется только во время производства или обслуживания, что позволяет сократить затраты на единицу. Этот подход описан в автономном программировании и отладке платы интерфейса.
Обзор портов
MT3620 предоставляет три UARTs и интерфейс SWD, которые используются для программирования, Microsoft диагностика и подготовки микросхемы. Четыре интерфейса имеют следующие функции:
Отладка UART — UART отладки позволяет корпорации Майкрософт выполнять диагностика. Обратите внимание, что этот UART недоступен для отладки приложений или диагностика.
В соответствии с руководством Корпорации Майкрософт этот интерфейс предоставляет средства записи дополнительных диагностических сведений, которые могут быть полезны при отладке определенных проблем. Поэтому рекомендуется включить этот интерфейс для устройств, которые используются для разработки программного обеспечения или оборудования, но его можно считать необязательным для устройств, которые достигли стадии производства.
Интерфейс SWD — интерфейс SWD используется при отладке приложений с поддержкой реального времени (RTApps), которые выполняются на ядрах M4F; этот интерфейс используется между двумя ядрами M4F.
Если требуется возможность отладки RTApps (например, во время разработки устройств), устройство должно поддерживать этот интерфейс. Когда устройство достигнет стадии производства, этот интерфейс можно считать необязательным и может быть опущен.
Служба UART — служба UART предоставляет основной интерфейс программирования и отладки между MT3620 и хост-компьютером.
Этот интерфейс включает все операции интерфейса командной строки Azure Sphere, для которых требуется присоединенное устройство, за исключением восстановления (как описано в следующем абзаце). Так как служба UART является основным интерфейсом между MT3620 и хост-компьютером, этот интерфейс должен быть доступен для устройств, поддерживающих разработку программного обеспечения, а также во время производства розничных устройств. Если этот интерфейс доступен для устройства в поле, он также может использоваться инженерами службы, например для загрузки новых версий программного обеспечения приложения, если устройство не получает облачные обновления, так как оно не подключено к Интернету.
UART восстановления — порт восстановления предоставляет средства восстановления устройства до последней версии операционной системы.
Этот интерфейс должен поддерживаться во время производства, так как восстановление устройства до последней версии операционной системы является распространенной задачей во время производства устройства. Однако после того, как устройство было продано клиенту (и они подключили его к Интернету), облачные обновления будут поддерживать актуальность устройства с последней версией операционной системы.
Общие сведения о компонентах
На следующей схеме представлен обзор основных компонентов 4-портового интерфейса FTDI и их соединений с MT3620:
Вы можете использовать микросхему FTDI и электрическую схему как часть той же платы, что и MT3620 (например, если вы создаете макетную плату), или в отдельной интерфейсной плате, которая находится между вашим устройством MT3620 и компьютером.
Назначения портов
Чтобы обеспечить совместимость с инструментами ПК, важно убедиться, что каждый из предоставляемых UARTs и интерфейс SWD, которые будут использоваться в проектировании, подключены к портам FTDI, как описано в следующей таблице.
Function | Функция контакта FT4232HQ (номер контакта) | Функция контакта MT3620 (номер контакта) | ||
---|---|---|---|---|
UART восстановления, связывающий контакт сброса и восстановления | Порт D | DDBUS0 (48) | RECOVERY_RXD (134) | |
DDBUS1 (52) | RECOVERY_TXD (135) | |||
DDBUS2 (53) | RECOVERY_CTS (137) | |||
DDBUS3 (54) | RECOVERY_RTS (136) | |||
DDBUS5 (57) | DEBUG_RTS (96)* | |||
DDBUS6 (58) | SYSRST_N (125) (и необязательно WAKEUP (70) с помощью канала, подробно описанного ниже. | |||
UART для обслуживания | Порт C | CDBUS0 (38) | SERVICE_RXD (129) | |
CDBUS1 (39) | SERVICE_TXD (127) | |||
CDBUS2 (40) | SERVICE_CTS (130) | |||
CDBUS3 (41) | SERVICE_RTS (128) | |||
SWD и сброс |
Порт B | BDBUS0 (26) | SWCLK | Дополнительные сведения см. в разделе Интерфейс SWD (необязательно) |
BDBUS1 (27) | Выход SWDIO | |||
BDBUS2 (28) | Вход SWDIO | |||
BDBUS4 (30) | Направление SWDIO | |||
BDBUS5 (32) | Включение SWD | |||
BDBUS6 (33) | SYSRST_N (125) (и необязательно WAKEUP (70) с помощью канала, подробно описанного ниже. | |||
UART для отладки |
Порт A | ADBUS0 (16) | DEBUG_RXD (94) | |
ADBUS1 (17) | DEBUG_TXD (95) | |||
ADBUS2 (18) | DEBUG_CTS (97) | |||
ADBUS3 (19) | DEBUG_RTS (96)* |
*DEBUG_RTS является одним из "привязок MT3620", который, если вытащил высокий во время сброса чипа, приводит к тому, что микросхема вступает в режим восстановления. В остальное время этот контакт является контактом RTS UART для отладки.
Схемы
В следующих схемах показаны основные компоненты, необходимые для поддержки микросхемы FT4232HQ. Макет эталонной платы MT3620 предоставляет эталонную структуру, включающую эту схему.
Схема 1:
Заметки— схема 1:
- Резисторы 1K в ряде со строкой сброса включаются, чтобы избежать короткого замыкания в случае, если пользователь нажимает кнопку сброса (если он включен в конструктор) в то же время, что линия сброса управляется программным способом во время восстановления.
- При создании PCB убедитесь, что разностная пара, USB_P и USB_N, перенаправляются параллельно друг другу, чтобы дать характеристики разностного импэнда 90 ПРО.
- Резисторы с сопротивлением 33 Ом, последовательно подключенные (необязательно) к линиям SWD, предназначены для уменьшения помех и должны располагаться рядом с FT4232HQ.
Схема 2.
Примечания— схема 2:
- SYSRST_N вытягивается высокой с резистором 100K (R8). Это означает, что сброс микросхемы не утверждается по умолчанию.
Следующие два элемента являются необязательными. Если они присутствуют, они позволяют физическому сбросу кнопки и интерфейсу FTDI на пк автоматически проснуть MT3620 при переключении сброса. Рекомендуется использовать любой дизайн, использующий режим Power Down, где кнопка сброса или интерфейс ПК должны продолжать работать в режиме Power Down.
- Пара диодов Schottky подключена в ряд между SYSRST_N и ПРОБУЖДЕНИЕМ и общим подключением катодов диодов подключены к кнопке сброса и сигналов сброса FTDI. Это предотвращает SYSRST_N от переключения с низким уровнем при переключениях пробуждения.
- WAKEUP извлекается высоко с резистором 100K, подключенным к 3V3_RTC питания. Сопротивление 100K гарантирует, что ПРОБУЖДЕНИЕ переключается низко, когда SYSRST_N переключается на низкий уровень; Подключение к 3V3_RTC гарантирует, что пробуждение будет продолжаться, если питание MT3620 отключается для режима Power Down.
Память EEPROM FTDI
Интерфейсная микросхема FTDI предоставляет набор контактов, которые должны быть подключены к небольшой EEPROM, используемой для хранения данных производителя и серийного номера. После сборки платы эта информация запрограммирована в EEPROM через USB с помощью программного средства, предоставленного FTDI, как описано далее в средстве программирования FTDI FT_PROG.
С микросхемой FTDI совместимы следующие части EEPROM:
- 93LC46BT-I/OT;
- 93LC56BT-I/OT;
- 93LC66BT-I/OT.
Обратите внимание на использование варианта LC, который совместим с источником питания 3,3 В. Для целей внутренней разработки корпорация Майкрософт всегда использует компонент 93LC56BT-I/OT.
Подключите EEPROM к микросхеме FTDI следующим образом:
Схема EEPROM | Подключение к микросхеме FTDI |
---|---|
![]() |
![]() |
Интерфейсы UART
Для восстановления, службы и отладки подключений UART между MT3620 и FTDI не требуются специальные каналы. Однако обратите внимание на пересечения TXD и RXD, CTS и RTS. В документации FTDI контакт 0 каждого порта описывается как TXD, а контакт 1 — как RXD. Эти определения относятся к микросхеме FTDI, то есть контакт 0 является выходом, а контакт 1 — входом. Следовательно, необходимо пересечь соединения RXD и TXD с MT3620 (аналогично для CTS и RTS). На следующей схеме показана схема для UART службы; используйте ту же схему для UARTs восстановления и отладки:
Интерфейс SWD
Микросхемы FTDI обычно обеспечивают мост между UART и USB. Но в интерфейсе программирования и отладки Azure Sphere используются дополнительные микросхемы на основе счетверенного буфера с тремя состояниями, чтобы компонент FTDI мог работать в качестве высокоскоростного интерфейса SWD.
Ниже показан необходимый канал и подключение к микросхеме FTDI. Обратите внимание, что сигнал SWDIO подключается к контакту 98 MT3620, а SWCLK подключается к контакту 99.
Расположение буфера Tri-State | Соединения FTDI (порт B) |
---|---|
![]() |
![]() |
Светодиодный индикатор активности USB (необязательно)
Светодиодный индикатор активности USB может быть полезен для указания передачи данных через USB-подключение во время обычной операции. Вы можете реализовать светодиодный индикатор активности USB несколькими способами. Следующая схема является всего лишь примером.
AND в схеме объединяет линии часов и данных, которые соединяют FT4232HQ с EEPROM. Хотя это не очевидно, эти две линии переключаются, когда данные отправляются и принимаются по USB и поэтому могут использоваться для указания активности USB. Тем не менее длительность вывода из шлюза AND слишком короткая, чтобы освещать светодиодный индикатор, поэтому этот сигнал используется для управления моностабильной цепью, которая, в свою очередь, управляет светодиодом.
Время включения моностабильной схемы установлено на 100 мс, так что даже короткие всплески USB-трафика приведут к тому, что светодиодный индикатор загорится.
Средство программирования FT_PROG FTDI
Чтобы помочь в программировании EEPROM, FTDI предоставляет бесплатное программное обеспечение с именем FT_PROG. Этот инструмент доступен как приложение графического пользовательского интерфейса Windows, так и как инструмент командной строки. Оба объекта устанавливаются одновременно из одного пакета. Скачайте средство с веб-сайта FTDI и установите его в расположении по умолчанию.
средство командной строки FT_PROG
Версия командной строки FT_PROG является предпочтительным методом программирования EEPROM, так как он принимает имя файла конфигурации в качестве параметра, а затем программируется несколько устройств с одной командой.
Репозиторий "Аппаратные проекты Azure Sphere" на GitHub содержит файл конфигурации EEPROM для использования с средством командной строки. Настоятельно рекомендуется использовать этот файл и средство командной строки в производственных сценариях. Файл конфигурации программирует EEPROM со следующими параметрами:
- Включает режим Direct D2XX и отключает виртуальный COM-порт
- Автоматически создает серийный номер, начиная с as
- Задает для описания продукта значение "MSFT MT3620 Std Interface"
Чтобы программировать EEPROM, этот файл следует использовать без изменений, так как средства ПК Azure Sphere ищут строку описания продукта и завершаются ошибкой, если это значение изменено.
Пошаговые рекомендации по программированию памяти EEPROM
Чтобы использовать версию командной строки FT_PROG для программирования EEPROM для микросхемы FTDI с четырьмя портами:
Установите средства FTDI в расположении по умолчанию:
C:\Program Files(x86)\FTDI\FT_Prog
Подключите одну или несколько досок MT3620 к компьютеру.
Откройте командную строку (например, cmd.exe) и перейдите в папку, в которой сохранен файл конфигурации.
Введите следующую команду, чтобы вывести список всех подключенных устройств:
"c:\Program Files (x86)\FTDI\FT_Prog\FT_Prog-CmdLine.exe" scan
Если подключены четыре устройства, выходные данные выглядят примерно так:
Device 0: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36 Device 1: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36 Device 2: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36 Device 3: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36
Введите следующую команду, чтобы программировать все подключенные устройства. Укажите индексы подключенных устройств (0, 1, 2 и т. д.) после
prog
иcycl
параметров:"c:\Program Files (x86)\FTDI\FT_Prog\FT_Prog-CmdLine.exe" scan prog 0,1,2,3 MT3620_Standard_Interface.xml cycl 0,1,2,3
Инструмент должен отобразить:
Scanning for devices... Device 0: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36 Device 1: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36 Device 2: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36 Device 3: FT4232H, MSFT MT3620 Std Interface, 984A8DD25A36 Device 0 programmed successfully! Device 1 programmed successfully! Device 2 programmed successfully! Device 3 programmed successfully! Finished Re-enumerating Device 0.... Re-enumerating Device 1.... Re-enumerating Device 2.... Re-enumerating Device 3....
Чтобы убедиться, что программирование выполнено успешно, выполните проверку еще раз:
"c:\Program Files (x86)\FTDI\FT_Prog\FT_Prog-CmdLine.exe" scan
Обратите внимание, что серийные номера имеют изменения в выходных данных и теперь начинаются с AS:
Scanning for devices... Device 0: FT4232H, MSFT MT3620 Std Interface, AS5AW7FD Device 1: FT4232H, MSFT MT3620 Std Interface, AS5AHG3C Device 2: FT4232H, MSFT MT3620 Std Interface, AS5DWM2I Device 3: FT4232H, MSFT MT3620 Std Interface, AS5JQ0LJ
приложение guI FT_PROG
Версия приложения для графического пользовательского интерфейса Windows удобна для чтения и проверки состояния информации EEPROM. Вы также можете использовать его для изменения информации; Однако мы рекомендуем использовать версию программы командной строки для программирования устройства.
После запуска приложения щелкните значок увеличительного стекла (кнопка Scan (Сканировать)), чтобы прочитать и отобразить текущее содержимое EEPROM.
Если появится диалоговое окно "Неизвестное устройство", как показано в следующем примере, нажмите кнопку ОК, пока окно приложения не отобразит информацию правильно.
В следующем примере показано правильное окно:
Дополнительные сведения об использовании программного обеспечения см. в документации по FT_PROG.