Dr. Cahit Karakuş, FJune-2019
Gömülü bir sistem
• Gömülü bir sistem, genellikle gerçek zamanlı hesaplama kısıtlamalarıyla bir veya birkaç adanmış işlevi
gerçekleştirmek için tasarlanmış özel amaçlı bir
bilgisayar sistemidir. Genellikle donanım ve mekanik parçalar dahil olmak üzere eksiksiz bir cihazın parçası olarak yerleştirilir.
-- Wikipedia
Gömülü Sistem Disiplinleri
• Bilgisayar Organizasyonu
• Yazılım, C++, Assemble
• Elektronik ile ilgili, açık kaynaklı bir mikrodenetleyici uygulama platformu. G/Ç (I/O) kartı ve Processing/Wiring dilinin bir uygulamasını içeren geliştirme ortamından
oluşan bir fiziksel programlama platformu.
• Sayısal tasarım
• Devre Elemanları ve Ölçümler
• Aktif devre elemanları
• OP-AMP
• Sürücü sistemleri
• Aktüatörü bir sistemi kontrol eden veya hareket ettiren bir tür motordur. Bir enerji
kaynağı tarafından çalıştırılır.
What in class?
Definition
• Gömülü bir sistem, daha büyük bir mekanik veya
elektrik sistemi içinde özel işlevleri gerçekleştirmek için
tasarlanmış, mikroişlemci veya mikro denetleyici tabanlı
bir donanım ve yazılım sistemidir.
What is an Embedded System?
• Gömülü bir sistem, bağımsız bir sistem olarak veya büyük bir sistemin parçası
olarak özel bir işlevi yerine getirmek için tasarlanmış yazılıma sahip mikroişlemci tabanlı bir bilgisayar donanım sistemidir. Çekirdekte, gerçek zamanlı işlemler için hesaplama yapmak üzere tasarlanmış entegre bir devre var.
• Karmaşıklıklar, tek bir mikro denetleyiciden bağlı çevre birimleri ve ağları olan bir işlemci paketine kadar değişir; kullanıcı arayüzünden karmaşık grafik kullanıcı
arayüzlerine kadar. Gömülü bir sistemin karmaşıklığı, tasarlandığı göreve bağlı olarak önemli ölçüde değişir.
• Üretilen tüm mikroişlemcilerin yüzde 98 kadarı gömülü sistemlerde kullanılıyor.
How an Embedded System Works
• Gömülü sistemler, mikro denetleyiciler veya dijital sinyal işlemcileri (DSP), uygulamaya özel entegre devreler (ASIC), sahada programlanabilir kapı dizileri (FPGA), GPU - Grafik İşlemci Birimi, teknolojisi ve kapı dizileri tarafından yönetilir. Bu işleme sistemleri, elektriksel ve / veya mekanik arabirimi
işlemeye ayrılmış bileşenlerle entegre edilmiştir.
• Sabit yazılım olarak adlandırılan gömülü sistem programlama talimatları, sınırlı bilgisayar donanımı kaynaklarıyla çalışan salt okunur bellekte veya flash bellek yongalarında saklanır. Gömülü sistemler, dış dünya ile çevre birimleri aracılığıyla bağlanır, giriş ve çıkış cihazlarını birbirine bağlar.
• digital signal processors (DSP),
• application-specific integrated circuits (ASIC),
• field-programmable gate arrays (FPGA)
Basic Structure of an Embedded System
Gömülü bir sistemin temel yapısı aşağıdaki bileşenleri içerir:
• Sensör: Sensör fiziksel miktarı ölçer ve elektrik sinyaline dönüştürür, bu daha sonra gömülü bir sistem veya herhangi bir elektronik cihaz tarafından okunabilir. Bir sensör, ölçülen miktarı belleğe kaydeder.
• A-D Dönüştürücü: Analogdan dijitale dönüştürücü, sensör tarafından gönderilen analog sinyali bir dijital sinyale dönüştürür.
• İşlemci ve ASIC'ler: İşlemciler, çıktıyı ölçmek ve bellekte saklamak için verileri değerlendirir.
• D-A Dönüştürücü: Dijitalden analoğa dönüştürücü, işlemci tarafından beslenen dijital verileri analog verilere dönüştürür
• Aktüatör: Bir aktüatör, D-A Dönüştürücü tarafından verilen çıktıyı depolanan gerçek çıktıyla karşılaştırır ve onaylanan çıktıyı depolar.
History of Embedded Operating Systems
• İlk modern, gerçek zamanlı gömülü bilgi işlem sistemi, 1960'larda Apollo Programı için
Massachusetts Teknoloji Enstitüsü'nden Dr. Charles Stark Draper tarafından geliştirilen Apollo Rehberlik Bilgisayarı idi. Apollo Kılavuz Bilgisayarı, verileri otomatik olarak toplamak ve Apollo Komuta Modülü ve Ay Modülü için görev açısından kritik hesaplamalar sağlamak üzere
tasarlanmıştır.
• 1971'de Intel, piyasada bulunan ilk mikroişlemci birimi olan Intel 4004'ü piyasaya sürdü - destek
mantık devreleri ve harici bellek gerektiren ilklerden bir mikroişlemcidir; 1978'de Ulusal Mühendislik İmalatçıları Derneği, programlanabilir mikro denetleyiciler için bir standart yayınladı ve gömülü
sistem tasarımını geliştirdi; ve 1980'lerin başında, bellek, giriş ve çıkış sistemi bileşenleri işlemciyle aynı yongaya entegre edilerek bir mikro denetleyici oluşturuldu.
• Mikrodenetleyici tabanlı gömülü sistem, kredi kartı okuyucularından cep telefonlarına, trafik
ışıklarından termostatlara kadar tüketicilerin günlük yaşamlarının her yönüne dahil edilmeye devam edecek.
Future Trends in Embedded Systems
• Yapay Zeka (AI), Sanal Gerçeklik (VR) ve Artırılmış Gerçeklik (AR), makine öğrenimi, derin öğrenme ve Nesnelerin İnterneti'nin (IoT) sürekli gelişimi ile gömülü sistemler endüstrisinin hızla büyümeye
devam etmesi bekleniyor. . Bilişsel gömülü sistem şu trendlerin merkezinde olacak: azaltılmış enerji tüketimi, gömülü cihazlar için geliştirilmiş güvenlik, bulut bağlantısı ve ağ oluşturma, derin öğrenme uygulamaları ve gerçek zamanlı verilerle görselleştirme araçları.
• Gömülü sistemler endüstrisi için küresel pazar 2020'de 70 milyar dolar olarak değerlendirildi ve 2025'in sonunda 110 milyar dolara yükselmesi bekleniyor.
• Artificial Intelligence (AI),
• Virtual Reality (VR),
• Augmented Reality (AR),
• machine learning ,
• deep learning,
• Internet of Things (IoT).
CPU Internal ROM
Internal SRAM
External DRAM
Embedding a computer
CPU
mem input
output analog
analog
embedded
computer
Sensing and actuation devices in embedded
applications
Operating System
• Abstractions
– Uninterrupted Computation: No Interrupts – Infinite Memory: just an illusion.
– Simple I/O: Avoid dealing directly with devices (simple
writes/reads)
15
Cross Development Tools
• Preprocessor
• Compiler
• Assembler
• Linker
• Libraries
• Loader
• Debugger
• Archiver
• Simulator
• Emulator
Predictable Computer Architecture
• What we need:
– Timing Predictability – Isolation
• What we are going to see: how our computer architecture design must change to accommodate such requirements.
• This involves all main components of the architecture:
– Pipeline (and other elements of the core) – Caches
– Interconnects
– Memory controllers – I/O Peripherals
16
Classification
Functionality
• Stand-alone embedded systems
• ---Real-time embedded systems--- Hard real-time systems & Soft real-time system
• Networked embedded systems
• Mobile Embedded systems.
Performance
• Small scaled embedded system
• Medium scaled embedded system
• Large scaled embedded system.
Embedded Systems
Stand-alone Embedded systems :
• Works by itself. It is a self-contained device which do not require any host system like a computer- EX :Temperature measurement systems, MP3 players, digital cameras, and microwave ovens
Real-time embedded systems :
• Gives the required output in a specified time (deadline).
Soft Real-Time system:
• Violation of time constraints will cause only the degraded quality, but the system can continue to operate. EX:
Washing machine ,TV remote Hard Real-Time system :
• Violation of time constraints will cause critical failure and loss of life or property damage or catastrophe.Ex:
Deadline in a missile control embedded system , Delayed alarm during a Gas leakage , car airbag control system.
Networked embedded systems :
• Related to a network with network interfaces to access the resources. The connected network can be a LAN or a WAN, or the Internet. The connection can be either wired or wireless. EX : Home security system.
Mobile Embedded systems
• Mobile and cellular phones , digital camaras,MP3 players, PDA .Limitation is Memory & other resources.
Small scaled embedded system : Supported by a single 8–16 bit Microcontroller with on-chip RAM and ROM.
Medium scaled embedded system : Supported by 16–32 bit Microcontroller /Microprocessor with external RAM and ROM.
Large scaled embedded system: Supported by 32-64 bit multiple chips which can perform distributed jobs.
Applications
Home Appliances: Dishwasher, washing machine, microwave, Top-set box, security system , HVAC system, DVD, answering machine, garden sprinkler systems etc..
Office Automation: Fax, copy machine, smart phone system, modern, scanner, printers.
Security : Face recognition, finger recognition, eye recognition, building security system , airport security system, alarm system.
Academia : Smart board, smart room, OCR, calculator, smart cord.
Instrumentation : Signal generator, signal processor, power supplier, Process instrumentation.
Telecommunication : Router, hub, cellular phone, IP phone, web camera
Automobile : Fuel injection controller, anti-locking brake system, air-bag system, GPS, cruise control.
Entertainment MP3, video game, Mind Storm, smart toy.
Applications Conti...
Aerospace : Navigation system, automatic landing system, flight attitude controller, space explorer, space robotics.
Industrial automation : Assembly line, data collection system, monitoring systems on pressure, voltage, current, temperature, hazard detecting system, industrial robot.
Personal : PDA, smart phone, palmtop, data organizer.
Medical : CT scanner, ECG , EEG , EMG ,MRI, Glucose monitor, blood pressure monitor, medical diagnostic device.
Banking & Finance : ATM, smart vendor machine, cash register ,Share market
Miscellaneous : Elevators, tread mill, smart card, security door etc.
Features
• Belirli bir görevi yerine getirmek için tasarlanır.
• Her zaman bağımsız cihazlar değildir.
• Sınırlı bilgisayar donanımı kaynaklarıyla çalışır: az bellek, küçük veya var olmayan klavye ve / veya ekran.
• Minimum boyut ve ağırlık için maksimum performans sunar
• Verimlilik.
• Güvenilirlik.
• Gerçek zamanlı kısıtlamalarla çalışır.
Components of Embedded Systems
Hardware: Processor/controller, Timers, Interrupt controller, I/O Devices, Memories, Ports, etc
Application Software : Which may perform concurrently the series of tasks or multiple tasks
RTOS (Real Time Operating System) : RTOS defines the way the system
work. Which supervise the application software. It sets the rules during the
execution of the application program. A small scale embedded system may
not need an RTOS.
Memory
Data Memory and Code Memory RAM - volatile
ROM - non volatile EPROM
Flash/EEPROM
Von Neumann
• John von Neumann
• Single storage memory(data &
program).
• Requires more memory cycles to extract full instruction from
memory.
• Special “Table read” instructions is not needed.
• Pipelining is not possible.
• Less efficient.
Harvard
• Harvard Mark 1
• Separate memories for storage &
data.
• Requires less memory cycles to extract full instruction from
memory.
• Special “Table read” instructions is needed.
• Pipelining is possible with proper strategies.
• More efficient.
Address Bus : Address bus is a part of the computer
system bus that is dedicated for specifying a physical
address.
Data Bus : A data bus simply carries data.
If width of the address bus is 32 bit then how many
memory locations it will handle?
4,294,967,296
µp Memory
Address Lines Data Lines
Control Lines
Interface
28
System Bus
µp
Higher Address Bus
Lower Address/Data Bus
ALE
M IO/
RD
WR
READY
A 15 – A 8
AD
7– AD
029
Adres Bus: A15-A8; AD7-AD0 Data Bus: AD7-AD0
• Pin sayısı azaltma hedeflenir.
• Neden?
• Adres bus ve Data bus üzerinde aynı anda işlem yapılmaz. Önce belleğin adresi
seçilir. Sonra seçilen adrese veri yazılır ya
da okunur.
Address decoders
Memory 1
CS
Memory 2
CS
Memory 3
CS
Memory 4
CS
A 12 A 11
A 10 - A 0
S 1 S 0
E
A 13 O 0 O 1 O 2 O 3
2 to 4 decoder
30
Bellek kapasitesi kaç Kbyte’dı2?
Kapasite=2^11
byte=2 Kbyte
The Overall Picture
A15-A8
Latch AD7-AD0
D7- D0
A7- A0
ALE
IO/M WR RD
1K Byte Memory
Chip
RD WR CS
A9- A0
A15- A10 Chip Selection Circuit
31