Temat nr 5. System czasu rzeczywistego bazujący na stałopozycyjnym procesorze sygnałowym. LABORATORIUM Procesory i komputery przemysłowe

Podobne dokumenty
LABORATORIUM Komputery przemysłowe i systemy wbudowane

dokument DOK wersja 1.0

Laboratorium Procesorów Sygnałowych

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Politechnika Białostocka

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

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

TECHNIKA MIKROPROCESOROWA II

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

TECHNIKA MIKROPROCESOROWA

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

Laboratorium: Systemy operacyjne czasu rzeczywistego. Temat: Wprowadzenie do karty DS1102 i oprogramowania Control Desk.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

2. Code Composer Studio v4 zintegrowane środowisko projektowe... 41

MiniModbus 4DO. Moduł rozszerzający 4 wyjścia cyfrowe. Wyprodukowano dla. Instrukcja użytkownika

Technika Mikroprocesorowa

Technika mikroprocesorowa. Konsola do gier

LABORATORIUM Architektura systemów wbudowanych

UW-DAL-MAN v2 Dotyczy urządzeń z wersją firmware UW-DAL v5 lub nowszą.

Użycie AVR Studio do kompilacji AVRUB

Instrukcja obsługi. Terminal SD for DB25 CNC

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Modułowy programowalny przekaźnik czasowy firmy Aniro.

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

RS485 MODBUS Module 6RO

2. Architektura mikrokontrolerów PIC16F8x... 13

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

RS485 MODBUS Module 6RO

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

LABORATORIUM Komputery przemysłowe i systemy wbudowane

NX700 PLC

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Instytut Teleinformatyki

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Instrukcja do oprogramowania ENAP DEC-1

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Kod produktu: MP01611

Wstęp Architektura... 13

Procesory Sygnałowe Digital Signal Processors. Elektrotechnika II Stopień Ogólnoakademicki

WPROWADZENIE Mikrosterownik mikrokontrolery

2. Budowa układów procesorowych rodziny TMS320C

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

RS485 MODBUS Module 6RO

WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA

Hardware mikrokontrolera X51

Instytut Teleinformatyki

ADVANCE ELECTRONIC. Instrukcja obsługi aplikacji. Modbus konfigurator. Modbus konfigurator. wersja 1.1

LOW ENERGY TIMER, BURTC

Instytut Teleinformatyki

SDM-6RO. Moduł rozszerzający 6 wyjść przekaźnikowych. wyprodukowano dla

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

1.2. Architektura rdzenia ARM Cortex-M3...16

WYKŁAD 5. Zestaw DSP60EX. Zestaw DSP60EX

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do zajęć laboratoryjnych z przedmiotu:

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Programator procesorów rodziny AVR AVR-T910

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

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz

Politechnika Śląska w Gliwicach

MultiTool instrukcja użytkownika 2010 SFAR

TECHNIKA MIKROPROCESOROWA

Electronic Infosystems

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

Elektronika samochodowa (Kod: TS1C )

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

Programowanie mikrokontrolerów. 8 listopada 2007

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

Spis treści. Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Laboratorium Komputerowe Systemy Pomiarowe

E-TRONIX Sterownik Uniwersalny SU 1.2

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Biomonitoring system kontroli jakości wody

WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Instrukcja do zajęć laboratoryjnych. Numer ćwiczenia: 4

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. Wydział Informatyki, Elektroniki i Telekomunikacji LABORATORIUM.

NX70 PLC

Instrukcja użytkownika KRISTECH, 2016

Instrukcja do konwertera USB-RS232

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

TECHNIKA MIKROPROCESOROWA II

interfejs szeregowy wyświetlaczy do systemów PLC

Instrukcja Obsługi. Modułu wyjścia analogowego 4-20mA PRODUCENT WAG ELEKTRONICZNYCH

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

8 kanałowy przedłużacz analogowy z RS485

Porty GPIO w mikrokontrolerach STM32F3

Komunikacja w mikrokontrolerach Laboratorium

Instytut Teleinformatyki

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

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Instytut Teleinformatyki

Transkrypt:

LABORATORIUM Procesory i komputery przemysłowe Katedra Systemów Elektroniki Morskiej Wydział Elektroniki Telekomunikacji i Informatyki Politechnika Gdańska Temat nr 5 System czasu rzeczywistego bazujący na stałopozycyjnym procesorze sygnałowym Prowadzący: Mariusz Rudnicki Opracowali: Jan H. Schmidt Aleksander Schmidt

Cel ćwiczenia Celem ćwiczenia jest zapoznanie studenta z możliwościami procesora sygnałowego TMS320F2808 firmy Texas Instruments. Ćwiczenie realizowane będzie z wykorzystaniem zestawu uruchomieniowego firmy Spectrum Digital zawierającego w/w procesor. Omawiany układ stanowi hybrydę mikrokontrolera oraz procesora sygnałowego. Jego bogate zasoby peryferyjne umożliwiają samodzielną pracę a znaczna moc obliczeniowa pozwala na implementację złożonych algorytmów. Jest to przedstawiciel serii 32 bitowych procesorów z wbudowaną pamięcią Flash oraz charakteryzujących się mocą obliczeniową 100 MIPS. Płyta zestawu uruchomieniowego posiada złącza jak przedstawiono na poniższym zdjęciu: Rys. 1. Rozmieszczenie elementów, wyprowadzeń oraz bloków funkcjonalnych na płycie zestawu uruchomieniowego TMS320F2808 DSK Płyta zawiera następujące elementy: procesor sygnałowy TMS320F2808, taktowany zegarem 100 MHz; 2 układy interfejsów linii RS232C (SCI-A, SCI-B); 2 układy interfejsów szyny ecan (CAN-A, CAN-B); złącze rozszerzające analogowe; złącze rozszerzające wejścia/wyjścia; złącze interfejsu JTAG. 2

Praca z modułem uruchomieniowym 1. Diagnostyka Rozpoczęcie pracy z modułem uruchomieniowym należy rozpocząć od uruchomienia programu diagnostycznego. Jego zadaniem jest przetestowanie połączenia pomiędzy komputerem PC (zintegrowanych środowiskiem programistycznym) a modułem uruchomieniowym jak i pracę najważniejszych elementów takich jak procesor oraz współpracujące z nim układy. Aby uruchomić program diagnostyczny należy użyć ikony umieszczonej na pulpicie: Rys. 2. Ikona programu diagnostycznego mudułu uruchomieniowego Rys. 3. Okno rozpoczęcia procesu diagnostycznego Rys. 4. Okno z poprawnym wynikiem diagnostyki 3

2. Zintegrowane środowisko programistyczne W celu uruchomienia zintegrowanego środowiska programistycznego należy skorzystać z ikony umieszczonej na pulpicie. Rys. 5. Ikona zintegrowanego środowiska programistycznego Rys. 6. Okno główne 4

Pierwszą czynnością po uruchomieniu środowiska jest nawiązanie połączenia z modułem uruchomieniowym - można tego dokonać poprzez wybranie opcji z menu Debug Connect (Alt+C). Rys. 7. Nawiązanie połączenia z modułem Wszystkie pliki projektowe oraz program terminala są umieszczone w następującej lokalizacji: C:\CCStudio_v3.1\MyProject\ Aby odczytać wcześniej przygotowany projekt należy wybrać opcję Project Open 5

Rys. 8. Odczyt pliku projektowego Po odczytaniu pliku projektowego z katalogu ProgramNr1 i wybraniu okna z plikiem źródłowym okno środowiska będzie wyglądało następująco: Rys. 9. Okno środowiska po odczycie pliku projektowego 6

Tworzenie programu wykonywalnego (*.out) znajdującego się w podkatalogu Debug dokonuje się poprzez: a.) Kompilację projektu: - opcja Rebuild All ikona poziomego Toolbaru: - opcja Rebuild All z menu Project: b.) Weryfikację tworzenia pliku wykonywalnego w oknie wyjściowym: 7

Ładowanie programu do pamięci procesora sygnałowego dokonuje się poprzez wybranie opcji z menu File Load Program: Plik wykonywalny (*.out) zwykle znajduje się w podkatalogu Debug tworzonego projektu. 8

Aby uruchomić program lub śledzić jego kod krok po kroku można użyć różnych ikon pionowego Toolbara, skrótów klawiszowych lub opcji z menu Debug: 9

Zadanie 1. Zmodyfikować szablon programu (Katalog projektu Program 1) tak, aby procesor zmieniał stan zadanego przez prowadzącego pinu wejścia/wyjścia dla odpowiedniego portu procesora. Zadanie wykonaj dla obu sposobów realizacji zadania patrz przykłady. Zmierz uzyskane czasy. Materiały pomocnicze zamieszczono w Załączniku 1. W sprawozdaniu należy: 1. Umieścić zestawiony kod programu, 2. Umieścić zarejestrowane oscylogramy i zamieścić pomierzone czasy zmiany stanu a.) wysoki niski, b.) niski wysoki, 3. Skomentuj uzyskane czasy i ich różnice. Powyższe czynności należy wykonać dla obu sposobów realizacji zadania Przykład: Zestawić program tak aby pin GPIO0 zmieniał stan wysoki niski, niski wysoki, wysoki niski ). Stan wysoki poziom napięcia 3.3V, stan niski 0V. Poprawność działania programu zweryfikować podglądając przebieg sygnału na pinie GPIO0 korzystając z oscyloskopu. Fragment kodu programu (pierwszy sposób): EALLOW; GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0; GpioCtrlRegs.GPADIR.bit.GPIO0 = 1; EDIS; //Multiplekser ustawiono na funkcję GPIO //GPIO0 ustawiono jako wyjście while(1){ GpioDataRegs.GPATOGGLE.bit.GPIO0 = 1; } //Zmiana stanu pinu GPIO0 Fragment kodu programu (sposób drugi): EALLOW; GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0; GpioCtrlRegs.GPADIR.bit.GPIO0 = 1; EDIS; while(1){ GpioCtrlRegs.GPASET.bit.GPIO0 = 1; GpioCtrlRegs.GPACLEAR.bit.GPIO0 = 1; } //Multiplekser ustawiono na funkcję GPIO //GPIO0 ustawiono jako wyjście //Ustaw stan wysoki na pinie GPIO0 //Ustaw stan niski na pinie GPIO0 10

Zadanie 2. Zmień szablon programu (Katalog projektu Program 2) tak, aby procesor, wykorzystując układ Timer0, odmierzył czas zadany przez prowadzącego. Moment startu odliczania i jego zakończenie należy zasygnalizować zaświeceniem diody LED sterowanej z pina GPIO34. W szablonie programu zamieszczono odpowiednie funkcje do wykorzystania: void LED_On(void); void LED_Off(void); void LED_Toggle(void); Materiały pomocnicze zamieszczono w Załączniku 2. W sprawozdaniu należy: 1. Umieścić zestawiony kod programu 11

Zadanie 3. Zmodyfikować szablon programu (Katalog projektu Program 3) tak, aby procesor wykorzystując interfejs SCI (RS232C) wysyłał zadany znak z określonymi parametrami transmisji zadanymi przez prowadzącego. Używając programu Terminal na komputerze PC podejrzeć poprawność wysyłanych znaków. Materiały pomocnicze zamieszczono w Załączniku 3,4 i 5. W sprawozdaniu należy: 1. Zamieścić zestawiony kod programu. 2. Zamieścić zarejestrowane oscylogramy przebiegu linii TxD (RS232C) i zidentyfikować na nim bit startu, stopu, parzystości oraz bity przesyłanego znaku. 3. Zamieścić zrzut ekranu z odebranymi znakami okna programu Terminal. Rys. 10. Schemat połączeń Przykład: Zestawić programu z następującymi parametrami transmisji: 1 bit stopu, bez kontroli parzystości, dana 8-bitowa, prędkość transmisji 9600 bitów/s. Dla: f CPU = 100 000 000 Hz Prędkość transmisji = 9600 bit/s 12

Otrzymujemy: SCIHBAUD = 0x01; SCILBAUD = 0x44; Fragment kod programu: //Parametry transmisji SciaRegs.SCICR.bit.STOPBITS = 0; SciaRegs.SCICR.bit.PARITY = 0; SciaRegs.SCICR.bit.PARITYENA=0; SciaRegs.SCICR.bit.SCICHAR = 7; //1 stop bit //Odd Parity //Parity enabled //Character length control //Prędkość transmisji: SciaRegs.SCIHBAUD = 0x01; SciaRegs.SCILBAUD = 0x44; 13

Zadanie 4. Korzystając z interfejsu SCI (RS232C) zmodyfikować programu (Katalog projektu Program 4) tak, aby realizował zadany program. Działanie programu polega na odbieraniu znaku, odpowiednim zinterpretowaniu go i odpowiedzi. Parametry transmisji oraz schemat reakcji - wg wytycznych prowadzącego. Do komunikacji z modułem procesora należy na komputerze uruchomić program Terminal. Materiał pomocnicze zamieszczono w Załączniku 3. W sprawozdaniu należy: 1. Umieścić kod programu. 2. Umieścić zrzut ekranu wyników transmisji programu Terminal Rys. 11. Schemat połączeń Przykład: Zestawić program, który będzie realizował, po odebraniu znaku, odpowiednie zadania wg załączonej tabeli reakcji: Odebrany znak w kodzie ASCII Zadanie do realizacji 1 Zapal diodę LED i wyślij znak A 2 Zgać diodę LED i wyślij znak B Inne Wyślij znak C 14

Fragment kodu programu: Status = SciaRegs.SCIFFRX.bit.RXFFST; If(Status!= 0){ //Jest odebrany znak w buforze odbiorczym ReceivedChar = SciaRegs.SCIRXBUF.all; } If(ReceivedChar == 1 ){ LED_On(); SCIA_WyslijZnak( A ); while((sciaregs.scictl2.bit.txempty!= 1)&&(SciaRegs.SCIFFTX.bit.TXFFST >=16)); } else if(receivedchar == 2 ){ LED_Off(); SCIA_WyslijZnak( B ); while((sciaregs.scictl2.bit.txempty!= 1)&&(SciaRegs.SCIFFTX.bit.TXFFST >=16)); } else{ SCIA_wyslijZnak( C ); while((sciaregs.scictl2.bit.txempty!= 1)&&(SciaRegs.SCIFFTX.bit.TXFFST >=16)); } 15

Załącznik 1 Sygnały portów procesora Sygnały cyfrowe Rys. 12. Widok złącza P8 z cyfrowymi sygnałami I/O DSP Rys. 13. Szczegółowy opis pinów złącza P8 16

Sygnały analogowe Rys. 14. Widok złącz P5 i P9 z analogowymi sygnałami wejściowymi DSP Rys. 15. Szczegółowy opis pinów złącz P5 i P9 17

Procesor umożliwia multipleksowanie do 3 niezależnych sygnałów peryferyjnych na pojedynczym pinie GPIO co przedstawia poniższy rysunek. Rys. 16. Schemat blokowy konfiguracji pinu Definiując pin do pracy należy określić jego funkcję oraz rodzaj (wejście/wyjście). 18

Tabela 1. Możliwe ustawienia multiplexera 19

Załącznik 2 Zegary procesora Procesor posiada trzy 32-bitowe zegary, które mogą być użyte w aplikacjach użytkownika. Rys. 17. Schemat funkcjonalny timera Timer pracuje w następujący sposób: 32-bitowy rejestr licznika TIMH:TIM zostaje załadowany wartością z rejestru PRDH:PRD. Po uruchomieniu licznika rejestr licznika jest dekrementowany z taktem zegara SYSCLKOUT. Po osiągnięciu wartości zero generowane jest przerwanie. Zależność na generacje przerwania po upływie określonego czasu: PRD = f CPU [MHz]*żądany czas [us]. Maksymalna wartość PRD= 2 32 ; 20

Załącznik 3 Asynchroniczny port szeregowy SCI RS232C Rys. 18. Schemat blokowy modułu komunikacji szeregowej 21

Rys. 19. Rejestr parametrów transmisji 22

Załącznik 4 Ramka przesyłanej danej interfejs RS232C 1 bit startu; 7 bitów danej znak A 41 HEX ; Bit parzystości; dwa bity stopu. 23

Załącznik 5 Tabela ASCII 24