Systemy wbudowane - Politechnika Częstochowska

Download Report

Transcript Systemy wbudowane - Politechnika Częstochowska

Systemy wbudowane
w układach sterowania
Wykład 1
dr inż. Andrzej Przybył
Katedra Inżynierii Komputerowej
Wydział Inżynierii Mechanicznej i Informatyki
Politechnika Częstochowska
• Podstawowe pojęcia:
– System wbudowany (embedded), system mikroprocesorowy,
mikrokontroler
– System On a Chip (SOC)
– Układ sterowania
• Architektura i elementy składowe typowego systemu
mikroprocesorowego
Systemy wbudowane
(ang. embedded systems)
Systemy wbudowane =
systemy mikroprocesorowe/mikrokomputerowe
do zastosowań wbudowanych
System wbudowany:
•Kompletny, kompaktowy system komputerowy zawarty na jednej płycie
bazowej.
•Zawiera wszystkie niezbędne układy peryferyjne, niezbędne do pracy w
dedykowanym obszarze zastosowań, zawarte na płytce elektronicznej. Wymaga
tylko zasilania i ew. klawiatury, myszy i monitora, itp.
•Najczęściej pozbawiony jest gotowej obudowy – przeznaczony do
wbudowania w sterowane urządzenie
2
Systemy wbudowane
i ich oprogramowanie
•
*) Systemy wbudowane to platformy sprzętowe i programowe dedykowane do
wykonywania ściśle określonych zadań (ich przeciwieństwo stanowią komputery
ogólnego zastosowania, np. klasy PC). Niektóre z nich muszą dodatkowo spełniać
wymogi systemów czasu rzeczywistego, inne mogą mieć mniej restrykcyjne wymagania
odnośnie wydajności, co ma przełożenie na prostotę konstrukcji i dalej koszt produkcji.
•
Oprogramowanie (firmware) dla urządzeń wbudowanych stanowi specyficzną gałąź
programowania narzucającą restrykcyjne ograniczenia na rozmiar, budowę oraz
szybkość działania programu (oprogramowanie czasu rzeczywistego, tworzenie
sterowników dla urządzeń oraz systemów operacyjnych dedykowanych dla konkretnych
platform sprzętowych, przetwarzanie sygnałów - DSP).
*) definicje znalezione, za pomocą wyszukiwarki google, na stronie internetowej
http://www.codeconcept.pl/pl/Services_FW_Embedded.php
Inne ciekawe informacje ze stron www:
http://www.sterowniki.pl/index.php?option=Articles&task=viewarticle&artid=13
http://www.guru.com.pl/
3
Przykładowe systemy mikroprocesorowe
do wbudowania
Przykładowy procesor sygnałowy
wyposażony w liczne peryferia.
ADSP21992 firmy Analog Devices
System On a Chip (SOC)
Zawiera większość elementów niezbędnych do pracy systemu zawarte w
strukturze krzemowej układu scalonego. W tym często układy o różnej technologii:
cyfrowe + analogowe. Typowy obszar zastosowań to systemy wbudowane.
CMOS Intelligent Vision System-on-Chip
Full-frame CMOS active-pixel grey level image
High dynamic range logarithmic response to light
Non integrating continuos current reading pixels
320 x 256 pixel resolution, 8-µm pitch square pixels,
array size 2.560 x 2.048 mm2
Źródło: www.neuricam.com
Przykładowe systemy wbudowane
-Klawiatura i mysz komputera PC
-Drukarka, skaner, dysk twardy ...
-Telefon GSM, fax, magnetofon
cyfrowy, odtwarzacz MP3,
Procesory z rodziny ARM
telefon UMTS z procesorem ARM 104MHz
Klawiatura PC
1 - mikroprzełączniki, 2 - mikroprocesor
-łączność z PC szeregowa synchroniczna (2+2przewody)
Mysz PC
1. Kulka pokryta gumą
2. Mikroprocesor
odbierający impulsy z
rolek
3. Rolki - mierzące ruch w
pionie i w poziomie
-łączność z PC szeregowa asynchroniczna (2+2przewody)
Dysk twardy, stacje dyskietek
-sterowanie silnikami: napęd talerzy, przesuwanie głowicy
-przetwarzanie danych z głowicy, komunikacja z PC
Podstawowe elementy Systemu Komputerowego:
sygnał zerujący (RESET) na przykładzie
SAB80C537
Sygnał taktujący (zegar)
Pamięci - rodzaje
Ulotne (volatile) – Pamięci RAM (Random Access Memories)
statyczne/dynamiczne
Nieulotne (nonvolatile) – wiele technologii, np.:FLASH,
EPROM/EEPROM/FRAM, NVRAM
Operacyjne/Masowe
O dostępie równoległym/O dostępie szergowym
Asynchroniczna FPM DRAM (Fast Page Mode), EDO RAM
Synchroniczna – SDRAM – dominuje w PC
Podwójnej wydajności – Dual Data Rate (DDR), DDR2/DDR3
- transmisja na obu zboczach zegara taktującego.
Specjalne – np. dwuportowe, FIFO
Podłączenie pamięci do systemu komputerowego
Pamięć dynamiczna – Dynamic RAM (DRAM)
tania i bardzo szybka - pamięć wymagająca cyklicznego
odświeżania zawartości (poprzez odczytywanie), używana w
„dużych” systemach, np. PC
Pamięć dynamiczna RAM
Pamięć dynamiczna RAM
Pamięć dynamiczna RAM
Przykładowy system komputerowy
z podłączoną pamięcią dynamiczną (SDRAM)
•
•
•
•
Widoczny jest sposób podłączenia kilku
układów scalonych pamięci
dynamicznej, w celu rozszerzenia słowa
z 4 do 16 bitów
Magistrala adresowa ma szerokość
słowa 15-bitów (A14..0), co
teoretycznie pozwala na zaadresowanie
tylko 32768 lokacji (2^15). Jednak
stosowany mechanizm adresowania
RAS i CAS pozwala na adresowanie w
obszarze 1GB (2^30 = 1 giga)
Możliwe jest podłączenie 8 zamiast 4
układów scalonych w celu uzyskania
słowa 32-bitowego.
Procesor sterujący musi posiadać
specjalną magistralę, z wszystkimi
niezbędnymi mechanizmami do
komunikacji z pamięcią synchroniczną
dynamiczną.
19
Przykładowy cykl odczytu systemu
ADSP21369 z pamięci dynamicznej
Widoczne są kolejne synchroniczne cykle taktujące pamięć:
• Adresowanie ROW (RAS)
• Adresowanie COL (CAS)
• „puste” cykle oczekiwania (NOP) związane z szybkością pamięci
• Po sześciu cyklach od zainicjowania odczytu pamięć wystawia dane na
magistralę danych
20
Przykładowy cykl zapisu systemu
ADSP21369 do pamięci dynamicznej
Widoczne są kolejne synchroniczne cykle taktujące pamięć:
• Adresowanie ROW (RAS)
• Adresowanie COL (CAS)
• „puste” cykle oczekiwania (NOP) związane z szybkością pamięci
• Po dwu cyklach od zainicjowania zapisu procesor musi wystawić dane na
magistralę danych, aby pamięć mogła je zapisać w czasie kolejnych 4 cykli
21
Pamięć statyczna – Static RAM (sRAM)
• Szybka, dość droga – typowa pamięć używana jako pamięć operacyjna w
„małych” systemach mikroprocesorowych,
• Służy też jako pamięć buforująca między dużą pamięcią operacyjną komputerów
typu PC (zrealizowaną w postaci pamięci dynamicznej) i procesorem (tzw. pamięć
cache - poziomu /level/ I, II, III)
• Rozsądną granicą stosowania pamięci statycznej jest zapotrzebowanie systemu
komputerowego na pamięć poniżej jednego megabajta (MB)
Rys. Budowa pojedynczego bitu pamięci statycznej
Pamięć statyczna RAM
pamięć statyczna typu IS62C256
32K x 8 LOW POWER CMOS STATIC RAM, producent ISSI
Pamięć statyczna – magistrale
Cykl dostępu do pamięci statycznej – asynchronicznej
odczyt pamięci (cykl odczytu)
CS – CHIP SELECT (podobna nazwa CE = CHIP ENABLE)
OE – OUTPUT ENABLE (podobna nazwa RD – READ)
Brak cykli zegarowych znanych z pamięci synchronicznej – operacje dostępu muszą się
odbywać w ściśle określonych przedziałach czasowych.
Cykl dostępu do pamięci statycznej – asynchronicznej
zapis do pamięci (cykl zapisu)
WE – WRITE ENABLE (lub WR)
Przykładowy system z procesorem DSP współpracujący z
pamięciami StaticRAM i DynamicRAM
27
Pamięci RAM - moduły
Symbol układu
Pojemność pamięci
4164
4464
41128
44128
41256
44256
41000
44000
64 K razy 1 bit
64 K razy 4 bity
128 K razy 1 bit
128 K razy 4 bity
256 K razy 1 bit
256 K razy 4 bity
1 M razy 1 bit
1 M razy 4 bity
„Szeroka” magistrala danych =
duża szybkość + duża liczba wyprowadzeń (pinów)
Dysk twardy, stacje dyskietek
-sterowanie silnikami: napęd talerzy, przesuwanie głowicy
-przetwarzanie danych z głowicy, komunikacja z PC
Wstępne wnioski
•Ze względu na bardzo różnorodne wymagania i funkcje systemów
wbudowanych nie jest możliwe zbudowanie jednej uniwersalnej
platformy sprzętowej dla wszystkich zastosowań
•Z technicznego punktu widzenia najlepszym rozwiązaniem jest
zaprojektowanie dedykowanego sprzętu na potrzeby konkretnego
zastosowania.
•Jednak w przypadku produkcji małoseryjnej nie jest to ekonomicznie
uzasadnione. Dlatego, w takim przypadku dobrze jest zastosować gotowe
platformy sprzętowe do zastosowań wbudowanych.
30
Określenie warunków
jakie musi spełniać system sterowania
Warunek konieczny w każdym systemie sterowania: zapewnienie determinizmu.
Reakcja systemu za zdarzenie nie może zajść później niż w odgórnie określonym
limicie czasu.
Jest to tzw. system czasu rzeczywistego. Praktycznie każdy system sterowania
musi być systemem czasu rzeczywistego.
Istnieję tzw. miękkie i twarde systemy czasu rzeczywistego (Soft Real Time
Systems i Hard Real Time Systems) różniące się tym jak rygorystyczne są warunki
dotyczące determinizmu.
W systemach Hard Real Time – rygor czasu rzeczywistego jest najwyższy, co
często dyskwalifikuje możliwość użycia jakiegokolwiek systemu operacyjnego.
Nawet tzw. Systemy Operacyjne Czasu Rzeczywistego (Real Time Operating
Systems – RTOS) nie są w stanie często spełnić wymaganego reżimu czasowego.
Użycie systemu operacyjnego ułatwia pracę programiście, gdyż udostępnia
wiele gotowych i przydatnych funkcji, takich jak: konfiguracja startowa systemu
(zainicjowanie urządzeń do pracy), obsługa pamięci masowej (system plików na
dyskach), zarządzanie pamięcią wirtualną, obsługa urządzeń interfejsu użytkownika
(ekran, mysz, klawiatura, dźwięk) itp.
31
Dobór platformy sprzętowej,
do wykorzystania w systemach sterowania
• Określenie algorytmu i programu, jaki ma być używany w
projektowanym systemie. W szczególności oszacowanie zapotrzebowania
na:
– Konieczność stosowania systemu operacyjnego czasu rzeczywistego lub
brak konieczności stosowania jakiegokolwiek systemu operacyjnego
– Pamięć operacyjna (pojemność)
– Pamięć nieulotna/masowa: pamięć flash, dysk twardy itp.
– Moc obliczeniową procesora
– Specyficzne właściwości procesora: DSP, specjalizowane koprocesory,
jednostki FPGA, itp..
• Określenie wymaganych interfejsów I/O (Input/Output) użytkownika:
– Ekran graficzny, alfanumeryczny, proste wyświetlacze LED, głośnik,
klawiatura, mysz, joystick, dodatkowe przyciski i czujniki
• Określenie wymaganych interfejsów I/O do komunikacji z urządzeniem
sterowanym oraz innymi elementami systemu:
–
–
–
–
linie wejściowo-wyjściowe (tzw. porty)
generatory czasowo-licznikowe, sterowniki impulsowe PWM
wejścia lub wyjścia analogowe
specjalizowane lub uniwersalne interfejsy komunikacyjne: Ethernet, RS
232/485, CAN, USB, Fire Wire, Bluetooth, WiFi, itp.
32
Przykładowe platformy sprzętowe
Moduły komputerowe w postaci „kanapkowej” PC/104 oraz kilka
przykładowych kart rozszerzeń
33
Przykładowe platformy sprzętowe
Przykładowe komputery przemysłowe PC do zastosowań
wbudowanych
34
Przykładowe platformy sprzętowe
Moduły z mikrokontrolerami lub układami FPGA
Zdjęcia modułu FPGA do serwonapędów (prawa strona slajdu) pobrano ze strony autora wykładu
http://kik.pcz.czest.pl/~ap/projekt/index.php?option=com_content&task=view&id=106&Itemid=36
35
Przykładowe pytania testowe
1.
2.
3.
4.
5.
6.
Czym różnią się od siebie pamięci statyczne i dynamiczne?
Czym różni się praca synchroniczna i asynchroniczna pamięci
operacyjnej?
Co to są pamięci ulotne i nieulotne?
Jak pod względem logicznym adresowana jest pamięć systemu
komputerowego? (szerokość magistral adresowej i danych a dostępny
dla programisty obszar pamięci)?
Co dzieję się w systemie komputerowym po podaniu sygnału
RESET?
Do czego służy sygnał zegarowy w systemie komputerowym?
36