Zajęcia dotyczące komputera klasy PC obejmują zagadnienia architektury wewnętrznej mikroprocesorów zgodnych z 8086 oraz elementów architektury komputerów PC: magistrali PCI, systemu przerwań, pamięci konfiguracyjnej i podsystemu BIOS. Szczegółowa tematyka zajęć obejmuje:
- Model programowy procesora, rejestry, tryby adresowania pamięci, lista rozkazów, podstawowe instrukcje. Rejestr wskaźnika rozkazów i wskaźnika stosu, wywoływanie procedur. Różnice między procesorami RISC i CISC.
- Elementy wejściowe i wyjściowe systemu mikrokomputerowego. Porty mikrokontrolera 8051. Wyświetlacze siedmiosegmentowe LED, wyświetlacze alfanumeryczne LCD. Klawiatury sekwencyjne i matrycowe.
- System przerwań mikrokontrolera 8051. Cykl przyjęcia przerwania, obsługa przerwań. Rola stosu w obsłudze przerwań. Maskowanie przerwań.
- Architektura wewnętrzna procesorów rodziny 8086. Segmentacja pamięci. Obliczanie adresu w rzeczywistym trybie pracy. Adres logiczny, fizyczny, efektywny. Struktura programu w systemie operacyjnym. Funkcje systemu operacyjnego, przerwania programowe.
- Identyfikacja procesorów zgodnych z 8086. Rozkaz CPUID, funkcje tego rozkazu, zwracane informacje.
- Magistrala PCI. Pamięć konfiguracyjna urządzenia podłączonego do płyty głównej komputera za pośrednictwem magistrali PCI. Adresowanie urządzenia PCI.
- Rola BIOS-u w komputerze PC, funkcje BIOS-u, pamięć konfiguracyjna CMOS.
- System przerwań komputera PC, przerwania maskowalne i niemaskowalne, tablica wektorów przerwań. Obliczanie adresu procedury obsługi przerwania. Przejmowanie przerwań systemowych.
Celem kursu „systemy wbudowane” jest przedstawienie procesu konstrukcji mikroprocesorowych systemów wbudowanych z uwzględnieniem wyboru elementów sprzętowych, systemu operacyjnego i tworzenia oprogramowania aplikacyjnego. Proces obejmuje ważne elementy takie jak tworzenie specyfikacji oraz dokumentacji całości systemu oraz podział funkcji między część realizowaną sprzętowo i programowo. Uczestnicy poznają narzędzia do projektowania symulacji i implementacji układów cyfrowych w środowisku matryc programowalnych. W trakcie zajęć studenci zapoznają się z następującą tematyką:
- Implementacja superpętli w architekturach 8-bitowych 8051 i AVR.
- System operacyjny NutOS, wielozadaniowość bez wywłaszczania.
- Obsługa edytora schematu w aplikacji Xilinx ISE Foundation.
- Wykonanie prostego projektu układu cyfrowego w edytorze schematu z wykorzystaniem. dostępnych elementów bibliotecznych.
- Symulacją układu z wykorzystaniem symulatora ISIM.
- Budowa elementu bibliotecznego.
- Obsługa edytora VHDL w aplikacji Xilinx ISE Foundation.
- Wykonanie prostego projektu układu cyfrowego w edytorze VHDL.
- Łączenie elementów bibliotecznych w VHDL.
- Symulacja układu z wykorzystaniem symulatora ModelSIM.
- Podłączenie projektu układu cyfrowego do wejść wyjść układu programowalnego.
- Implementacja projektu dla określonego układu programowalnego.
Nabyta wiedza umożliwi studentom projektowanie systemów wbudowanych, doboru elementów sprzętowych i programowych.
Zajęcia laboratoryjne prowadzone są z wykorzystaniem systemów mikrokomputerowych. Jeden z systemów jest oparty na mikrokomputerze jednoukładowym serii 8051, drugi system to komputer klasy PC oraz system ZL6PLD z układem FPGA XC3S200. Zajęcia dotyczące mikrokontrolerów 8051 są prowadzone z wykorzystaniem dydaktycznego systemu mikrokomputerowego DSM-51 wyposażonego w elementy interfejsu użytkownika: wyświetlacze LED, wyświetlacz alfanumeryczny LCD i klawiaturę. Natomiast zajęcia dotyczące układów reprogramowalnych realizowane będą z wykorzystaniem systemu uruchomieniowego ZL6PLD wyposażonego w: układ XC3S200 w obudowie VQFP100, wbudowany konfigurator z pamięcią Flash XCF01S, gniazdo do dołączenia alfanumerycznego wyświetlacza LCD o organizacji 2x16 znaków, 4-cyfrowy, multipleksowany wyświetlacz LED, 8 diod LED, 4 przyciski do dowolnych zastosowań, przycisk wymuszający inicjalizację FPGA (odczyt konfiguracji z pamięci Flash), generator kwarcowy 3,6864 MHz w podstawce, głośnik piezoelektryczny, interfejs RS232 z konwerterem napięciowym, złącze interfejsu USB (ZL1USB_A), złącze interfejsu JTAG (konfiguracja FPGA, programowanie konfiguratora).
Główne wyposażenie laboratorium stanowi:
- 8 stanowisk komputerowych typu PC,
- 4 zestawy uruchomieniowe DSM-51,
- 4 zestawy uruchomieniowe ZL6PLD z układem FPGA XC3S200,
- 4 zestawy laboratoryjne (silniki krokowe) Urządzeń Zewnętrznych.
Oprogramowanie dla systemów FPGA zainstalowane na maszynach wirtualnych (realizowane w laboratorium Bezpieczeństwa Systemów Komputerowych): - University ISE™ Foundation™ with ISE™ Simulator
- University System Generator + AccelDSP™ Bundle
- University Embedded Development Kit (EDK) Bundle
- University ChipScope Pro™ Tool
- ModelSim XE