Udostępnij za pośrednictwem


Interfejs programowania i debugowania MCU

MT3620 odsłania dwa dedykowane moduły UARTs i dwa sygnały sterujące (resetowanie i odzyskiwanie) do użycia podczas inicjowania obsługi i odzyskiwania urządzenia. Ponadto interfejs SWD jest dostępny do debugowania aplikacji RTApps, a dalsze funkcje UART są zarezerwowane dla diagnostyki firmy Microsoft.

Narzędzia komputerowe Azure Sphere wymagają użycia układu interfejsu USB-to-UART, który naraża te interfejsy na działanie komputera w sposób umożliwiający narzędziom ich rozpoznawanie i interakcję z nimi. Narzędzia Azure Sphere obejmują obsługę ładowania aplikacji przez usb przy użyciu usługi UART i odzyskiwania systemu operacyjnego Azure Sphere za pomocą grafiki UART odzyskiwania. Narzędzia komputerowe wymagają użycia układu interfejsu UART-to-USB Future Technology Devices International (FTDI) FT4232HQ w celu odsłaniania interfejsów. Obecnie narzędzia nie obsługują innych mikroukładów FTDI ani mikroukładów interfejsu różnych producentów.

W przypadku płyt programistycznych ten układ interfejsu jest zwykle na tym samym pcb co MT3620. To podejście jest udokumentowane w projekcie tablicy rozwoju dokumentacji MT3620 (RDB). W przypadku niestandardowej tablicy lub modułu, który korzysta z MT3620, może być właściwe, aby mieć układ interfejsu na osobnej płytce PCB, ponieważ ten sprzęt jest wymagany tylko podczas produkcji lub serwisowania, co pozwala na oszczędność kosztów jednostkowych. Takie podejście jest udokumentowane w autonomicznym projektowaniu tablicy interfejsu programowania i debugowania.

Omówienie portów

MT3620 udostępnia trzy moduły UARTs i interfejs SWD, które są używane do programowania, diagnostyki firmy Microsoft i inicjowania obsługi mikroukładu. Cztery interfejsy mają następujące funkcje:

  • Debugowanie grafiki UART — debugowanie grafiki UART umożliwia firmie Microsoft wykonywanie diagnostyki. Należy pamiętać, że tego obiektu UART nie można użytkować w przypadku debugowania aplikacji ani diagnostyki.

    Pod kierunkiem firmy Microsoft ten interfejs zapewnia sposób przechwytywania dodatkowych informacji diagnostycznych, które mogą być przydatne podczas debugowania niektórych problemów. Dlatego zaleca się uwzględnienie tego interfejsu dla urządzeń, które są używane do tworzenia oprogramowania lub sprzętu, ale można go uznać za opcjonalny w przypadku urządzeń, które osiągnęły etap produkcji.

  • Interfejs SWD — interfejs SWD jest używany podczas debugowania aplikacji obsługowych w czasie rzeczywistym (RTApps), które działają na rdzeniach M4F; ten interfejs jest współużytkowana między dwoma rdzeniami M4F.

    Jeśli potrzebujesz możliwości debugowania aplikacji RTApps (na przykład podczas tworzenia urządzenia), Twoje urządzenie powinno obsługiwać ten interfejs. Gdy urządzenie osiągnie etap produkcji, ten interfejs można uznać za opcjonalny i można go pominąć.

  • Service UART — usługa UART zapewnia główny interfejs programowania i debugowania między MT3620 a komputerem hosta.

    Ten interfejs umożliwia wszystkie operacje platformy Azure CLI, które wymagają dołączonego urządzenia, z wyjątkiem odzyskiwania (zgodnie z opisem w następnym akapicie). Ponieważ usługa UART jest głównym interfejsem między MT3620 a komputerem hosta, ten interfejs musi być dostępny dla urządzeń obsługujących tworzenie oprogramowania, jak również podczas produkcji urządzeń detalicznych. Jeśli ten interfejs jest dostępny dla urządzenia w terenie, może być również używany przez inżynierów usługi — na przykład do ładowania nowych wersji oprogramowania aplikacji, jeśli urządzenie nie otrzymuje aktualizacji w chmurze, ponieważ nie jest połączone z Internetem.

  • Odzyskiwanie grafiki UART — port odzyskiwania umożliwia odzyskanie urządzenia do najnowszej wersji systemu operacyjnego.

    Ten interfejs musi być obsługiwany podczas produkcji, ponieważ odzyskanie urządzenia do najnowszej wersji systemu operacyjnego jest typowym zadaniem podczas produkcji urządzenia. Jednak po sprzedaży urządzenia klientowi (i połączeniu go z Internetem) aktualizacje w chmurze zapewnią, że urządzenie będzie na bieżąco z najnowszą wersją systemu operacyjnego.

Omówienie składników

Poniższy diagram zawiera omówienie głównych składników 4-portowego interfejsu FTDI i ich wzajemnych połączeń z MT3620:

Diagram 4-portowego interfejsu FTDI do MT3620

Możesz użyć układu i obwodów FTDI jako części tej samej płyty co MT3620 (na przykład, jeśli budujesz płytkę rozwojową) lub w osobnej płycie interfejsu, która znajduje się między urządzeniem MT3620 a komputerem.

Przypisania portów

Aby zapewnić zgodność z narzędziami komputerowymi, należy upewnić się, że wszystkie odsłonięte urządzenia UARTs i interfejs SWD, które będą używane w projekcie, są podłączone do portów FTDI zgodnie z opisem w poniższej tabeli.

Funkcja Funkcja przypinania FT4232HQ (numer pinu) Funkcja przypinania MT3620 (numer PIN)
Odzyskiwanie UART, resetowanie i odzyskiwanie strapping pin Port-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) (i opcjonalnie WAKEUP (70) za pośrednictwem obwodu opisanego poniżej)
Service UART Port-C CDBUS0 (38) SERVICE_RXD (129)
CDBUS1 (39) SERVICE_TXD (127)
CDBUS2 (40) SERVICE_CTS (130)
CDBUS3 (41) SERVICE_RTS (128)

SWD i resetowanie

Port-B BDBUS0 (26) SWCLK Zobacz interfejs SWD, aby uzyskać szczegółowe informacje o obwodach SWD
BDBUS1 (27) Wyjmij swdio
BDBUS2 (28) SWDIO w
BDBUS4 (30) Kierunek SWDIO
BDBUS5 (32) SWD włącz
BDBUS6 (33) SYSRST_N (125) (i opcjonalnie WAKEUP (70) za pośrednictwem obwodu opisanego poniżej)

Debugowanie grafiki UART

Port-A ADBUS0 (16) DEBUG_RXD (94)
ADBUS1 (17) DEBUG_TXD (95)
ADBUS2 (18) DEBUG_CTS (97)
ADBUS3 (19) DEBUG_RTS (96)*

*DEBUG_RTS jest jednym z "przypinaczy" MT3620, który, jeśli wyciągnął wysoko podczas resetowania mikroukładu, powoduje przejście w tryb odzyskiwania. W pozostałych przypadkach ten pin jest numerem PIN systemu RTS debugowania grafiki UART.

Schematy

Poniższe schematy przedstawiają główne komponenty niezbędne do obsługi mikroukładu FT4232HQ. Projekt tablicy referencyjnej MT3620 zawiera projekt referencyjny zawierający ten schemat.

Schemat 1:

schematyczne do obsługi mikroukładu FTDI

Uwagi — Schemat 1:

  • Rezystory 1K serii z linią resetowania są dołączone, aby uniknąć zwarcia w przypadku naciśnięcia przez użytkownika przycisku resetowania (jeśli jest on dołączony do projektu) w tym samym czasie, w którym linia resetowania jest sterowana programowo podczas odzyskiwania.
  • Podczas układania PCB upewnij się, że para różnicowa, USB_P i USB_N, są kierowane równolegle do siebie, aby nadać charakterystyczny impedancję różnicową 90 NIU.
  • Rezystory 33 A serii z (opcjonalnie) liniami SWD mają na celu zmniejszenie przemijeń i powinny być umieszczone w pobliżu FT4232HQ.

Schemat 2:

schematyczne z obwodami wznawiania/resetowania do obsługi układu FTDI

Uwagi — Schemat 2:

  • SYSRST_N jest podciągnięta wysoko za pomocą rezystora 100K (R8). Oznacza to, że zresetowanie mikroukładu nie jest domyślnie potwierdzane.

Następujące dwa elementy są opcjonalne. W obecnej sytuacji umożliwiają one fizycznemu przyciskowi RESETowania i interfejsowi FTDI automatyczne wznawianie działania mt3620 po przełączeniu resetowania. Jest to zalecane w przypadku każdego projektu korzystającego z trybu Zasilanie w dół, w którym przycisk resetowania lub interfejs komputera muszą nadal działać w trybie Zasilanie w dół.

  • Para diod Schottky jest łączona szerego między SYSRST_N a WAKEUP, a wspólne połączenie katody diod jest podłączone do przycisku resetowania, a sygnały resetowania FTDI. Zapobiega to niskiemu przełączaniu SYSRST_N, gdy przełącznik FUNKCJI WAKEUP jest niski.
  • Funkcja WAKEUP jest mocna przy użyciu rezystora 100K podłączonego do zasilacza 3V3_RTC. Opór 100K gwarantuje, że funkcja WAKEUP jest nisko przełączona, gdy SYSRST_N jest nisko przesunięty; połączenie z 3V3_RTC zapewnia, że po wybudzenie będzie nadal wysokie, jeśli zasilacz MT3620 wyłączy się w trybie wyłączenia zasilania.

FTDI EEPROM

Układ interfejsu FTDI zapewnia zestaw styki, które muszą być podłączone do małego EEPROM, który służy do przechowywania szczegółów producenta i numeru seryjnego. Po złożeniu płyty informacje te są zaprogramowane do EEPROM przez USB przy użyciu narzędzia programowego dostarczonego przez FTDI, jak opisano później w FTDI FT_PROG Programming Tool.

Następujące części EEPROM są zgodne z mikroukładem FTDI:

  • 93LC46BT-I/OT
  • 93LC56BT-I/OT
  • 93LC66BT-I/OT

Zwróć uwagę na zastosowanie wariantu LC, który jest zgodny z dostawą 3,3 V. Na potrzeby rozwoju wewnętrznego firma Microsoft zawsze używała części 93LC56BT-I/OT.

Podłącz EEPROM do układu FTDI w następujący sposób:

Obwód EEPROM Połączenie z mikroukładem FTDI
Obwód EEProm połączenie z mikroukładem FTDI

Interfejsy UART

Połączenia UART odzyskiwania, usługi i debugowania między MT3620 a FTDI nie wymagają żadnych specjalnych obwodów. Zwróć jednak uwagę na przekreślenie rekordów TXD i RXD oraz klawiszy CTS i RTS. W dokumentacji FTDI opisano pin 0 każdego portu jako TXD i pin 1 jako RXD. Definicje te są w stosunku do układu FTDI; oznacza to, że pin 0 to dane wyjściowe, a pin 1 to dane wejściowe. W związku z tym konieczne jest przejście przez połączenia RXD i TXD z MT3620 (i podobnie w przypadku CTS i RTS). Na poniższym diagramie pokazano to dla service UART; użyj tego samego schematu również dla funkcji UARTs odzyskiwania i debugowania:

odzyskiwanie i usługi połączeń UART

Interfejs SWD

Chociaż mikroukłady FTDI są zwykle używane do zapewniania pomostu między interfejsami UARTs i USB, interfejs programowania i debugowania Azure Sphere używa dodatkowych obwodów opartych na czteroprzepastowym buforze trójstanowym, aby umożliwić działanie części FTDI jako szybkiego interfejsu SWD.

Poniżej przedstawiono wymagany obwód i połączenie z mikroukładem FTDI. Zwróć uwagę, że sygnał SWDIO łączy się z pinem MT3620 98, a SWCLK łączy się z numerem PIN 99.

Układ buforu trójstanowego Połączenia FTDI Port-B
Układ buforu trójstanowego ftdi port B connections

DIODA LED aktywności USB (opcjonalnie)

Dioda LED aktywności USB może być przydatna do wskazywania transferu danych przez połączenie USB podczas normalnej pracy. Diodę LED aktywności USB można zaimplementować na kilka sposobów. Poniższy obwód jest jedynie przykładem.

Obwody AND łączą zegar i linie danych łączące FT4232HQ z EEPROM. Chociaż nie jest to oczywiste, te dwie linie przełączają się, gdy dane są wysyłane i odbierane przez USB, a zatem mogą być używane do wskazywania aktywności USB. Jednak czas wyjścia z AND bramy jest zbyt krótki, aby oświetlić diodę LED; dlatego sygnał ten służy do napędzania obwodu o stałej stabilności mono, który z kolei napędza diodę LED.

Czas pracy monostabilnego obwodu jest ustawiony na 100 ms, dzięki czemu nawet krótkie wybuchy ruchu USB spowodują oświetlenie diody LED.

DIODA LED aktywności USB

Narzędzie do programowania FTDI FT_PROG

Aby pomóc w programowaniu EEPROM, FTDI udostępnia bezpłatne narzędzie programowe o nazwie FT_PROG. Narzędzie jest dostępne zarówno jako aplikacja interfejsu użytkownika systemu Windows, jak i jako narzędzie wiersza polecenia. obie opcje są instalowane jednocześnie z tego samego pakietu. Pobierz narzędzie z witryny FTDI i zainstaluj je w lokalizacji domyślnej.

narzędzie wiersza polecenia FT_PROG

Wersja wiersza polecenia FT_PROG jest preferowaną metodą programowania EEPROM, ponieważ przyjmuje nazwę pliku konfiguracji jako parametr, a następnie programuje wiele urządzeń za pomocą jednego polecenia.

Narzędzie Azure Sphere Hardware Designs w witrynie GitHub zawiera plik konfiguracji EEPROM do użycia z narzędziem wiersza polecenia. Zdecydowanie zalecamy używanie tego pliku i narzędzia wiersza polecenia w scenariuszach produkcyjnych. Plik konfiguracji programuje EEPROM z następującymi ustawieniami:

  • Włącza tryb bezpośredni D2XX i wyłącza wirtualny port COM
  • Automatycznie generuje liczbę kolejną, zaczynając od wartości "AS"
  • Ustawia opis produktu na "MSFT MT3620 Std Interface"

Aby zaprogramować program EEPROM, należy użyć tego pliku bez modyfikacji, ponieważ narzędzia komputerowe Azure Sphere poszukają ciągu Opis produktu i nie powiedzie się, jeśli ta wartość zostanie zmieniona.

Instrukcje krok po kroku dotyczące programowania EEPROM

Aby użyć wersji FT_PROG wiersza polecenia do programu EEPROM dla czteroportowego mikroukładu FTDI:

  1. Zainstaluj narzędzia FTDI w lokalizacji domyślnej: C:\Program Files(x86)\FTDI\FT_Prog.

  2. Podłącz jedną lub więcej tablic MT3620 do komputera.

  3. Otwórz wiersz polecenia (na przykład cmd.exe) i przejdź do folderu, w którym został zapisany plik konfiguracji.

  4. Wpisz następujące polecenie, aby wyświetlić listę wszystkich dołączonych urządzeń:

    "c:\Program Files (x86)\FTDI\FT_Prog\FT_Prog-CmdLine.exe" scan

    Jeśli są podłączone cztery urządzenia, dane wyjściowe wyglądają podobnie do następujących:

    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
    
  5. Wpisz następujące polecenie, aby zaprogramować wszystkie dołączone urządzenia. Określ indeksy dołączonych urządzeń (0, 1, 2 i tak dalej) po prog parametrach i 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

    Narzędzie powinno być wyświetlane:

     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....
    
  6. Aby sprawdzić, czy programowanie zakończyło się pomyślnie, przeskanuj ponownie:

    "c:\Program Files (x86)\FTDI\FT_Prog\FT_Prog-CmdLine.exe" scan

    Zwróć uwagę, że liczby seryjne zmieniły się w wynikach i teraz zaczynają się od 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
    

aplikacja FT_PROG GUI

Wersja interfejsu użytkownika systemu Windows aplikacji jest przydatna do odczytywania i sprawdzania stanu informacji EEPROM. Możesz również użyć go do zmiany informacji; jednak zalecamy używanie wersji narzędzia wiersza polecenia do programu urządzenia.

Po uruchomieniu aplikacji kliknij przycisk Skanuj (z ikoną lupy), aby odczytać i wyświetlić bieżącą zawartość EEPROM.

Jeśli zostanie wyświetlone okno dialogowe Nieznane urządzenie, tak jak w poniższym przykładzie, kliknij przycisk OK , aż w oknie aplikacji informacje zostaną wyświetlone poprawnie.

FT_PROG nieznany ekran urządzenia

W poniższym przykładzie pokazano poprawny wyświetlacz:

FT_PROG prawidłowym wyświetlaczem

Więcej informacji na temat korzystania z oprogramowania można znaleźć w dokumentacji FT_PROG.