Sdílet prostřednictvím


Programovací a ladicí rozhraní MCU

MT3620 zveřejňuje dva vyhrazené UART a dva řídicí signály (resetování a obnovení) pro použití během zřizování a obnovení zařízení. Kromě toho je k dispozici rozhraní SWD pro ladění RTApps a další UART je vyhrazen pro diagnostiku Microsoftu.

Softwarové nástroje Azure Sphere pro počítače vyžadují použití čipu rozhraní USB-to-UART, který tato rozhraní zpřístupňuje počítači způsobem, který nástrojům umožňuje je rozpoznat a pracovat s nimi. Nástroje Azure Sphere zahrnují podporu načítání aplikace přes USB pomocí UART služby a obnovení operačního systému Azure Sphere pomocí objektu UART pro obnovení. Nástroje pro počítače vyžadují použití čipu rozhraní FTDI (Future Technology Devices International) FT4232HQ UART-to-USB k vystavení rozhraní. Nástroje v současné době nepodporují jiné čipy FTDI ani rozhraní od různých výrobců.

Pro vývojové desky je tento čip rozhraní obvykle na stejném PCB jako MT3620. Tento přístup je zdokumentován v návrhu mt3620 referenční vývojové desky (RDB). Pro vlastní desku nebo modul, který používá MT3620, může být vhodné mít čip rozhraní na samostatné pcb, protože tento hardware je vyžadován pouze během výroby nebo údržby, což umožňuje úsporu nákladů na jednotku. Tento přístup je zdokumentovaný v návrhu samostatné desky rozhraní pro programování a ladění.

Přehled portů

Mt3620 zveřejňuje tři UART a rozhraní SWD, které se používají k programování, diagnostice Microsoftu a zřizování čipu. Tato čtyři rozhraní mají následující funkce:

  • Ladění UART – Ladění UART umožňuje Microsoftu provádět diagnostiku. Všimněte si, že tento objekt UART není použitelný pro ladění nebo diagnostiku aplikací.

    Pod vedením Microsoftu toto rozhraní poskytuje způsob zachycení dalších diagnostických informací, které mohou být užitečné při ladění určitých problémů. Proto se doporučuje zahrnout toto rozhraní pro zařízení, která se používají pro vývoj softwaru nebo hardwaru, ale může být považováno za volitelné pro zařízení, která dosáhla fáze výroby.

  • Rozhraní SWD – rozhraní SWD se používá při ladění aplikací podporujících v reálném čase (RTApps), které běží na jádrech M4F; toto rozhraní je sdíleno mezi dvěma jádry M4F.

    Pokud potřebujete možnost ladit RTApps (například během vývoje zařízení), mělo by vaše zařízení toto rozhraní podporovat. Jakmile vaše zařízení dosáhne fáze výroby, můžete toto rozhraní považovat za volitelné a můžete ho vynechat.

  • UART služby – služba UART poskytuje hlavní programovací a ladicí rozhraní mezi MT3620 a hostitelským počítačem.

    Toto rozhraní umožňuje všechny operace Azure CLI, které vyžadují připojené zařízení, s výjimkou obnovení (jak je popsáno v dalším odstavci). Vzhledem k tomu, že service UART je hlavním rozhraním mezi MT3620 a hostitelským počítačem, musí být toto rozhraní dostupné pro zařízení, která podporují vývoj softwaru, a také během výroby maloobchodních zařízení. Pokud je toto rozhraní dostupné pro zařízení v terénu, můžou ho použít také servisní technici – například k načtení nových verzí softwaru aplikace, pokud zařízení nedostává cloudové aktualizace, protože není připojené k internetu.

  • UART pro obnovení – port pro obnovení poskytuje způsob obnovení zařízení na nejnovější verzi operačního systému.

    Toto rozhraní musí být podporováno během výroby, protože obnovení zařízení na nejnovější verzi operačního systému je běžným úkolem během výroby zařízení. Po prodeji zařízení zákazníkovi (a jeho připojení k internetu) ale cloudové aktualizace zajistí, aby bylo zařízení stále aktuální s nejnovější verzí operačního systému.

Přehled komponent

Následující diagram poskytuje přehled hlavních komponent rozhraní FTDI se 4 porty a jejich propojení s MT3620:

Diagram rozhraní FTDI se 4 porty na MT3620

Čip a obvody FTDI můžete použít jako součást stejné desky jako MT3620 (například pokud vytváříte vývojovou desku) nebo jako samostatnou desku rozhraní, která se nachází mezi zařízením MT3620 a počítačem.

Přiřazení portů

Aby byla zajištěna kompatibilita s nástroji počítače, je důležité zajistit, aby všechny vystavené UART a rozhraní SWD, které se budou používat ve vašem návrhu, byly připojeny k portům FTDI, jak je popsáno v následující tabulce.

Funkce FUNKCE PIN FT4232HQ (číslo pinu) Funkce připínáčku MT3620 (číslo pinu)
Obnovení UART, resetování a obnovení špendlíku 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) (a volitelně WAKEUP (70) prostřednictvím okruhu podrobně popsaného níže)
UART služby Port C CDBUS0 (38) SERVICE_RXD (129)
CDBUS1 (39) SERVICE_TXD (127)
CDBUS2 (40) SERVICE_CTS (130)
CDBUS3 (41) SERVICE_RTS (128)

SWD a resetování

Port B BDBUS0 (26) SWCLK Podrobnosti o obvodech SWD najdete v rozhraní SWD.
BDBUS1 (27) SWDIO out
BDBUS2 (28) SWDIO v
BDBUS4 (30) Směr SWDIO
BDBUS5 (32) Povolení SWD
BDBUS6 (33) SYSRST_N (125) (a volitelně WAKEUP (70) prostřednictvím okruhu podrobně popsaného níže)

Ladění 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 je jedním z mt3620's 'strapping pins', které, pokud je vytaženo vysoko během resetování čipu, způsobí, že čip přejde do režimu obnovení. Ve všech ostatních případech je tento kolík RTS objektu Debug UART.

Schémata

Následující schémata ukazují hlavní komponenty potřebné k podpoře čipu FT4232HQ. Návrh referenční desky MT3620 poskytuje referenční návrh zahrnující toto schéma.

Schéma 1:

schematic to support FTDI chip

Poznámky – schéma 1:

  • Rezistory 1K v řadě s linkou pro obnovení jsou zahrnuty, aby se zabránilo zkratu v případě, že uživatel stiskne tlačítko reset (pokud je součástí návrhu) současně s programovým řízením linky resetování během obnovení.
  • Při rozkládání pcb, ujistěte se, že rozdílový pár, USB_P a USB_N, jsou směrovány paralelně k sobě, aby poskytly charakteristickou diferenciální impedanci 90Ω.
  • Rezistory 33Ω v řadě s (volitelným) SWD vedení jsou určeny k omezení přechodných rázů a měly by být umístěny v blízkosti FT4232HQ.

Schéma 2:

schéma s probuzením/resetováním obvodů pro podporu čipu FTDI

Poznámky – schéma 2:

  • SYSRST_N je vytažen vysoko pomocí 100K rezistoru (R8). To znamená, že resetování čipu není ve výchozím nastavení prosazováno.

Následující dva prvky jsou volitelné. Pokud existují, umožňují fyzickému tlačítku RESET a rozhraní FTDI do počítače automaticky probudit MT3620, když by reset byl přepnul. To se doporučuje pro všechny návrhy, které používají režim vypnutí, kdy tlačítko pro obnovení továrního nastavení nebo rozhraní počítače musí i nadále fungovat v režimu vypnutí.

  • Mezi SYSRST_N a WAKEUP je připojena dvojice Schottkyho diod a společné katodové spojení diod je připojeno k tlačítku resetování a signálům FTDI. Zabráníte tak SYSRST_N přepnutí nízké hodnoty, když funkce WAKEUP přepne na nízkou hodnotu.
  • Funkce WAKEUP je vytažena vysoko pomocí 100K rezistoru, který je připojen k 3V3_RTC zdroji napájení. Odpor 100K zajišťuje, že WAKEUP je přepnul na nízké, když je SYSRST_N přepnul na nízké; připojení k 3V3_RTC zajišťuje, že pokud se napájecí zdroj MT3620 vypne pro režim vypnutí napájení, bude funkce WAKEUP nadále vysoká.

FTDI EEPROM

Čip rozhraní FTDI poskytuje sadu kolíků, které musí být připojeny k malému EEPROM, který se používá k uložení podrobností výrobce a sériového čísla. Po montáži desky jsou tyto informace naprogramovány do EEPROM přes USB pomocí softwarového nástroje poskytovaného FTDI, jak je popsáno dále v tématu FT_PROG programovací nástroj FTDI.

Následující součásti EEPROM jsou kompatibilní s čipem FTDI:

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

Všimněte si použití varianty LC, která je kompatibilní se zdrojem 3.3V. Pro interní účely vývoje Microsoft vždy používal část 93LC56BT-I/OT.

Připojte EEPROM k čipu FTDI následujícím způsobem:

Okruh EEPROM Připojení k čipu FTDI
Okruh EEProm připojení k čipu FTDI

Rozhraní UART

Připojení UART recovery, service a debug mezi MT3620 a FTDI nevyžadují žádné speciální obvody. Všimněte si však křížového přepisu TXD a RXD a CTS a RTS. Dokumentace k FTDI popisuje pin 0 každého portu jako TXD a pin 1 jako RXD. Tyto definice jsou relativní k čipu FTDI; to znamená, že pin 0 je výstup a pin 1 je vstup. V důsledku toho je nutné překřížovat připojení RXD a TXD na MT3620 (a podobně pro CTS a RTS). Následující diagram to znázorňuje pro objekt Service UART. použijte stejné schéma i pro obnovení a ladění UART:

obnovení a připojení UART služby

Rozhraní SWD

I když se čipy FTDI obvykle používají k vytvoření mostu mezi rozhraními UART a USB, programovací a ladicí rozhraní Azure Sphere používá další obvody založené na čtyřúhelníku vyrovnávací paměti, které umožňují, aby část FTDI fungovala jako vysokorychlostní rozhraní SWD.

Následující příklad znázorňuje požadovaný okruh a připojení k čipu FTDI. Všimněte si, že signál SWDIO se připojuje k kolíku MT3620 98 a SWCLK se připojuje k pinu 99.

Uspořádání vyrovnávací paměti třístavového stavu Připojení PORTU B FTDI
uspořádání vyrovnávací paměti pro tři stavy Připojení portu B ftdi

Led pro aktivitu USB (volitelné)

Indikátor LED aktivity USB může být užitečný k označení přenosu dat přes připojení USB během normálního provozu. Led aktivity USB můžete implementovat několika způsoby. Následující okruh je pouze příkladem.

Obvod AND dohromady hodiny a datové čáry, které spojují FT4232HQ s EEPROM. I když to není zřejmé, tyto dvě řádky přepínají, když se data odesílají a přijímají přes USB, a proto se dají použít k označení aktivity USB. Doba zapnutí výstupu z brány AND je však příliš krátká na to, aby osvítit LED; proto se tento signál používá k pohonu monostabilního obvodu, který zase pohání LED.

Doba zapnutí monostabilního okruhu je nastavena na 100ms, takže i krátké nárazy USB provozu způsobí, že led dioda svítí.

LED dioda o aktivitě USB

FT_PROG programovací nástroj FTDI

FtDI poskytuje bezplatný softwarový nástroj s názvem FT_PROG, který pomáhá při programování EEPROM. Nástroj je k dispozici jako aplikace grafického uživatelského rozhraní Windows i jako nástroj příkazového řádku; obě možnosti se instalují současně ze stejného balíčku. Stáhněte si nástroj z webu FTDI a nainstalujte ho do výchozího umístění.

FT_PROG nástroj příkazového řádku

Verze FT_PROG příkazového řádku je upřednostňovanou metodou programování EEPROM, protože jako parametr přebírá název konfiguračního souboru a pak programuje více zařízení jedním příkazem.

Úložiště Azure Sphere Hardware Designs na GitHubu obsahuje konfigurační soubor EEPROM pro použití s nástrojem příkazového řádku. Důrazně doporučujeme používat tento soubor a nástroj příkazového řádku ve výrobních scénářích. Konfigurační soubor programuje EEPROM s následujícími nastaveními:

  • Povolí přímý režim D2XX a zakáže port virtuálního modelu COM.
  • Automaticky vygeneruje sériové číslo začínající na AS.
  • Nastaví popis produktu na "MSFT MT3620 Std Interface"

K naprogramování EEPROM musíte použít tento soubor bez úprav, protože nástroje pro počítače Azure Sphere hledají řetězec popis produktu a při změně této hodnoty selžou.

Podrobné pokyny pro programování EEPROM

Pokud chcete použít verzi FT_PROG příkazového řádku k naprogramování EEPROM pro čtyřportový čip FTDI:

  1. Nainstalujte nástroje FTDI do výchozího umístění: C:\Program Files(x86)\FTDI\FT_Prog.

  2. Připojte k počítači jednu nebo více desek MT3620.

  3. Otevřete příkazový řádek (například cmd.exe) a přejděte do složky, do které jste konfigurační soubor uložili.

  4. Zadáním následujícího příkazu zobrazíte seznam všech připojených zařízení:

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

    Pokud jsou připojená čtyři zařízení, bude výstup vypadat nějak takto:

    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. Zadáním následujícího příkazu naprogramujte všechna připojená zařízení. Zadejte indexy připojených zařízení (0, 1, 2 atd.) za prog parametry a 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

    Nástroj by měl zobrazit:

     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. Pokud chcete ověřit, že programování proběhlo úspěšně, zkontrolujte ještě jednou:

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

    Všimněte si, že sériová čísla mají ve výstupu změny a teď začínají na 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
    

aplikace FT_PROG GUI

Verze grafického uživatelského rozhraní windows aplikace je užitečná pro čtení a kontrolu stavu informací EEPROM. Můžete ho také použít ke změně informací. K naprogramování zařízení však doporučujeme použít verzi nástroje pro příkazový řádek.

Po spuštění aplikace klikněte na tlačítko Skenovat (s ikonou lupy), abyste si přečetli a zobrazili aktuální obsah EEPROM.

Pokud se zobrazí dialogové okno Neznámé zařízení jako v následujícím příkladu, klikněte na OK , dokud se v okně aplikace nezobrazí informace správně.

FT_PROG neznámá obrazovka zařízení

Následující příklad ukazuje správné zobrazení:

FT_PROG správné zobrazení

Další informace o používání softwaru najdete v dokumentaci k FT_PROG.