Sistem tertanam

Sistem tertanam adalah komputer yang telah dibangun untuk menyelesaikan hanya beberapa masalah yang sangat spesifik dan tidak mudah diubah. Kata embedded berarti sudah terpasang ke dalam sistem. Ini adalah bagian permanen dalam sistem yang lebih besar. Biasanya tidak terlihat seperti komputer, sering kali tidak ada keyboard atau monitor atau mouse. Tetapi seperti komputer lainnya, ia memiliki prosesor dan perangkat lunak, input dan output.

Contohnya, pengontrol yang tertanam dalam elevator memerintahkan motor untuk menggerakkan elevator ke lantai yang berbeda, berdasarkan tombol yang ditekan. Dekoder tertanam dalam dekoder televisi satelit (disebut STB) untuk membaca sinyal dari parabola dan mengirim sesuatu yang dimengerti oleh TV. Sering kali sistem jenis ini harus melakukan pekerjaannya dalam jangka waktu tertentu. Ini disebut komputasi waktu nyata. Jika dekoder terganggu untuk melakukan tugas lain, Anda akan melihat gambar yang buruk di TV, misalnya. Komputer untuk keperluan umum akan sering mengalami jeda singkat saat melakukan sesuatu yang lain, ini bukan real-time.

Sistem tertanam mengontrol banyak perangkat umum yang digunakan saat ini, seperti pembaca kartu di kunci pintu hotel atau beberapa hal di dalam mobil. Sistem ini bisa mengendalikan benda-benda kecil seperti MP3 player atau kamera digital, dan benda-benda besar seperti sistem lampu lalu lintas, pesawat terbang, atau jalur perakitan di pabrik.

Gambar bagian dalam modem/router ADSL. Contoh modern dari sistem tertanam. Bagian yang diberi label termasuk mikroprosesor (4), RAM (6), dan memori flash (7)Zoom
Gambar bagian dalam modem/router ADSL. Contoh modern dari sistem tertanam. Bagian yang diberi label termasuk mikroprosesor (4), RAM (6), dan memori flash (7)

Contoh sistem tertanam

Sistem tertanam digunakan dalam berbagai jenis perangkat listrik, termasuk:

  • Sistem telekomunikasi menggunakannya untuk telepon, jaringan telepon seluler, dan router wi-fi.
  • Elektronik konsumen mencakup penerima siaran, MP3 player, ponsel, konsol video game, kamera digital, DVD player, penerima GPS, sistem keamanan rumah, dan printer.
  • Peralatan rumah tangga, seperti oven microwave, mesin cuci, sistem alarm pencuri dan mesin pencuci piring memiliki sistem yang tertanam.
  • Transportasi menggunakan sistem tertanam untuk segala hal, mulai dari lokomotif untuk kereta api, pesawat terbang dan mobil.
  • Industri menggunakan motor listrik dengan pengontrol elektronik, pembaca kartu dan mesin CNC yang secara otomatis membuat komponen logam.
  • Perangkat medis seperti defibrilator, pembaca tekanan darah otomatis, dan pompa insulin otomatis.
  • Perangkat militer, seperti walkie-talkie, satelit, dan sistem pemandu untuk rudal.

Fitur umum

  • Sistem tertanam didesain untuk melakukan tugas spesifik, tidak seperti komputer serba guna.
  • Tidak terlihat seperti komputer - mungkin tidak ada monitor penuh atau keyboard.
  • Banyak sistem tertanam harus dapat melakukan berbagai hal secara real-time - dalam waktu singkat (hampir seketika dari pandangan manusia).
  • Banyak sistem tertanam yang harus sangat aman dan andal, terutama untuk perangkat medis atau avionik yang mengendalikan pesawat terbang.
  • Menyala dengan sangat cepat. Orang tidak ingin menunggu satu atau dua menit sampai mobil mereka menyala atau peralatan darurat menyala.
  • Ini mungkin menggunakan sistem operasi khusus (atau kadang-kadang OS buatan sendiri yang sangat kecil) yang membantu memenuhi persyaratan ini yang disebut sistem operasi waktu nyata, atau RTOS.
  • Instruksi program yang ditulis untuk sistem tertanam disebut sebagai firmware, dan disimpan dalam memori read-only atau chip memori flash. Sistem ini berjalan dengan sumber daya perangkat keras komputer yang terbatas: memori kecil, keyboard dan/atau layar kecil atau tidak ada.

Sistem tertanam tidak selalu merupakan perangkat yang berdiri sendiri. Kadang-kadang mereka dibangun sebagai satu set, seperti berbagai bagian mobil - radio, kontrol throttle, kontrol polusi, dll. Kadang-kadang sistem ini bisa berkomunikasi ke internet atau jaringan ponsel, dan mungkin memiliki pembaca USB atau koneksi lainnya.

Antarmuka pengguna

Sistem tertanam berkisar dari tidak ada antarmuka pengguna sama sekali - hanya mengirim dan menerima sinyal listrik - hingga antarmuka pengguna grafis penuh seperti pada komputer modern. Sering kali sistem ini memiliki beberapa tombol tekan dan layar kecil serta beberapa LED. Sistem yang lebih kompleks mungkin memiliki layar sentuh, yang memungkinkan makna tombol berubah dengan setiap layar seperti pada ponsel pintar.

Contoh antarmuka pengguna dengan tombol-tombol dan layar LCD sederhana.Zoom
Contoh antarmuka pengguna dengan tombol-tombol dan layar LCD sederhana.

Perangkat keras

Perangkat keras mencakup chip, kabel, papan sirkuit, tombol dan tampilan.

CPU

Chip yang paling penting adalah unit pemrosesan pusat atau CPU. Ini menjalankan instruksi perangkat lunak. Ini bisa berupa mikroprosesor standar atau mikrokontroler. Mikrokontroler mencakup mikroprosesor serta peralatan periferal sederhana sehingga sistem bisa lebih kecil dan lebih murah. Mikrokontroler memiliki fleksibilitas yang lebih rendah karena bagian-bagian tersebut tidak dapat diubah. Biasanya bagian-bagian ini termasuk memori Flash dan dukungan untuk port serial, USB, dll.

Tidak seperti mikroprosesor untuk komputer serba guna, lebih besar dan lebih cepat tidak selalu lebih baik. Banyak prosesor tertanam yang sangat kecil. Kadang-kadang hal ini untuk menggunakan lebih sedikit ruang atau lebih sedikit daya, kadang-kadang agar lebih murah. Komputer tujuan umum akan menggunakan mikroprosesor yang membaca kata 32-bit atau 64-bit dan berjalan pada kecepatan yang diukur dalam GHz, tetapi prosesor tertanam biasanya 4 hingga 32 bit dan berjalan pada kecepatan yang biasanya diukur dalam puluhan MHz (seratus kali lebih lambat). (Tetapi program-programnya juga lebih kecil dan tidak memeriksa hal-hal yang tidak digunakan).

Papan komputer siap pakai

Ada papan komputer "siap pakai" yang dapat digunakan dalam beberapa sistem tertanam. Ini sering menggunakan Windows CE, Linux, NetBSD, atau sistem operasi real-time tertanam.

Kadang-kadang mungkin lebih mudah menggunakan papan sirkuit yang sudah dibuat. Papan sirkuit ini biasanya memiliki banyak komponen yang sama dengan komputer untuk keperluan umum, tetapi lebih kecil daripada komputer untuk keperluan umum. Papan seperti VIA EPIA dapat menjalankan Microsoft Windows. Keuntungannya adalah menghemat waktu rekayasa listrik dan dapat menggunakan alat pengembangan perangkat lunak yang sama dengan yang digunakan untuk pengembangan perangkat lunak tipe PC. Contoh perangkat tertanam seperti itu adalah ATM atau display di kasino. Hal ini bekerja dengan baik jika persyaratan waktu nyata tidak terlalu ketat (tidak masalah jika suatu pekerjaan membutuhkan waktu delapan detik, bukan lima detik, misalnya).

Solusi ASIC dan FPGA

Jika perangkat harus sangat kecil atau akan dijual dalam jumlah yang sangat besar ("volume tinggi"), maka masuk akal untuk membuat chip khusus atau khusus yang melakukan apa yang dibutuhkan. Ini adalah system on a chip (SoC) yang menampung sistem lengkap - prosesor, unit floating point, cache memori dan antarmuka pada sirkuit terpadu tunggal. SoC dapat dibuat sebagai sirkuit terintegrasi khusus aplikasi pesanan khusus (ASIC) atau dengan menggunakan field-programmable gate array (FPGA) yang diprogram oleh orang yang membangun sistem tertanam.

Periferal

Sistem tertanam berbicara dengan dunia luar atau komponen lain menggunakan periferal seperti:

  • Port Serial: RS-232, RS-422, RS-485. Ini dulu cukup umum, dengan konektor 9-pin (atau lebih besar).
  • Antarmuka Komunikasi Serial Sinkron: Sirkuit Terintegrasi I²C, Suara Terintegrasi I²S, SPI, MIcrowire, ...
  • Universal Serial Bus (USB).
  • Jaringan: Ethernet, Jaringan Area Pengontrol, LonWorks, ...
  • Input/Output Diskrit: Input/Output Tujuan Umum (GPIO). Ini bisa berupa kabel tunggal dengan sinyal on/off. Ini bisa digunakan untuk keypad kecil, atau untuk menyalakan LED.
  • Konverter Analog ke Digital/Digital ke Analog (ADC/DAC). Ini mengukur sesuatu yang berubah kekuatannya, seperti sensor cahaya atau kontrol motor.
  • Debugging: JTAG, port ICSP, untuk insinyur perangkat lunak.
Soekris net4801, sistem tertanam yang ditargetkan untuk aplikasi jaringan.Zoom
Soekris net4801, sistem tertanam yang ditargetkan untuk aplikasi jaringan.

Perangkat Lunak

Sistem operasi

Sistem tertanam sering kali tidak memerlukan sistem operasi penuh. Sebagian menggunakan sistem operasi kecil dan sederhana yang dibuat secara khusus yang memulai dengan sangat cepat, sebagian lainnya tidak memerlukannya sama sekali. Sistem tertanam tidak mudah diadaptasi, tetapi dibangun untuk melakukan tugas-tugasnya dengan jauh lebih andal. Karena perangkat kerasnya lebih sederhana, sering kali juga lebih murah untuk dibangun dan berjalan lebih cepat.

Berbeda dengan ini, komputer serba guna harus siap untuk driver perangkat baru dan perangkat lunak untuk menjalankan perangkat keras yang belum diketahuinya, seperti printer atau hard drive baru. Komputer perlu menjalankan program aplikasi yang berbeda.

Seiring dengan semakin besarnya sistem embedded, hal-hal yang dulunya hanya ada pada komputer serba guna atau bahkan mainframe, sekarang menjadi umum pada sistem embedded. Ini termasuk ruang memori yang terlindungi, dan lingkungan pemrograman terbuka termasuk Linux, NetBSD, dll.

Beberapa contoh sistem operasi, dari yang sederhana hingga yang kompleks:

  • Loop kontrol sederhana - Timer dan loop digunakan untuk memanggil subrutin yang berbeda berulang kali. Ini sering dibuat oleh satu orang untuk sistem yang lebih kecil.
  • interrupt controlled - Tugas-tugas dimulai oleh berbagai jenis peristiwa. Peristiwa bisa berupa sesuatu yang diatur waktunya (setiap sepuluh detik, misalnya) atau dengan penekanan tombol atau data yang diterima.
  • multitasking nonpreemptive - Setiap tugas mendapat giliran untuk dijalankan, dan ketika selesai, tugas tersebut memanggil penjadwal di OS untuk menjalankan tugas berikutnya.
  • preemptive multitasking atau multi-threading - Sebuah tugas dapat dihentikan setelah beberapa waktu untuk membiarkan tugas lain berjalan untuk sementara waktu. Tidak ada tugas yang dapat memonopoli sistem. Pada tingkat ini sistem dianggap memiliki kernel "sistem operasi" dan dapat menjalankan tugas secara paralel. OS jenis ini biasanya dibeli dari perusahaan yang hanya bekerja pada sistem operasi tertanam.

Sistem operasi real-time termasuk produk seperti MicroC/OS-II, Green Hills INTEGRITY, QNX atau VxWorks. Tidak seperti MacOS atau Windows 7, sistem-sistem operasi ini tidak dikenal dengan baik oleh kebanyakan orang. Tetapi mereka digunakan di banyak tempat di mana waktu dan keamanan sangat penting. Orang-orang menggunakannya setiap hari dan tidak menyadarinya.

Contoh umum kernel yang lebih besar adalah Embedded Linux dan Windows CE. Meskipun ini tidak memiliki batas waktu yang ketat yang diperlukan untuk sistem real-time yang ketat, mereka menjadi lebih umum, terutama untuk perangkat yang lebih kuat seperti Wireless Router dan GPS. Mereka memungkinkan penggunaan kembali kode dalam domain publik untuk Device Drivers, Web Server, Firewall, dan kode lainnya. Pengembang perangkat lunak yang lebih nyaman menulis aplikasi untuk PC akan merasa ini lebih akrab juga. Jika diperlukan, FPGA atau perangkat keras khusus lainnya dapat digunakan untuk hal-hal yang memang membutuhkan batas waktu yang ketat.

Peralatan

Seperti perangkat lunak lainnya, perancang sistem tertanam menggunakan kompiler, assembler, dan debugger untuk mengembangkan perangkat lunak sistem tertanam. Namun, mereka juga dapat menggunakan beberapa alat yang lebih spesifik:

  • Untuk sistem yang menggunakan pemrosesan sinyal digital, pengembang dapat menggunakan alat bantu matematika seperti MATLAB, MathCad, atau Mathematica.
  • Compiler dan linker khusus dapat digunakan untuk meningkatkan optimasi untuk perangkat keras tertentu.
  • Sistem tertanam mungkin memiliki bahasa atau alat desain khusus sendiri, atau menambahkan penyempurnaan pada bahasa yang sudah ada seperti yang digunakan oleh Basic Stamp.

Alat debugging:

  • In-circuit debugger (ICD), perangkat keras yang terhubung ke mikroprosesor melalui antarmuka JTAG. Perangkat ini memulai dan menghentikan mikroprosesor dari luar saat menjalankan perangkat lunak. ICD juga memungkinkan memori dan register dibaca, dan untuk menyimpan program perangkat lunak dalam memori.
  • Debugging eksternal menggunakan logging atau output port serial untuk melacak operasi menggunakan monitor berkedip (printfs).
  • Debugging residen interaktif - jika OS mendukungnya, ini adalah shell pada prosesor tertanam yang menjalankan perintah yang diketik oleh pengembang (Linux, misalnya).
  • Emulator dalam sirkuit menggantikan mikroprosesor pada papan, memberikan kontrol penuh atas segala sesuatu yang dapat dilakukan mikroprosesor.
  • Emulator yang lengkap mensimulasikan semua fitur perangkat keras, memungkinkan semuanya untuk dikontrol dan dimodifikasi. Perangkat kerasnya tidak benar-benar ada, tetapi versi pura-pura dari perangkat keras tersebut (mesin "virtual") ada pada PC normal.
  • Memeriksa jalur eksternal dengan penganalisis logika atau multimeter.

Kecuali terbatas pada debugging eksternal, programmer biasanya dapat memuat dan menjalankan perangkat lunak melalui alat, melihat kode yang berjalan di prosesor, dan memulai atau menghentikan operasinya. Tampilan kode mungkin sebagai kode rakitan atau kode sumber. Beberapa sistem terintegrasi (seperti VxWorks atau Green Hills) memiliki fitur-fitur khusus, seperti melacak berapa banyak ruang yang dibutuhkan perangkat lunak saat berjalan, tugas apa yang sedang berjalan, dan kapan sesuatu terjadi.

Tergantung pada jenis sistem tertanam yang dibuat akan mempengaruhi bagaimana sistem tersebut dapat di-debug. Misalnya, debugging sistem mikroprosesor tunggal berbeda dengan debugging sistem di mana pemrosesan juga dilakukan pada periferal (DSP, FPGA, co-prosesor).

Keamanan dan Keandalan

Sistem tertanam sering kali berada dalam mesin yang diharapkan berjalan selama bertahun-tahun tanpa kesalahan, dan dalam beberapa kasus pulih dengan sendirinya jika terjadi kesalahan. Ini berarti, perangkat lunak biasanya dikembangkan dan diuji secara lebih cermat daripada komputer pribadi, dan bagian bergerak mekanis yang tidak dapat diandalkan, seperti disk drive dan kipas dihindari.

Tempat-tempat yang mengutamakan keselamatan dan keandalan:

  • Beberapa sistem tidak dapat dimatikan dengan aman untuk diperbaiki, atau terlalu sulit untuk diperbaiki. Contohnya termasuk sistem ruang angkasa (satelit, rover), kabel bawah laut, dan kontrol pembangkit listrik tenaga nuklir.
  • Sistem ini bisa membunuh orang jika gagal, seperti kontrol pesawat terbang, kontrol pabrik bahan kimia, sinyal kereta api, dan defibrilator jantung.
  • Sistem akan kehilangan uang dalam jumlah besar jika dimatikan atau jika terjadi kesalahan: Sakelar telepon, kontrol pabrik, mesin kasir, mesin teller otomatis.

Cara untuk memulihkan diri dari kesalahan - baik bug perangkat lunak seperti kebocoran memori, dan juga kesalahan lunak pada perangkat keras:

  • Pengatur waktu Watchdog yang memulai ulang sistem tertanam jika sesuatu berhenti bekerja.
  • Bagian duplikat, di mana satu sistem bisa mengambil alih jika sistem lainnya berhenti bekerja.
  • "Mode lemas" perangkat lunak yang menyediakan fungsi parsial.
  • Pemrograman Sadar Imunitas

Halaman terkait

Pertanyaan dan Jawaban

T: Apa yang dimaksud dengan sistem tertanam?


J: Sistem tertanam adalah komputer yang dibuat untuk menyelesaikan masalah tertentu dan tidak mudah diubah.

T: Apa perbedaan sistem tertanam dengan komputer tujuan umum?


J: Sistem tertanam biasanya tidak memiliki keyboard, monitor, atau mouse dan memiliki fungsi khusus. Komputer serba guna dapat melakukan berbagai tugas.

T: Apa saja contoh sistem tertanam?


J: Contoh sistem tertanam termasuk pengendali lift, dekoder, pembaca kartu di kunci pintu hotel, sistem lampu lalu lintas, pesawat terbang, dan jalur perakitan di pabrik.

T: Apa yang dimaksud dengan komputasi waktu nyata?


J: Komputasi waktu nyata adalah ketika sistem tertanam harus menyelesaikan pekerjaannya dalam waktu tertentu. Jika terputus, hal ini dapat menyebabkan masalah seperti kualitas gambar yang buruk pada TV.

T: Apa saja komponen sistem tertanam?


J: Seperti komputer lainnya, sistem tertanam memiliki prosesor, perangkat lunak, input, dan output.

T: Apa saja tugas yang dapat dikontrol oleh sistem tertanam?


J: Sistem tertanam dapat mengontrol perangkat kecil seperti pemutar MP3 atau kamera digital, atau sistem yang lebih besar seperti lampu lalu lintas atau pesawat terbang.

T: Apa arti istilah "tertanam" dalam kaitannya dengan sistem tertanam?


J: Istilah "tertanam" berarti bahwa komputer dibangun ke dalam sistem yang lebih besar dan tidak mudah diubah.

AlegsaOnline.com - 2020 / 2023 - License CC3