Gömülü Sistem Tasarımı Nedir? | Sena DOĞAN Kişisel Blogu
13 Ağustos 2018 14 Ağustos 2018 senadogan
“Gömülü sistem tasarımını” kesin olarak tanımlayabilir misiniz? Bu makale, elektrik mühendisliği alanında gittikçe artan bir uzmanlığın temel özelliklerini incelemektedir.
Bir tanım zor bir şey olabilir. Bazen bir kelimeyi anlıyoruz ama gerçekten tanımlayamıyoruz. Diğer zamanlarda, onu tanımlamaya çalışırken, ne demek olduğunu gerçekten bilmediğimizin farkındayız. “Gömülü tasarım” teriminin ikinci durumda birçoğumuzdan ayrılacağından şüpheleniyorum.
Belirsiz teknik terminolojinin kesin kullanımını tesis edip uygulayabilen resmi bir kuruluş olmadığı için, belirsizlik bir ölçüde haklıdır. “Oldukça büyük şeyler” ve “gömülü tasarım” (ki bu tasarımcının bir şeye “gömülü” iken bir PCB yerleştirdiğini ima ediyor).
“Gömülü sistem tasarımı” nın en basit tanımı, gömülü sistemlerin tasarımıdır. Bu özlü ve açık bir tanımdır, ancak “gömülü sistem” in anlamı hakkında bir tartışma olmaksızın oldukça faydasızdır.
Gömülü bir sistemin aşağıdaki tanımı deneyimime ve birazcık çevrimiçi araştırmaya dayanıyor: Gömülü bir sistem, elektronik bir cihazdır.
hesaplama görevlerini yerine getiren merkezi bir bileşene sahiptir.
belirli ve sınırlı işlevsellik için tasarlanmıştır, ve
Bir elektriksel veya mekanik sistemin bir bileşeni olarak uygulanır.
Belki de bu tanımın en olumsuz yanı, gömülü sistem , elektronik cihaz ve elektrik veya mekanik sistem arasındaki çelişkidir.
Bana öyle geliyor ki, bu tür tartışmalarda, “sistem”, işlevsel bir birime entegre edilen fiziksel olarak daha büyük mekanik ve elektrik bileşen koleksiyonları için ayrılmalıdır; örnekler bir MRI makinesi, bir ısıtma sistemi ve bir lazer yazıcı olacaktır. Sistemin bir bileşeni olarak işlev gören bir devre kartı veya elektronik modülden söz ederken “Aygıt” kullanılmalıdır; örneğin, MRI makinesindeki degrade zamanlama ve kontrol modülü, bir ısıtma sisteminde programlanabilir termostat, veya lazer yazıcıdaki veri işleme modülü.
Bununla birlikte, “gömülü sistem” terimi yararlıdır çünkü bize, bu cihazların, yalnızca tamamen elektronik bir sistem ve küçük bir sistem olsa bile, genellikle bir sistemin özelliklerini sergilediğini hatırlatır. Bir sistem içinde bir sistem (gömülü).
İnternet (veya özel bir ağ) daha büyük bir sistem olarak görülüyorsa, bağımsız bir IoT cihazının (örneğin, Silicon Labs’dan ) bu sistemin gömülü bir sistem olarak düşünülebileceğini düşünüyorum.
Bu makalenin geri kalanı için, gömülü sistem tasarımında bir kariyeri başlatmaya çalışıyorsanız, öncelikler listenizde yüksek olması gereken kavramları ve teknikleri keşfetmek için “gömülü sistem” tanımını kullanacağız.
Gömülü Sistemde Neler Var?Hesaplamalı Görevler için Merkezi Bileşen
Yerleşik bir sistem, tanımımız gereği, hesaplama görevlerini yerine getiren merkezi bir bileşendir. Çoğu durumda, bu bir mikro denetleyici olacaktır, ancak aynı zamanda bir mikroişlemci, bir dijital sinyal işlemcisi veya bir FPGA olabilir.
Her gömülü tasarımcı, ürün yazılımı geliştirmeye tamamen aşina olmalıdır.(Diğer yandan FPGA becerileri genellikle isteğe bağlıdır. Tahmin etmem gerekirse, gömülü sistemlerin% 5’inden daha azının bir FPGA’yı merkezi bileşen olarak kullandığını söyleyebilirim.)
C-BISCUIT robot için tasarladığım gömülü bir sistemin bir blok diyagramı.
“Yazılım geliştirme” aşağıdaki görevleri kapsar:
Kod yazma. … genellikle C.’de montaj dili bilgisi esastır, çünkü montaj talimatları size bir işlemcinin gerçekten nasıl çalıştığını anlatır. Montajda kod yazmanıza gerek yoktur, ancak bunu anlamanız gerekir.
Çevre birimleri yapılandırma . Muhtemelen çoğu gömülü sistem, analogdan dijitale dönüştürücü, programlanabilir sayaç modülü, I2Carabirimi veya USB denetleyici gibi çevre birimlerinin kullanımını içerecektir. Gömülü tasarımcıların bu donanım modüllerini iyice anlamaları gerekir: nasıl çalışırlar, tipik olarak nasıl uygulandıkları ve konfigürasyon yazmaçlarındaki istenen işlevsellik ve bitler arasında nasıl çeviri yapılacağı.
Test kodu Bu, bir cihazın açılması ve çalışmasının doğrulanması için üç dakika boyunca izlenmesi anlamına gelmez. Cihazı çeşitli işletim koşullarına maruz bırakırken tüm işlevselliği sistematik olarak test etmeniz gerekir.
Rafineri kodu . Belki de ürün yazılımınız her zaman mükemmel şekilde çalışır, ama benimki yok. İlk test, esas olarak, kodu işlevsel duruma getirmek için gereken düzeltmeleri ve ayarlamaları belirleme aracıdır.
Hata ayıklama kodu . “Hata ayıklama” biraz belirsiz bir terimdir; Burada özellikle daha fazla veya daha az işlevsel olan koddaki ince hataları bulma ve düzeltme işlemlerini tanımlamak için kullanıyorum. Hata ayıklama, kitaplardan ve makalelerden öğrenmesi zor olan temel bir beceridir; Yeterlilik, kapsamlı kişisel deneyim ve deneyimli gömülü tasarımcıların gözlemlerinden kaynaklanmaktadır.
Doğrulama kodu. Bu noktada, kodun gerekli işlevleri doğru bir şekilde yerine getirmesini ve sistemde veya çevrede herhangi bir yerde beklenmedik bir şey olduğunda yangını yakalamamasını sağlamak için elinizden geleni yaparsınız. Bir örnek “maymun testi” dir – kodun sürekli rastgele girişini (bir maymun bir klavye ile oynuyormuş gibi) verir ve cihazın arızalanmadığını onaylar.
EFM8 mikrodenetleyici kullanarak projelerimden birinde kullandığım SPI durum makinesi için bir akış şeması. Dikkatli ürün yazılımı tasarımı her zaman kolay değildir – ancak aceleyle yazılmış, kötü organize edilmiş kodlar yolda büyük bir baş ağrısı olabilir.
Gömülü Sistem Ne Yapar? Özel ve Sınırlı İşlevsellik
Gömülü tasarım, kurulum, anlama ve tatmin edici gereklilikler konusunda titiz davranmamızı gerektirir. Belki de organizasyondaki birisi daha düşük gürültü veya daha hızlı örnekleme oranı veya daha uzun pil ömrü veya ek bir iletişim arayüzü ister. Gömülü tasarımcının yanıtı “Eh, istemek güzeldir.” (Not: Bu, genellikle, sadece “birisi” patronunuzsa, sadece düşünebileceğiniz bir şeydir).
Gömülü bir sistem, belirli işlevsel hedefler için tasarlanmıştır ve gerçekten gerekli olan yetenekleri ve özellikleri tanımlamak ve ardından cihazı buna göre tasarlamak bir mühendisin sorumluluğundadır.
Gömülü Sistem Tasarımı Nasıl Uygulanır? Daha Büyük Bir Sistemin Bileşeni
Gömülü bir cihaz bağımsız bir birim olarak test edilebilir ve hatta bağımsız bir birim olarak işlev görebilir, ancak gömülü tasarım genel olarak entegrasyon kavramına bağlıdır. Gömülü sistemlerin tasarımcıları, güç dağıtımına, iletişim arayüzlerine ve ara bağlantı tekniklerine aşina olmalıdır çünkü bunlar, bir cihazı daha büyük bir sisteme başarılı bir şekilde entegre etmek için kullandığımız araçlardır.
Sistemin diğer bileşenleri üzerinde çalışan kişilerin tasarladığınız gömülü cihaz hakkında neredeyse hiçbir şey bilmediğini hatırlamak önemlidir.Dahası, kesinlikle gerekli olandan daha fazlasını bilmek istemeyebilirler – endişelenecek kendi projeleri var. Bir arayüz kontrol dokümanı devreye giriyor. Başarılı gömülü tasarımın kritik bir yönü organize, basit arayüzler geliştirmek ve daha sonra bu arayüzleri dikkatle belgelemek, böylece cihazınız daha büyük sisteme verimli bir şekilde entegre edilebilir.
Gömülü tasarım ilginç bir alandır çünkü analog tasarım, bellenim geliştirme, PCB düzeni, arayüz tasarımı ve sistem entegrasyonu dahil olmak üzere çok çeşitli beceri ve görevler içerir. Gömülü bir sistemi ele alacağınız bir şey üzerinde çalışmışsanız, yorumlarda bunu açıklamaktan çekinmeyin, böylece hepimiz bu kategoriye giren cihaz türleri hakkında daha eksiksiz bir fikir oluşturabiliriz.
Önceki YazıDünya Emoji Günü
Sonraki YazıUzay aracı Güneş’e doğru yola çıktı