MCU programlama ve hata ayıklama arabirimi

MT3620, cihaz sağlama ve kurtarma sırasında kullanılmak üzere iki ayrılmış UART ve iki denetim sinyali (sıfırlama ve kurtarma) sunar. Ayrıca RTApps hatalarını ayıklamak için bir SWD arabirimi ve Microsoft tanılaması için bir UART daha ayrılmıştır.

Azure Sphere bilgisayar yazılım araçları, bu arabirimleri, araçların bunları tanımasına ve bunlarla etkileşim kurmasına olanak tanıyacak şekilde bir bilgisayara sunan bir USB-UART arabirim yongası kullanılmasını gerektirir. Azure Sphere araçları, Hizmet UART'sini kullanarak USB üzerinden uygulama yükleme ve Kurtarma UART'sini kullanarak Azure Sphere işletim sistemini kurtarma desteği içerir. Bilgisayar araçları, arabirimleri kullanıma sunabilmek için Future Technology Devices International (FTDI) FT4232HQ UART-USB arabirim yongasının kullanılmasını gerektirir. Şu anda, araçlar farklı üreticilerin diğer FTDI yongalarını veya arabirim yongalarını desteklemez.

Geliştirme panoları için, bu arabirim yongası genellikle MT3620 ile aynı PCB üzerindedir. Bu yaklaşım MT3620 başvuru geliştirme panosu (RDB) tasarımında belgelenmiştir. MT3620 kullanan özel bir kart veya modül için, arabirim yongasının ayrı bir PCB üzerinde olması uygun olabilir, çünkü bu donanım yalnızca üretim veya bakım sırasında gereklidir ve birim başına maliyet tasarrufu sağlar. Bu yaklaşım tek başına programlama ve hata ayıklama arabirim panosu tasarımında belgelenmiştir.

Bağlantı noktalarına genel bakış

MT3620 programlama, Microsoft tanılama ve yonga sağlama için kullanılan üç UART ve bir SWD arabirimi sunar. Dört arabirim aşağıdaki işlevlere sahiptir:

  • UART hatalarını ayıklama— Hata Ayıklama UART,Microsoft'un tanılama gerçekleştirmesini sağlar. Bu UART'ın uygulama hata ayıklama veya tanılama için kullanılamadığını unutmayın.

    Microsoft'un yönlendirmesi altında, bu arabirim belirli sorunlarda hata ayıklama sırasında yararlı olabilecek ek tanılama bilgilerini yakalamanın bir yolu sağlar. Bu nedenle, yazılım veya donanım geliştirme için kullanılan cihazlar için bu arabirimin eklenmesi önerilir, ancak üretim aşamasına ulaşan cihazlar için isteğe bağlı olarak değerlendirilebilir.

  • SWD arabirimi—SWD arabirimi, M4F çekirdeklerinde çalışan gerçek zamanlı özellikli uygulamalarda (RTApps) hata ayıklanırken kullanılır; bu arabirim iki M4F çekirdeği arasında paylaşılır.

    RTApps'de hata ayıklama özelliğine ihtiyacınız varsa (örneğin, cihaz geliştirme sırasında), cihazınız bu arabirimi desteklemelidir. Cihazınız üretim aşamasına ulaştığında, bu arabirim isteğe bağlı olarak kabul edilebilir ve atlanabilir.

  • Hizmet UART—Hizmet UART,MT3620 ile konak bilgisayar arasında ana programlama ve hata ayıklama arabirimini sağlar.

    Bu arabirim, kurtarma (sonraki paragrafta açıklandığı gibi) dışında ekli cihaz gerektiren tüm Azure CLI işlemlerini etkinleştirir. Hizmet UART'si MT3620 ile konak bilgisayar arasındaki ana arabirim olduğundan, bu arabirim hem yazılım geliştirmeyi destekleyen cihazlar hem de perakende cihazların üretimi sırasında kullanılabilir olmalıdır. Bu arabirim bir cihaz için sahada kullanılabiliyorsa, cihaz İnternet'e bağlı olmadığı için bulut güncelleştirmeleri almıyorsa, örneğin uygulama yazılımının yeni sürümlerini yüklemek için hizmet mühendisleri tarafından da kullanılabilir.

  • Kurtarma UART—Kurtarma bağlantı noktası, bir cihazı işletim sisteminin en son sürümüne kurtarmanın bir aracıdır.

    Bir cihazı işletim sisteminin en son sürümüne kurtarmak cihaz üretimi sırasında sık kullanılan bir görev olduğundan, bu arabirim üretim sırasında desteklenmelidir. Ancak, bir cihaz bir müşteriye satıldıktan (ve bunu İnternet'e bağladıktan sonra), bulut güncelleştirmeleri cihazın işletim sisteminin en son sürümüyle güncel kalmasını sağlar...

Bileşenlere genel bakış

Aşağıdaki diyagramda 4 bağlantı noktasıLı FTDI arabiriminin ana bileşenlerine ve BUNLARıN MT3620 ile olan bağlantılarına genel bir bakış sağlanmaktadır:

MT3620'ye 4 bağlantı noktası FTDI arabirimi diyagramı

FTDI yongasını ve devresini MT3620 ile aynı kartın bir parçası olarak (örneğin, geliştirme panosu oluşturuyorsanız) veya MT3620 cihazınızla bilgisayarınız arasında yer alan ayrı bir arabirim panosunda kullanmayı seçebilirsiniz.

Bağlantı noktası atamaları

Bilgisayar araçlarıyla uyumluluğu sağlamak için, tasarımınızda kullanılacak kullanıma sunulan UART'lerin ve SWD arabiriminin aşağıdaki tabloda açıklandığı gibi FTDI bağlantı noktalarına bağlı olduğundan emin olmak önemlidir.

Işlev FT4232HQ Pin İşlevi (pin numarası) MT3620 Pin İşlevi (pin numarası)
Kurtarma UART, sıfırlama ve kurtarma bağlama raptiyesi Bağlantı Noktası-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) (ve isteğe bağlı olarak WAKEUP (70) bağlantı hattı üzerinden aşağıda ayrıntılı olarak açıklanmaktadır)
Hizmet UART'ı Bağlantı Noktası-C CDBUS0 (38) SERVICE_RXD (129)
CDBUS1 (39) SERVICE_TXD (127)
CDBUS2 (40) SERVICE_CTS (130)
CDBUS3 (41) SERVICE_RTS (128)

SWD ve sıfırlama

Bağlantı Noktası-B BDBUS0 (26) SWCLK SWD devresinin ayrıntıları için bkz. SWD arabirimi
BDBUS1 (27) SWDIO out
BDBUS2 (28) SWDIO içinde
BDBUS4 (30) SWDIO yönü
BDBUS5 (32) SWD etkinleştirme
BDBUS6 (33) SYSRST_N (125) (ve isteğe bağlı olarak WAKEUP (70) bağlantı hattı üzerinden aşağıda ayrıntılı olarak açıklanmaktadır)

UART hatalarını ayıklama

Bağlantı Noktası-A ADBUS0 (16) DEBUG_RXD (94)
ADBUS1 (17) DEBUG_TXD (95)
ADBUS2 (18) DEBUG_CTS (97)
ADBUS3 (19) DEBUG_RTS (96)*

*DEBUG_RTS MT3620'nin bir yonga sıfırlaması sırasında yüksek çekerse yonganın kurtarma moduna girmesine neden olan 'bağlama raptiyelerinden' biridir. Diğer tüm durumlarda, bu raptiye Hata Ayıklama UART'sinin RTS pin'idir.

Şema

Aşağıdaki şemalar FT4232HQ yongasını desteklemek için gereken ana bileşenleri gösterir. MT3620 başvuru panosu tasarımı, bu şemayı içeren bir başvuru tasarımı sağlar.

Şematik 1:

FTDI yongasını desteklemek için şematik

Notlar—Şematik 1:

  • Sıfırlama çizgisine sahip serideki 1K dirençler, bir kullanıcının kurtarma sırasında sıfırlama çizgisinin program aracılığıyla denetlenmesiyle aynı anda sıfırlama düğmesine (tasarımda yer alıyorsa) basması durumunda kısa devreden kaçınmak için dahil edilir.
  • PCB'yi döşerken, diferansiyel çiftinin, USB_P ve USB_N, 90Ω karakteristik bir diferansiyel empedans vermek için birbirine paralel olarak yönlendirildiğinden emin olun.
  • (İsteğe bağlı) SWD hatlarına sahip seri 33Ω dirençler geçicileri azaltmaya yöneliktir ve FT4232HQ'ya yakın bir yere yerleştirilmelidir.

Şematik 2:

FTDI yongasını desteklemek için uyandırma/sıfırlama devresi ile şematik

Notlar—Şematik 2:

  • SYSRST_N 100K direnç (R8) ile yüksek bir şekilde çekilir. Bu, yonga sıfırlamasının varsayılan olarak onaylanmadığı anlamına gelir.

Aşağıdaki iki öğe isteğe bağlıdır. Varsa, RESET iki durumlu olduğunda fiziksel RESET düğmesinin ve FTDI arabiriminin MT3620'yi otomatik olarak uyandırmasına izin verir. Bu, sıfırlama düğmesinin veya bilgisayar arabiriminin Power Down modunda çalışmaya devam etmesi gereken Power Down modunu kullanan tüm tasarımlar için önerilir.

  • Schottky diyot çifti, SYSRST_N ile WAKEUP arasında seri olarak bağlanır ve diyotların ortak katot bağlantısı sıfırlama düğmesine ve FTDI sıfırlama sinyallerine bağlanır. Bu, UYANDıRMA düşük olduğunda SYSRST_N düşük geçiş yapmasını önler.
  • WAKEUP, 3V3_RTC güç kaynağına bağlı 100K direnç ile yüksek bir şekilde çekilir. 100K direnci, SYSRST_N düşük olduğunda WAKEUP'ın düşük geçişli olmasını sağlar; 3V3_RTC bağlantısı, MT3620 güç kaynağı Güç Azaltma modu için kapanırsa WAKEUP'ın yüksekten çekilmeye devam etmesini sağlar.

FTDI EEPROM

FTDI arabirim yongası, üreticinin ayrıntılarını ve seri numarasını depolamak için kullanılan küçük bir EEPROM'a bağlanması gereken bir dizi pin sağlar. Pano montajından sonra, bu bilgiler DAHA sonra FTDI FT_PROG Programlama Aracı'nda açıklandığı gibi FTDI tarafından sağlanan bir yazılım aracı kullanılarak USB üzerinden EEPROM'a programlanır.

Aşağıdaki EEPROM parçaları FTDI yongası ile uyumludur:

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

3,3V besleme ile uyumlu OLAN LC değişkeninin kullanımına dikkat edin. Microsoft, dahili geliştirme amacıyla her zaman 93LC56BT-I/OT bölümünü kullanmıştır.

EEPROM'u FTDI yongasına aşağıdaki gibi bağlayın:

EEPROM devresi FTDI yongasına bağlantı
EEProm devresi FTDI yongasına bağlantı

UART arabirimleri

MT3620 ile FTDI arasındaki Kurtarma, Hizmet ve Hata Ayıklama UART bağlantıları için özel bağlantı hattı gerekmez. Ancak, TXD ve RXD ile CTS ve RTS'nin çapraz geçişini not edin. FTDI belgelerinde her bağlantı noktasının 0'ını TXD, 1'i RXD olarak sabitlemek açıklanmaktadır. Bu tanımlar FTDI yongasına göredir; yani, pin 0 bir çıkıştır ve pin 1 bir giriştir. Sonuç olarak, MT3620'ye (ve benzer şekilde CTS ve RTS için) RXD ve TXD bağlantıları üzerinden geçmek gerekir. Aşağıdaki diyagramda Hizmet UART'sı için gösterilmiştir; Kurtarma ve Hata Ayıklama UART'leri için de aynı düzeni kullanın:

kurtarma ve Hizmet UART bağlantıları

SWD arabirimi

FTDI yongaları genellikle UART'ler ve USB arasında bir köprü sağlamak için kullanılır, ancak Azure Sphere programlama ve hata ayıklama arabirimi, FTDI bölümünün yüksek hızlı SWD arabirimi olarak çalışmasına izin vermek için dörtlü bir tristate arabelleğine dayalı ek devre kullanır.

Aşağıda gerekli bağlantı hattı ve FTDI yongasına bağlantı gösterilmektedir. SWDIO sinyalinin MT3620 pin 98'e ve SWCLK'nin 99 pinine bağlandığını unutmayın.

Üç durumlu arabellek düzenlemesi FTDI Bağlantı Noktası-B bağlantıları
üç durumlu arabellek düzenlemesi ftdi bağlantı noktası B bağlantıları

USB etkinliği LED'i (isteğe bağlı)

USB etkinliği LED'i, normal çalışma sırasında USB bağlantısı üzerinden veri aktarımını göstermek için yararlı olabilir. BIR USB etkinliği LED'ini çeşitli yollarla uygulayabilirsiniz. Aşağıdaki bağlantı hattı yalnızca bir örnektir.

Devre AND'leri, FT4232HQ'yu EEPROM'a bağlayan saat ve veri hatlarını birleştirir. Bu iki satır, USB üzerinden veri gönderilip alınırken açık olmasa da usb etkinliğini göstermek için kullanılabilir. Ancak, AND kapısı çıkışının zamanında led aydınlatmak için çok kısadır; bu nedenle, bu sinyal, led'i destekleyen mono kararlı bir devreyi sürmek için kullanılır.

Mono kararlı devrenin zamanında 100ms olarak ayarlanır, böylece KıSA USB trafiği patlamaları bile LED'in aydınlatmasına neden olur.

USB etkinliği LED'i

FTDI FT_PROG programlama aracı

FTDI, EEPROM programlamaya yardımcı olmak için FT_PROG adlı ücretsiz bir yazılım aracı sağlar. Araç hem Windows GUI uygulaması hem de komut satırı aracı olarak kullanılabilir; her iki seçenek de aynı paketten aynı anda yüklenir. Aracı FTDI web sitesinden indirin ve varsayılan konuma yükleyin.

FT_PROG komut satırı aracı

FT_PROG komut satırı sürümü, EEPROM'un programlamak için tercih edilen yöntemidir çünkü bir yapılandırma dosyasının adını parametre olarak alır ve ardından birden çok cihazı tek bir komutla programlar.

GitHub'da Azure Sphere Donanım Tasarımları deposu , komut satırı aracıyla kullanılacak bir EEPROM yapılandırma dosyası içerir. Bu dosyayı ve komut satırı aracını üretim senaryolarında kullanmanızı kesinlikle öneririz. Yapılandırma dosyası EEPROM'ı aşağıdaki ayarlarla programlar:

  • D2XX Doğrudan modunu etkinleştirir ve Sanal COM Bağlantı Noktasını devre dışı bırakır
  • 'AS' ile başlayan bir seri numarasını otomatik olarak oluşturur
  • Ürün Açıklamasını "MSFT MT3620 Std Arabirimi" olarak ayarlar

EEPROM'u programlamak için bu dosyayı değişiklik yapmadan kullanmanız gerekir çünkü Azure Sphere bilgisayar araçları Ürün Açıklaması dizesini arar ve bu değer değiştirilirse başarısız olur.

EEPROM programlama için adım adım yönergeler

EEPROM'yi dört bağlantı noktalı bir FTDI yongası için programlamak üzere FT_PROG komut satırı sürümünü kullanmak için:

  1. FTDI araçlarını varsayılan konuma yükleyin: C:\Program Files(x86)\FTDI\FT_Prog.

  2. Bilgisayara bir veya daha fazla MT3620 kartı bağlayın.

  3. Bir komut istemi açın (örneğin, cmd.exe) ve yapılandırma dosyasını kaydettiğiniz klasöre geçin.

  4. Tüm ekli cihazları listelemek için aşağıdaki komutu yazın:

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

    Dört cihaz takılıysa çıkış şuna benzer:

    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. Tüm ekli cihazları programlamak için aşağıdaki komutu yazın. ve cycl parametrelerinden sonra prog eklenen cihazların dizinlerini (0, 1, 2 vb.) belirtin:

    "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

    Araç şu şekilde görüntülenmelidir:

     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. Programlamanın başarılı olduğunu doğrulamak için bir kez daha tarayın:

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

    Seri numaralarının çıktıda değişiklik olduğuna ve şimdi AS ile başladığına dikkat edin:

    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 uygulamasını FT_PROG

Uygulamanın Windows GUI sürümü, EEPROM bilgilerinin durumunu okumak ve denetlemek için kullanışlıdır. Bilgileri değiştirmek için de kullanabilirsiniz; ancak, cihazı programlamak için aracın komut satırı sürümünün kullanılmasını öneririz.

Uygulamayı başlattıktan sonra EEPROM'un geçerli içeriğini okumak ve görüntülemek için Tara düğmesine (büyüteç simgesiyle) tıklayın.

Aşağıdaki örnekte olduğu gibi Bilinmeyen Cihaz iletişim kutusu görüntülenirse, uygulama penceresi bilgileri doğru görüntüleyene kadar Tamam'a tıklayın.

Bilinmeyen cihaz ekranını FT_PROG

Aşağıdaki örnekte doğru görüntü gösterilmektedir:

Doğru ekranı FT_PROG

Yazılımı kullanma hakkında daha fazla bilgi için FT_PROG belgelerine bakın.