- Nazwa przedmiotu:
- Procesory sygnałowe
- Koordynator przedmiotu:
- Henryk A. KOWALSKI
- Status przedmiotu:
- Fakultatywny dowolnego wyboru
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Przedmioty techniczne
- Kod przedmiotu:
- PS
- Semestr nominalny:
- 7 / rok ak. 2021/2022
- Liczba punktów ECTS:
- 5
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- Bilans nakładu pracy przeciętnego studenta wygląda następująco:
- udział w wykładach: 15 x 2 godz. = 30 godz.,
- udział w zajęciach laboratoryjnych: 4 x 3 3/4 godz. = 15 godz.,
- udział w zajęciach projektowych: 4 x 3 3/4 godz. = 15 godz.,
- przygotowanie do kolejnych wykładów (przejrzenie materiałów z wykładu i dodatkowej literatury, próba rozwiązania zadań sformułowanych na wykładzie): 20 godz.
- przygotowanie do kolokwium i egzaminu oraz obecność na egzaminie: 20 godz.
- (udział w konsultacjach przedegzaminacyjnych 1 godz.)
- przygotowanie do kolejnych zajęć laboratoryjnych (przejrzenie materiałów z wykładu i dodatkowej literatury ze strony internetowej przedmiotu): 30 godz.
- realizacja zadania projektowego: 30 godz. (obejmuje także zainstalowanie oprogramowania i opanowanie umiejętności wykorzystania go do realizacji projektu oraz przygotowanie sprawozdania),
- udział w konsultacjach związanych z realizacją projektu: 3 x 1 godz. = 3 godz. (zakładamy, że student korzysta z z „regularnych” konsultacji 3 razy w semestrze),
Łączny nakład pracy studenta wynosi :
20 + 30 +20 + 15 +30 + 15 + 30 = 160 godz.
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- nakład pracy związany z zajęciami wymagającymi bezpośredniego udziału nauczycieli akademickich
wynosi 30 + 15 + 15 + +1 + 3 = 64 godz., co odpowiada ok. 2 1/2 punktom ECTS
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- nakład pracy związany z zajęciami o charakterze praktycznym
wynosi 15 + 30 +15 + 30= 90 godz., co odpowiada 3 punktom ECTS
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium15h
- Projekt15h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Wymagane przedmioty poprzedzające:
ARKO - Architektura Komputerów
lub SYKO - Systemy komputerowe
Zalecane przedmioty poprzedzające:
SM - Systemy Mikroprocesorowe
lub TM- Technika Mikroprocesorowa
lub TMIK – Podstawy Techniki Mikroprocesorowej
- Limit liczby studentów:
- 32
- Cel przedmiotu:
- Prezentacja budowy i zastosowania nowoczesnych procesorów sygnałowych. Przegląd najważniejszych architektur procesorów sygnałowych oraz sposobów ich programowania. Pozwala na zaznajomienie się z przeznaczonym dla tych procesorów narzędziami programowymi, językami asemblerowymi i wysokiego poziomu oraz systemami operacyjnymi czasu rzeczywistego. Umożliwia praktyczne zweryfikowanie nabytej wiedzy podczas pracy w środowisku sprzętowo-programowym wiodących producentów.
- Treści kształcenia:
- Treść wykładu
Wprowadzenie: pojęcia podstawowe, modyfikowane architektury typu Harvard, różnice w stosunku do procesorów ogólnego przeznaczenia, typowe obszary zastosowań. Przegląd procesorów sygnałowych - procesory stałoprzecinkowe, zmiennoprzecinkowe, ewolucja procesorów sygnałowych.
Organizacja procesorów sygnałowych: reprezentacja danych arytmetycznych, organizacja szyn, organizacja pamięci, podstawowe bloki funkcjonalne, układy peryferyjne, jednostka wspomagająca uruchamianie.
Organizacja rdzenia procesora: - jednostka arytmetyczna, jednostka wyliczania adresów danych, jednostka sterująca, stos, potokowanie, architektura z podwójnym układem MAC, architektura superskalarna, techniki SIMD, architektura z bardzo długim słowem instrukcyjnym (VLIW).
Języki asemblerowe: specjalizowane tryby adresowania, ortogonalność, specjalizowane instrukcje, mnożenie, przesłania równoległe, pętle sprzętowe, formaty instrukcji.
Języki wysokiego poziomu: specjalizowane struktury językowe, reprezentacja danych arytmetycznych, powiązania pomiędzy językiem C i asemblerem, rozkazy, procedury, skoki, przerwania.
Narzędzia programowe: translator, konsolidator, program ładujący, symulator, program uruchomieniowy, zintegrowane środowiska uruchomieniowe.
Narzędzia programowe: układy uruchomieniowe, emulatory, układy debagowania.
Systemy operacyjne czasu rzeczywistego: pojęcia podstawowe, monitory, strumienie, wektory, tablice, wyjątki, zarządzanie pamięcią, biblioteki.
Podstawowe zagadnienia omawiane są na przykładzie procesorów rodziny DSP56xxx (Motorola), TMS320C2xxx, TMS320C5xxx, TMS320C6xxx (Texas Instruments) oraz systemu operacyjnego czasu rzeczywistego DSP/BIOS (Texas Instruments). Prezentowane są również wybrane zagadnienia budowy procesorów sygnałowych innych rodzin oraz firm.
Zakres laboratorium
Ćwiczenia 2-4 obejmują cały materiał "The TMS320C6000 Hands-On Workshop" zgodnie z zezwoleniem firmy Texas Instruments udzielonym dla przedmiotu Digital Signal Processors Architecture (PS).
Ćwiczenie 1: Opracowanie programu asemblerowego dla procesora DSP56300. Uruchomienie i debagowanie programu z zastosowaniem środowiska DSP Suite56.
Ćwiczenie 2: Wykonanie testów systemu TMS320C6711 DSK, konfigurowanie środowiska Code Composer Studio, utworzenie projektu i pliku CDB, uruchomienie i debagowanie programu, optymalizacja kodu.
Ćwiczenie 3: Konfigurowanie, inicjalizacja i obsługa przerwań, zastosowanie portu szeregowego, inicjalizacja przetwornika A/C i C/A, generacja cyfrowego sygnału sinusoidalnego i wyprowadzenie go w postaci sygnału analogowego.
Ćwiczenie 4: Konfiguracja buforów i pamięci typu cache, konfigurowanie i inicjalizacja układu DMA. Wprowadzenie do systemu operacyjnego czasu rzeczywistego DSP/BIOS, tworzenie i modyfikacja elementów typu SWI, zastosowanie LOG_printf, dodawanie wątków, wizualizacja pracy programu, instalacja wtyczki DTMF, inicjalizacja i konfigurowanie RTDX oraz RTA.
Ćwiczenie 5: Opracowanie programu z zastosowaniem asemblera procesora TMS320C5416 oraz środowiska Code Composer Studio dla systemu TMS320C5416 DSK.
Zakres projektu
Projekt obejmuje napisanie i uruchomienie programu w wybranym języku wg. założeń podanych przez prowadzącego. Umożliwia utrwalenie wiedzy nabytej podczas wykładu i zajęć laboratoryjnych. Projekt jest uruchamiany w dwu etapach: najpierw w środowisku symulacyjnym a następnie z wykorzystaniem systemu czasu rzeczywistego. Czas przeznaczony na uruchamianie pierwszego etapu nie jest ograniczany.
- Metody oceny:
- W trakcie semestru w uzgodnionych wcześniej terminach odbywają się kolokwia pisemne obejmujące zaprezentowany na wykładzie materiał. Po zakończeniu semestru jest przeprowadzany egzamin pisemny.
W trakcie zajęć laboratoryjnych zespoły tworzą pisemne sprawozdanie zawierające rozwiązania zadań i pytań zawartych w pisemnych poleceniach do ćwiczeń. Część pytań wymaga samodzielnego wyszukania informacji w oryginalnej źródłowej dokumentacji firmowej.
Na zakończenie projektu zespoły tworzą pisemne sprawozdanie.
Warunkiem pozytywnego zakończenia przedmiotu jest uzyskanie pozytywnej oceny z każdych zajęć laboratoryjnych oraz pozytywnej oceny z projektu a także pozytywnej oceny z prac pisemnych.
Ocena końcowa z przedmiotu jest ustalana na podstawie rezultatów uzyskanych na kolokwiach i egzaminie końcowym.
W trakcie wykładu z wykorzystaniem lekcji multimedialnej wykonywane są interaktywnie, wspólnie ze studentami, zadania problemowe. Lekcja multimedialna jest udostępniona na stronie internetowej przedmiotu. Następne zadania problemowe studenci wykonują samodzielnie jako praca domowa.
Po każdym wykładzie stawiane są trzy krótkie pytania z zakresu prezentowanego materiału. Poprawne odpowiedzi są premiowane dodatkowymi punktami. Pytania służą ocenie formatywnej zrozumienia i przyswojenia bieżącego materiału przez studentów.
Rezultaty każdego kolokwium są dokładnie omawiane na następnym wykładzie. Służy to ocenie formatywnej zrozumienia i przyswojenia całej partii materiału.
W trakcie zajęć laboratoryjnych, po wykonaniu każdego ćwiczenia, wykonywana jest przez zespół studencki prezentacja działania uzyskanego rozwiązania. Przedstawiane są również pisemne odpowiedzi do pytań i zadań tego ćwiczenia. Służy to ocenie formatywnej stopnia znajomości środowiska programowania oraz szczegółowych zagadnień ćwiczeń. Pomaga również w ocenie umiejętności odnajdowania informacji.
Zaliczenie projektu polega na zaprezentowaniu działania uzyskanego rozwiązania oraz pisemnego sprawozdania. Przeprowadzana jest również dyskusja z zespołem realizującym projekt na temat tego rozwiązania. Ma ona na celu ustalenie podziału pracy w zespole oraz poziomu współpracy.
- Egzamin:
- tak
- Literatura:
- [1] Kowalski HA Procesory DSP dla praktyków, BTC, Legionowo 2011
[2] Lapsley P, Bier J, Shoham A, Lee EA, DSP processors fundamentals, Architectures and features, Berkeley Design Technology, Inc, 1996. (John Wiley & Sons, 1997)
[3] Marven C, Ewers G, A simple approach to digital signal processing, Texas Instruments, 1993. (John Wiley & Sons, 1996) (Marven C, Ewers G, Zarys cyfrowego przetwarzania sygnałów WKŁ, 1999.)
[4] EDN DSP Directory www.ednmag.com
[5] Steven W. Smith, The Scientist and Engineer's Guide to Digital Signal Processing, California Technical Publishing San Diego, California, Second Edition, 1999, (www.DSPguide.com)
[5] Strona internetowa firmy Texas Instruments http://www.ti.com/
- Witryna www przedmiotu:
- https://usosweb.usos.pw.edu.pl/kontroler.php?_action=katalog2/przedmioty/pokazPrzedmiot&prz_kod=103B-INIIT-ISP-PS; http://www.ii.pw.edu.pl/kowalski/dsp/ps/index.html
- Uwagi:
- Przez cały semestr studenci mogą korzystać z konsultacji w wymiarze 2 godzin tygodniowo.
Prowadzona jest Internetowa strona przedmiotu podzielona na dwie strefy – publiczną i wewnętrzną.
Strona publiczna zawiera podstawowe informacje dotyczące realizacji przedmiotu w aktualnym semestrze oraz informacje o materiale obejmowanym przez przedmiot.
Strona wewnętrzna wymaga logowania z hasłem. Zawiera ona rozbudowane informacje, kopie prezentacji, materiały do zajęć laboratoryjnych oraz do projektów. A także materiały źródłowe i odnośniki do takich materiałów z zakresu zagadnień obejmowanych przez przedmiot. W każdym semestrze studenci dostają hasła dostępu do strony wewnętrznej.
Zawartość strony wewnętrznej jest co semestr aktualizowana.
Liczba godzin pracy studenta związanych z osiągnięciem efektów kształcenia:
Bilans nakładu pracy przeciętnego studenta wygląda następująco:
- udział w wykładach: 15 x 2 godz. = 30 godz.,
- udział w zajęciach laboratoryjnych: 4 x 3 3/4 godz. = 15 godz.,
- udział w zajęciach projektowych: 4 x 3 3/4 godz. = 15 godz.,
- przygotowanie do kolejnych wykładów (przejrzenie materiałów z wykładu i dodatkowej literatury, próba rozwiązania zadań sformułowanych na wykładzie): 5 godz.
- przygotowanie do kolejnych zajęć laboratoryjnych (przejrzenie materiałów z wykładu i dodatkowej literatury ze strony internetowej przedmiotu): 5 godz.
- realizacja zadania projektowego: 15 godz. (obejmuje także zainstalowanie oprogramowania i opanowanie umiejętności wykorzystania go do realizacji projektu oraz przygotowanie sprawozdania),
- udział w konsultacjach związanych z realizacją projektu: 3 x 1 godz. = 3 godz. (zakładamy, że student korzysta z z „regularnych” konsultacji 3 razy w semestrze),
- przygotowanie do kolokwium oraz obecność na kolokwium: 8 godz. + 3 godz. = 11 godz.
- przygotowanie do egzaminu (udział w konsultacjach przedegzaminacyjnych) oraz obecność na egzaminie: 10 godz. + 2 godz. = 12 godz.
Łączny nakład pracy studenta wynosi zatem: 30 + 15 +15 + 5 +5 + 15 + 3 +11 + 12 = 111 godz., co odpowiada ok. 4 punktom ECTS.
W ramach tak określonego nakładu pracy studenta:
- nakład pracy związany z zajęciami wymagającymi bezpośredniego udziału nauczycieli akademickich wynosi 30 + 15 + 15 + +3 + 3 = 66 godz., co odpowiada ok. 2 punktom ECTS,
- nakład pracy związany z zajęciami o charakterze praktycznym wynosi 15 + 15 +15 = 45 godz., co odpowiada ok. 2 punktom ECTS.
Efekty uczenia się