Gömülü sistem, genellikle donanım ve mekanik bileşenleri de içeren daha büyük bir sisteme bileşen olarak gömülmüş olan, belirli bir görev veya amaç için tasarlanmış özel bir bilgisayar sistemidir. Gömülü sistemler terimi, genellikle daha büyük sistemlerin bir parçası olduğu için kullanılır. Bir anlamda, daha büyük sistemin içine yerleştirilmiş küçük bir sistemdir. Gömülü sistemler çoğu durumda tamamen entegredir, yani sistemlerin içinde yer alan sistemlerdir. Genellikle kendi başlarına çalışamazlar. Cep telefonlarından navigasyon araçlarına, video kameralardan arabalara ve ev aletlerine kadar birçok farklı uygulama alanı vardır. Gömülü sistemlerin işlevselliği ve karmaşıklığı önemli ölçüde artmıştır, bu da gömülü sistem ürünlerini verimli bir şekilde geliştirmeyi giderek zorlaştırmaktadır. Benzer bir eğilim yazılım mühendisliğinde de görülmekte olup, geleneksel plana dayalı metodolojilerin bu artan karmaşıklık ve öngörülemezlikle başa çıkamadığı ve buna tepki olarak hafif ve esnek yöntemlerin yazılım ürün geliştirmede geniş popülarite kazandığı görülmektedir (Kaisti ve ark.; Barr, 2019).
Gömülü sistemler, geleneksel yazılım uygulama geliştirmeden birçok farklı şekilde ayrılsa da, gömülü alanda esnek yöntemlere ilişkin giderek artan bir farkındalık vardır. Bununla birlikte, bu bilgi çeşitli forumlarda dağınık bir şekilde bulunmakta ve ayrıca oldukça tutarsız olmaktadır. Gömülü sistemlerin geliştirilmesi, genellikle daha büyük bir sistemin veya cihazın bir parçası olan yazılım ve donanımın geliştirilmesini içerir (Kaisti ve ark. 2013).
1.1. STM32F407VGT6
STM32F407xx ailesine ait mikrodenetleyiciler düşük güç tüketimi ve yüksek performans hedeflemektedir. 168 MHz’e kadar frekansta çalışan yüksek performanslı ARM (Advanced RISC Machines) Cortex-M4 32-bit RISC çekirdeğini temel alır. Cortex-M4 çekirdeği, tüm ARM tek duyarlıklı veri işleme talimatlarını ve veri türlerini destekleyen bir Kayan nokta birimi (FPU) tek duyarlık özelliğine sahiptir. Ayrıca, uygulama güvenliğini artıran eksiksiz bir DSP (digital signal processing) yönergesi seti ve bir bellek koruma birimi (MPU) uygular.

Şekil 1.1. STM32F407VGT6 Mikroişlemcisi
Bu mikrodenetleyici üç adet 12-bit ADC, iki DAC, bir düşük güçlü RTC, motor kontrolü için iki PWM zamanlayıcı, iki genel amaçlı 32-bit zamanlayıcı dahil olmak üzere on iki genel amaçlı 16-bit zamanlayıcı sunar. Ayrıca standart ve gelişmiş iletişim arayüzlerine sahiptirler (STMicroelectronics, 2016). Bu çalışmada STM32F407VGT6 mikroişlemcisi barındıran STM32F407G-DISC1 geliştirme kartı kullanılmıştır. Bu geliştirme kartına ait özellikler aşağıdaki gibi listelenmiştir.
- LQFP100 paketinde bulunan 32-bit Arm® Cortex®-M4 ve FPU çekirdekli 1-MB Flash belleğe ve 192-KB RAM’e sahip STM32F407VGT6 mikrodenetleyici
- USB OTG FS
- ST MEMS 3 eksenli ivmeölçer
- ST-MEMS ses sensörü, çevresel dijital mikrofon
- Entegre sınıf D hoparlör sürücülü ses DAC’ı
- Kullanıcı ve reset düğmeleri
- Sekiz adet LED
- USB iletişimi için LD1 (kırmızı/yeşil)
- 3.3 V güç açık olduğunda LD2 (kırmızı)
- Dört kullanıcı LED’i, LD3 (turuncu), LD4 (yeşil), LD5 (kırmızı) ve LD6 (mavi)
- İki USB OTG LED’i, LD7 (yeşil) VBUS ve LD8 (kırmızı) aşırı akım
- Micro-AB ile USB Stereo kulaklık çıkış jakı
- Prototipleme kartına hızlı bağlantı ve kolay sondalama için tüm LQFP100 I/O’ları için 2.54 mm pitch uzatma başlığı
- ST-LINK, USB VBUS veya harici kaynaklar Harici uygulama güç kaynağı: 3 V ve 5 V
- STM32CubeF4 MCU Paketi’nin bir parçası olan çeşitli örnekleri içeren kapsamlı ücretsiz yazılım veya geleneksel standart kütüphaneleri kullanmak için STSW-STM32068 USB yeniden numaralandırma yetenekli ST-LINK/V2-A hata ayıklayıcı/programlayıcı ile donatılmış yerleşik
Bu geliştirme kartı üzerinde yerleşik olarak ST-LINK/V2-A bulunduğundan direkt olarak bilgisayar ile haberleşmesi sağlanabilmektedir. Böylece çalışma içerisinde harici bir programlayıcı kullanılmasına gerek görülmemiştir.
1.2. ESP32-WROOM-32DA
ESP32-WROOM-DA, iki yönlü PCB antenlere sahip güçlü bir Wi-Fi + Bluetooth + Bluetooth LE MCU modülüdür. Bu modül, ESP32-WROOM-32E ile aynı pin düzenine sahiptir, ancak bazı pinler kullanılmamıştır, bu da bu iki modül arasında hızlı ve kolay bir geçişi kolaylaştırır. Tek bir modülde iki benzersiz anten tasarımına sahip olan ESP32-WROOM-DA, geniş bir spektrum üzerinde istikrarlı bağlantıya ihtiyaç duyan IoT uygulamalarının geliştirilmesi için kullanılabilir veya zorlu ve tehlikeli ortamlarda Wi-Fi dağıtımı yapılabilir veya Wi-Fi kapsama alanında iletişim sorunlarının üstesinden gelinmesine yardımcı olabilir. Bu modül, akıllı ev, endüstriyel kontrol, tüketici elektroniği vb. için iç mekan ve dış mekan cihazları için ideal bir seçimdir.

Şekil 1.2. ESP32-WROOM-DA Mikroişlemcisi
Modülün çekirdeğinde ESP32-D0WD-V3 çipi bulunur. Gömülü çip ölçeklenebilir ve uyarlanabilir olarak tasarlanmıştır. İki adet ayrı olarak kontrol edilebilen CPU çekirdeği bulunmakta ve CPU saat frekansı 80 MHz ila 240 MHz arasında ayarlanabilir. Çip ayrıca, çevre birimlerinin izlenmesi gibi yüksek hesaplama gücü gerektirmeyen görevleri yerine getirirken güç tasarrufu sağlamak için CPU yerine kullanılabilen düşük güçlü bir yardımcı işlemciye de sahiptir. ESP32-D0WD-V3, kapasitif dokunmatik sensörlerden SD kart arayüzüne, Ethernet’e, yüksek hızlı SPI, UART, I2S ve I2C gibi zengin bir yelpazede birleşik bir çevre birimlerini içerir (Espressif, 2023).
1.3. NVIDIA Jetson Nano
Jetson Nano, modern yapay zeka teknolojisinin gücünü her yerde kullanıma sunan bir platformdur. Görüntü sınıflandırma, nesne algılama, segmentasyon ve konuşma işleme gibi uygulamalar için birden fazla nöral ağı paralel olarak çalıştırabilme yeteneği ile küçük ve güçlü bir bilgisayardır. Bu platform, yalnızca 5 watt gibi düşük bir güç tüketimiyle çalışırken kullanıcı dostu bir arayüz sunar.

Şekil 1.3. Nvidia Jetson Nano Geliştirme Kartı
Güç sınırlı ortamlarda kullanım için tasarlanan Jetson Nano, endüstri lideri hesaplama yeteneklerini, 64-bit işletme yeteneklerini ve entegre gelişmiş çok işlevli ses, video ve görüntü işleme hatlarını 260 pinli bir SODIMM’e sıkıştırır. Maxwell GPU mimarisi, tüketilen her watt başına maksimum performans elde etmek amacıyla birkaç mimari iyileştirme içerir. Jetson Nano serisi modülün temel bileşenleri şunlardır:
- NVIDIA® Tegra® X1 series SoC
- NVIDIA Maxwell GPU
- ARM® quad-core Cortex®-A57 CPU Complex
- 4GB LPDDR4 bellek
- 16GB eMMC 5.1 hafıza
- Gigabit Ethernet (10/100/1000 Mbps)
- PMIC, regülatörler, güç ve voltaj monitörleri
- 260-pin anahtarlı konektör (hem yüksek hızlı hem de düşük hızlı endüstri standardını gösterir I/O)
- Çip üstü sıcaklık sensörleri
Kaynakça
- Kılıç H., 2023, Gömülü Sistem Üzerinde Makine Öğrenmesi Kullanarak Yere Nüfuz Eden Radar Verisinden Nesne Tespiti, Selçuk Üniversitesi, Fen Bilimleri Enstitüsü, Yüksek LisansTezi, Konya, Türkiye.
- Kaisti M., Rantala V., Mujunen T., Hyrnsalmi S., Könnöla K., Makila T., Lehtonen T., 2013, Agile methods for embedded systems development - a literature review and a mapping study, EURASIP Journal on Embedded Systems 2013:15
- Barr, M. (1999), Programming Embedded Systems in C and C++, O’Reaily, Released January 1999. Publisher(s): O’Reilly Media, Inc. ISBN: 9781565923546. New York.
- STMicroelectronics. 2016. STM32F407xx Datasheet [online]. http://www.st.com/resource/en /datasheet/stm32f407vg.pdf [Ziyaret Tarihi: 04.04.2022].
- Espressif. 2023, ESP32-WROOM-DA datasheet [online], https://www.espressif.com/sites/default/files/documentation/esp32-wroom-da\_datasheet\_en.pdf, [Ziyaret Tarihi: 05.04.2022]. Nvidia, 2022, NVIDIA Jetson Nano [online], https://developer.nvidia.com/downloads/embedded/dlc/jetson-nano-system-module-datasheet, [Ziyaret Tarihi: 05.05.2023].