Technika mikroprocesorowa
Skrypt jest przeznaczony do praktycznego nauczania programowania mikrokontrolerów rodziny AVR firmy Atmel w jeżyku asembler. W procesie dydaktycznym wykorzystano środowisko AVR Studio oferowane bezpłatnie przez firmę Atmel wyposażone w kompilator i debugger do usuwania błędów programistycznych przez prowadzenia „wirtualnych” symulacji działania programu. Do sprawdzenia przygotowanych projektów studenci maja do dyspozycji zestawy uruchomieniowe EVB-503 Advanced firmy Propox z mikrokontrolerem AT90S8515 (lub ATMega8515). Programowanie mikrokontrolera w zestawie następuję po laczu szeregowym w systemie ISP (in system programing) lub po laczu JTAG. Wykorzystanie interfejsu JTAG umożliwia dodatkowo prowadzenie emulacji działania programu tj. obserwacji w czasie rzeczywistym stanu rejestrów mikrokontrolera, do którego załadowano program wykonywalny. Zestaw EVB-503 w wersji Advanced posiada wyposażenie dodatkowe w postaci: 8 diod, 8 przycisków, zewnętrznej pamięci RAM 32kB, wyświetlacza LCD, buzzera, zegara czasu rzeczywistego DS1305 i pamięci AT45DB081B na magistrali SPI, zegara czasu rzeczywistego PCF8583 i pamięci EEPROM 24CXX na magistrali I2C.
Cykl nauczania przewiduje:
— poznanie zasad obsługi urządzeń peryferyjnych mikrokontrolera: portów, timerów, interfejsów magistral UART, SPI, I2C,
— tworzenie projektów i prowadzenie symulacji w środowisku AVR Studio,
— tworzenie programów w jeżyku asembler z wątkiem głównym i watkami bocznymi (przerwaniami),
—- ładowanie programów wykonywalnych, obserwacje działania programów w zestawie uruchomieniowym.
Układ AT90S8515 jest 8- bitowym mikrokontrolerem CMOS malej mocy bazującym na architekturze AVR RISC. Wiekszosc rozkazów jest wykonywana w jednym cyklu zegarowym, co pozwala mikrokontrolerowi AT90S8515 na osiągniecie prędkości 1MIPS na MHZ. Po podłączeniu zegara z kwarcem o częstotliwości XMHz mikrokontroler wykonuje XMega rozkazów na sekunde (cykl zegarowy = 1/X|i.s). Prędkość mikrokontrolera rośnie wprost proporcjonalnie do częstotliwości kwarcu, lecz pociaga to za sobą również wzrost poboru mocy ze źródła zasilającego.
Rdzeń mikrokontrolera AT90S8515 tworzy jednostka arytmetyczno-logiczna ALU i 32 rejestry robocze. Wszystkie 32 rejestry sa bezpośrednio podłączone do jednostki arytmetyczno-logicznej ALU zezwalając na równoczesny dostęp do dwóch niezależnych rejestrów w czasie wykonywania jednego rozkazu w jednym cyklu zegarowym. Zapewnia to I0-krotny wzrost prędkości mikrokontrolera w stosunku do urządzeń zbudowanych w oparciu o architekturę CISC.
W strukturze mikrokontrolera AT90S8515 można rozróżnić następujące bloki: 8K bajtów pamięci programu typu Flash z możliwością programowania szeregowego w układzie przez interfejs SPI, 512 bajtów nielotnej pamięci EEPROM, 512 bajtów ulotnej pamięci SRAM, 32 linie wejsciowe/wyjsciowe portów, 32 rejestry ogólnego przeznaczenia, zegar czasu rzeczywistego (RTC), trzy elastyczne timery pracujące m.in. w trybie porównawczym, jednostkę obsługi przerwań wewnętrznych i zewnętrznych, moduł transmisji szeregowej UART, układ wewnętrznej kontroli wykonania programu Watchdog, port szeregowy SPI.
3