Anda di halaman 1dari 10

Embedded system

Gambar internal dari ADSL modem / router . Contoh modern dari sistem embedded. Bagian Dicap termasuk mikroprosesor (4), RAM (6), dan memori flash (7). Sebuah sistem tertanam (embedded system) adalah sebuah sistem komputer yang dirancang untuk melakukan satu atau beberapa berdedikasi dan / atau spesifik fungsi [1] [2] sering dengan komputasi real-time kendala. Hal ini tertanam sebagai bagian dari perangkat lengkap sering termasuk hardware dan bagian mekanik. Sebaliknya, komputer keperluan umum, seperti komputer pribadi (PC), dirancang untuk menjadi fleksibel dan untuk memenuhi berbagai macam kebutuhan pengguna akhir. Embedded system kontrol banyak perangkat umum digunakan saat ini. [3] Embedded sistem termasuk pengolahan core yang mengandung biasanya baik mikrokontroler atau prosesor sinyal digital (DSP). [4] Karakteristik kunci, bagaimanapun, adalah yang didedikasikan untuk menangani tugas tertentu. Mereka mungkin memerlukan prosesor yang sangat kuat dan komunikasi yang luas, misalnya kontrol lalu lintas udara sistem berguna dapat dilihat sebagai tertanam, meskipun mereka melibatkan komputer mainframe dan jaringan regional dan nasional yang didedikasikan antara bandar udara dan situs radar (radar masing-masing mungkin mencakup satu atau lebih sistem tertanam sendiri). Karena sistem tertanam didedikasikan untuk tugas-tugas tertentu, insinyur desain dapat mengoptimalkan itu untuk mengurangi ukuran dan biaya produk dan meningkatkan kehandalan dan kinerja. Beberapa sistem tertanam diproduksi secara massal, manfaat dari skala ekonomi . Secara fisik, embedded system berkisar dari perangkat portable seperti jam digital dan MP3 player , untuk instalasi stasioner besar seperti lampu lalu lintas , pengontrol pabrik , atau mengontrol sistem pembangkit listrik tenaga nuklir Kompleksitas bervariasi dari rendah, dengan satu mikrokontroler chip, untuk yang sangat tinggi dengan beberapa unit, peripheral dan jaringan dipasang di dalam besar chassis atau kandang. Secara umum, "sistem tertanam" bukanlah istilah didefinisikan secara ketat, sebagai sistem yang paling memiliki beberapa unsur diperpanjang atau programabilitas. Sebagai contoh, komputer genggam berbagi beberapa elemen dengan embedded system seperti sistem operasi dan mikroprosesor bahwa kekuasaan mereka, tapi mereka memungkinkan aplikasi yang berbeda untuk dimuat dan peripheral dihubungkan. Selain itu, bahkan sistem yang tidak mengekspos programabilitas sebagai fitur utama umumnya perlu untuk mendukung pembaruan perangkat lunak. Pada kontinum dari "tujuan umum" menjadi "tertanam", sistem aplikasi besar akan memiliki subkomponen di titik-titik paling bahkan jika sistem secara keseluruhan adalah "dirancang untuk melakukan satu atau beberapa fungsi khusus", dan dengan demikian layak untuk memanggil "tertanam ".

Ragam sistem tertanam


PC Engines' ALIX.1C Mini-ITX embedded board with an x86 AMD Geode LX 800 together with Compact Flash , miniPCI and PCI slots, 44-pin IDE interface, audio, USB and 256MB RAM PC Engines 'ALIX. (1C Mini-ITX tertanam papan dengan x86 AMD Geode LX 800 sama dengan Compact Flash , MiniPCI dan slot PCI, 44pin IDE antarmuka, audio, USB dan 256MB RAM )

Tertanam RouterBoard 112 dengan U. FL - RSMA kucir dan R52 miniPCI Wi-Fi banyak digunakan oleh kartu nirkabel internet penyedia layanan ( gumpalan ) di Republik Ceko . Embedded system span semua aspek kehidupan modern dan ada banyak contoh penggunaannya. Sistem telekomunikasi menggunakan sistem tertanam banyak dari switch telepon untuk jaringan untuk telepon selular pada pengguna akhir. Jaringan komputer menggunakan berdedikasi router dan bridge jaringan untuk rute data. Elektronik konsumen termasuk asisten pribadi digital (PDA), mp3 player , ponsel, konsol videogame , kamera digital , pemutar DVD , GPS receiver, dan printer . Banyak peralatan rumah tangga, seperti oven microwave , mesin cuci dan mesin pencuci piring , yang termasuk sistem tertanam untuk memberikan fleksibilitas, efisiensi dan fitur. Lanjutan HVAC sistem menggunakan jaringan termostat untuk lebih akurat dan efisien mengontrol temperatur yang dapat berubah dengan waktu dan musim . Home otomatisasi menggunakan kabel dan nirkabel-jaringan yang dapat digunakan untuk mengontrol lampu, iklim, keamanan, audio / visual, pengawasan, dll, semua yang menggunakan perangkat embedded untuk merasakan dan mengontrol. Sistem transportasi dari penerbangan untuk mobil semakin menggunakan sistem tertanam. Pesawat baru mengandung canggih avionik seperti sistem bimbingan inersia dan GPS receiver yang juga memiliki persyaratan keselamatan yang cukup. Berbagai motor listrik - DC brushless motor , motor induksi dan motor DC menggunakan listrik / elektronik motor controller . Mobil , kendaraan listrik , dan kendaraan hibrida semakin menggunakan sistem tertanam untuk memaksimalkan efisiensi dan mengurangi polusi. Sistem keselamatan otomotif lainnya termasuk anti-lock sistem pengereman (ABS), Electronic Stability Control (ESC / ESP), kontrol traksi (TCS) dan otomatis empat-wheel drive . Peralatan medis terus maju dengan sistem yang lebih tertanam untuk tanda-tanda vital pemantauan, stetoskop elektronik untuk memperkuat suara, dan berbagai pencitraan medis ( PET , SPECT , CT , MRI ) untuk non-invasif inspeksi internal. Embedded system adalah sangat cocok untuk digunakan dalam transportasi, kebakaran, aplikasi keamanan, keselamatan dan keamanan medis dan sistem kehidupan penting karena sistem ini dapat diisolasi dari hacking dan dengan demikian akan lebih handal. Untuk keselamatan kebakaran, sistem dapat dirancang untuk memiliki kemampuan lebih besar untuk menangani suhu yang lebih tinggi dan terus beroperasi. Dalam berurusan dengan keamanan, sistem tertanam dapat mandiri dan mampu menangani sistem listrik dan komunikasi terputus. Selain embedded system biasanya digambarkan berdasarkan komputer kecil, kelas baru perangkat nirkabel miniatur disebut motes dengan cepat mendapatkan popularitas sebagai bidang jaringan sensor nirkabel meningkat. Sensor jaringan nirkabel, WSN , memanfaatkan miniaturisasi dimungkinkan oleh desain IC canggih untuk subsistem nirkabel pasangan penuh untuk sensor yang canggih, memungkinkan orang dan perusahaan untuk mengukur berbagai hal dalam dunia fisik dan bertindak berdasarkan informasi ini melalui TI pemantauan dan pengendalian sistem . Motes ini benar-benar mandiri, dan biasanya akan lari sumber baterai untuk bertahun-tahun sebelum baterai perlu diubah atau dibebankan.

Sejarah
Salah satu sistem yang pertama tertanam dikenali modern adalah Bimbingan Apollo Komputer , yang dikembangkan oleh Charles Stark Draper di Laboratorium Instrumentasi MIT. Pada awal proyek, komputer bimbingan Apollo dianggap item yang paling berisiko dalam proyek Apollo karena dipekerjakan kemudian baru dikembangkan sirkuit terpadu monolitik untuk mengurangi ukuran dan berat. Sebuah diproduksi secara massal awal sistem tertanam adalah Autonetics D-17 panduan komputer untuk rudal Minuteman , dirilis pada tahun 1961. Itu dibangun dari transistor logika dan memiliki hard disk untuk memori utama. Ketika Minuteman II masuk ke produksi pada tahun 1966, D-17 diganti dengan komputer baru yang menggunakan volume tinggi pertama sirkuit terpadu. Program ini mengurangi harga pada quad gerbang nand ICS dari $ 1000/each sampai $ 3/each memungkinkan penggunaannya dalam produk komersial. Karena aplikasi ini di awal 1960-an, embedded system telah turun harga dan ada telah terjadi peningkatan dramatis dalam kekuatan pemrosesan dan fungsionalitas. Yang pertama mikroprosesor misalnya, Intel 4004 , dirancang untuk kalkulator dan sistem kecil lainnya tetapi masih diperlukan memori eksternal banyak dan dukungan chip. Pada tahun 1978 Asosiasi Produsen Nasional Rekayasa merilis sebuah "standar" untuk mikrokontroler diprogram, termasuk hampir semua pengendali berbasis komputer, seperti komputer papan tunggal, numerik, dan eventberbasis pengendali. Sebagai biaya mikroprosesor dan mikrokontroler jatuh menjadi layak untuk menggantikan tombol mahal berbasis analog komponen seperti potensiometer dan kapasitor variabel dengan atas / tombol bawah atau tombol dibacakan oleh mikroprosesor bahkan dalam beberapa produk konsumen. Pada pertengahan 1980-an, sebagian besar komponen sistem umum sebelumnya eksternal telah diintegrasikan ke dalam chip yang sama sebagai prosesor dan ini bentuk modern dari mikrokontroler memungkinkan penggunaan yang lebih luas, yang pada akhir dekade itu adalah norma dan bukan pengecualian untuk hampir semua perangkat elektronik. Integrasi mikrokontroler telah semakin meningkatkan aplikasi yang embedded system digunakan ke daerah dimana biasanya komputer tidak akan dipertimbangkan. Tujuan umum dan relatif murah seringkali mikrokontroler dapat diprogram untuk memenuhi peran yang sama sebagai sejumlah besar komponen terpisah. Meskipun dalam konteks ini sistem embedded biasanya lebih kompleks daripada solusi tradisional, sebagian besar kompleksitas yang terkandung dalam mikrokontroler itu sendiri. Sangat sedikit komponen tambahan mungkin diperlukan dan sebagian besar usaha desain adalah dalam perangkat lunak. Sifat tak berwujud perangkat lunak membuatnya lebih mudah untuk prototipe dan menguji revisi baru dibandingkan dengan desain dan konstruksi sirkuit baru tidak menggunakan prosesor tertanam.

Karakteristik
Gumstix Overo COM, a tiny, OMAP -based embedded computer-on-module with Wifi and Bluetooth . 1. 1 Embedded system yang dirancang untuk melakukan beberapa tugas tertentu, bukan menjadi komputer tujuan umum untuk berbagai keperluan. Beberapa juga memiliki real-time kendala kinerja yang harus dipenuhi, dengan alasan seperti keamanan dan kegunaan; yang lain mungkin memiliki persyaratan kinerja rendah atau tidak ada, memungkinkan perangkat keras sistem harus disederhanakan untuk mengurangi biaya. 2. 2. Embedded sistem tidak selalu perangkat mandiri. Banyak embedded system terdiri dari kecil, bagian komputerisasi dalam perangkat yang lebih besar yang melayani tujuan yang lebih umum. Sebagai contoh, Gitar Gibson Robot dilengkapi dengan sistem tertanam untuk tuning string, tetapi tujuan keseluruhan dari Gitar Robot,

tentu saja, untuk memutar musik. [5] Demikian pula, sebuah sistem tertanam dalam sebuah mobil menyediakan fungsi spesifik sebagai subsistem dari mobil itu sendiri.

e-con Systems eSOM270 & eSOM300 Computer on Modules e-con 3. 3. Instruksi-instruksi program yang ditulis untuk embedded system disebut sebagai firmware , dan disimpan dalam memori hanya-baca atau Flash memori chip. Mereka berjalan dengan sumber daya perangkat keras komputer yang terbatas: memori kecil, keyboard kecil atau tidak ada dan / atau layar.

User interface

Embedded system text user interface using MicroVGA. Embedded system berkisar dari tidak ada user interface sama sekali - yang didedikasikan hanya untuk satu tugas untuk kompleks antarmuka pengguna grafis yang menyerupai sistem operasi modern desktop komputer. Perangkat embedded sederhana menggunakan tombol , LED , grafik atau karakter LCD (misalnya populer HD44780 LCD ) dengan sederhana sistem menu . Perangkat yang lebih canggih menggunakan layar grafis dengan sentuh penginderaan atau layar-tepi tombol memberikan fleksibilitas sementara ruang meminimalkan digunakan: arti dari tombol dapat berubah dengan layar, dan seleksi melibatkan perilaku alami menunjuk pada apa yang diinginkan. sistem Genggam sering memiliki layar dengan "tombol joystick" untuk perangkat penunjuk. Beberapa sistem menyediakan antarmuka pengguna jarak jauh dengan bantuan serial (misalnya RS-232 , USB , I C , dll) atau jaringan (misalnya Ethernet koneksi). Terlepas dari perangkat lunak klien potensial yang diperlukan kepemilikan dan / atau spesialis kabel yang diperlukan, pendekatan ini biasanya memberikan banyak keuntungan: memperluas kemampuan sistem embedded, menghindari biaya menampilkan, menyederhanakan BSP , memungkinkan untuk membangun user interface yang kaya pada PC. Sebuah contoh yang baik dari hal ini adalah kombinasi dari server web tertanam berjalan pada perangkat tertanam (seperti kamera IP ) atau router jaringan . User interface yang ditampilkan dalam browser web pada PC yang terhubung ke perangkat, oleh karena itu perlu ada software dipesan lebih dahulu yang akan diinstal.

Prosesor di embedded system


Kedua, prosesor tertanam dapat dibagi menjadi dua kategori besar: mikroprosesor biasa (P) dan mikrokontroler (C), yang memiliki banyak peripheral pada chip, mengurangi biaya dan ukuran. Membandingkan ke komputer pribadi dan pasar server, jumlah yang cukup besar dasar arsitektur CPU yang digunakan, ada Von Neumann serta berbagai tingkat arsitektur Harvard , RISC maupun non-RISC dan VLIW ; kata panjang bervariasi dari 4-bit untuk 64-bit dan seterusnya (terutama di DSP prosesor) meskipun yang paling khas tetap 8/16-bit. Kebanyakan arsitektur datang dalam sejumlah besar varian yang berbeda dan bentuk, banyak yang juga diproduksi oleh beberapa perusahaan yang berbeda. A long but still not exhaustive list of common architectures are: 65816 , 65C02 , 68HC08 , 68HC11 , 68k , 78K0R/78K0 , 8051 , ARM , AVR , AVR32 , Blackfin , C167 , Coldfire , COP8 , Cortus Ready made computer boards PC/104 dan PC/104 + adalah contoh standar untuk siap papan komputer yang dibuat ditujukan untuk kecil, volume rendah embedded system dan ruggedized, sebagian besar berbasis x86. Ini sering secara fisik kecil dibandingkan dengan PC standar, meskipun masih cukup besar dibandingkan dengan yang paling sederhana (8/16-bit) embedded system. Mereka sering menggunakan MSDOS , Linux , NetBSD , atau embedded real-time sistem operasi seperti MicroC / OS-II , QNX atau VxWorks . Kadang-kadang papan menggunakan non-x86 prosesor. Dalam aplikasi tertentu, di mana ukuran kecil atau efisiensi daya tidak perhatian utama, komponen yang digunakan mungkin tidak kompatibel dengan yang digunakan dalam komputer tujuan umum x86 pribadi. Papan seperti VIA EPIA kisaran membantu untuk menjembatani kesenjangan dengan PC yang kompatibel tetapi sangat terintegrasi, secara fisik lebih kecil atau memiliki atribut lain yang membuat mereka menarik untuk insinyur tertanam. Keuntungan dari pendekatan ini adalah bahwa komponen biaya rendah komoditas dapat digunakan bersama dengan alat pengembangan perangkat lunak yang sama digunakan untuk pengembangan perangkat lunak umumSistem yang dibangun dengan cara ini masih dianggap sebagai tertanam sejak mereka diintegrasikan ke dalam perangkat yang lebih besar dan memenuhi peran tunggal. Contoh perangkat yang dapat mengadopsi pendekatan ini adalah ATM dan mesin arcade , yang berisi kode khusus untuk aplikasi. Namun, sebagian siap pakai papan embedded system tidak PC-berpusat dan tidak menggunakan bus ISA atau PCI. Ketika System-on-a-chip prosesor yang terlibat, mungkin ada sedikit keuntungan untuk memiliki sebuah bus yang menghubungkan komponen diskrit Membakukan, dan lingkungan untuk baik perangkat keras dan perangkat lunak mungkin sangat berbeda. Salah satu gaya desain yang umum menggunakan modul sistem kecil, mungkin ukuran kartu nama, memegang kepadatan tinggi BGA chip seperti ARM berbasis System-on-a-chip prosesor dan peripheral, eksternal memori flash untuk penyimpanan, dan DRAM untuk runtime memori. Modul vendor biasanya akan menyediakan perangkat lunak boot dan pastikan ada pilihan sistem operasi, biasanya termasuk Linux dan beberapa pilihan real time. Modul-modul ini dapat diproduksi dalam volume tinggi, oleh organisasi akrab dengan isu-isu khusus mereka pengujian, dan dikombinasikan dengan motherboard volume yang jauh lebih rendah kustom dengan aplikasi spesifik periferal eksternal. Gumstix lini produk adalah contoh Linux-centric model ini. ASIC and FPGA solutions Sebuah array konfigurasi umum sangat-n untuk volume tinggi embedded system adalah sistem pada sebuah chip (SoC) yang berisi sistem lengkap yang terdiri dari beberapa prosesor, multiplier, cache dan interface pada sebuah chip tunggal. SOCS dapat diimplementasikan sebagai sebuah aplikasi khusus sirkuit terpadu (ASIC) atau menggunakan field-programmable gate array (FPGA).

Peripherals

Embedded Systems terkoneksi dengan dunia luar melalui peripheral , seperti:


Komunikasi Serial Interface (SCI): RS-232 , RS-422 , RS-485 dll Synchronous Serial Communication Interface: I2C , SPI , SSC and ESSI (Enhanced Synchronous Serial Interface) Universal Serial Bus (USB) Multi Media Cards (SD Cards, Compact Flash etc.) Networks: Ethernet , LonWorks , etc. Fieldbuses : CAN-Bus , LIN-Bus , PROFIBUS , etc. Timers: PLL (s), Capture/Compare and Time Processing Units Discrete IO: aka General Purpose Input/Output (GPIO) Analog to Digital/Digital to Analog ( ADC / DAC ) Debugging: JTAG , ISP , ICSP , BDM Port, BITP, and DP9 ports.

Peralatan
Seperti perangkat lunak lain, desainer sistem embedded menggunakan kompiler , perakit , dan debugger untuk mengembangkan sistem perangkat lunak tertanam. Namun, mereka juga dapat menggunakan beberapa alat yang lebih spesifik:

Dalam debugger sirkuit atau emulator (lihat bagian berikutnya). Utilitas untuk menambahkan checksum atau CRC ke program, sehingga sistem tertanam dapat memeriksa apakah program ini berlaku. Untuk sistem yang menggunakan pemrosesan sinyal digital , pengembang dapat menggunakan meja kerja matematika seperti Scilab / Scicos , MATLAB / Simulink , EICASLAB , Mathcad , Mathematica , atau Flowstone DSP untuk mensimulasikan matematika. Mereka mungkin juga menggunakan perpustakaan untuk kedua host dan target yang menghilangkan mengembangkan rutinitas DSP seperti yang dilakukan di DSPnano RTOS dan Sistem Operasi Unison . Custom dan linker compiler dapat digunakan untuk meningkatkan optimasi untuk hardware tertentu. Sebuah sistem tertanam mungkin memiliki bahasa tersendiri atau alat desain, atau menambahkan perangkat tambahan untuk bahasa yang ada seperti Forth atau Dasar . Alternatif lain adalah dengan menambahkan real-time sistem operasi atau sistem operasi tertanam , yang mungkin memiliki kemampuan DSP seperti DSPnano RTOS . Pemodelan dan kode menghasilkan alat sering didasarkan pada mesin negara

Perangkat lunak dapat berasal dari beberapa sumber:


Perusahaan perangkat lunak yang mengkhususkan diri di pasar embedded Porting dari GNU alat pengembangan perangkat lunak Kadang-kadang, alat pengembangan untuk komputer pribadi dapat digunakan jika prosesor tertanam adalah relatif dekat dengan prosesor PC umum

Sebagai kompleksitas sistem tertanam tumbuh, alat tingkat tinggi dan sistem operasi yang bermigrasi ke mesin di mana itu masuk akal. Sebagai contoh, ponsel , asisten pribadi digital dan komputer konsumen lainnya sering membutuhkan software yang signifikan yang dibeli atau disediakan oleh orang lain dari produsen elektronik. Dalam sistem ini, sebuah lingkungan pemrograman terbuka seperti Linux , NetBSD , OSGi atau Embedded Java diperlukan sehingga penyedia perangkat lunak pihak ketiga dapat menjual ke pasar yang besar.

Debugging
Embedded debugging dapat dilakukan pada tingkat yang berbeda, tergantung pada fasilitas yang tersedia. Dari yang paling sederhana untuk paling canggih mereka secara kasar dapat dikelompokkan ke dalam bidang-bidang berikut:

interaktif resident debugging, menggunakan shell sederhana yang disediakan oleh sistem operasi tertanam (misalnya Forth dan Dasar) Debugging eksternal menggunakan penebangan atau output port serial untuk melacak operasi menggunakan monitor baik di flash atau menggunakan server men-debug seperti Debugger Remedy yang bahkan bekerja untuk heterogen multicore sistem. Sebuah di-sirkuit debugger (ICD), sebuah perangkat keras yang terhubung ke mikroprosesor melalui JTAG atau Nexus antarmuka. Hal ini memungkinkan pengoperasian mikroprosesor harus dikendalikan secara eksternal, tetapi biasanya terbatas pada kemampuan debugging tertentu dalam prosesor. Sebuah emulator di-sirkuit (ICE) menggantikan mikroprosesor dengan setara simulasi, memberikan kontrol penuh atas semua aspek mikroprosesor. Sebuah lengkap emulator memberikan simulasi dari semua aspek perangkat keras, yang memungkinkan semua itu harus dikendalikan dan dimodifikasi, dan memungkinkan debugging pada PC biasa.

Kecuali dibatasi untuk debugging eksternal, programmer biasanya dapat memuat dan menjalankan perangkat lunak melalui alat, melihat kode berjalan di prosesor, dan memulai atau menghentikan operasi. Pandangan kode mungkin sebagai HLL kode sumber , kode perakitan atau campuran keduanya. Karena sistem embedded sering terdiri dari berbagai elemen, strategi debugging dapat bervariasi. Misalnya, debugging software-(dan mikroprosesor-) sistem tertanam sentris berbeda dari sistem embedded debugging di mana sebagian besar pengolahan dilakukan oleh periferal (DSP, FPGA, co-prosesor). Peningkatan jumlah sistem tertanam saat ini menggunakan lebih dari satu inti prosesor tunggal. Masalah yang umum dengan multi-inti pembangunan adalah sinkronisasi yang tepat dari eksekusi perangkat lunak. Dalam kasus seperti itu, desain sistem tertanam mungkin ingin memeriksa lalu lintas data pada bus antara core prosesor, yang membutuhkan debugging yang sangat rendah tingkat, pada sinyal / bus tingkat, dengan analisa logika , misalnya. Tracing sistem operasi real-time ( RTOS ) sering mendukung pelacakan peristiwa sistem operasi. Sebuah tampilan grafis yang disajikan oleh alat PC host, berdasarkan rekaman dari perilaku sistem. Rekaman jejak dapat dilakukan dalam perangkat lunak, oleh RTOS, atau oleh perangkat keras pelacakan khusus. RTOS menelusuri memungkinkan pengembang untuk memahami waktu dan masalah kinerja dari sistem perangkat lunak dan memberikan pemahaman yang baik tentang perilaku sistem tingkat tinggi. Sebuah contoh yang baik adalah RTXCview , untuk Quadros RTXC oleh Quadros Systems, Inc .

Keandalan (Reliability)
Embedded system sering berada di mesin yang diharapkan untuk terus berjalan selama bertahun-tahun tanpa kesalahan, dan dalam beberapa kasus pulih dengan sendirinya jika kesalahan terjadi. Oleh karena itu software ini biasanya dikembangkan dan diuji lebih cermat dari itu untuk komputer pribadi, dan tidak dapat diandalkan bagian yang bergerak mekanis seperti disk drive, switch atau tombol dihindari. Masalah keandalan tertentu mungkin mencakup: 1. Sistem tidak dapat dengan aman ditutup untuk perbaikan, atau terlalu tidak dapat diakses untuk memperbaiki. Contoh termasuk sistem ruang, kabel bawah laut, beacon navigasi, bore-lubang sistem, dan mobil. 2. "Bizkit mode" kurang ditoleransi. Often backups are selected by an operator. Seringkali backup dipilih oleh operator. Contohnya termasuk pesawat navigasi, sistem reaktor kontrol, kontrol keamanan-kritis kimia pabrik, sinyal kereta. 3. Sistem akan kehilangan sejumlah besar uang ketika ditutup: Telepon switch, kontrol pabrik, kontrol jembatan dan lift, transfer dana dan pasar pembuatan, penjualan dan layanan otomatis. Berbagai teknik yang digunakan, kadang-kadang dalam kombinasi, untuk memulihkan dari kesalahan-baik bug software seperti kebocoran memori, dan juga kesalahan lunak dalam perangkat keras:

pengawas waktu yang ulang komputer kecuali perangkat lunak secara berkala memberitahukan pengawas subsistem dengan suku cadang berlebihan yang dapat beralih software "limp modes" that provide partial function Merancang dengan Basis Trusted Computing (TCB) arsitektur [6] menjamin lingkungan sistem yang sangat aman & terpercaya Sebuah Tertanam Hypervisor mampu menyediakan enkapsulasi aman bagi setiap komponen subsistem, sehingga komponen perangkat lunak dikompromikan tidak dapat mengganggu subsistem lainnya, atau hak istimewa tingkat perangkat lunak sistem. Enkapsulasi ini membuat kesalahan dari menyebarkan dari satu subsistem ke yang lain, meningkatkan kehandalan. Hal ini juga mungkin mengizinkan subsistem untuk secara otomatis menutup dan restart pada deteksi kesalahan. Immunity Aware Programming Imunitas Sadar Pemrograman

Volume tinggi vs rendah


Untuk sistem volume tinggi seperti pemutar musik portabel atau ponsel , meminimalkan biaya biasanya pertimbangan desain utama. Insinyur biasanya memilih hardware yang hanya "cukup baik" untuk mengimplementasikan fungsi yang diperlukan. Untuk sistem embedded rendah volume atau prototipe, tujuan umum komputer dapat diadaptasi dengan membatasi program atau dengan mengganti sistem operasi dengan sistem operasi real-time .

Tertanam arsitektur perangkat lunak


Ada beberapa jenis arsitektur perangkat lunak umum digunakan.

loop kendali Sederhana


Dalam desain ini, perangkat lunak hanya memiliki loop. Loop panggilan subrutin, yang masing-masing mengelola bagian dari perangkat keras atau perangkat lunak.

sistem dikendalikan Interrupt


Beberapa sistem embedded yang dominan dikendalikan interupsi. Ini berarti bahwa tugas yang dilakukan oleh sistem yang dipicu oleh berbagai peristiwa. Interrupt dapat dihasilkan misalnya dengan timer di frekuensi yang telah ditetapkan, atau dengan controller port serial menerima byte. Jenis-jenis sistem yang digunakan jika event handler membutuhkan latency rendah dan event handler yang pendek dan sederhana. Biasanya jenis-jenis sistem menjalankan tugas sederhana dalam lingkaran utama juga, tetapi tugas ini tidak terlalu sensitif terhadap penundaan tak terduga. Kadang-kadang interrupt handler akan menambah tugas lagi ke struktur antrian. Kemudian, setelah interrupt handler telah selesai, tugas ini dijalankan oleh loop utama. Metode ini membawa sistem dekat dengan sebuah kernel multitasking dengan proses diskrit.

Koperasi multitasking
Sebuah nonpreemptive multitasking sistem sangat mirip dengan skema kontrol loop sederhana, kecuali bahwa loop tersembunyi dalam API . Programmer mendefinisikan serangkaian tugas, dan tugas masing-masing mendapat lingkungan sendiri untuk "menjalankan" in Ketika tugas idle, itu panggilan rutin menganggur, biasanya disebut "jeda", "menunggu", "hasil", "nop" (singkatan untuk operasi tidak), dll

Keuntungan dan kerugian yang sangat mirip dengan kontrol loop, kecuali bahwa menambahkan perangkat lunak baru lebih mudah, dengan hanya menulis tugas baru, atau menambah antrian-interpreter.

Preemptive multitasking atau multi-threading


Dalam sistem semacam ini, sepotong tingkat rendah switch kode di antara tugas-tugas atau benang berdasarkan timer (terhubung ke interupsi). Ini adalah tingkat di mana sistem ini umumnya dianggap memiliki "sistem operasi" kernel. Tergantung pada seberapa banyak fungsi yang diperlukan, itu memperkenalkan lebih atau kurang dari kompleksitas mengelola beberapa tugas yang berjalan secara paralel konseptual. Seperti kode apapun yang berpotensi dapat merusak data tugas lain (kecuali dalam sistem yang lebih besar menggunakan MMU ) program harus hati-hati dirancang dan diuji, dan akses ke data bersama harus dikendalikan oleh beberapa strategi sinkronisasi, seperti antrian pesan , Semaphore atau non -blocking sinkronisasi skema. Karena kompleksitas ini, itu adalah umum bagi organisasi untuk menggunakan sistem real-time operasi (RTOS), yang memungkinkan pemrogram aplikasi untuk berkonsentrasi pada fungsi perangkat daripada layanan sistem operasi, setidaknya untuk sistem yang besar; sistem yang lebih kecil sering tidak mampu overhead terkait dengan sistem waktu nyata generik, karena keterbatasan mengenai ukuran memori, kinerja, dan / atau kehidupan baterai. Pilihan bahwa RTOS diperlukan membawa masalah sendiri namun sebagai seleksi harus dilakukan sebelum mulai proses pengembangan aplikasi. Waktu ini memaksa pengembang untuk memilih sistem operasi tertanam untuk perangkat mereka berdasarkan persyaratan saat ini dan sehingga membatasi pilihan masa depan untuk sebagian besar. [7] Pembatasan pilihan masa depan menjadi lebih dari masalah seperti penurunan hidup produk. Selain itu tingkat kompleksitas terus berkembang sebagai perangkat yang diperlukan untuk mengelola banyak variabel seperti serial, USB, TCP / IP, Bluetooth, Wireless LAN, radio batang, beberapa saluran, data dan suara, grafis yang disempurnakan, beberapa negara, beberapa thread, banyak menunggu negara dan sebagainya. Kecenderungan ini mengarah pada penyerapan middleware tertanam di samping sistem operasi real time.

microkernels dan exokernels


Sebuah mikrokernel adalah selangkah logis dari real-time OS. Pengaturan yang biasa adalah bahwa kernel sistem operasi mengalokasikan memori dan switch CPU untuk benang yang berbeda eksekusi. Pengguna modus proses mengimplementasikan fungsi utama seperti sistem file, interface jaringan, dll Secara umum, microkernels berhasil ketika beralih tugas dan komunikasi intertask cepat, dan gagal jika mereka lambat. Perangkat keras, dan semua perangkat lunak dalam sistem tersedia untuk, dan extensible oleh programmer aplikasi.

kernel Monolitik
Dalam kasus ini, sebuah kernel yang relatif besar dengan kemampuan canggih adalah disesuaikan dengan lingkungan tertanam. Hal ini memberikan programmer lingkungan yang mirip dengan sistem operasi desktop seperti Linux atau Microsoft Windows , dan karena itu sangat produktif untuk pengembangan, di sisi negatifnya, itu membutuhkan sumber daya perangkat keras yang lebih besar, sering lebih mahal, dan karena kompleksitas kernel ini dapat kurang dapat diprediksi dan dapat diandalkan. Contoh umum dari kernel monolitik tertanam Embedded Linux dan Windows CE . Meskipun biaya yang meningkat dalam perangkat keras, jenis sistem tertanam meningkat popularitasnya, terutama pada perangkat embedded yang lebih kuat seperti Router Wireless dan Sistem Navigasi GPS . Berikut adalah beberapa alasan:

Port untuk umum tertanam chip set yang tersedia. Mereka mengizinkan penggunaan kembali kode yang tersedia untuk publik Device Drivers , Web Server , Firewall , dan kode lain. Pengembangan sistem dapat mulai dengan fitur-set yang luas, dan kemudian distribusi dapat dikonfigurasi untuk mengecualikan fungsionalitas yang tidak dibutuhkan, dan menghemat biaya dari memori yang akan mengkonsumsi. Banyak teknisi yang percaya bahwa menjalankan kode aplikasi dalam mode pengguna lebih dapat diandalkan, lebih mudah untuk debug dan oleh karena itu proses pembangunan lebih mudah dan kode lebih portabel. Banyak embedded system kurangnya persyaratan waktu yang ketat nyata dari sebuah sistem kontrol. Meskipun sistem seperti Linux Embedded mungkin cukup cepat untuk merespon ke aplikasi lainnya. Fitur yang memerlukan respon lebih cepat daripada yang dapat dijamin sering dapat ditempatkan dalam perangkat keras . Banyak sistem RTOS memiliki biaya per unit. Ketika digunakan pada produk yang atau akan menjadi komoditas, biaya yang signifikan.

sistem operasi kustom Eksotis


Sebuah fraksi kecil dari embedded system membutuhkan perilaku yang aman, tepat waktu, dapat diandalkan atau efisien tak dpt diperoleh dengan salah satu arsitektur di atas. Dalam hal ini suatu organisasi membangun sistem yang sesuai. Dalam beberapa kasus, sistem dapat dipartisi menjadi "mekanisme kontroler" menggunakan teknik khusus, dan "display controller" dengan sistem operasi konvensional. Sebuah sistem komunikasi lewat data antara keduanya.

komponen software tambahan


Selain sistem operasi inti, embedded system banyak tambahan lapisan atas komponen perangkat lunak. Komponenkomponen ini terdiri dari tumpukan protokol jaringan seperti BISA , TCP / IP , FTP , HTTP , dan HTTPS , dan juga termasuk kemampuan penyimpanan seperti FAT dan sistem manajemen memori flash. Jika perangkat embedded memiliki kemampuan audio dan video, maka driver yang sesuai dan codec akan hadir dalam sistem. Dalam kasus kernel monolitik, banyak dari lapisan perangkat lunak yang disertakan. Dalam kategori RTOS, ketersediaan komponen software tambahan tergantung pada penawaran komersial.

Anda mungkin juga menyukai