Sunteți pe pagina 1din 29

Sisteme Încorporate

Curs 9
Sisteme Încorporate
8. Sistemele Raspberry Pi
8.1. Structură
 Microcalculator simplu, cu formă de placă, fără carcasă, ușor
(aprox. 45-50 g), de dimensiuni mici (86 x 54-56 x 15-21 mm);
 Prima variantă: 2011 – ultima variantă: 2019;
Sisteme Încorporate

 Sistem de operare: Linux;


 Componente și conectori:
 SoC: Broadcom BCM2835:
 CPU ARM1176JZ-F Low Power 700 MHz; 32 biți;
 GPU: Dual Core VideoCore IV Multimedia Co-Processor;
 Memorie: 256/512 MO SDRAM;
 Conectori și interfețe video:
 Composite RCA: ptr. echipamente video mai vechi;
 HDMI: echipamente video mai noi;
 DSI (Display Serial Interface): ptr. ecrane LCD;
 Conector 3,5 mm ptr. sunet;
 2/1 conectori USB; se poate conecta tastatură, mouse etc.; dacă există 1 USB
este necesar un hub USB ptr. a conecta o tastatură + un mouse; recomandare:
hub cu alimentare;
 Conector RJ45 pentru Ethernet;
 Conexiune wireless: nu există pe placă, se poate crea prin un adaptor wireless
USB;
 Conector pentru alimentare: micro USB;
Sisteme Încorporate

 Slot pentru card SD: cardul va conține SO;


 GPIO: 26 linii de port; conferă caracteristici de SI: monitorizare și comandă a
mediului exterior:
 Linii de I/E;
 UART, I2C, SPI;
Sisteme Încorporate
 Raspberry Pi 3:
Sisteme Încorporate
 Îmbunătățiri:

 SoC: Broadcom BCM2837; procesor pe 64 biți;


 Frecvență mărită a procesorului, la 1,2 GHz; 2 nivele de memorie cache, 32
KO și 512 KO;
 Capacitate mărită a memoriei RAM, la 1 GO;
 Interfață wireless pe placă, inclusiv antenă: Bluetooth Low Energy, Bluetooth
clasic și WiFi;
 Port micro SD pentru SO și memorare de date;
 4 porturi USB;
 1 port pentru RCA + sunet;
 GPIO cu 40 pini: 2 pini 5V, 2 pini 3,3V, 8 pini GND, 1 pin PWM, 26 pini I/E;
 Port pentru camera video Raspberry Pi;
 Conector micro USB îmbunătățit, suportă 2,5 A.
Sisteme Încorporate
8.2. Benchmarks

 Suport pentru multitask


Sisteme Încorporate
 Modificarea pinilor de I/E, utilizând Python
Sisteme Încorporate
 Whetstone: arată performanța în calculul în virgulă flotantă
Sisteme Încorporate
 Consumul de putere
Sisteme Încorporate

8.3. Procesorul ARM 1176


 Structură RISC, low power, folosit în dispozitive mobile;
Sisteme Încorporate
 Schemă bloc detaliată
Sisteme Încorporate

 3 seturi de instrucțiuni:
 Setul ARM 32 biți: asigură performanță maximă;
 Setul Thumb 16 biți:
 Este un subset al setului anterior și folosește resursele procesorului la nivel de
32 biți: spațiu de adrese, registre, ALU, transferul cu memoria;
 Are instrucțiuni corespondente pe 32 biți;
 Performanță mare, cod mai compactat ca cel corespondent pe 32 biți;
 Performanță mai mare și cod mai compactat decât în cazul utilizării unui set
clasic pe 16 biți care rulează pe o structură pe 32 biți;
 Setul Java 8 biți:
 Asigură suport pentru execuția codului Java;
 Blocuri:
 Instruction TCM, Data TCM (Tightly Coupled Memory): zone de memorie
rapide, de dimensiuni mici, situate aproape de CPU;
 ETM Interface (Embedded Trace Macrocell): asigură urmărire în timp real
a unor semnale din nucleu;
Sisteme Încorporate

 Integer Core:
 Conține 40 registre de câte 32 biți;
 Procesează valorile întregi;
 Include bandă de asamblare;
 Load/Store Unit:
 Tratează toate operațiile de încărcare și depunere;
 Prefetch Unit:
 Se ocupă de apeluri; folosește predicția ramurilor;
 Memory Management Unit:
 Se ocupă de accesele la memorie;
 Vector Floating Point Coprocessor:
 Procesează operațiile în virgulă flotantă, în simplă și dublă precizie;
 VIC Interface (Vector Interrupt Control):
 Procesează cererile de întrerupere;
 Tratează semnalele externe;
 JTAG Interface:
 Se folosește la depanare;
Sisteme Încorporate

 Memoria cache:
 4 way set associative cu dimensiune configurabilă 4 – 64 KO;
 Înlocuirea liniilor din memorie se face prin Round Robin sau Pseudo
Random (stabilit prin un rang din un registru);
 Scrierea se face prin write-back sau write-through, stabilit de Micro TLB;
 O linie de date conține atât date securizate cât și nesecurizate;
Sisteme Încorporate

 Predicția:
 Integer Core (IC) folosește predicția statică;
 Prefetch Unit (PU) folosește predicția dinamică;
 Când un salt condiționat este soluționat, PU primește informații de la IC și
alocă spațiu în memoria cache sau actualizează o intrare;
 Salturile condiționate sunt soluționate la sau până la nivelul 3 din banda
de asamblare;
 Predicția dinamică folosește istoria salturilor condiționate; prin intermediul
a 2 biți, se alege una din variantele:
 Strong predict branch taken;
 Weak predict branch taken;
 Strong predict branch not taken;
 Weak predict branch not taken;
 Predicția statică:
 Nu folosește istoria salturilor condiționate;
 Regula este neexecuția salturilor condiționate înainte și execuția salturilor
condiționate înapoi;
Sisteme Încorporate
8.4. Software
8.4.1. Instalare
 SO trebuie descărcat pe cardul SD; rulează mai multe implementări Linux și
non-Linux; varianta Linux cea mai răspândită: Raspbian; variantă Windows:
Windows 10 IoT Core;
 Descărcarea din Windows, OS X și Linux:
 Ptr. Linux și OS X: www.raspberrypi.org/downloads;
 Ptr. Windows: trebuie descărcat Image Writer for Windows:
https://sourceforge.net/projects/win32diskimager ;
 Gestiunea descărcărilor sistemelor de operare se poate face cu NOOBS
(New Out-Of-Box Software):
 Poate fi preâncărcat pe card sau se poate descărca de la
www.raspberrypi.org/downloads;
 La conectarea alimentării apare o listă de sisteme de operare;
 Dacă se încarcă mai multe SO, NOOBS va cere alegerea unuia sau va lansa ultimul
SO încărcat;
 Limbaje: Python, C, C++, Java, Ruby, Scratch, ...
Sisteme Încorporate
8.4.2. Configurarea Raspberry Pi
8.4.2.1. Raspberry Pi Configuration Tool
 raspi-config – lucrează doar cu Raspbian Linux;
 Lansare: sudo raspi-config;
 Meniu text cu opțiunile:
 Expand Filesystem
 Change User Password
 Enable Boot to Desktop/Scratch
 Internationalisation Options
 Enable Camera
 Add to Rastrack
 Overclock
 Advanced Options
 About raspi-config.
Sisteme Încorporate
 Expand Filesystem:
 Extinde sistemul de fișiere Raspbian pe întregul card;
 Change User Password:
 Raspbian include, în mod implicit, un singur cont utilizator numit pi,
password raspberry; bun pentru utilizarea privată;
 În cazul unei utilizări cu acces public (de ex. WiFi, Internet) este
necesară modificarea datelor contului;
 Enable Boot to Desktop/Scratch:
 Raspbian începe prin afișarea unei interfețe bazată pe linii de comandă,
suficientă pentru multe aplicații;
 Dacă este necesară GUI, atunci trebuie instalat un mediu desktop;
opțiuni:
 Console: cere login cu username și passord, apoi comanda startx pentru a
încărca GUI;
 Desktop: login automat cu datele implicite ale contului și încarcă GUI;
 Scratch: încarcă mediul educațional Scratch;
Sisteme Încorporate

 Internationalisation Options:
 Change Locale: schimbă limba;
 Change Timezone: schimbă ora locală (raportat la Greenwich Mean Time);
 Change Keyboard Layout: schimbă configurația QWERTY a tastaturii;
 Enable Camera:
 Permite folosirea Raspberry Pi Camera Module;
 Add to Rastrack:
 Este o hartă a modulelor Raspberry Pi; este necesară înregistrarea;
 Overclock:
 Permite funcționarea la o frecvență a procesorului și memoriei mai mari ca
cele nominale;
 Opțiuni: nominal: 700 MHz, 400 Mhz; modest: 800 MHz, 400 MHz; medium:
900 MHz, 450 MHz; high: 950 MHz, 450 MHz; turbo: 1000 MHz, 600 MHz;
 Crește consumul, procesorul se încălzește, posibil ca unele module să nu
accepte toate opțiunile;
Sisteme Încorporate

 Advanced Options:
 Overscan: asigură concordanța între dimensiunile ecranului și ale imaginii
transmise;
 Hostname: identificarea unui modul în o rețea se face cu hostname; dacă
se dispune de mai multe module legate în sistem, numele trebuie
schimbat, respectând anumite reguli;
 Memory Split: asigură partiționarea memoriei (256 Mo sau 512 Mo) între
CPU și GPU; implicit, GPU are 64 Mo; pentru aplicații în care nu este
necesară grafică (de ex. web server), GPU nu are nevoie de memorie;
 SSH (Secure Shell): permite accesarea Raspberry Pi prin rețea, de
exemplu atunci când funcționează ca un server și nu este nevoie să aibă
o tastatură sau/și un monitor; crește vulnerabilitatea modulului;
 SPI: încarcă driverul pentru SPI;
 Audio: decide conectorul pentru ieșirea audio: HDMI sau conectorul audio
de 3,5 mm;
 Update: actualizează versiunea de raspi-config;
 About raspi-config: prezintă instrumentul.
Sisteme Încorporate
8.4.2.2. Configurarea avansată
SoC BCM283x nu are posibilități de configurare similare PC-ului (nu
conține BIOS); configurarea avansată se face prin fișiere text config.txt și
cmdline.txt; există riscul de nefuncționare;
 Hardware Settings - config.txt:
 Modificarea display-ului;
 Opțiuni de boot;
 Overclocking;
 Overvoltage;
 Disabling L2 Cache - config.txt:
 SoC dispune de memorie cache L2, 128 Ko, prevăzută inițial doar pentru GPU;
poate fi partajată cu CPU;
 Memory Partitioning - config.txt:
 Memoria (256 Mo sau 512 Mo) poate fi partiționată între CPU și GPU; GPU poate
primi 16 Mo – 128 Mo;
 Enabling Test Mode - config.txt;
 Software Settings - cmdline.txt;
Sisteme Încorporate

 Modificarea display-ului:
 Overscan_left, right, top, bottom; disable_overscan;
 Framebuffer_width, height, depth: modifică dimensiunile caracterelor pe lățime,
înălțime, nr. de culori;
 Sdtv_mode, aspect: stabilește modurile NTSC sau PAL, 4:3, 14:9 sau 16:9;
 Hdmi_mode, drive;
 Opțiuni de boot:
 Stabilește modul de încărcare a nucleului Linux; stabilește rata de transfer serial;
 Overclocking:
 Stabilește frecvența CPU, GPU (core – pentru procesor, h264 – pentru datele
video în format H.264, isp – pentru a îmbunătăți rata de captură video (de ex. de la
cameră), v3d – pentru jocuri), SDRAM, UART, SD controller;
 Overvoltage:
 Tensiunea de alimentare nominală a SoC și SDRAM este 1,2 V; poate fi modificată
în domeniul 0,8 – 1,4 V în pași de 0,025 V;
 Over_voltage pentru SoC, SDRAM, memoria pentru sistemul de I/E, logica de
comandă a memoriei.
Sisteme Încorporate
8.5. Aplicații
8.5.1. Comanda unui LED
 LED conectat prin rezistență la pinul 11 (3,3 V);
Python: programul scris în un editor de text sau într-un IDE (IDLE pentru
Raspbian Linux);
 Se importă bibliotecile GPIO și time; se setează GPIO și pinul 11 ca ieșire; se
salvează programul ca gpiooutput.py și se execută;

import RPi.GPIO as GPIO


import time
GPIO.setmode (GPIO.BOARD)
GPIO.setup (11, GPIO.OUT)
while True:
GPIO.output (11, True)
time.sleep (2)
GPIO.output (11, False)
time.sleep (2)
Sisteme Încorporate
8.5.2. Citirea stării unui comutator
 Se conectează la pinul 12; alimentarea la 3,3 V;
La apăsarea pe comutator, pinul citește 0; se afișează un mesaj, se
așteaptă dezactivarea comutatorului; se salvează programul ca
gpioinput.py și se execută;

import RPi.GPIO as GPIO


GPIO.setmode (GPIO.BOARD)
GPIO.setup (12, GPIO.IN)
while True:
input_value = GPIO.input (12)
if input_value == False:
print (”The button has been pressed.”)
while input_value == False:
input_value = GPIO.input (12)
Sisteme Încorporate
8.5.3. Plăci de conversie/extensie
 Gertboard: placă activă, conține: 12 linii de I/E cu tampon și LED-uri de
stare, 3 butoane, 2 DAC, 2 ADC, un controller pentru motor, 18 V, 2 A, 6
drivere open-colector, microcontroler ATmega 328;
 Adafruit Prototyping Pi Plate: placă de extensie și conversie a pinilor GPIO;
cu dimensiunea plăcii Pi;
 Ciseco Slice of Pi
 Avantaje:
 Se conectează pe GPIO și acoperă parțial placa Pi lăsând acces liber la conectori;
arată numele pinilor;
 Face conversie pini tată – pini mamă ai GPIO, oferind protecție pinilor; se pot face
conexiuni cu fire tată – tată;
 Oferă o zonă liberă pentru conexiuni și o zonă pentru interfață Xbee care se va
conecta la interfața UART;
 Dezavantaje:
 Dimensiuni mici pentru zona liberă => doar pentru aplicații mici;
 Denumirile pinilor sunt diferite față de cele ale GPIO;
Sisteme Încorporate
Placa Ciseco:
Sisteme Încorporate
8.5.4. Alte sisteme similare
 BeagleBone Black
Sisteme Încorporate
 OrangePi Plus 2

 H3 Quad-core (Cortex
-A7) CPU; 1 – 1,2 GHz;
 Mali 400 GPU;
 Conector RJ45 ptr.
Ethernet;
 Wireless LAN
 Video 4K față de
Full HD la Pi3;
 4 USB 2.0 + 1 USB OTG;
 + 1 Go RAM față de Pi3;
 16 Go memorie de masă pe placă față de 0 la Pi3;
 Lipsă suport pentru Bluetooth;
 Preț 49 $.

S-ar putea să vă placă și

  • Curs 2-fdcd
    Curs 2-fdcd
    Document2 pagini
    Curs 2-fdcd
    Denisa Oniceanu
    Încă nu există evaluări
  • Curs 2
    Curs 2
    Document27 pagini
    Curs 2
    Ioana Raluca Tiriac
    Încă nu există evaluări
  • Curs 8 Si 9-cvv
    Curs 8 Si 9-cvv
    Document2 pagini
    Curs 8 Si 9-cvv
    Denisa Oniceanu
    Încă nu există evaluări
  • SI Curs84
    SI Curs84
    Document33 pagini
    SI Curs84
    Denisa Oniceanu
    Încă nu există evaluări
  • Curs 3-Dfda
    Curs 3-Dfda
    Document1 pagină
    Curs 3-Dfda
    Denisa Oniceanu
    Încă nu există evaluări
  • SI Curs35
    SI Curs35
    Document35 pagini
    SI Curs35
    Denisa Oniceanu
    Încă nu există evaluări
  • Papagalii
    Papagalii
    Document1 pagină
    Papagalii
    Cristescu Averia Iulia
    Încă nu există evaluări
  • Bichon Maltez
    Bichon Maltez
    Document1 pagină
    Bichon Maltez
    Denisa Oniceanu
    Încă nu există evaluări
  • Exemplu Anexa 2.1-3.7-Formular Pentru Temele de Proiect
    Exemplu Anexa 2.1-3.7-Formular Pentru Temele de Proiect
    Document2 pagini
    Exemplu Anexa 2.1-3.7-Formular Pentru Temele de Proiect
    Denisa Oniceanu
    Încă nu există evaluări
  • Pasarile Romaniei
    Pasarile Romaniei
    Document1 pagină
    Pasarile Romaniei
    Denisa Oniceanu
    Încă nu există evaluări
  • Cocori
    Cocori
    Document2 pagini
    Cocori
    Denisa Oniceanu
    Încă nu există evaluări
  • Model Portofoliu de Practica
    Model Portofoliu de Practica
    Document3 pagini
    Model Portofoliu de Practica
    Denisa Oniceanu
    Încă nu există evaluări
  • Exemplu Anexa 2.1-3.7-Formular Pentru Temele de Proiect
    Exemplu Anexa 2.1-3.7-Formular Pentru Temele de Proiect
    Document2 pagini
    Exemplu Anexa 2.1-3.7-Formular Pentru Temele de Proiect
    Denisa Oniceanu
    Încă nu există evaluări
  • Papagali Domestici
    Papagali Domestici
    Document1 pagină
    Papagali Domestici
    Denisa Oniceanu
    Încă nu există evaluări
  • Copilul Agresiv1
    Copilul Agresiv1
    Document29 pagini
    Copilul Agresiv1
    Denisa Oniceanu
    Încă nu există evaluări
  • DECLARATIE DE PROPRIA RASPUNDERE Model - Odt
    DECLARATIE DE PROPRIA RASPUNDERE Model - Odt
    Document1 pagină
    DECLARATIE DE PROPRIA RASPUNDERE Model - Odt
    Denisa Oniceanu
    Încă nu există evaluări
  • Output PDF
    Output PDF
    Document2 pagini
    Output PDF
    Denisa Oniceanu
    Încă nu există evaluări
  • L PDF
    L PDF
    Document2 pagini
    L PDF
    Denisa Oniceanu
    Încă nu există evaluări
  • Proiect Sincretic I Sistem de Monitoriza PDF
    Proiect Sincretic I Sistem de Monitoriza PDF
    Document34 pagini
    Proiect Sincretic I Sistem de Monitoriza PDF
    Denisa Oniceanu
    Încă nu există evaluări
  • Proiect Sincretic I Sistem de Monitoriza PDF
    Proiect Sincretic I Sistem de Monitoriza PDF
    Document34 pagini
    Proiect Sincretic I Sistem de Monitoriza PDF
    Denisa Oniceanu
    Încă nu există evaluări
  • V
    V
    Document3 pagini
    V
    Denisa Oniceanu
    Încă nu există evaluări
  • PR
    PR
    Document3 pagini
    PR
    Denisa Oniceanu
    Încă nu există evaluări
  • CURS 8 MMKM
    CURS 8 MMKM
    Document21 pagini
    CURS 8 MMKM
    Denisa Oniceanu
    Încă nu există evaluări
  • Laborator76 PDF
    Laborator76 PDF
    Document2 pagini
    Laborator76 PDF
    Denisa Oniceanu
    Încă nu există evaluări
  • Model Portofoliu de Practica
    Model Portofoliu de Practica
    Document3 pagini
    Model Portofoliu de Practica
    Denisa Oniceanu
    Încă nu există evaluări
  • PMD Examen
    PMD Examen
    Document31 pagini
    PMD Examen
    Denisa Oniceanu
    Încă nu există evaluări
  • PMD
    PMD
    Document2 pagini
    PMD
    Denisa Oniceanu
    Încă nu există evaluări
  • Tigrii
    Tigrii
    Document1 pagină
    Tigrii
    Denisa Oniceanu
    Încă nu există evaluări
  • E A
    E A
    Document1 pagină
    E A
    Denisa Oniceanu
    Încă nu există evaluări