Gerçek zamanlı özellikli uygulamalarda PWM'leri kullanma

Azure Sphere, Darbe Genişliği Modülasyon'ını destekler. Darbe genişlikli modülasyon, darbeli dijital sinyalin görev döngüsü (on-time-off-time oranı) değiştirilerek elde edilir. Darbe genişlikli modülatörler (PWM'ler), dijital motor kontrolü, iletişim ve dijitalden analoga dönüştürme gibi çok çeşitli uygulamalarda kullanılır.

Bu konuda, gerçek zamanlı özellikli uygulamalarda (RTApp) PWM'lerin nasıl kullanılacağı açıklanmaktadır. Üst düzey uygulamalarda PWM'leri kullanma hakkında bilgi için bkz. Üst düzey uygulamalarda PWM kullanma.

Not

Azure Sphere işletim sistemi, başlatmada çevre birimlerini sıfırlamaz. Uygulamalarınız, başlatma veya yeniden başlatma sonrasında çevre birimlerinin bilinen iyi durumda olduğundan emin olmalıdır.

Gerçek zamanlı çekirdeklerde PWM için MT3620 desteği

Bu bölümde, YALNıZCA MT3620 üzerinde Azure Sphere çalıştırılırken uygulanan PWM seçenekleri açıklanmaktadır.

MT3620'nin desteklediği PWM özellikleri MT3620 Destek Durumu'nda listelenmiştir. MT3620 geliştirme panosu kullanıcı kılavuzu, pin düzenini ve pin işlevlerini açıklar.

MT3620, PWM0-PWM11 tarafından tanımlanan 12 PWM kanalına sahiptir. 4 kanaldan oluşan 3 grup halinde düzenlenmiştir. Her grup bir PWM denetleyicisi (PWM-CONTROLLER-0, PWM-CONTROLLER-1, PWM-CONTROLLER-2) ile ilişkilendirilir. PWM kanalları ve GPIO, GPIO0'u GPIO11 aracılığıyla MT3620'de aynı raptiyelerle eşler. Uygulamanız bir PWM denetleyicisi kullanıyorsa, bu denetleyiciyle ilişkili tüm pinler PWM çıkışları olarak kullanılmak üzere ayrılır. Bunların hiçbiri GPIO için kullanılamaz.

Temel adresleri kaydetme, kesme numaraları, saat hızı, örnekleme sıklığı ve MT3620 hakkındaki diğer ayrıntılar için bkz. MT3620 Veri Sayfası ve MT3620 M4 Kullanım Kılavuzu; sorularınız kalırsa, e-posta ile Azure.Sphere@avnet.comAvnet'ten ayrıntıları isteyebilirsiniz.

PWM donanımı üç saat frekansından birini kullanacak şekilde yapılandırılabilir: 32 KHz, 2 MHz (XTAL/13) veya 26 MHz (XTAL). Gerçek zamanlı (RT) çekirdeklerde, gerçek zamanlı bir uygulama (RTApp) temel olarak hangi saatin kullanılacağını seçebilir. Kullanıcı tanımlı taban frekansları desteklenmez. Ancak, uygulamanız seçilen taban frekanstan türetilen sinyal frekansları oluşturabilir. Örnek için Bkz. Azure Sphere Galerisi'ndekiPWMAudio örnek uygulaması.

Uygulama bildirimi ayarları

RTApp'te PWM kullanmak için, özelliği uygulama bildirimine ekler Pwm ve uygulamada kullanılacak PWM denetleyicilerini belirtirsiniz. Örneğin, aşağıdaki satır MT3620 başvuru geliştirme panosuna (RDB) yönelik bir RTApp'te kullanılmak üzere PWM denetleyicisi 0'ı belirtir:

"Capabilities": {
   "Pwm": [ "PWM-CONTROLLER-0" ] }

Azure Sphere uygulama bildirimi, uygulama bildirimi hakkında daha fazla ayrıntıya sahiptir.

PWM örnek uygulamaları

GitHub'daki CodethinkLabs deposu, Azure Sphere gerçek zamanlı özellikli uygulamalarda MT3620 tarafından desteklenen çevre birimlerinin nasıl kullanılacağını gösteren bir dizi örnek uygulama içerir. Özellikle PWM_RTApp_MT3620_BareMetal örneği, pwm çevre biriminin gerçek zamanlı bir uygulamaya nasıl dahil olacağını gösterir.

PWMAudio projesi, PWM (Darbe Genişliği Modülasyonu) sesi oluşturmak için gerçek zamanlı çekirdeklerin nasıl kullanılacağını gösterir. Bu proje, etkilenmeyen betikler, yardımcı programlar ve işlevler koleksiyonu olan Azure Sphere Galerisi'nin bir parçasıdır.