Sensör düğümü denetleyicisi - gelecekteki bağlantılı sensörlere yardımcı olur

Sensör Düğümü Denetleyicisi - Bağlı Sensörlerin Geleceğini Güçlendiriyor 2019-04-22 Marios Iliopoulos, Fotios Kerasiotis, Nikolaos Moschopoulos

Giriş

Günümüzün taşınabilir cihazları, sürekli aktivite izleme ve durumsal farkındalık yoluyla çevredeki ortamı anlıyor. Bu işlevi gerçekleştirmek için cihaz, çok sayıda veri üreten daha fazla sensör ve çevre birimi entegre eder. Bu da, daha fazla hesaplama yapmak için daha güçlü CPU'ları entegre etmeyi gerekli kılar. Aynı zamanda, maliyet ve güç tüketimini azaltmak için tasarım boyutu küçültülmeli, ancak nihai ürünün sürekli artan fonksiyonel gereksinimlerinden ödün verilmemelidir.

Sensör göbeği kavramı, gücü artırmadan "her zaman çalışan" sensör / çevresel erişim ve kontrol (yüksek oranda bile) gereksinimlerini karşılamak için günümüzün SoC tasarımında giderek daha fazla benimsenmektedir. Tüketim ve tasarım maliyetleri. Sensör göbeği, sensörlere / çevre birimlere bağlanan küçük bir CPU çekirdeği olabilir ve arka plan işlemleri gerçekleştirerek ve ana işlemciyi yalnızca gerektiğinde "uyandırarak", daha yüksek güç tüketimli ana işlemci için bir yük boşaltma motoru görevi görür.

Sensör edinimi için tipik işlemci tabanlı mimari

Birden çok sensörü entegre eden bir sistemde kullanılan tipik bir mikro denetleyici tabanlı mimari aşağıdaki bileşenleri içerir:

a) İşlem alt sistemi olarak da bilinen bir mikro denetleyici birimi (MCU), sistemdeki tüm bileşenlerin çalışmasını kontrol eder ve verileri işler. Bir işlemci, bir dahili veya harici bellek ve yerel veri işleme için gerekli tüm çevre birimleri ve alt sistemleri içerir. Tipik bir MCU tabanlı mimaride, kontrolör tüm sensör verilerini toplama, işleme ve depolamayı gerçekleştirir.

b) Sensör öğesi (veya algılama alt sistemi) - pasif veya aktif olabilen bir sensör grubu, dijital veya analogun herhangi bir kombinasyonu. Bu sensörler, dış ortamdan gelen giriş bilgilerini elektrik sinyallerine dönüştürür. Çoğu uygulamada sensörler hareketi, ışığı, hava basıncını, titreşimi, akış hızını, sıcaklığı, havalandırmayı, elektriği vb. İzlemek için kullanılır. Genel olarak, sensör elemanı çıkışında bir voltaj veya akım sinyali üretir. Veriler işlenmeden, depolanmadan ve iletilmeden önce, bu sinyaller genellikle yükseltilir ve analogdan dijitale dönüştürücüler tarafından dijital sinyallere dönüştürülür.

c) Radyo - ev sahibi ile kablosuz iletişim sağlayan kısa menzilli bir alıcı-verici.

d) Güç alt sistemi - genellikle bir bataryaya veya enerji toplayıcısına bağlı. Bu alt sistem, sistem yapı taşlarının gücünü ayrı ayrı açıp kapatabilen kontrol edilebilir bir birim olarak işlev görür. MCU yazılımında genellikle bir yazılım bloğudur. Güç alt sistemi, her bir donanım bileşeni için uygun güç voltajını sağlamaktan sorumludur.

Birden fazla sensör içeren daha karmaşık, mikro denetleyici tabanlı bir mimaride, çeşitli alt sistemleri kontrol etmek için zeka donanıma entegre edilmiştir. Örneğin, sensörlerden belleğe veri aktarımı zaman ve güç tüketir İşin bu kısmı aslında işlemciden doğrudan bellek erişim (DMA) birimine aktarılabilir. Güç yönetimi birimi (PMU) ayrıca belirli olaylara tepki verecek ve çevre birimleri, sensörler ve radyolar gibi çeşitli alt sistemleri kapatacak şekilde programlanabilir.

Şekil 1. Mikrodenetleyiciye dayalı tipik mimari

Bu gelişmiş mimarinin amacı, ana MCU'nun aktif süresini en aza indirmektir. Başlangıçta MCU müdahalesini gerektiren görevler artık akıllı alt sistem tarafından gerçekleştirilebilir. Bununla birlikte, hala bir sorun var, yani sensörden, radyodan veya çeşitli alt sistemlerden her olay olduğunda, MCU'nun uyandırılması gerekiyor, çünkü bu olayları işlemek için mantığı konuşlandırabilen tek bileşendir.

Güç optimizasyon teknolojisi-sensör düğümü denetleyicisi ekleyin

Çok sensörlü bir sistemin pil ömrünü uzatmak için, güç tüketimini azaltmak için birçok teknik önerilmiştir. Bazı teknolojiler, ortam erişim denetimi düzeyinde enerji tasarrufu sağlar, bazıları veri toplama veya füzyondan başlar ve bazıları yonga üzerinde güç geçişi veya dinamik voltaj düzenleme gibi yonga tasarımı optimizasyon teknolojilerini kullanır.

Bu makale, veri toplama için ana işlemcinin uyanma süresini en aza indirirken çoklu sensör sistemindeki güç kullanımını optimize etmek için farklı bir teknik sunar. Bu teknoloji, ana işlemcide sensör yoklama ve okuma gibi tekrar eden görevleri üstlenebilen ve böylelikle entegre bir düşük güçlü sensör göbeği konseptini gerçekleştiren entegre karmaşık donanım durumu makinesine dayanmaktadır. Özel bir donanım durumu makinesi, ana işlemci uykuda kalırken, verileri sensörlerden / çevre birimlerinden belleğe veya tam tersine aktarmak için daha hızlı uyanabilir ve daha az modül kullanabilir. Ek olarak, sensör göbeği veriler üzerinde basit işlemler gerçekleştirebilir, bu nedenle ana işlemcinin yalnızca karmaşık veri işlemleri gerektiğinde uyanması gerekir.

Bu yaklaşımın güzel bir örneği, Dialog Semiconductorın DA1469x Bluetooth Düşük Enerji SoC çözümüne entegre edilmiş sensör düğümü denetleyicisi (SNC) donanım modülüdür. SNC, geliştiricilerin iletişim denetleyicilerini (yani SPI, I2C, vb.), Sensörleri ve çevre birimlerini kontrol etmesine yardımcı olan, sınırlı bir komut setinden oluşan mikro kodu ( kodu) çalıştırabilen minyatür bir donanım durumu makinesidir. Sistemin geri kalanını uyandırmadan minimum komut setini kullanarak otomatik olarak çalışabilir. Bu, sensör durum bitlerini sorgulama, kayıt ve bellek adres içeriğini (değerleri) karşılaştırma, iletişim arayüzünden sistem RAM'ine veri aktarma ve dalları karşılaştırma gibi birçok işlemi gerçekleştirmesine olanak tanır ve aynı zamanda en düşük akımı tüketir.

Şekil 2. Sensör düğümü denetleyici çevre birimleriyle uygulama işlemci mimarisi

SNC'nin temel özellikleri aşağıdaki gibidir (Şekil 3):

· Sensör düğümü komut seti (SeNIS), 10 mikrokod oluşturma talimatı dahil, aşağıdakiler için uygundur:

o Bellek arabelleklerine kolayca işaretçiler oluşturun

o Seri arayüz durum bitini sorgulama

o Karşılaştırma eşiği

· Sistem RAM, mikrokod depolama ve veri için kullanılır

· Verileri doğrudan iletişim arayüzünden sistem RAM'ine aktarmak için kullanılan DMA işlevi

· Tüm çevre birimlerine ve kayıtlara doğrudan erişim

· PMU aracılığıyla kesme tetiklemesinden ve etki alanı açıldıktan (zamanlayıcı, GPIO gibi) hemen sonra yürütün

SNC'den ana işlemci bildirimine ve ters bildirim

SNC ve tüm iletişim arabirimleri (SPI, I2C ve UART) aynı güç etki alanı içindedir ve SNC ayrıca diğer güç etki alanlarını da kontrol edebilir. SNC'nin doğrudan bellek bağlantısına sahip olduğu sistem RAM'inde bulunan mikro kodu yürütür; sistem saat hızında çalışır; ve tüm sistemin kapatılabilmesi için tüm işlemlerin tamamlandığını PMU'ya bildirmek için kesintiler oluşturabilir.

Şekil 3. Sensör düğümü denetleyicisinin blok şeması

Sensör ve çevresel veri işlemlerini gerçekleştirmek için bu tür özel donanım kullanan bir mimarinin temel avantajları şunlardır:

Ana CPU daha uzun süre uyur ve bu da güç tasarrufu sağlayabilir

MIPS'ten tasarruf edin, çünkü CPU'nun yavaş çevre birimlerine erişmesi veya basit veri işlemleri gerçekleştirmesi gerekmez

Ama bazı dezavantajları var. SNC programlama modelinin çok basit komut seti yalnızca temel işlemlere izin verir. Ek olarak, SNC'yi programlamak için assembly dili gereklidir. Son olarak, SNC çok basit bir modül olduğu için, hata ayıklama karmaşık hale gelir.

Güç tüketimi ve MIPS'den tasarruf edin

SNC kullanılarak elde edilebilecek güç tüketimini ve MIPS tasarrufunu kanıtlamak için bir dizi ölçüm gerçekleştirdik. Bu ölçümler, ARM Cortex-M33'e dayalı olarak Dialog'un DA1469x SoC'unda yapıldı ve yalnızca ana CPU ve SNC desteği kullanılarak gerçekleştirilen aynı görevleri karşılaştırdı. İlk ölçüm seti, sensör okumaları için yaygın olarak kullanılan yavaş çevre birimlerine (I2C ve SPI gibi) erişirken güç tasarrufu / MIPS üzerine odaklanır. İkinci ölçüm seti, DA1469x'te bulunan Bluetooth Düşük Enerji (BLE) iletişim modülünü kullanan pratik uygulama durumlarına odaklanır.

Tablo 1, küçük SPI veya I2C veri işlemlerini iletirken (16/128 bayt yazma / okuma gibi) enerji tüketimini açıklamaktadır.

Tablo 1: Küçük veri işlemlerini iletirken enerji tüketimi (sayı 1,8 V, 8 bit iletim)

CPU (CM33) ile karşılaştırıldığında, SNC'nin işlemleri yürütmesi için gereken süre Tablo 2'de gösterildiği gibi çok daha kısadır. CPU'nun meşgul bekleme yapması gerekebileceğinden, zamandan tasarruf etmek MIPS kaydetmeye eşdeğerdir.

Tablo 2: SNC'nin 8 bitlik verileri yazması / okuması için gereken süre ve CPU'nun gerektirdiği karşılık gelen süre

Gerçek hayattaki kullanım durumları için, her 100 milisaniyede bir ivmeölçer sensörünü okumak için SPI kullanırken her 1500 milisaniye (Tablo 3) ve 500 milisaniye (Tablo 4) yayın yaparken tüketilen gücü karşılaştırdık.

Tablo 3: Her 1500 milisaniyede bir yayın yaparken enerji tüketimi, SPI kullanarak her 100 milisaniyede bir okuyan sensör

Tablo 4: Her 500 milisaniyede bir yayın yaparken enerji tüketimi, SPI kullanarak her 100 milisaniyede bir okuyan sensör

Karmaşık uygulamalarda, birden fazla sensöre erişmeniz gerekiyorsa, önbellek atlamaları ve görev değiştirme gibi sorunları hesaba katarsanız, MCU daha fazla meşgul olacaktır.

Programlama karmaşıklığını azaltın

Yukarıda bahsedildiği gibi, entegre bir sensör düğümü kontrolörü kullanırken karşılaşılan en büyük zorluklardan biri, temel sistem işlevlerinin programlanması, hata ayıklaması ve tam olarak kullanılmasının genel amaçlı bir MCU kullanan çözüm kadar basit olmasını sağlamaktır. Ana zorluklar:

· Sürücünün ve bağlı sensörlerin / çevre birimlerinin iletişim arayüzünü ve ayrıca ana CPU iletişimine karşılık gelen temel işlevleri etkili bir şekilde kontrol etmek için geliştirici dostu soyut programlama sağlayın.

· 10 komutlu derleme tarzı programlamayı kullanın ve yazılım geliştirmeyi basitleştirmek ve hızlandırmak için daha yüksek düzeyde bir programlama yapısı sağlayın.

· Tam sistem hata ayıklama desteği - her bir CPU çekirdeğinde ayrı ayrı hata ayıklamak yerine, çekirdekler paralel çalışırken sistem davranış hatalarını tespit etmek mümkün olmayabilir.

Bu zorlukları çözmek için eksiksiz ve kullanımı kolay bir programlama çerçevesine ihtiyacımız var. Eşzamanlı işletim sistemi görevlerinin paradigmasını SNC'de gerçekleştirilen karşılık gelen (paralel) işlemeye genişletmek için soyutlamalar ve prosedürler içermelidir. Dialog DA1469x çözümü için böyle bir programlama çerçevesi geliştirdik (Şekil 4). Aşağıdaki özelliklere sahiptir:

· Basitleştirilmiş SNC mikro kod geliştirme

o SeNIS'e dayalı C benzeri bir programlama dili tanımlayarak, assembly ve C benzeri programlama aynı anda desteklenebilir.

· Programlama için "Hibrit" kodlama modeli

o SNC için kod geliştirmeyi ve ana işlemci bağlamını aynı kaynak ve başlık dosyalarına dahil edin - geliştiriciler için uygun olan SeNIS tabanlı dil yapısını tanımlamak için bir C ön işlemcisi kullanılır.

· Tam ve kullanımı kolay API programları / benzeri C işlevleri kümesi olarak, tahrik eden ana işlemcinin iletişim arabirimi, SNC bildirimlerinin değişimi ve işletim sistemi kaynaklarıyla ilgili temel mekanizma ve işlev soyutlaması.

· Gözlemlenebilirlik ve gelişmiş hata ayıklama mekanizmaları, hem SNC hem de ana işlemci yürütme senaryolarına uygulanır.

Şekil 4. SNC programlama çerçevesi

SNC programlama modelinin özellikleri şu şekilde özetlenebilir:

· DA1469x uygulamaları, işletim sistemi görevleri ve SNC mikro kodu tarafından paralel olarak yürütülen süreçleri içerir.

· SNC adaptörü, SNC mikrokodunu DA1469x sistemi ile kaydeder veya kaydını siler, böylece SNC mikro kodlarının bir listesini oluşturur.Her mikrokod belirli bir PMU olayı tarafından tetiklenir.

· SNC adaptörü özel SNC mikrokodunu kullanır, kayıtlı SNC mikrokod yürütme planlamasını karşılık gelen mikrokod listesine göre gerçekleştirir ve düşük seviyeli sürücüsü aracılığıyla SNC donanım modülünü kontrol eder.

· SNC mikrokod geliştirme için bir dizi derleme ve C benzeri dil yapıları oluşturmak için bir dizi SeNIS tabanlı yapı önişlemci makro tanımlanır.

· SPI ve I2C gibi iletişim çevre birimlerini sürmek için kullanılabilecek bir dizi düşük seviyeli sürücü SNC mikro kodu sağlayın.

· İşletim sistemi görevleri ve değiş tokuş için SNC mikro kodu için bir mekanizma sağlayın:

o Bildirim

o Veri (yani: SNC kuyruğu)

SNC işlevlerinin kolay programlanması için yukarıda belirtilen yapıya ek olarak, hata ayıklamayı desteklemek için aşağıdaki içerikler de sağlanmıştır:

· SNC mikrokod mekanizmasında hata ayıklamak için SNC kesme noktalarını ve adım adım hata ayıklama alanını kullanın.

· SNC mikrokod hata ayıklama sürecini iyileştirmek ve basitleştirmek için SNC donanım modülü yerine SNC emülatörü kullanılır.

sonuç olarak

Bu makale, birden çok sensör ve çevre birimi entegre eden taşınabilir sistemlerin güç tüketimini en aza indiren yeni bir mimariyi açıklamaktadır. Bu mimari, ana işlemcideki sensör / çevre birimi yoklama ve okuma gibi bazı yinelenen görevleri boşaltmak için karmaşık bir donanım durum makinesi kullanır. Diğer mimarilerle karşılaştırıldığında, bu yeni mimarinin güç tüketimi ve MIPS optimizasyonu açısından büyük avantajları vardır, ancak programlama modelini daha karmaşık hale getirecektir. Bu nedenle, bu sorunun üstesinden gelmek için geliştirici dostu bir programlama çerçevesi de tanıttık.

Referanslar

Goran Nikoli, Mile Stojev, Zoran Stamenkovi, Goran Pani, Branislav Petrovi, "Düşük güç algılamalı Kablosuz Sensör Düğümü", Electronics and Energetics Cilt 27, Sayı 3, Eylül 2014, s. 435-453

V. Raghunathan, S. Ganerival ve M. Srivastava, "Uzun Ömürlü Kablosuz Sensör Ağları için Gelişen Teknikler", IEEE Communication Magazine, 2006, Cilt 41, No. 4, (s. 130-141)

G. Anastasi, M. Conti, M. Di Francesco ve A. Passarella, "Kablosuz Sensör Ağlarında Enerji Tasarrufu: Bir anket", Ad Hoc Networks, 2009, Cilt 7, (s. 537-568)

W. Ye, J. Heidemann ve D. Estrin, "Kablosuz Sensör Ağları için Enerji Açısından Verimli Mac Protokolü", Proc. IEEE Infocom, New York (ABD) 2002, (s. 1567-1576).

M. Al Ameen, SM Riazul Islam ve K. Kwak, "Kablosuz Sensör Ağlarında MAC Protokolleri için Enerji Tasarrufu Mekanizmaları", Hindawi Publishing Corporation International Journal of Distributed Sensor Networks, Volume 2010 (2010), Article ID 163413, (s. 1 -16)

M. Hempstead, N. Tripathi, P. Mauro, G.-Y. Wei, ve D. Brooks, "Sensör Ağ Uygulamaları için Ultra Düşük Güçlü Sistem Mimarisi" Proc. 32nd Annual International Symposium on Computer Architecture, Madison (ABD ) 2005, (sayfa 208-219).

A. Boulis, S. Ganeriwal ve M. Srivastava, "Sensör Ağlarında Toplama: Enerji Doğruluğu Değişimi", Ad Hoc Networks, Cilt 1, 2003, (s. 317331)

G. Pani, Z. Stamenkovi ve R. Kraemer, "Kablosuz Sensör Ağlarında Güç Geçişi", Kablosuz Yaygın Hesaplama, 2008. ISWPC2008. 3rd International Symposium on Santorini, Yunanistan, Mayıs 2008, (s. 499-503)

T. Burd ve R. Brodersen, "Enerji Verimli Mikroişlemci Tasarımı", Kluwer Academic Publishers, Norwell MA, ABD, 2002

Dialog Semiconductor, "DA1469x Veri Sayfası"

18.000 ateşleme, 110 havai fişek! Beijing Expo'nun üzerinde şiirsel ve pitoresk gökyüzü
önceki
Yüksek Sesle Haberler | Çin Maaş Haritası: 10.000 yuan'ın üzerindeki aylık maaş oranı Guangzhou Ninghang kadar iyi değil, Shanghai Beishen ilk üçe giriyor
Sonraki
Dalgacık dönüşümü ve modül maksimum yöntemine dayalı epileptik nöbet tespiti ve analizi
Pitoresk! Havai fişekler bu gece Pekin'i aydınlatıyor
Odak noktası Bir ev satın alarak yardım fonunu çekebilir miyim? Bu 10 durum alınabilir, kaçırmayın!
FameView tabanlı Salvage Float İzleme Sisteminin Tasarımı
Beijing Expo'nun en kapsamlı seyahat rehberi, lütfen onu uzak tutun!
Altyapı savaşı başlamak üzere, Trump 1 trilyon yatırım yapacak, Pelosi 2 trilyon yatırım yapacak
Devasa yüksek çözünürlüklü resimler burada! Expo'nun açılış töreni şaşırtıcı derecede çarpıcıydı
Ivanka: Yetersiz emek eğitimi
5G sistem terminalinin fiziksel katman kontrolünün tasarımı ve uygulaması
Heilongjiang'daki China Division 1-Guizhou 1-2, arka arkaya üç yenilgi aldı, dış yardım puan kaybetti
Sekiz temalı program, 110 çeşit havai fişek, Expo açılış töreni bahçede ışık ve gölge şöleni yaşatacak
Orta Lig-Shaanxi 2-0 Shanghai Shenxin, Brezilya forvet ilk maçında iki gol attı
To Top