Sorularınızın cevapları, nihai hedefinizin ne olduğuna bağlı olarak farklılık gösterir. Bu cihazlardan birkaçı veya daha azına ihtiyacınız varsa, geliştirme işlemini kolaylaştırmalı ve parçaların maliyeti konusunda endişelenmemelisiniz. Bunlardan bin veya daha fazlasını yapacaksanız, gereksinimlerinizi analiz etmeye ve cihaz donanımının maliyetini düşürmeye değer.
Küçük miktarlar
Bu cihazların bir kerelik veya küçük bir bölümünü yapıyorsanız, geliştirme çabalarınız öğe başına maliyetlerinizi düşürecektir ve geliştirmeniz için maliyet / maliyetten ziyade en kolay / en hızlı olan şeye odaklanmalısınız. mikroelektronik boyutu.
Genel olarak kapsülleme karmaşıklığı azaltabilir ve verimliliğinizi artırabilir. BLDC kontrolünüz, PID döngüleriniz, vb. Gibi bazı gerçek zamanlı gereksinimleriniz varsa, özellikle kullanıcı arayüzünü tuttuğunuz ve gerçek olmayan diğer kontrol cihazlarıyla iletişim kuran görevler için ayrı denetleyicileri kullanmayı daha hızlı bulabilirsiniz. zaman görevleri.
Yani bu durumda, sorularınızın cevabı:
Hepsi bir arada yaklaşım, çok sayıda çoklu görev yapmak zorunda kaldığında iyi bir fikir midir, yoksa ayırmak ve izole etmek daha mı iyidir?
Ölçek, segmentasyon ve izolasyona doğru hafifçe eğiliyor. Bunun ana nedeni, gerçek zamanlı bir sistemin hata ayıklamasının çok zaman alabilmesi olabilir ve bu tür görevleri kendi işlemcilerinde tutmak, bir şeyin neden doğru çalışmadığını bulmaya çalışırken ölçmeniz veya kontrol etmeniz gereken değişkenleri sınırlar.
Baktığım mikrodenetleyicinin görevler listeme göre ihtiyacım olan şeyi yapmak için yeterli hesaplama gücüne sahip olup olmadığını nasıl sezgisel olarak öğrenebilirim?
Bu durumda, çok sayıda kaynağı olan bir 32 bit işlemci ile sınırlı kaynakları olan bir 8 bit işlemci arasındaki maliyet farkı, geliştirme için harcayacağınız zaman miktarına göre azdır. Ne kadar güce ihtiyaç duyduğunuzu anlamaya çalışmak için çok az neden var - bunun için geliştirebileceğiniz ve kullanabileceğinizi düşündüğünüz en büyük işlemciyi edinin. Daha sonraki bir noktada, tasarımın maliyetini düşürmek zorunda kalırsanız, gerçek işlemci kaynak kullanımını ölçmek nispeten kolaydır, o zaman gerçek yükü kaldırabilecek bir kiraya veren işlemci seçin. O zamana kadar en büyüğünü kullanın ve “en uygun” u bulmak için endişelenmeyin.
Seri üretim
Bu cihazların çoğunu yapmayı planlıyorsanız, dikkatli bir analiz önemli maliyet tasarrufu sağlayacaktır. Genel olarak, daha büyük bir mikrodenetleyici, tek bir mikrodenetleyicinin yerini alabilen iki mikrodenetleyiciden daha ucuza mal olur, ancak istenen özel görevlere bağlı olarak kesinlikle istisnalar vardır. Bu miktarlarda, donanımın maliyeti büyük olasılıkla geliştirme maliyetinden çok daha büyük olacaktır, bu nedenle gereksinimlerinizi analiz etmek ve geliştirme yapmak için yalnızca birkaçını yapıyor olmanıza göre daha fazla zaman harcamayı beklemelisiniz.
Hepsi bir arada yaklaşım, çok sayıda çoklu görev yapmak zorunda kaldığında iyi bir fikir midir, yoksa ayırmak ve izole etmek daha mı iyidir?
Hepsi bir arada yaklaşım, tüm projenin ömrü boyunca genellikle birden fazla işlemciden daha ucuz olacaktır. Çeşitli görevlerin çakışmadığından emin olmak için daha fazla geliştirme ve hata ayıklama süresi gerekecektir, ancak titiz yazılım tasarımı, ayrı bir donanıma sahip olacağı kadar sınırlı olacaktır.
Baktığım mikrodenetleyicinin görevler listeme göre ihtiyacım olan şeyi yapmak için yeterli hesaplama gücüne sahip olup olmadığını nasıl sezgisel olarak öğrenebilirim?
Yapmak istediğiniz görevleri ve ne kadar kaynak aldıklarını anlamanız gerekecektir. Aşağıdakilerin doğru olduğunu varsayalım:
BLDC PI rutinleriniz, saniyede 100 kez X işlemci zamanını tüketir ve her biri işlem için yaklaşık 50 bayt RAM, ayar için 16 bayt EEPROM ve kod için 1k flaş gerekir. Her birinin mikrodenetleyicide 3 on altı bit PWM çevre birimine ihtiyacı olacak. Belirli kesinti gecikme gereksinimlerine sahip olacak jitter belirtmeniz gerekebilir.
USB ve seri rutinleriniz gerektiğinde Yk işlemci zamanı, 2k RAM, 64 bayt EEPROM ve 8k flaş tüketir. USB ve seri çevre birimleri gerektirir.
GUI'niz, saniyede 30 kez Z işlemcili güç tüketir ve 2k RAM, 128 bayt EEPROM ve 10k flaş gerekir. LCD, düğmeler, topuzlar vb. İle iletişim kurmak için 19 G / Ç kullanacaktır.
İlk başladığınızda, X, Y, Z'nin gerçekte ne olduğunu anlamak zor olabilir ve işlemcinin mimarisine bağlı olarak bu biraz değişecektir. Ancak, bir basketbol sahası tahmininde, tasarımınızın ne kadar koç, eeprom ve flaş kullanacağını ve hangi çevre birimlerine ihtiyacınız olduğunu anlayabilmelisiniz. Hafızanızı ve çevre gereksinimlerinizi karşılayan ve bu aile içinde çok çeşitli performans seçeneklerine sahip bir işlemci ailesi seçebilirsiniz. Bu noktada, geliştirme için, ailedeki en güçlü işlemciyi kullanabilirsiniz. Tasarımınızı uyguladıktan sonra, tasarım veya geliştirme ortamınızı değiştirmeden aileyi güç açısından daha düşük bir maliyet seçeneğine kolayca taşıyabilirsiniz.
Bu tasarımları yeterince yaptıktan sonra, X, Y ve Z'yi daha iyi tahmin edebileceksiniz. BLDC PI rutinlerinin sık sık çalıştırılmasına rağmen oldukça küçük olduğunu ve çok az döngü gerektirdiğini bileceksiniz. USB ve seri rutinler çok fazla döngü gerektirir, ancak nadiren ortaya çıkar. Kullanıcı arayüzü, değişiklikleri bulmak için sık sık birkaç döngü gerektirir, ancak örneğin bir ekranı güncellemek için nadiren çok sayıda döngü gerekir.