PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO

Podobne dokumenty
WPROWADZENIE Mikrosterownik mikrokontrolery

MIKROKONTROLERY I MIKROPROCESORY

System mikroprocesorowy i peryferia. Dariusz Chaberski

Wykład Mikroprocesory i kontrolery

Systemy uruchomieniowe

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Płyta uruchomieniowa EBX51

Technika Mikroprocesorowa

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

Który z podzespołów komputera przy wyłączonym zasilaniu przechowuje program rozpoczynający ładowanie systemu operacyjnego? A. CPU B. RAM C. ROM D.

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

2. Architektura mikrokontrolerów PIC16F8x... 13

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

KARTA PRZEDMIOTU. Architektura Komputerów C4

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

Architektura komputerów

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Politechnika Gdańska. Gdańsk, 2016

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Systemy na Chipie. Robert Czerwiński

Programowalne Układy Cyfrowe Laboratorium

Systemy mikroprocesorowe. Literatura podręcznikowa. Przedmioty związane. Przykłady systemów wbudowanych. Pojęcie systemu wbudowanego embedded system

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Opis przedmiotu zamówienia CZĘŚĆ 1

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Organizacja typowego mikroprocesora

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

MCAR Robot mobilny z procesorem AVR Atmega32

Opis efektów kształcenia dla modułu zajęć

URZĄDZENIA WEJŚCIA-WYJŚCIA

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

Systemy wbudowane. Paweł Pełczyński

Politechnika Białostocka

Architektura mikrokontrolera MCS51

Opis przedmiotu zamówienia

SYNTEZA AUTOMATÓW SKOŃCZONYCH Z WYKORZYSTANIEM METOD KODOWANIA WIELOKROTNEGO

Katedra Mikroelektroniki i Technik Informatycznych

Wykład 2. Mikrokontrolery z rdzeniami ARM

Architektura mikrokontrolera MCS51

Systemy wbudowane Mikrokontrolery

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Architektura systemów komputerowych. dr Artur Bartoszewski

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Katedra Systemów Automatyki Automatyka i Robotyka. Obszary kształcenia. Nauki techniczne

Programowanie Mikrokontrolerów

Szczegółowy opis przedmiotu zamówienia. Część 1 - Laboratoryjny zestaw prototypowy

Sprawdzian test egzaminacyjny GRUPA I

ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x. Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC213x

Chipset i magistrala Chipset Mostek północny (ang. Northbridge) Mostek południowy (ang. Southbridge) -

Szkolenia specjalistyczne

Wejścia logiczne w regulatorach, sterownikach przemysłowych

Obsługa kart pamięci Flash za pomocą mikrokontrolerów, część 1

ELEMENTY SYSTEMU KONTROLI DOSTĘPU

Architektura komputerów

ZL10PLD. Moduł dippld z układem XC3S200

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Technika Cyfrowa. Badanie pamięci

Budowa i zasada działania komputera. dr Artur Bartoszewski

LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH


Research & Development Ultrasonic Technology / Fingerprint recognition

Sterownik PLC ELP11R32-BASIC Dokumentacja techniczna (ver. 1.0)

Mikroprocesory i Mikrosterowniki

Mikrokontrolery w systemach pomiarowo sterujących

ZL8AVR. Płyta bazowa dla modułów dipavr

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

ARMputer, część 1 AVT 922

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Cyfrowe układy scalone

PRZEWODNIK PO PRZEDMIOCIE

SML3 październik

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

Sprawdzian test egzaminacyjny 2 GRUPA I

Interfejs urządzeń peryferyjnych

NXP ma nowe ARM-y. BlueStreak: co i jak

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

ZL5ARM. Zestaw uruchomieniowy dla mikrokontrolerów LPC2119/2129 (rdzeń ARM7TMDI-S) Kompatybilność z zestawem MCB2100 firmy Keil

LEKCJA TEMAT: Zasada działania komputera.

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

Przykładowe pytania DSP 1

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

ARCHITEKTURA PROCESORA,

Transkrypt:

II Konferencja Naukowa KNWS'05 "Informatyka- sztuka czy rzemios o" 15-18 czerwca 2005, Z otniki Luba skie PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO Sebastian Pawlak Instytut Informatyki i Elektroniki, Uniwersytet Zielonogórski 65-246 Zielona Góra, ul. Podgórna 50 e-mail: S.Pawlak@iie.uz.zgora.pl STRESZCZENIE W artykule opisano projekt i proces optymalizacji struktury logicznej systemu mikroprocesorowego, zaprojektowanego i wykorzystywanego do celów dydaktycznych w laboratorium Instytutu Informatyki i Elektroniki Uniwersytetu Zielonogórskiego. 1. WPROWADZENIE Najatrakcyjniejszą i najwydajniejszą metodą zdobywania wiedzy jest nauka poprzez doświadczenia praktyczne. Umożliwienie studentom pracy z rzeczywistymi (nie wirtualnymi) modelami powinno znacznie zwiększyć jakość kształcenia. W tym celu został zaprojektowany system mikroprocesorowy integrujący mikrokontroler jednoukładowy i układ logiki programowalnej CPLD (Complex Programmable Logic Device). 2. ARCHITEKTURA SYSTEMU System został zaprojektowany jako system modułowy. W podstawowej wersji składa się z mikrokontrolera, układu CPLD, 64KB pamięci programu i 32KB pamięci danych. Płyta główna wyposażona jest w trzy złącza rozszerzeń ogólnego przeznaczenia, podstawkę pod moduł komunikacji bezprzewodowej w standardzie Bluetooth [1] oraz port dla wyświetlacza alfanumerycznego LCD. Schemat blokowy urządzenia przedstawiono na rys. 1. 2.1. Mikrokontroler Wybrano układ 80C32 z rodziny Intel MCS-51 [2]. Układ ten jest bardzo popularny i jest jednym z najtańszych na rynku. Zastosowanie zegara 11.0592MHz pozwala na uzyskanie synchronizacji wbudowanego w mikrokontroler portu szeregowego RS232 z wykorzystanym w systemie modułem Bluetooth. Magistralę danych, adresową i sterującą mikrokontrolera 263

podłączono bezpośrednio do układu CPLD, który pełni rolę mostka do magistrali systemowej. Jeden z portów mikrokontrolera zarezerwowano dla wyświetlacza alfanumerycznego LCD. Bluetooth ROK101008 LCD 16x2 MCS-51 P80C32 Flash 64KB AT49F512 SRAM 32KB CY62256 Zasilacz stab. 3.3V i 5V Magistrala systemowa (8-bitów) Centronics 8 CPLD XC9572XL INT0..2 Port 0 Port 1 Port 2 JTAG Rys. 1. Schemat blokowy systemu mikroprocesorowego 2.2. Układ CPLD Układ CPLD pełni rolę mostka pomiędzy mikrokontrolerem, a magistralą systemową. Konieczne jest zaimplementowanie w nim dekodera adresu, kontrolera przerwań oraz układu sterowania zapisem do pamięci FLASH (w celu rekonfiguracji części programowej). Zastosowano układ XC9572XL-7TQ100C firmy Xilinx [3]. 2.3. Pamięć programu Jako pamięć programu zastosowano układ Atmel AT49F512-55J [4]. Jest to 8-bitowa pamięć FLASH o pojemności 64KB. Układ zasilany jest pojedynczym napięciem 5V i posiada wbudowany generator napięcia programującego. 2.4. Pamięć danych Jako pamięć danych zastosowano układ Cypress CY62256L [5]. Jest to 8-bitowa pamięć SRAM o pojemności 32KB. Pozostałe 32KB z przestrzeni adresowej mikrokontrolera zarezerwowano dla kart rozszerzeń (Port0..2). 2.5. Moduł komunikacji bezprzewodowej Bluetooth Zastosowano moduł ROK 101 008 firmy Ericsson [6]. 2.6. Układ zasilania Układ zasilania został zaprojektowany w sposób umożliwiający zasilanie napięciem stałym lub przemiennym o napięciu 7-24V. 264

3. STRUKTURA LOGICZNA SYSTEMU czujniki i aktuatory ROM RAM BlueTooth RS232 Moduł 0 Moduł 1 Moduł 2 80C32 Kontroler przerwa INT0 INT1 INT2 INT0 INT1 INT2 Rys. 2. Struktura logiczna systemu Opisywany system mikroprocesorowy wykorzystywany jest jako jednostka centralna, sterująca elementami wykonawczymi robota. System poprzez szereg czujników, takich jak: czujniki stykowe, optoelektroniczne czujniki przemieszczenia/obrotu oraz czujniki zbliżeniowe czerpie informacje o otoczeniu i po ich analizie podejmuje decyzje, w jaki sposób sterować aktuatorami (np. silnikami krokowymi). Na rys. 2. przedstawiono strukturę logiczną systemu. Kontroler przerwań realizuje operację iloczynu logicznego trzech sygnałów przerwań z portów rozszerzeń. 4. OPTYMALIZACJA STRUKTURY SYSTEMU 4.1. Kryterium optymalizacji Podstawowym kryterium optymalizacji jest czas reakcji na zgłoszenie przerwania zewnętrznego. 4.2. Zakres optymalizacji Zakres optymalizacji obejmuje modyfikację struktury kontrolera przerwań i podprogramu jego obsługi. 4.3. Analiza parametrów Mikrokontroler pracuje z częstotliwością 11,0592MHz. Na cykl maszynowy składa się 12 taktów zegara, co daje czas równy 1,085µs. 265

Poniżej przedstawiono program obsługi przerwań zewnętrznych przed optymalizacją:.org 0000h ljmp START.org 0003h ljmp INT0 ;2 cykle.org 26h START: ljmp START INT0: mov DPTR,#INT0_BASE ;2 cykle jz INT1 ;2 cykle lcall INT0_SERVICE ;2 cykle ;2 cykle INT1: mov DPTR,#INT1_BASE ;2 cykle jz INT2 ;2 cykle lcall INT1_SERVICE ;2 cykle ;2 cykle INT2: mov DPTR,#INT2_BASE ;2 cykle jz RETURN ;2 cykle lcall INT2_SERVICE ;2 cykle RETURN: ;2 cykle.end Ponieważ zastosowano bardzo prosty kontroler przerwań, konieczne jest przeglądanie statusu portów, w celu określenia, z którego portu nadeszło żądanie przerwania. Czasy reakcji uzależnione są od numeru analizowanego przerwania i narastają dla każdego kolejnego przerwania o 6 cykli maszynowych, czyli 6,51µs. Czasy reakcji na zgłoszenia poszczególnych przerwań przedstawiono w tabeli 1. Tab.1. Czas reakcji na zgłoszenie przerwania N r p r z e r w a n i a C z a s r e a k c j i [ c y k l e ] [ μ s ] 0 10 10,85 1 16 17,36 2 22 23,87 266

4.4. Propozycja rozwiązania optymalnego Kontroler przerwa V7..0:WEKTOR PRZERWANIA RD CPU D7..0 RESET INT0 INT1 INT2 RESET=0 D<= ZZZZZZZZ <= 1 RD=1 S 0 INT2=0 INT0=0 S 1 INT1=0 RD=1 RD=1 V<= 00000000 <= 0 S 3 RD=0 S 2 V<= 00000100 <= 0 RD=0 D<=V D<=V S 5 RD=0 S 6 V<= 00001000 <= 0 S 4 D<=V Rys. 3. Automat stanu proponowanego kontrolera przerwa Zastosowanie kontrolera przerwań przedstawionego na rys. 3. umożliwia zoptymalizowanie podprogramu obsługi żądania przerwania:.org 0000h ljmp START.org 0003h ljmp INT_EXT ;2 cykle.org 26h START: ljmp START INT_EXT: mov DPTR,#0000h ;2 cykle mov DPTR,#WYWOLANIA ;2 cykle jmp @A+DPTR ;2 cykle WYWOLANIA: lcall INT0_SERVICE ;2 cykle lcall INT1_SERVICE ;2 cykle lcall INT2_SERVICE ;2 cykle.end 267

W tabeli 2 przedstawiono czasy reakcji na żądanie przerwania, uzyskane po optymalizacji. Tab.2. Czas reakcji na zgłoszenie przerwania po optymalizacji N r p r z e r w a n i a C z a s r e a k c j i [ c y k l e ] [ μ s ] Z m i a n a 0 12 13,02 20% 1 12 13,02-25% 2 12 13,02-45% Na rys. 4. przedstawiono wykres porównawczy. Przed optymalizacj Po optymalizacji Nr przerwania 2 1 0 10 12 12 12 16 22 0 5 10 15 20 25 Ilo cykli Rys. 4. Porównanie czasów reakcji przed i po optymalizacji 5. WNIOSKI Przeprowadzona optymalizacja doprowadziła w przypadku przerwania INT0 do wydłużenia czasu reakcji o 20%, jednakże średni czas reakcji zmniejszył się o 25%. Dodatkowo osiągnięto jednakowe czasy reakcji na wszystkie przerwania zewnętrzne. Opracowany system znalazł zastosowanie praktyczne w dydaktyce Instytutu. Planuje się dalszą jego modyfikację przez zastosowanie wielopoziomowego, priorytetowego kontrolera przerwań i jego optymalizację. LITERATURA [1] Bluetooth Special Interest Group: Specification of the Bluetooth System, Bluetooth Special Interest Group, 2001 [2] Philips Semiconductors: 80C31/80C32 DataSheet, Philips Semiconductors, 2000 [3] Xilinx: XC9572XL High Performance CPLD, Xilinx, 2004 [4] Atmel: AT49F512 512K (64K x 8) 5-volt Only FLASH Memory, Atmel Corporation, 2004 [5] Cypress: CY62256 256K (32K x 8) Static RAM, Cypress, 2002 [6] Ericsson Microelectronics: ROK 101 008 Bluetooth Module, Ericsson Microelectronics, 2001 268