Antarmuka pemrograman dan debugging MCU

MT3620 memperlihatkan dua UART khusus dan dua sinyal kontrol (pengaturan ulang dan pemulihan) untuk digunakan selama penyediaan dan pemulihan perangkat. Selain itu, antarmuka SWD tersedia untuk debugging RTApps dan UART lebih lanjut dicadangkan untuk diagnostik Microsoft.

Alat perangkat lunak PC Azure Sphere memerlukan penggunaan chip antarmuka USB-to-UART yang mengekspos antarmuka ini ke PC dengan cara yang memungkinkan alat mengenali dan berinteraksi dengannya. Alat Azure Sphere menyertakan dukungan untuk memuat aplikasi melalui USB menggunakan UART Layanan dan untuk memulihkan OS Azure Sphere menggunakan UART Pemulihan. Alat PC memerlukan penggunaan chip antarmuka UART-to-USB Future Technology Devices International (FTDI) FT4232HQ untuk mengekspos antarmuka. Saat ini, alat tersebut tidak mendukung chip FTDI atau chip antarmuka lain dari produsen yang berbeda.

Untuk papan pengembangan, chip antarmuka ini biasanya berada di PCB yang sama dengan MT3620. Pendekatan ini didokumentasikan dalam desain papan pengembangan referensi (RDB) MT3620. Untuk papan atau modul kustom yang menggunakan MT3620, mungkin tepat untuk memiliki chip antarmuka pada PCB terpisah, karena perangkat keras ini hanya diperlukan selama produksi atau pelayanan, memungkinkan penghematan biaya per unit. Pendekatan ini didokumentasikan dalam desain papan antarmuka pemrograman dan debugging mandiri.

Gambaran umum port

MT3620 mengekspos tiga UART dan antarmuka SWD yang digunakan untuk pemrograman, diagnostik Microsoft, dan penyediaan chip. Empat antarmuka memiliki fungsi berikut:

  • Debug UART—UART Debug memungkinkan Microsoft untuk melakukan diagnostik. Perhatikan bahwa UART ini tidak dapat digunakan untuk proses debug atau diagnostik aplikasi.

    Di bawah arahan Microsoft, antarmuka ini menyediakan sarana untuk menangkap informasi diagnostik tambahan yang dapat berguna saat men-debug masalah tertentu. Oleh karena itu disarankan untuk menyertakan antarmuka ini untuk perangkat yang digunakan untuk pengembangan perangkat lunak atau perangkat keras, tetapi dapat dianggap opsional untuk perangkat yang telah mencapai tahap manufaktur.

  • Antarmuka SWD—Antarmuka SWD digunakan saat melakukan debugging aplikasi berkemampuan real-time (RTApps) yang berjalan pada inti M4F; antarmuka ini dibagikan antara dua inti M4F.

    Jika Anda memerlukan kemampuan untuk men-debug RTApps (misalnya selama pengembangan perangkat), perangkat Anda harus mendukung antarmuka ini. Setelah perangkat Anda mencapai tahap manufaktur, antarmuka ini dapat dianggap opsional dan dapat dihilangkan.

  • UART Layanan—UART layanan menyediakan antarmuka pemrograman dan debugging utama antara MT3620 dan komputer host.

    Antarmuka ini memungkinkan semua operasi Azure CLI yang memerlukan perangkat yang dilampirkan, kecuali untuk pemulihan (seperti yang dijelaskan dalam paragraf berikutnya). Karena UART Layanan adalah antarmuka utama antara MT3620 dan komputer host, antarmuka ini harus tersedia untuk perangkat yang mendukung pengembangan perangkat lunak, serta selama pembuatan perangkat ritel. Jika antarmuka ini tersedia untuk perangkat dalam bidang, antarmuka ini juga dapat digunakan oleh teknisi layanan—misalnya, untuk memuat versi baru perangkat lunak aplikasi, jika perangkat tidak menerima pembaruan cloud karena tidak tersambung ke internet.

  • UART Pemulihan—Port pemulihan menyediakan sarana pemulihan perangkat ke versi terbaru sistem operasi.

    Antarmuka ini harus didukung selama pembuatan, karena memulihkan perangkat ke versi terbaru sistem operasi adalah tugas umum selama pembuatan perangkat. Namun, setelah perangkat dijual kepada pelanggan (dan mereka telah menghubungkannya ke internet), pembaruan awan akan memastikan perangkat tetap terkini dengan versi terbaru sistem operasi..

Gambaran umum komponen

Diagram berikut ini memberikan gambaran umum komponen utama antarmuka FTDI 4 port dan interkoneksinya dengan MT3620:

Diagram antarmuka FTDI 4 port ke MT3620

Anda dapat memilih untuk menggunakan chip dan sirkuit FTDI sebagai bagian dari papan yang sama dengan MT3620 (misalnya, jika Anda sedang membangun papan pengembangan) atau di papan antarmuka terpisah yang berada di antara perangkat MT3620 Anda dan PC.

Tugas pemindahan

Untuk memastikan kompatibilitas dengan alat PC, penting untuk memastikan bahwa setiap UART yang diekspos dan antarmuka SWD yang akan digunakan dalam desain Anda tersambung ke port FTDI seperti yang dijelaskan dalam tabel berikut ini.

Fungsi Fungsi Pin FT4232HQ (nomor pin) Fungsi Pin MT3620 (nomor pin)
UART pemulihan, reset dan pemulihan pin strapping 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) (dan wakeup opsional (70) melalui sirkuit yang dijelaskan di bawah ini)
UART Layanan Port-C CDBUS0 (38) SERVICE_RXD (129)
CDBUS1 (39) SERVICE_TXD (127)
CDBUS2 (40) SERVICE_CTS (130)
CDBUS3 (41) SERVICE_RTS (128)

SWD dan reset

Port-B BDBUS0 (26) SWCLK Lihat antarmuka SWD untuk detail sirkuit SWD
BDBUS1 (27) SWDIO keluar
BDBUS2 (28) SWDIO di
BDBUS4 (30) Arah SWDIO
BDBUS5 (32) Mengaktifkan SWD
BDBUS6 (33) SYSRST_N (125) (dan wakeup opsional (70) melalui sirkuit yang dijelaskan di bawah ini)

Debug 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 adalah salah satu 'pin tali' MT3620 yang, jika ditarik tinggi selama reset chip, menyebabkan chip memasuki mode pemulihan. Di lain waktu, pin ini adalah pin RTS dari UART Debug.

Skema

Skematik berikut ini menunjukkan komponen utama yang diperlukan untuk mendukung chip FT4232HQ. Desain papan referensi MT3620 menyediakan desain referensi yang menggabungkan skema ini.

Skematik 1:

skematik untuk mendukung chip FTDI

Catatan—Skematik 1:

  • Resistor 1K dalam rangkaian dengan garis pengaturan ulang disertakan untuk menghindari korsleting jika pengguna menekan tombol reset (jika disertakan dalam desain) pada saat yang sama bahwa garis reset dikontrol secara terprogram selama pemulihan.
  • Ketika meletakkan PCB, pastikan bahwa pasangan dibedakan, USB_P dan USB_N, dirutekan sejajar satu sama lain untuk memberikan impedansi perbedaan yang khas dari 90Ω.
  • Resistor 33Ω dalam seri dengan garis SWD (opsional) dimaksudkan untuk mengurangi transien dan harus ditempatkan dekat dengan FT4232HQ.

Skematik 2:

skematik dengan rangkaian bangun/reset untuk mendukung chip FTDI

Catatan—Skematik 2:

  • SYSRST_N ditarik tinggi dengan resistor 100K (R8). Ini berarti bahwa pengaturan ulang chip tidak dinyatakan secara default.

Dua elemen berikut ini bersifat opsional. Jika ada, mereka mengizinkan tombol RESET fisik dan antarmuka FTDI ke PC untuk secara otomatis membangunkan MT3620 ketika RESET akan diaktifkan. Hal ini disarankan untuk desain apa pun yang menggunakan mode Power Down di mana tombol reset atau antarmuka PC harus terus beroperasi saat dalam mode Power Down.

  • Sepasang dioda Schottky tersambung dalam rangkaian antara SYSRST_N dan WAKEUP dan koneksi katoda umum dioda tersambung ke tombol reset dan sinyal pengaturan ulang FTDI. Ini mencegah SYSRST_N beralih ke rendah saat WAKEUP beralih rendah.
  • WAKEUP ditarik tinggi dengan resistor 100K yang tersambung ke catu daya 3V3_RTC. Resistansi 100K memastikan bahwa WAKEUP beralih rendah ketika SYSRST_N dinonaktifkan rendah; koneksi ke 3V3_RTC memastikan bahwa WAKEUP akan terus ditarik tinggi jika catu daya MT3620 dinonaktifkan untuk mode Power Down.

FTDI EEPROM

Chip antarmuka FTDI menyediakan sekumpulan pin yang harus tersambung ke EEPROM kecil yang digunakan untuk menyimpan detail produsen dan nomor seri. Setelah perakitan papan, informasi ini diprogram ke dalam EEPROM melalui USB menggunakan alat perangkat lunak yang disediakan oleh FTDI, seperti yang dijelaskan nanti di FTDI FT_PROG Programming Tool.

Bagian EEPROM berikut kompatibel dengan chip FTDI:

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

Perhatikan penggunaan varian LC, yang kompatibel dengan pasokan 3.3V. Untuk tujuan pengembangan internal, Microsoft selalu menggunakan komponen 93LC56BT-I/OT.

Sambungkan EEPROM ke chip FTDI sebagai berikut:

Sirkuit EEPROM Koneksi ke chip FTDI
Sirkuit EEProm koneksi ke chip FTDI

Antarmuka UART

Koneksi UART Pemulihan, Layanan, dan Debug antara MT3620 dan FTDI tidak memerlukan sirkuit khusus. Namun, perhatikan cross-over TXD dan RXD, serta CTS dan RTS. Dokumentasi FTDI menjelaskan sematkan 0 dari setiap port sebagai TXD dan sematkan 1 sebagai RXD. Definisi ini relatif terhadap chip FTDI; yaitu, pin 0 adalah output dan pin 1 adalah input. Oleh karena itu, perlu menyeberangi koneksi RXD dan TXD ke MT3620 (dan demikian pula untuk CTS dan RTS). Diagram berikut mengilustrasikan ini untuk UART Layanan; gunakan skema yang sama untuk UART Pemulihan dan Debug juga:

pemulihan dan koneksi UART Layanan

Antarmuka SWD

Meskipun chip FTDI biasanya digunakan untuk menyediakan jembatan antara UART dan USB, antarmuka pemrograman dan debugging Azure Sphere menggunakan sirkuit tambahan berdasarkan buffer tristate quad untuk memungkinkan bagian FTDI beroperasi sebagai antarmuka SWD berkecepatan tinggi.

Berikut ini menggambarkan sirkuit dan koneksi yang diperlukan ke chip FTDI. Perhatikan bahwa sinyal SWDIO tersambung ke pin MT3620 98 dan SWCLK tersambung ke pin 99.

Pengaturan buffer tri-state Koneksi Port-B FTDI
pengaturan buffer tri-state Koneksi port B ftdi

LED aktivitas USB (opsional)

LED aktivitas USB dapat berguna untuk menunjukkan transfer data melalui koneksi USB selama operasi normal. Anda dapat menerapkan LED aktivitas USB dengan beberapa cara. Sirkuit berikut ini hanyalah contoh.

AND sirkuit menyatukan jam dan garis data yang menghubungkan FT4232HQ ke EEPROM. Meskipun tidak jelas, dua baris ini beralih ketika data dikirim dan diterima melalui USB dan oleh karena itu dapat digunakan untuk menunjukkan aktivitas USB. Namun, waktu output dari gerbang AND terlalu pendek untuk menerangi LED; oleh karena itu, sinyal ini digunakan untuk menggerakkan sirkuit mono-stabil, yang pada gilirannya menggerakkan LED.

Rangkaian stabil mono pada waktunya diatur ke 100ms, sehingga bahkan ledakan singkat lalu lintas USB akan menyebabkan LED menyala.

LED aktivitas USB

Alat pemrograman FT_PROG FTDI

Untuk membantu dalam pemrograman EEPROM, FTDI menyediakan alat perangkat lunak gratis yang disebut FT_PROG. Alat ini tersedia sebagai aplikasi Windows GUI dan sebagai alat baris perintah; kedua opsi diinstal pada saat yang sama dari paket yang sama. Unduh alat dari situs web FTDI dan instal di lokasi default.

FT_PROG alat baris perintah

Versi baris perintah FT_PROG adalah metode pemrograman EEPROM yang lebih disukai, karena menggunakan nama file konfigurasi sebagai parameter lalu memprogram beberapa perangkat dengan satu perintah.

Repo Desain Perangkat Keras Azure Sphere di GitHub berisi file konfigurasi EEPROM untuk digunakan dengan alat baris perintah. Kami sangat menyarankan agar Anda menggunakan file ini dan alat baris perintah dalam skenario manufaktur. File konfigurasi memprogram EEPROM dengan pengaturan berikut:

  • Mengaktifkan mode D2XX Direct dan menonaktifkan Port COM Virtual
  • Menghasilkan nomor seri secara otomatis, dimulai dengan 'AS'
  • Mengatur Deskripsi Produk ke "MSFT MT3620 Std Interface"

Untuk memprogram EEPROM, Anda harus menggunakan file ini apa adanya tanpa modifikasi, karena alat PC Azure Sphere mencari string Deskripsi Produk dan akan gagal jika nilai ini diubah.

Instruksi langkah demi langkah untuk pemrograman EEPROM

Untuk menggunakan FT_PROG versi baris perintah untuk memprogram EEPROM untuk chip FTDI empat port:

  1. Instal alat FTDI di lokasi default: C:\Program Files(x86)\FTDI\FT_Prog.

  2. Sambungkan satu atau beberapa papan MT3620 ke PC.

  3. Buka prompt perintah (misalnya, cmd.exe) dan ubah ke folder tempat Anda menyimpan file konfigurasi.

  4. Ketikkan perintah berikut ini untuk mencantumkan semua perangkat yang dilampirkan:

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

    Jika empat perangkat terpasang, outputnya akan terlihat seperti ini:

    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. Ketikkan perintah berikut ini untuk memprogram semua perangkat yang terlampir. Tentukan indeks perangkat yang dilampirkan (0, 1, 2, dan seterangnya prog ) setelah parameter dan 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

    Alat harus ditampilkan:

     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. Untuk memverifikasi bahwa pemrograman berhasil, pindai sekali lagi:

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

    Perhatikan bahwa nomor seri memiliki perubahan dalam output dan sekarang dimulai dengan 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
    

aplikasi GUI FT_PROG

Versi Windows GUI dari aplikasi ini berguna untuk membaca dan memeriksa status informasi EEPROM. Anda juga dapat menggunakannya untuk mengubah informasi; namun, kami menyarankan penggunaan alat versi baris perintah untuk memprogram perangkat.

Setelah Anda memulai aplikasi, klik tombol Pindai (dengan ikon kaca pembesar) untuk membaca dan menampilkan konten EEPROM saat ini.

Jika kotak dialog Perangkat Tidak Diketahui muncul, seperti dalam contoh berikut ini, klik OK hingga jendela aplikasi menampilkan informasi dengan benar.

FT_PROG layar perangkat yang tidak diketahui

Contoh berikut ini memperlihatkan tampilan yang benar:

FT_PROG tampilan yang benar

Lihat dokumentasi FT_PROG untuk informasi selengkapnya tentang menggunakan perangkat lunak.