Procesory DSP w przykładach
- Dodaj recenzję:
- Kod: 5868
- Producent: BTC
- Autor: Henryk A. Kowalski
- Rok wydania: 2012
- ISBN: 978-83-60233-78-8
- Liczba stron: 440
- Oprawa: twarda
- Format: B5
-
Dostępność:
Jest
-
- Cena netto: 113,33 zł 119,00 zł
- szt.
Opis
Książka jest podręcznikiem aplikacyjnym dla użytkowników układów TMS320C2802x Piccolo firmy Texas Instruments, wprowadzającym w świat dedykowanych im narzędzi sprzętowych, programistycznych oraz programów przykładowych. Autor przygotował na potrzeby książki 13 kompletnych aplikacji, na przykładach których czytelnicy mogą poznać tajniki pisania programów i wykorzystywania najważniejszych zasobów układów Piccolo. Dzięki szczegółowym opisom przebiegu tworzenia każdej z aplikacji, przykłady przedstawione w książce są doskonałą bazą do nauki i pogłębiania wiedzy o praktycznych aspektach stosowania układów TMS320C2802x.
Książka jest przeznaczona dla konstruktorów urządzeń elektronicznych i studentów uczelni technicznych, a także uczniów średnich szkół technicznych i hobbystów zainteresowanych stosowaniem układów z rodziny TMS320C2802x Piccolo we własnych aplikacjach.
Spis treści
Wstęp / 11
1. Procesory serii TMS320F2802x/3x/6x Piccolo / 15
1.1. Organizacja układów procesorowych serii F2802x Piccolo / 23
1.2. Organizacja układów procesorowych serii F2803x Piccolo / 29
1.3. Organizacja układów procesorowych serii F2806x Piccolo / 34
2. Code Composer Studio v4 – zintegrowane środowisko projektowe / 41
2.1. Instalowanie i uruchamianie środowiska CCSv4 / 44
2.1.1. Pobieranie pliku instalacyjnego środowiska CCSv4 / 45
2.1.2. Instalowanie środowiska CCSv4 / 47
2.1.3. Uruchamianie środowiska CCSv4 / 49
2.1.4. Aktualizowanie środowiska CCSv4 / 54
2.1.5. Tworzenie/importowanie projektu / 56
2.1.6. Perspektywa C/C++ / 62
2.1.7. Okno C/C++ Projects / 64
2.1.8. Definiowanie konfiguracji sprzętowego systemu docelowego / 66
2.2. Praca z projektem w środowisku CCSv4 / 73
2.2.1. Dodawanie plików z kodem źródłowym do projektu / 74
2.2.2. Edytowanie kodu / 75
2.2.3. Perspektywa Debug i uruchamianie debuggera / 75
2.2.4. Dołączanie/odłączanie sprzętu do CCSv4 / 78
2.2.5. Okno Debug / 79
2.2.6. Okno Disassembly / 80
2.2.7. Budowanie projektu / 82
2.2.8. Ładowanie kodu programu / 83
2.2.9. Uruchamianie programu, praca krokowa i polecenie Reset / 86
2.2.10. Pułapki / 89
2.2.11. Debuggowanie w czasie rzeczywistym / 96
2.2.12. Okna podglądu, pamięci, rejestrów, stosu i symboli / 97
2.2.13. Wizualizacja danych / 103
2.3. Narzędzia generacji kodu dla układów procesorowych F2802x/3x/6x Piccolo / 104
2.3.1. Pakiet Code Generation Tools (CGT) / 104
2.3.2. Konfigurowanie narzędzi generacji kodu w środowisku CCSv4 / 107
3. Programowanie układów procesorowych rodziny TMS320C2000 / 111
3.1. Implementacja języka C/C++ dla układów procesorowych rodziny TMS320C2000 / 112
3.1.1. Typy danych języka C/C++ / 112
3.1.2. Słowa kluczowe i wstawki asemblerowe / 113
3.2. Metody programowania układów procesorowych rodziny TMS320C2000 w języku C/C++ / 115
3.2.1. Mechanizm pól bitowych / 116
3.2.2. Rozmiar kodu i wydajność / 118
3.2.3. Optymalizacja rozmiaru kodu i czasu dostępu / 120
3.2.4. Wpływ operacji RMW podczas stosowania dostępu pól bitowych rejestrów / 122
3.2.5. Rejestry, których bity mogą być zmienione podczas operacji RMW / 122
3.2.6. Rejestry z bitami typu zapisz jedynkę dla wyzerowania / 123
3.2.7. Rejestry wymagające specjalnej wartości / 125
3.2.8. Rejestry 32-bitowe (eCAN) / 126
3.3. Pakiety programowe Firmware Development Package dla układów procesorowych F2802x/3x/6x Piccolo / 127
3.3.1. Organizacja plików pakietów programowych Firmware / 128
3.3.2. Folder headers pakietów Firmware Development Package / 130
3.3.3. Folder common pakietów Firmware Development Package / 140
3.3.4. Projekty przykładowe pakietów programowych Firmware / 154
3.4. Środowisko czasu wykonania / 159
3.4.1. Model pamięci / 159
3.4.2. Inicjacja środowiska języka C/C++ / 161
3.4.3. Struktura funkcji, konwencje wywołań i obsługa przerwań / 166
3.5. Wykonywanie kodu z pamięci Flash po operacji Reset / 170
3.6. Wyłączanie modułu CPU Watchdog podczas uruchamiania programu w języku C / 171
3.7. Programowanie wewnętrznej pamięci Flash / 176
3.7.1. Biblioteki Flash API dla układów procesorowych F2802x/3x/6x Piccolo / 179
3.7.2. Narzędzie programowe On-Chip Flash środowiska CCSv4 / 181
3.8. Program C2Prog / 183
3.8.1. Instalowanie programu C2Prog / 185
3.8.2. Przygotowanie pliku *.hex / 185
3.8.3. Programowanie pamięci Flash poprzez łącze UART/SCI / 185
3.9. Pakiet programowy controlSUITE / 189
3.9.1. Pakiety programowe Firmware Development Package / 189
3.9.2. Materiały dla zestawów sprzętowych / 190
3.9.3. Biblioteki / 193
3.10. Inne materiały z przykładami programowania / 194
3.11. Oprogramowanie do cyfrowego przetwarzania sygnałów / 195
4. Emulatory i moduły sprzętowe / 197
4.1. Sprzętowe emulatory dla łącza JTAG / 198
4.2. Emulator sprzętowy klasy XDS100 / 200
4.2.1. Aplikacja Mprog – reprogramowanie konwertera FT2232C/D/H / 202
4.2.2. Program xds100serial.exe odczytu numeru seryjnego / 204
4.2.3. Wirtualny port COM na komputerze PC / 205
4.3. Sprzętowe moduły uruchomieniowe / 206
4.3.1. Wtyczka USB F28027 Piccolo controlSTICK / 207
4.3.2. Wtyczka USB F28069 Piccolo controlSTICK / 208
4.3.3. Moduł F28027 Piccolo controlCARD / 209
4.3.4. Moduł F28035 Piccolo controlCARD / 211
4.3.5. Moduł F28069 Piccolo controlCARD / 213
4.3.6. Płytka bazowa USB docking station / 214
4.3.7. Zestawy uruchomieniowe F28027, F28035 oraz F28069 „Experimenter Kit” / 215
4.3.8. Zestawy aplikacyjne z układami procesorowymi F2802x/3x Piccolo / 216
4.4. Konfigurowanie zestawów uruchomieniowych do pracy z emulatorem sprzętowym / 218
5. Przykładowe ćwiczenia / 221
5.0. Konfiguracja programowa i sprzętowa do ćwiczeń / 224
5.0.1. Konfiguracja programowa do ćwiczeń / 224
5.0.2. Konfiguracja sprzętowa do ćwiczeń / 226
5.0.3. Dobre (po)rady / 228
5.1. Ćwiczenie 1 – Pierwszy program w języku C w środowisku CCSv4 / 229
5.1.1. Konfiguracja sprzętowa i programowa / 230
5.1.2. Tworzenie nowej lokalizacji folderu roboczego projektu (workspace) / 231
5.1.3. Tworzenie nowego projektu w środowisku CCSv4 / 232
5.1.4. Tworzenie i edytowanie plików kodu źródłowego / 235
5.1.5. Budowanie projektu / 237
5.1.6. Definiowanie lokalnej docelowej konfiguracji sprzętowej / 238
5.1.7. Uruchamianie debuggera i ładowanie projektu / 241
5.1.8. Uruchamianie i debugowanie projektu / 242
5.1.9. Zastosowanie innej platformy sprzętowej / 244
5.2. Ćwiczenie 2 – Inicjalizacja systemu, układu przerwań i CPU Watchdog / 244
5.2.1. Konfiguracja sprzętowa i programowa / 246
5.2.2. Tworzenie folderu roboczego projektu (workspace) środowiska CCSv4 / 247
5.2.3. Otwieranie istniejącego projektu w środowisku CCSv4 / 247
5.2.4. Otwieranie pliku dokumentacji pakietu programowego Firmware Development Package / 249
5.2.5. Budowanie projektu / 249
5.2.6. Wybór typu układu procesorowego i konfigurowanie pamięci / 252
5.2.7. Definiowanie wspólnej docelowej konfiguracji sprzętowej / 253
5.2.8. Dołączanie wspólnej docelowej konfiguracji sprzętowej do projektu / 254
5.2.9. Budowanie projektu, uruchamianie debuggera oraz ładowanie kodu / 254
5.2.10. Obsługa modułu CPU Watchdog po operacji Reset / 256
5.2.11. Inicjowanie ustawień systemu / 256
5.2.12. Konfigurowanie działania modułu CPU Watchdog / 258
5.2.13. Wybór wejściowego sygnału zegarowego / 258
5.2.14. Ustawianie parametrów modułu PLL i systemowego sygnału zegarowego SYSCLKOUT / 258
5.2.15. Konfigurowanie wyjścia XCLKOUT oraz sygnału zegarowego LOSPCLK / 261
5.2.16. Inicjalizowanie sygnałów zegarowych dla modułów peryferyjnych / 261
5.2.17. Inicjalizowanie układu przerwań CPU oraz modułu PIE / 262
5.2.18. Kod użytkownika projektu Example_2803xWatchdog / 264
5.2.19. Obsługa przerwań / 266
5.2.20. Praca z programem Example_2803xWatchdog / 266
5.2.21. Zastosowanie innej platformy sprzętowej / 268
5.3. Ćwiczenie 3 – Obsługa modułu GPIO oraz liczników CPU Timer / 268
5.3.1. Konfiguracja sprzętowa i programowa / 269
5.3.2. Uruchamianie projektu Example_2803xLedBlink / 269
5.3.3. Konfigurowanie wyprowadzeń cyfrowych I/O (GPIO) / 271
5.3.4. Inicjalizowanie modułów CPU Timer0/1/2 / 273
5.3.5. Kod użytkownika projektu Example_2803xLedBlink / 275
5.3.6. Obsługa przerwania TINT0 / 276
5.3.7. Rozmieszczenie zmiennych 32-bitowych w pamięci / 276
5.3.8. Ustawianie i zmiana stanu wyprowadzeń I/O (GPIO) / 278
5.3.9. Odczyt stanu wyprowadzeń GPIO / 278
5.3.10. Zastosowanie innej platformy sprzętowej oraz inne przykłady pracy modułu GIO oraz CPU TIMER / 279
5.4. Ćwiczenie 4 – Generowanie sygnałów PWM z użyciem modułu ePWM / 281
5.4.1. Konfiguracja sprzętowa i programowa / 282
5.4.2. Uruchamianie projektu Example_2803xEPwmUpAQ / 282
5.4.3. Konfigurowanie wyprowadzeń cyfrowych I/O (GPIO) dla modułów ePWM1/2/3 / 284
5.4.4. Konfigurowanie modułu ePWM / 285
5.4.5. Procedury obsługi przerwań modułu ePWM / 290
5.4.6. Praca programu Example_2803xEPwmUpAQ / 292
5.4.7. Debugowanie programu w trybie Real-time / 293
5.4.8. Praca swobodna modułu ePWM po zatrzymaniu debugowym / 295
5.4.9. Obsługa krytycznych przerwań po zatrzymaniu debugowym / 295
5.4.10. Zastosowanie innej platformy sprzętowej oraz inne przykłady pracy modułu ePWM / 296
5.5. Ćwiczenie 5 – Generowanie sygnałów PWM z użyciem modułu HR PWM / 298
5.5.1. Konfiguracja sprzętowa i programowa / 298
5.5.2. Uruchamianie projektu Example_2803xHRPWM / 299
5.5.3. Konfigurowanie modułu HRPWM / 301
5.5.4. Praca projektu Example_2803xHRPWM / 304
5.5.5. Generowanie sygnału analogowego / 305
5.5.6. Zastosowanie innej platformy sprzętowej oraz inne przykłady pracy modułu HRPWM / 307
5.6. Ćwiczenie 6 – Używanie modułu przetwornika ADC / 308
5.6.1. Konfiguracja sprzętowa i programowa / 309
5.6.2. Uruchamianie projektu Example_2803xAdcSoc / 310
5.6.3. Inicjalizowanie modułu ADC / 312
5.6.4. Konfigurowanie modułu ADC / 313
5.6.5. Procedura obsługi przerwań modułu ADC / 313
5.6.6. Konfigurowanie modułu ePWM1 / 314
5.6.7. Badanie wyjścia XCLKOUT sygnału zegarowego / 314
5.6.8. Praca programu Example_2803xAdcSoc / 315
5.6.9. Wizualizacja graficzna zmiennych tablicowych / 317
5.6.10. Niezsynchronizowany podgląd stanu zmiennych / 319
5.6.11. Zastosowanie innej platformy sprzętowej oraz inne przykłady pracy modułu ADC / 320
5.7. Ćwiczenie 7 – Pomiar sygnału z czujnika temperatury układu procesorowego / 321
5.7.1. Konfiguracja sprzętowa i programowa / 322
5.7.2. Uruchamianie projektu Example_2803xAdc_TempSensorConv / 323
5.7.3. Funkcje odczytu parametrów czujnika temperatury / 325
5.7.4. Obsługa odczytu temperatury / 326
5.7.5. Obsługa przerwania ILLTRAP nielegalna instrukcja / 328
5.7.6. Odczyt typu i wersji układu procesorowego / 332
5.7.7. Konwersja odczytu wartości z czujnika temperatury / 332
5.7.8. Zastosowanie innej platformy sprzętowej oraz inne przykłady pracy modułu ADC z czujnikiem temperatury / 334
5.8. Ćwiczenie 8 – Pomiar okresu i częstotliwości sygnału cyfrowego z użyciem modułu eCAP / 335
5.8.1. Konfiguracja sprzętowa i programowa / 335
5.8.2. Uruchamianie projektu Example_2803xECap_Capture_Pwm / 336
5.8.3. Konfigurowanie wyprowadzeń GPIO dla modułu ePWM3 oraz eCAP1 / 338
5.8.4. Inicjalizowanie modułu ePWM3 oraz eCAP1 / 339
5.8.5. Procedura obsługi przerwania ECAP1_INT modułu eCAP1 / 342
5.8.6. Praca programu Example_2803xECap_Capture_Pwm / 344
5.8.7. Zastosowanie innej platformy sprzętowej dla pracy modułu eCAP / 345
5.9. Ćwiczenie 9 – Generowanie sygnałów PWM z użyciem modułu eCAP w trybie APWM / 346
5.9.1. Konfiguracja sprzętowa i programowa / 347
5.9.2. Uruchamianie projektu Example_2803xECap_Capture_Pwm / 347
5.9.3. Konfigurowanie wyprowadzeń GPIO dla modułu eCAP1 / 349
5.9.4. Inicjalizowanie modułu eCAP1 / 350
5.9.5. Praca programu Example_2803xECap_apwm / 351
5.9.6. Zastosowanie innej platformy sprzętowej dla pracy modułu eCAP w trybie APWM / 352
5.10. Ćwiczenie 10 – Transmisja danych poprzez łącze SCI/UART / 352
5.10.1. Konfiguracja sprzętowa i programowa / 353
5.10.2. Uruchamianie projektu Example_2803xECap_Capture_Pwm / 355
5.10.3. Konfigurowanie wyprowadzeń GPIO dla modułu SCI / 356
5.10.4. Inicjalizowanie modułu SCI / 357
5.10.5. Praca programu Example_2803xSci_Echoback / 358
5.10.6. Zastosowanie innej platformy sprzętowej oraz inne przykłady pracy modułu SCI / 360
5.10.7. Stosowanie sterownika standardu RS-232 / 361
5.11. Ćwiczenie 11 – Używanie modułu I2C / 362
5.11.1. Konfiguracja sprzętowa i programowa / 363
5.11.2. Uruchamianie projektu Example_2803xI2C_eeprom / 365
5.11.3. Struktura programu Example_2803xI2C_eeprom / 367
5.11.4. Konfigurowanie wyprowadzeń GPIO dla modułu I2C / 368
5.11.5. Inicjalizowanie modułu I2C / 369
5.11.6. Procedura obsługi przerwania I2CINT1A modułu I2C / 371
5.11.7. Praca programu Example_2803xI2C_eeprom / 373
5.11.8. Zastosowanie innej platformy sprzętowej do pracy modułu I2C / 382
5.12. Ćwiczenie 12 – Uruchamianie programu z wewnętrznej pamięci Flash układu procesorowego / 383
5.12.1. Konfiguracja sprzętowa i programowa / 384
5.12.2. Uruchamianie projektu Example_2803xFlash / 385
5.12.3. Konfigurowanie pamięci do pracy z pamięcią Flash / 387
5.12.4. Przepisywanie kodu programu z pamięci Flash do pamięci RAM / 389
5.12.5. Inicjalizowanie ustawień pamięci Flash / 391
5.12.6. Praca programu Example_28035_Flash / 391
5.12.7. Ładowanie symboli / 393
5.12.8. Znikająca pułapka programowa / 394
5.12.9. Zastosowanie innej platformy sprzętowej przy pracy z pamięcią Flash / 397
5.12.10. Nota aplikacyjna Running an Application from Internal Flash Memory on the TMS320F28xx DSP / 398
5.13. Ćwiczenie 13. Tryby bootowania układów procesorowych serii F2802x/3x/6x Piccolo / 399
5.13.1. Konfiguracja sprzętowa i programowa / 400
5.13.2. Sprawdzanie działania układu procesorowego podczas bootowania / 401
5.13.3. Ustawianie trybów bootowania układu procesorowego serii F2802x/3x/6x Piccolo / 402
5.13.4. Uruchamianie kodu programu po zakończeniu bootowania układu procesorowego serii F2802x/3x/6x Piccolo / 406
Dodatki / 413
Dodatek A. Code Composer Studio v5 / 414
Dodatek B. Plik Lab1.txt / 417
Dodatek C. Rozwiązania zadań z rozdziału 5 / 418
Literatura / 430
Informacje o bezpieczeństwie produktu Informacje o producencie
Zadaj pytanie dotyczące produktu. Nasz zespół z przyjemnością udzieli szczegółowej odpowiedzi na zapytanie.