OPISY KURSÓW/PRZEDMIOTÓW: Kod kursu/przedmiotu ETD 8047 Tytuł kursu/przedmiotu Procesory sygnałowe Imię, nazwisko i tytuł/stopień prowadzącego Krzysztof Kardach, dr inż. Imiona, nazwiska oraz tytuły członków zespołu dydaktycznego Andrzej Lewandowski, dr inż. Forma zaliczenia kursu Forma kursu Wykład Tygodniowa liczba godzin Forma zaliczenia Ćwiczenia Laboratorium Projekt 2 1 ocena kolokwium ocena przeb. zajęć Seminarium Liczba punktów 4 Wymagania wstępne ETD 4041 – Podstawy techniki cyfrowej i mikroprocesorowej, ETD 5043 – Układy elektroniczne, ETD 1035 – Informatyka 1 Krótki opis zawartości całego kursu Kurs prezentuje budowę procesorów sygnałowych przez pryzmat specyficznych potrzeb definiowanych przez działające w czasie rzeczywistym algorytmy przetwarzania sygnałów. Wychodząc od formuł podstawowych algorytmów prezentuje architektury procesorów ze szczególnym uwzględnieniem najbardziej popularnych procesorów stałoprzecinkowych rodziny TMS320c5xxx. Omawia organizacje ich systemów oraz koncepcje wbudowywania w nie układów peryferyjnych niezbędnych do pracy. Słuchacze poznają sposoby wykonywania podstawowych programów i mechanizmy działania oraz własności wybranych rozkazów asemblera umożliwiających efektywne przetwarzanie sygnałów w czasie rzeczywistym. Ważnym fragmentem wykładu jest omówienie metod i technologii oraz wykorzystujących je narzędzi wspomagających opracowywanie oprogramowania oraz testowanie jego działania w czasie rzeczywistym. W ramach omawiania systemów, w jakich procesory te pracują przekazywane są krótko informacje o specjalizowanych układach We/Wy. Kontrola przyswajania wiedzy odbywa się przy pomocy internetowych testów przewidzianych co ok. 3-4 wykłady, oraz końcowego kolokwium - testu. Uzupełnieniem wykładu są zajęcia laboratoryjne, ukierunkowane na rozpoznanie sposobów programowania procesorów, oraz możliwości narzędzi programowych i sprzętowych wspomagających prace projektowe. Wykład (podać z dokładnością do 2 godzin) Zawartość tematyczna poszczególnych godzin wykładowych Liczba godzin Wprowadzenie do wykładu, omówienie programu, organizacji i wymagań. 1 Tor przetwarzania sygnałów. Własności i pułapki. Przykładowe zadanie przetwarzania DSP - filtracja. 1 Architektura do realizacji podstawowej sekwencji operacji przetwarzania sygnałów. Podstawowe mechanizmy umożliwiające efektywną prace, (pipelining, repetycja rozkazu / bloku, OVM, SXM). 2 Pamięci w procesorze DSP, Mapa pamięci procesorów rodziny TMS320C5xxx 2 Wybrane rozkazy asemblera procesora DSP ułatwiające przyspieszanie pracy 2 Podstawowe tryby adresacji w procesorach DSP i związane z nimi specyficzne mechanizmy modyfikacji adresów i dostępu do danych. 2 Organizacja programu. Środowisko narzędzi wspomagających projektowanie oprogramowania i pracę z procesorem. Od asemblera do debugera. 2 Powielenia zasobów i konsekwencje. Możliwości realizacji specjalistycznych algorytmów. Dedykowane rozkazy i ich zastosowanie 2 Reprezentacja danych w procesorach DSP, własności, konsekwencje dla organizacji procesorów. 2 Wprowadzanie i wyprowadzanie danych z systemów DSP, reprezentacja, konfigurowanie 2 Przerwania w procesorze TMS320C5402 i sposoby ich wykorzystania 2 Timer, rytm czasowy pracy systemu i jego organizacja. Zależności czasowe w pracy systemu i komunikacji 2 Komunikacja zewnętrzna - udostępnianie zasobów i magistral, tryb HOLD Porty komunikacyjne w procesorze TMS320C542 (BSP, McBSP i HPI, DMA) 2 Narzędzia generacji kodu i debugowania programu, wspomaganie projektowania 2 Zmienno i stałoprzecinkowe procesory DSP, różnice i podobieństwa. Światowa oferta procesorów sygnałowych 2 Architektury najnowszych procesorów DSP dużej mocy, architektura VLIW 1 Kolokwium zaliczeniowe 1 Ćwiczenia, seminarium - zawartość tematyczna Laboratorium, - zawartość tematyczna 1. Podstawowe zjawiska pasożytnicze cyfrowego przetwarzania sygnałów i ich wpływ na wyniki przetwarzania 2. Działanie i sposoby podstawowego użycia narzędzi (asemblera, linkera, symulatora, modułu DSK z procesorem sygnałowym) – podstawowy program procesora DSP 3. Zaawansowane narzędzia uruchomieniowe – Code Composer Studio dla procesorów TMS320C542 4. System operacyjny RTDx i technologia DSP/BIOS w przygotowaniu podstawowych programów cyfrowej filtracji sygnałów. 5. Zaawansowane techniki programowania (sterowanie przebiegiem programu, repetycja rozkazu / bloku, przenoszenie danych, zrównoleglenie operacji) Materiał do samodzielnego opracowania Literatura podstawowa [1] Richard G. Lyons; Wprowadzenie do cyfrowego przetwarzania sygnałów WKŁ, ISBN 83-206-1318-3 [2] Mitra Kaiser; Handbook for DSP; John Wiley , ISBN - 0-471-61995-7 [3] Bruno Paillard; An Introduction to Digital Signal Processing; University Sherbrooke http://www.ti.com/sc/docs/general/dsp/programs/shareware/c5000.htm [4] CD-ROM z materiałami dydaktycznymi do wykładu i dokumentacją, przygotowany dla uczestników wykładu Literatura uzupełniająca [1] Proakis, Manolakis; Digital Signal Processing. Principles Algorithms and Applications; Prentice Hall, ISBN - 0-13-394289-9 [2] Chassing R. Digital Signal Processing with... John Wiley ISBN - 0-471-57777-1 [3] Proakis, Ingle; Digital Signal Processing with Matlab; PWS ISBN - 0-534-93805-1 [4] Embree P.M., Kimble B.; C language algorithms for Digital Signal Processing. Prentice Hall 1991 [5] Technical Publishing 1999TMS320C54x - User's Guide, Texas Instruments 1998 [6] TMS320C54x Mnemonic Insruction Set - User's Guide, Texas Instruments 1998 Warunki zaliczenia Uzyskanie 70% dobrych odpowiedzi w testach internetowych (dopuszcza do zaliczeniowego kolokwium pisemnego) Zaliczenie z pozytywnym wynikiem kolokwium pisemnego. DESCRIPTION OF THE COURSES: Course code ETD 8047 Course title Digital Signal Processors Supervising course lecturer Krzysztof Kardach, PhD Other course lecturers Andrzej Lewandowski, PhD Course structure Course form Lecture Number of hours /week Form of the course completion Classes Laboratory 2 1 test task evaluation Project Seminar Number of credits 4 Prerequisites ETD 4041 – Introduction to Digital and Microprocessor Technique, ETD 5043 – Electronic Circuits, ETD 1035 – Computer Science Course description The course is presenting the architecture of DSP processors for computation specific, real time algorithms of signal processing. Starting from the mathematical formula to be computed the features and organization of whole DSP systems is analyzed. The example processor family for the lesson the TMS320C5xxx processor is selected. Also some information on A/D and D/A channels to the DSP structure are given. Based on the simple filtering programs the features and requirements of code generation tools are discussed. Also the Assembler instruction list, with the special attention to the specific application oriented instructions is presented. Remarkable part of the lecture is the discussion of software development tools and testing strategies. The information acquisition is tested with the four Internet tests, which passed on the given level of 70%, are opening the participation in the final test. The lesson is supported with the laboratory exercises, opening the “hand on” praxis opportunity around the DSP programs preparation, debugging technique and support tools. Lecture Particular lectures contents Introduction, schedule and demands presentation Number of hours 1 DSP path features and traps. Filtering as the processing example Architecture for basic DSP operation sequence. Basic mechanisms enabling effective work Selected assembler instructions of DSP processor making easier fastest data processing. Addressing modes. Mechanisms and resources improving data and program access Blocks duplication effects - the chance for specific algorithms. Specialized instructions and their use. Data format in DSP, coding and consequences, Data transfer from and to the DSP path - peripheral systems, programming Timer - the system clocking. Time dependences in the DSP system. Outside communication McBSP, BUSS availability in the HOLD state. Outside communication - HPI and DMA mechanisms Code generation and debugging tools. Real time dependences supervising techniques. Fixed and floating point DSP processors - efficiency comparison World market offer of DSP processors VLIW architecture in DSP Final test 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 Classes, seminars - the contents Laboratory – the contents 1. Basic parasitic effect in DSP processing. It influence for the final result. 2. Basic code generation toll set - (assembler, linker, simulator for DSK module) – start program for DSP application. 3. Advanced design support tools – Code Composer Studio for the C5000 family 4. Real time operating system – RTDx and DSP/BIOS technology in development of simple filtering software. 5. DSP software development support resources – DSPLib, CSLib, ImgLIB – The use of software libraries in solving of own tasks. Material for self preparation Core literature [1] Richard G. Lyons; Wprowadzenie do cyfrowego przetwarzania sygnałów WKŁ, ISBN 83-206-1318-3 [2] Mitra Kaiser; Handbook for DSP; John Wiley , ISBN - 0-471-61995-7 [3] Bruno Paillard; An Introduction to Digital Signal Processing; University Sherbrooke http://www.ti.com/sc/docs/general/dsp/programs/shareware/c5000.htm [4] CD-ROM z materiałami dydaktycznymi do wykładu i dokumentacją, przygotowany dla uczestników wykładu Additional literature [1] Proakis, Manolakis; Digital Signal Processing. Principles Algorithms and Applications; Prentice Hall, ISBN - 0-13-394289-9 [2] Chassing R. Digital Signal Processing with... John Wiley ISBN - 0-471-57777-1 [3] Proakis, Ingle; Digital Signal Processing with Matlab; PWS ISBN - 0-534-93805-1 [4] Embree P.M., Kimble B.; C language algorithms for Digital Signal Processing. Prentice Hall 1991 [5] Technical Publishing 1999TMS320C54x - User's Guide, Texas Instruments 1998 [6] TMS320C54x Mnemonic Insruction Set - User's Guide, Texas Instruments 1998 Conditions for course credition To reach over 70% positive results of the four internet tests. This is getting open the enter to the final written test. The result of the final test defines the grade for the lecture. The final grade for the course is defined by the final test result with the influence (+/- ½) by the laboratory grade.