METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH

Podobne dokumenty
Realizacja bezpiecznego programowalnego sterownika logicznego z wykorzystaniem języków HDL

Katedra Mikroelektroniki i Technik Informatycznych

OPTYMALIZACJA MODELI SYMULACYJNYCH ZAMODELOWANYCH W JĘZYKU VERILOG HDL Z WYKORZYSTANIEM INTERFEJSU PLI

Język opisu sprzętu VHDL

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

Systemy na Chipie. Robert Czerwiński

Szybkie prototypowanie w projektowaniu mechatronicznym

Bezpieczeństwo informacji oparte o kryptografię kwantową

Systemy mikroprocesorowe i układy programowalne

Sterowniki PLC. Elektrotechnika II stopień Ogólno akademicki. przedmiot kierunkowy. Obieralny. Polski. semestr 1

MIKROPROCESOROWE UKŁADY STEROWANIA

Opracował: Jan Front

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Bezpieczeństwo informacji oparte o kryptografię kwantową

Katedra Mikroelektroniki i Technik Informatycznych

E-E-A-1008-s6. Sterowniki PLC. Elektrotechnika I stopień Ogólno akademicki. kierunkowy (podstawowy / kierunkowy / inny HES)

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji

Urządzenia automatyki przemysłowej Kod przedmiotu

Sterowniki programowalne Programmable Controllers. Energetyka I stopień Ogólnoakademicki. przedmiot kierunkowy

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

Testowanie systemów informatycznych Kod przedmiotu

PROGRAMOWALNE STEROWNIKI LOGICZNE

Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

REALIZACJA KONTROLERÓW

Elektrotechnika I stopień Ogólno akademicki. kierunkowy (podstawowy / kierunkowy / inny HES)

KARTA PRZEDMIOTU. Techniki przetwarzania sygnałów, D1_3

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

E-4EZA1-10-s7. Sterowniki PLC

BEZAWARYJNE MECHANIZMY WSPOMAGANIA WSPÓŁCZESNYCH ROZWIĄZAŃ SPRZĘTOWYCH

Zaawansowane technologie w nowoczesnych układach sterowania

mgr inż. Stefana Korolczuka

Katedra Systemów Cyfrowego Przetwarzania Sygnałów

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Zakład Układów Elektronicznych i Termografii ( Prezentacja bloków i przedmiotów wybieralnych

DOKUMENTACJA PROJEKTU

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. Sieci i sterowniki przemysłowe

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Architektura komputerów II - opis przedmiotu

Rok akademicki: 2013/2014 Kod: JIS s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

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

Technika mikroprocesorowa

Procesory w FPGA H D L. dr inż. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

PRZEWODNIK PO PRZEDMIOCIE

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ęć

Elektrotechnika I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) niestacjonarne (stacjonarne / niestacjonarne)

Prezentacja specjalności Inżynieria Systemów Informatycznych

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

Wykład Mikroprocesory i kontrolery

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Mikrokontrolery w mechatronice. Wstępne uwagi

Elementy cyfrowe i układy logiczne

Opisy efektów kształcenia dla modułu

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

Technologie informacyjne - wykład 12 -

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

WYKORZYSTANIE UKŁADÓW REKONFIGUROWALNYCH W REGULACJI ADAPTACYJNEJ

PRUS. projekt dokumentacja końcowa

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

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Architektura Komputerów

E-TRONIX Sterownik Uniwersalny SU 1.2

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

Architektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski

ZL19PRG. Programator USB dla układów PLD firmy Altera

Wielokontekstowy sterownik programowalny przyszłości wykorzystujący układy programowalne psoc

Badanie właściwości wysokorozdzielczych przetworników analogowo-cyfrowych w systemie programowalnym FPGA. Autor: Daniel Słowik

PROGRAM KSZTAŁCENIA NA SPECJALNOŚCIACH

Prezentacja specjalności Inżynieria Systemów Informatycznych


Elektronika i techniki mikroprocesorowe

PRZEWODNIK PO PRZEDMIOCIE

Budowa i zasada działania komputera. dr Artur Bartoszewski

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

S P R A W O Z D A N I E T e m a t: Projektowanie układów realizujących złożone funkcje logiczne.

Kierunek Informatyka stosowana Studia stacjonarne Studia pierwszego stopnia

Architektura mikroprocesorów TEO 2009/2010

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Metodyka projektowania komputerowych systemów sterowania

Projektowanie układów FPGA. Żródło*6+.

KARTA PRZEDMIOTU. Egzamin / zaliczenie na ocenę*

Automatyka i Robotyka II stopień ogólnoakademicki studia niestacjonarne wszystkie Katedra Automatyki i Robotyki mgr inż.

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Inżynieria oprogramowania, C12

Transkrypt:

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH Arkadiusz Bukowiec mgr inż. Agnieszka Węgrzyn Instytut Informatyki i Elektroniki, Uniwersytet Zielonogórski 1. WSTĘP W ciągu ostatnich lat nastąpił gwałtowny rozwój elektroniki i informatyki. Przyczyniło się on do projektowania coraz bardziej złożonych i skomplikowanych układów cyfrowych. Wraz ze złożonością wykonywanych układów coraz większą rolę w ścieżce projektowej zaczęły odgrywać języki opisu sprzętu. Chociaż zastosowanie tych języków umożliwia zaprojektowanie wyspecyfikowanych procesorów, sterowników oraz różnego zastosowania układów cyfrowych, nie są one w stanie wyprzeć klasycznych rozwiązań, do których można zaliczyć mikroprocesor (np. 8051, 80286) wraz z oprogramowaniem. Coraz częściej jednak języki opisu sprzętu są wykorzystywane do tworzenia układów, które wspólnie z klasycznymi procesorami mają tworzyć większe systemy. Rozwiązanie takie przez długi czas wymagało jednak oddzielnego zaprojektowania układu oraz napisania programu dla mikroprocesora. Ostatnio jednak pojawiły się na rynku układy scalone, które zawierają jednocześnie procesor, jak i bloki konfigurowalne ASIC [1]. Sytuacja taka dotyczy zarówno układów programowalnych maską jak i układów PLD lub FPGA [2]. 2. KLASYCZNA ŚCIEŻKA PROJEKTOWANIA ZINTEGROWANEGO W przypadku klasycznego podejścia do projektowanego sytemu, budowę takiego systemu opierano na mikroprocesorze oraz układzie konfigurowalnym. W zależności od przeznaczenia i złożoności systemu wykorzystywane były układy programowane maską lub FPGA. Mikroprocesor i układ programowalny niezależnie komunikowały się z otoczeniem za pomocą ów ch, natomiast do komunikacji między sobą używały u wewnętrznego (rys. 1). Ponieważ rozwiązanie to wymagało zastosowania kilku układów scalonych, konieczne było również zaprojektowania płytki drukowanej. System taki wymagał więc zastosowania technologii System-On-Board (SoB).

SoB ASIC wewnętrzny µp Rys. 1. Schemat blokowy systemu sprzętowo-programowego Podczas realizacji takiego sytemu we wstępnej fazie projektowania należało dokonać podziału, jaka część systemu będzie realizowana przez specyfikowany układ cyfrowy a jaka przez program procesora (rys. 2). Części te były następnie niezależnie realizowane przez osobne zespoły, a dopiero po zakończeniu obu ścieżek projektowych przystępowano do realizacji prototypu układu i ostatecznej weryfikacji. CZĘŚĆ SPRZĘTOWA układu systemu Zadanie 2. Podział zadań Symulacja prototypu Zadanie 2. Zadanie 4. Testowanie programu CZĘŚĆ PROGRAMOWA Rys. 2. Ścieżka projektowa systemu sprzętowo-programowego Rozwiązanie takie nie zawsze dawało optymalne efekty, gdyż podział zadań we wczesnej fazie projektowej nie zawsze musiał być dokonany poprawnie. Jednocześnie było ono dość kosztowne gdyż wymagało realizacji prototypu w celu weryfikacji komunikacji pomiędzy częścią sprzętową a programową. Jednocześnie testowanie prototypu nie dawało możliwości debugowania, co w przypadku wykrycia błędnego działania systemu nie pozwalało na jednoznaczne ustalenie gdzie tkwi błąd. 3. ŚCIEŻKA PROJEKTOW Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH Mając na celu skrócenie czasu i ułatwienie projektowania systemów cyfrowych, producenci układów ASIC opracowali układy z osadzonymi (ang. embedded)

mikroprocesorami (rys. 3). Ze względu na różne zastosowania układów programowalnych maską jak i układów FPGA rozwiązania te różnią się między sobą, jednak umożliwiają one zastosowanie tej samej ścieżki projektowej. Najczęściej wykorzystywanymi procesorami wraz z układami programowalnymi maską są 32-bitowe procesory ARM [3] i MIPS [4] o architekturze RISC. Procesory te mogą być umieszczone w układach ASIC niezależnie od ich producenta, gdyż zostały zaprojektowane przez odrębne firmy. W przypadku układów FPGA sytuacja jest nieco odmienna. W tym przypadku to producenci układów FPGA opracowują mikroprocesory, które będą wykorzystywane tylko w jego układach FPGA. W tej dziedzinie prekursorem na rynku jest firma Atmel, która zaprojektowała 8-bitowy mikroprocesor AVR [5], również o architekturze RISC. SoC ASIC µp Rys. 3. Schemat układu scalonego z osadzonym procesorem Przy zastosowaniu takiego układu zauważa się dużo większy związek pomiędzy obiema ścieżkami projektowymi w trakcie realizacji systemu (rys. 4). W sytuacji takiej podział zadań podczas projektowania układu, pomiędzy części sprzętową i programową, jest traktowany jedynie jako propozycja i może zostać zmieniony w trakcie realizacji systemu. CZĘŚĆ SPRZĘTOWA układu systemu Zadanie 2. Podział zadań Modyfikacja podziału zadań koweryfikacja prototypu Zadanie 2 Zadanie 4 programu CZĘŚĆ PROGRAMOWA Rys. 4. Ścieżka projektowa systemu z wykorzystaniem układu z osadzonym procesorem

W rozwiązaniu tym na uwagę również zasługuje fakt, że wspólna weryfikacja części sprzętowej i programowej następuje jeszcze przed wykonaniem prototypu układu, co znacznie skraca czas testowania, jaki i koszty realizacji systemu. Bardzo ważnym faktem jest to, że w trakcie ko-weryfikacji można przeprowadzić debugowanie zarówno części sprzętowej jak i programu. Sytuacja taka umożliwia bardzo szybkie wykrycie, w którym miejscu występuje błąd i natychmiastowe jego usunięcie. Ponieważ rozwiązanie to jest realizowane w technologii System-On-Chip (SoC), znacznemu uproszczeniu ulega płytka drukowana, na której zostanie umieszczony projektowany system. Jednocześnie prędkość działania takiego układu może ulec zwiększeniu. Rozwiązanie takie wymaga jednak innego podejścia projektantów do realizowanego zadania. W klasycznym rozwiązaniu obie ścieżki były realizowane niezależnie w tym przypadku tak nie jest. Powoduje to, że oba zespoły (realizujące program i sprzęt) muszą ze sobą ściśle współpracować. Jednocześnie wymaga to od nich lepszej znajomości sposobów realizacji zadań drugiego zespołu. Tak, więc inżynierowie pracujący w takich zespołach muszą posiadać wszechstronną wiedzę, gdyż wraz z zanikiem podziału na dwie ścieżki projektowe zaczyna zanikać podział na programistów i projektantów sprzętu. 4. REALIZACJA PROGRAMOWALNEGO STEROWNIKA LOGICZNEGO W układzie porgramowalnego sterownika logicznego zastosowano dwuprocesorową budowę master-slave. Slave przetwarza dane według algorytmów zapisanych w formie bloków funkcyjnych zgodnych z normą IEC 1131-3 [6], natomiast master steruje przepływem danych i inicjuje procesor slave do wykonywania obliczeń. Ponieważ master jest układem specjalizowanym, zdecydowano się na jego realizację z wykorzystaniem struktury programowalnej FPGA. Natomiast w przypadku procesora slave zastosowanie układu FPGA wydawało się nieekonomiczne, ponieważ do realizacji każdego bloku funkcyjnego wymagane jest wykorzystanie kilku bloków logicznych układu FPGA. W sytuacji, gdy slave realizuje tylko jedną funkcje w danym momencie, zdecydowano się na napisanie programu realizującego bloki funkcyjne i wykorzystanie mikroprocesora do realizacji slavea. Układ sterownika został zrealizowany na dwa, niezależne sposoby. W pierwszym podejściu (rys. 5a) zdecydowano się na zastosowanie układu FPGA XC4005 firmy Xilinx do realizacji procesora master oraz mikroprocesora 8051 do realizacji procesora slave. W drugim podejściu (rys 5b) zdecydowano się natomiast na zastosowanie układu FPGA AT94K40 z osadzonym mikroprocesorem AVR firmy Atmel. Po zrealizowaniu obu sterowników systemy posiadały zbliżone parametry czasowe, jednak realizacja pierwszego układu wymagała znacznie większych nakładów czasu. W układzie tym najwięcej problemów stworzyła realizacja u do przesyłania danych pomiędzy masterem i slavem. Interfejs ten musiał być testowany dopiero na prototypie, co znacznie utrudniało wykrycie miejsca, w którym występuje błąd w kodzie źródłowym, a wprowadzenie jakichkolwiek zmian wymagało przeprogramowywania układów.

XC4005 8051 master wewnętrzny slave Wejścia Wyjścia a) Sterownik realizowany w technologii System-On-Board AT94K40 AVR master slave Wejścia Wyjścia b) Sterownik realizowany w technologii System-On-Chip Rys. 5. Schemat programowalnego sterownika logicznego W przypadku drugiego systemu, dzięki dostarczonemu oprogramowaniu przez firmę Atmel, możliwa była ko-symulacja kodu procesora master napisanego w VHDL u oraz kodu procesora slave napisanego w asemblerze porcesora AVR. Ponieważ oprogramowanie to dawało możliwość debugowania obu kodów wykrycie miejsca, w którym występuje błąd było dużo łatwiejsze. Dodatkowo pisanie programu dla procesora AVR zostało ułatwione poprzez możliwość użycia specjalnego u umożliwiającego wymianę danych pomiędzy procesorem a strukturą FPGA. Udogodnienia te spowodowały, że czas realizacji drugiego układu był prawi o połowę krótszy. 5. PODSUMOWANIE W referacie przedstawiono sposób realizacji systemów cyfrowych z wykorzystaniem układów reprogramowalnych z osadzonym procesorem oraz ukazano przewagę tego rozwiązania nad standardowym, wykorzystującym osobne układy dla mikroprocesora oraz struktury reprogramowalnej. Podkreślono również dużą przewagę ko-weryfikacji nad weryfikacja z wykorzystaniem prototypu. Przedstawiona technologia została opracowana w ramach prac Koła Naukowego fantasic. Do prac zostały wykorzystane płytki demonstracyjne firmy Atmel z układem AT94K40 oraz firmy Xilinx z układem z układem XC4005EPC84. Dalsze prace będą miały na celu zastosowanie tego lub podobnych układów w rzeczywistych systemach cyfrowych.

LITERATURA I MATERIAŁY 1. W. Majewski, Układy logiczne, Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa, 1998 2. T. Łuba, K. Jasiński, B. Zbierzchowski, Specjalizowane układy cyfrowe w strukturach PLD i FPGA, Wydawnictwa Komunikacji i Łączności, Warszawa, 1997 3. http://www.arm.com 4. http://www.mips.com 5. http://www.atmel.com 6. International Electrotechnical Commission, International standard IEC 1131-3, Programmable Controllers, Part 3: Programming Languages, Geneva, 1992