Aracılığıyla paylaş


MCU programlama ve hata ayıklama arabirimi

Önemli

Bu, Azure Sphere (Eski) belgeleridir. Azure Sphere (Eski) 27 Eylül 2027'de kullanımdan kaldırılıyor ve kullanıcıların bu zamana kadar Azure Sphere'e (Tümleşik) geçmeleri gerekiyor. Azure Sphere (Tümleşik) belgelerini görüntülemek için İçindekiler tablosu üzerinde bulunan Sürüm seçiciyi kullanın.

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 başka bir UART ayrılmıştır.

Azure Sphere bilgisayar yazılım araçları, bu arabirimleri araçların bunları tanıyıp etkileşim kurmasına olanak tanıyan bir şekilde bir bilgisayara kullanıma sunan USB-UART arabirim yongasının kullanılmasını gerektirir. Azure Sphere araçları, Hizmet UART'ını kullanarak USB üzerinden uygulama yükleme ve Kurtarma UART'ını 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 arayüz 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'de 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 yolunu 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şmış cihazlar için isteğe bağlı olarak kabul edilebilir.

  • SWD arabirimi—SWD arabirimi, M4F çekirdeklerinde çalışan gerçek zamanlı özellikli uygulamalarda (RTApps) hata ayıklaması yaparken 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 arabirimi sağlar.

    Bu arabirim, kurtarma (sonraki paragrafta açıklandığı gibi) dışında ekli cihaz gerektiren tüm Azure Sphere CLI işlemlerini etkinleştirir. Service UART, 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ı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ştirmelerini almazsa, 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ı sağlar.

    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 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ı 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ı noktalı 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 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.

İşlev FT4232HQ Sabitleme İş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) IÇINDE SWDIO
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 'kayışlama raptiyelerinden' biridir. Diğer tüm durumlarda, bu pin Hata Ayıklama UART'ının RTS raptiyesidir.

Ş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:

  • 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 devreyi önlemek için sıfırlama çizgisiyle serideki 1K dirençler 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.
  • (isteğe bağlı) SWD hatları ile seri 33Ω dirençler geçici azaltmak için tasarlanmıştır ve FT4232HQ yakın 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, FIZIKSEL RESET düğmesinin ve BILGISAYARıN FTDI arabiriminin RESET değiştirildiğinde MT3620'yi otomatik olarak uyandırmasına izin verir. Bu, Sıfırlama düğmesinin veya bilgisayar arabiriminin Açma/Kapama modunda çalışmaya devam etmesi gereken Güç Azaltma 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ı 100.000 dirençle yüksek bir şekilde çekilir. 100K direnci, SYSRST_N düşük olduğunda WAKEUP'ın düşük geçişini sağlar; 3V3_RTC bağlantısı, MT3620 güç kaynağı Güç Kapatma 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ıyla uyumludur:

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

3,3V besleme ile uyumlu 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 bağlantı hattı 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 numaralı pinI TXD, 1 numaralı pin ise RXD olarak açıklanmaktadır. Bu tanımlar FTDI yongasına göredir; başka bir ifadeyle, 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ının üzerinden geçmek gerekir. Aşağıdaki diyagramda Hizmet UART'sı için bu gösterilmektedir; 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ı bir 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, SWCLK'nin ise 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. USB etkinliği LED'ini çeşitli yollarla uygulayabilirsiniz. Aşağıdaki bağlantı hattı yalnızca bir örnektir.

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

Mono kararlı devrenin zamanında 100ms olarak ayarlanır, böylece KıSA SÜRELI USB trafiği bile LED'in yanması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öntemdir çü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, Azure Sphere bilgisayar araçları Ürün Açıklaması dizesini aradığından ve bu değer değiştirilirse başarısız olacağı için bu dosyayı değişiklik yapmadan kullanmanız gerekir.

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

EEPROM'ı dört bağlantı noktalı 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 bağ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 ekli 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 tarama yapın:

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

    Seri numaralarının çıktıda değişiklik olduğunu ve şimdi AS ile başladığını unutmayın:

    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 görüntüyü FT_PROG

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