Archiwum kategorii: FPGA dyd

Projektowanie Systemów Cyfrowych w Językach Opisu Sprzętu (zaoczne)


UWAGA!
Zawarte w tym serwisie programy, materiały, wykłady, tutoriale itp. są opracowaniami autorskimi i są chronione prawami autorskimi. Nieuprawniona reprodukcja jakiejkolwiek ich części bez uprzedniej zgody autorów jest zabroniona. W szczególności dotyczy to wszelkich kursów prowadzonych na AGH oraz na innych uczelniach.


Przedmiot

Kurs ma na celu zdobycie podstawowej wiedzy o projektowaniu układów i systemów cyfrowych przy wykorzystaniu języków opisu sprzętu.

Kurs ma na celu zdobycie podstawowej wiedzy o projektowaniu układów i systemów cyfrowych przy wykorzystaniu nowoczesnych metod i narzędzi projektowych, a w szczególności – za pomocą języków opisu sprzętu. Szczególny nacisk w całym kursie położony jest na stronę praktyczną.
Wiedza i umiejętności zdobyte podczas kursu są konieczne dla dalszego kształcenia w kierunku inżynierii systemów cyfrowych (systemy wbudowane, sprzętowa implementacja algorytmów, zaawansowane zagadnienia projektowania systemów cyfrowych itp.)
Absolwenci kursu są specjalistami poszukiwanymi do praktyk i pracy zawodowej m.in. przez małopolskie oddziały globalnych firm, takich jak: ARM, ABB, Aldec, Ericpol, Evatronix, Nokia Solutions & Networks, Woodward i inne, z którymi prowadzący kurs ściśle współpracują.

Warunki zaliczenia:

1. Obecność na wykładach – premia za każdą obecność uwzględniona w ocenie końcowej.
2. Obecność na laboratorium – wykonanie tutorialów jako minimum kursowego – ocena uzależniona od stopnia zaawansowania (czasu) wykonania zadań.
3. Ocena końcowa jest oceną z laboratorium, powiększoną o premię za obecność i aktywność na wykładach.


 Wykłady

Dla szybkiego nabycia wiedzy potrzebnej podczas zajęć laboratoryjnych i projektowych przygotowano specjalny, skrócony kurs języka opisu sprzętu VHDL, wraz z praktycznymi informacjami i wskazówkami dla projektowania układów cyfrowych. W ramach wykładu omówiona jest też wykorzystywana na zajęciach laboratoryjnych i projektowych platforma sprzętowa z programowalnym układem logicznym FPGA.

UWAGA!
Poniższe materiały zostały pomyślane jako "podkładka" do notatek, wykonywanych przez studentów własnoręcznie podczas wykładu. Mają one na celu jedynie odciążyć od żmudnego i czasochłonnego przerysowywania z tablicy. Ponieważ materiały te są pozbawione istotnych komentarzy wykładowców, W ŻADNYM WYPADKU nie mogą być traktowane jako materiał wystarczający do samodzielnej nauki (skrypt). Obecność na wykładzie jest więc KONIECZNA do prawidłowego zrozumienia prezentowanych tu treści.

Program wykładów

 Laboratorium

Zdobycie podstawowych umiejętności projektowania układów i systemów cyfrowych odbywa się za pomocą dobrze udokumentowanych tutorialów, wykonywanych w obecności i przy pomocy prowadzącego. Wykorzystywane są w tym celu również nowoczesne narzędzia CAD (Aldec, Xilinx) oraz moduły uruchomieniowe z układami FPGA (Xilinx, Digilent) lub inne.

UWAGA!
Optymalna liczebność grup laboratoryjnych to 12 osób. Wszystkie terminy muszą być obciążone równomiernie.

Program laboratorium

Laboratorium Projektowe



UWAGA! Przedstawiona poniżej koncepcja nie jest w chwili obecnej dostępne fizycznie, a jej realizacja jest zależna m.in. od zainteresowania PT studentów.


Przedmiot

Zajęcia w ramach Laboratorium Problemowego mają na celu zaprojektowanie, wykonanie i uruchomienie użytecznego urządzenia elektronicznego. Ze względów praktycznych urządzenie takie powinno być oparte na mikrokontrolerze, mikroprocesorze lub na procesorze sygnałowym. Najszybszą drogą realizacji takiego zadania jest posłużenie się gotową płytką uruchomieniową z układem sterującym oraz (najlepiej gotowymi) wymiennymi płytkami z rozmaitymi peryferiami. Oprogramowanie powinno być zrealizowane w języku C przy pomocy ogólnodostępnych narzędzi. Wybór aplikacji, stosownych peryferiów i sposobu ich pozyskania, a następnie uzgodnienie szczegółowych zadań do realizacji będzie przedmiotem indywidualnych uzgodnień prowadzących i wykonawców.

Platformy

Jedną z proponowanych platform sprzętowych może być płytka Cerebot Nano, wyposażona w mikrokontroler ATmega168 oraz zestaw złączy do układów peryferyjnych w standardzie Pmod (Plug-In Peripheral Module). Innym możliwym rozwiązaniem jest zastosowanie płytki Kinetis FRDM-KL46Z, wykorzystywanej na zajęciach z mikroprocesorów. Część projektów, związana bardziej z tematyką DSP, może opierać się na płytkach Kinetis FRDM-K22F lub STM32F7 Discovery.

W pierwszym przypadku sama płytka z mikrokontrolerem wymagać będzie jeszcze programatora, najlepiej wyposażonego w interfejs USB. Na rynku można znaleźć wiele rozwiązań, których ew. wybór będzie jednym z pierwszych wspólnych zadań w ramach zajęć.

Peryferia

Same moduły z układami peryferyjnymi w standardzie Pmod można zakupić, względnie wykonać w ramach zajęć. Jako przykłady posłużyć mogą rozwiązania firm:

Można również zaproponować własne pomysły, oparte na rozmaitych układach dostępnych na rynku, jak choćby gama produktów opartych na interfejsie 1‑Wire. Lista proponowanych wstępnie peryferiów znajduje się poniżej. Ze względu na inne cele prowadzących najmniej preferowane są moduły wyposażone w interfejs I2C lub 1W.

Kinetis FRDM-KL 46Z
-------------------
MMA8451Q      I2C       3-Axis, 14-bit/8-bit Digital Accelerometer
MAG3110       I2C       3-Axis Digital Magnetometer

In/Out
------
PmodOLED      SPI       Organic LED Graphic Display
PmodCLS       UART/SPI  Character LCD w/ serial interface
PmodCDC1      I2C       Capacitative I/O (AD7156)
PmodSD        SPI       SD card slot
PmodSTEP      Par       Stepper Motor Driver
PmodPS2       PS/2      Keyboard/mouse connector

Sensors
-------
PmodMAXSONAR  PW/Ser    Ultrasonic Range Finder
PmodALS       SPI/PW    Ambient Light Sensor
PmodTC1       SPI       K-Type Thermocouple Module (MAX31855K)
PmodTMP2      I2C       Thermometer/thermostat (ADT7420)
PmodTMP3      2W/I2C    Temperature Sensor (TCN75AVUA)
custom        Sig       X-ray detector (BPW34)
custom        I2C       Proximity, RGB and Ambient Light Sensor (APDS-9950)
custom        I2C       Proximity, RGB, Ambient Light and Gesture Sensor (APDS-9960)
custom        I2C       Precision Altimeter (MPL3115A2)
custom        SPI       Nine-Axis (Gyro + Accelerometer + Compass) MEMS MotionTracking Device (MPU-9250)


Analog
------
PmodMIC3      SPI       MEMS microphone w/ adjustable gain
PmodI2S       I2S       Stereo Audio Output (CS4344)
PmodAD1       SPI       Two 12-bit A/D inputs (AD7476)
PmodDA3       Ser       One 16-bit D/A Output (AD5541A)

Misc
----
PmodDPOT      SPI       Digital Potentiometer (AD5160)
PmodRTCC      I2C       Real-time clock/calendar
PmodPMON1     I2C       Power Monitor

RF
--
PmodGPS       UART      (wzgl. custom LEA-6T)
custom        Ser       RF transmission
PmodBT2       UART      Bluetooth Interface (RN-42)
PmodIA        I2C       12-bit Impedance Analyzer (AD5933)

Maxim
-----
DS1086LPMB1#  I2C       Spread-Spectrum EconOscillator (DS1086L)
DS1820...     1W        Temperature sensor/thermostat
DS2417        1W        Real-Time Clock