Tytuł: | Procesory DSP dla praktyków | Autor: | Henryk A. Kowalski | ISBN: | 978-83-60233-77-1 | Ilość stron: | 552 | Data wydania: | 10/2011 | Oprawa: | Twarda | Format: | 16.5x24.0cm | Wydawnictwo: | BTC | Cena: | 99.00zł |
Książka jest kompleksowym przewodnikiem po tajnikach wewnętrznej budowy, możliwościach aplikacyjnych i wyposażeniu mikrokontrolerów z rodziny TMS320C2xxxx firmy Texas Instruments.
Szczególnie dużą uwagę poświęcono układom z niezwykle popularnej na świecie podrodziny Piccolo, która pozwoliła wejść w świat cyfrowej obróbki sygnałów (DSP) elektronikom obawiającym się trudnych do uniknięcia wysokich kosztów startowych, jakie trzeba było dotychczas ponosić aplikując rozwiązania starszych generacji.
Książka może spełniać rolę podręcznika wprowadzającego w DSP od strony aplikacyjnej. Jest przeznaczona zarówno dla konstruktorów i studentów uczelni technicznych, jak i dla hobbystów zainteresowanych DSP i nowoczesnymi rodzinami 32-bitowych mikrokontrolerów.
Rozdziały:
1. Procesory sygnałowe DSC (Digital Signal Controllers) 1.1. Przegląd układów procesorowych czasu rzeczywistego 13 1.2. Procesory rodziny TMS320C2000 firmy Texas Instruments 15
2. Budowa układów procesorowych rodziny TMS320C2000 2.1. Organizacja 32-bitowych procesorów rodziny TMS320C2000 24 2.2. C28x – 32-bitowy rdzeń (CPU) procesorów rodziny TMS320C2000 27 2.2.1. Budowa rdzenia C28x procesorów rodziny TMS320C2000 27 2.2.2. Zestaw rejestrów rdzenia C28x procesorów rodziny TMS320C2000 29 2.2.3. Rejestry CPU: ACC, AH, AL, XT, T, TL, P, PH, PL, DP, SP, XAR0-XAR7, PC, RPC 2.2.4. Rejestr stanu ST0 34 2.2.5. Rejestr stanu ST1 38 2.2.6. Jednostka obliczeniowa 42 2.2.7. Jednostka operacji Atomic 44 2.2.8. Jednostka generacji adresów danych 45 2.2.9. Jednostka sterująca 46 2.3. Przestrzenie adresowe procesorów rodziny TMS320C2000 46 2.3.1. Szyny wewnętrzne procesorów rodziny TMS320C2000 49 2.3.2. Obszary Peripheral frame procesorów rodziny TMS320C2000 50 2.3.3. Pamięć RAM 51 2.3.4. Pamięć Flash oraz OTP 51 2.3.5. Rejestry pamięci Flash oraz OTP 57 2.3.6. Moduł ochrony kodu – CSM 61 2.3.7. Rejestry z ochroną EALLOW 68 2.3.8. Ochrona WFR (write-followed-read) 69 2.4. Przerwania procesorów rodziny TMS320C2000 70 2.4.1. Tablica wektorów przerwań 71 2.4.2. Przerwania maskowalne CPU: /INT1-/INT14, DLOGINT, RTOSINT 74 2.4.3. Rejestry IFR, IER, DBGIER 75 2.4.4. Standardowa obsługa przerwania maskowalnego CPU 77 2.4.5. Instrukcje pułapek INTR oraz TRAP 81 2.4.6. Sytuacja błędna: ILLTRAP 84 2.4.7. Przerwania niemaskowalne: /NMI, /RESET 85 2.4.8. Przerwania zewnętrzne procesorów rodziny TMS320C2000 85 2.4.9. Moduł PIE (Peripheral Interrupt Expansion) procesorów rodziny TMS320C2000 86 2.5. Moduł liczników CPU – TIMER0, TIMER1, TIMER2 91 2.5.1. Budowa modułu liczników CPU 91 2.5.2. Rejestry modułu liczników CPU 93 2.6. Moduł LPM – zarządzanie poborem mocy 95 2.7. Moduł CPU watchdog procesorów rodziny TMS320C2000 99 2.8. Moduł emulacji sprzętowej procesorów rodziny TMS320C2000 105 2.8.1. Interfejs JTAG 106 2.8.2. Tryby debugowe pracy procesora 108 2.8.3. Mechanizm DT-DMA 112 2.8.4. Układy analizy AU1 i AU2 114 2.8.5. Rejestrowanie danych debugowych 117 2.9. Potokowanie instrukcji procesorów rodziny TMS320C2000 124 2.9.1. Organizacja potoku CPU 125 2.9.2. Wizualizacja pracy potoku CPU 128 2.9.3. Zamrażanie pracy potoku CPU 131 2.9.4. Ochrona pracy potoku CPU 132 2.10. Instrukcje asemblerowe CPU procesorów rodziny TMS320C2000 135 2.10.1. Instrukcje asemblerowe typu read-modify-write (RMW) CPU 137 2.10.2. Instrukcje obsługi stosu CPU 138 2.10.3. Instrukcje skoków, wywołań i powrotów 139 2.10.4. Instrukcje emulacyjne 139 2.11. Tryby adresowania danych CPU procesorów rodziny TMS320C2000 139 2.11.1. Adresowanie bezpośrednie (DP) 140 2.11.2. Adresowanie bezpośrednie rejestrowe (XAR0-XAR7, ACC, P, XT) 141 2.11.3. Adresowanie bezpośrednie dla przestrzeni danych i programu 143 2.11.4. Adresowanie pośrednie (XAR0–XAR7) 144 2.11.5. Adresowanie pośrednie cykliczne (XAR6, AR1) 146 2.11.6. Adresowanie pośrednie względem wskaźnika stosu (SP) 147 2.11.7. Adresowanie rejestrowe pośrednie w przestrzeni programu 148 2.11.8. Adresowanie bajtowe 149 2.11.9. Wyrównanie dla operacji z danymi 32-bitowymi 151
3. Budowa układów procesorowych serii F2802x Piccolo 3.1. Organizacja układów procesorowych serii F2802x Piccolo 155 3.2. Przestrzenie adresowe układów procesorowych serii F28202x Piccolo 163 3.2.1. Obszary Peripheral frame układów procesorowych serii F28202x Piccolo 164 3.2.2. Pamięć Boot ROM układów procesorowych serii F2802x Piccolo 165 3.2.3. Rejestry emulacyjne układów procesorowych serii F2802x Piccolo 169 3.2.4. Moduł ochrony emulacyjnej kodu – ECSL układów procesorowych serii F2802x Piccolo 3.3. Układ generacji sygnałów zegarowych układów procesorowych serii F2802x Piccolo 3.3.1. Oscylatory układów procesorowych serii F2802x/3x Piccolo 175 3.3.2. Moduł PLL układów procesorowych serii F2802x/3x Piccolo 180 3.3.3. Moduł wykrywania zaniku sygnału zegarowego układów serii F2802x/3x Piccolo 3.3.4. Moduł NMI Watchdog i przerwanie NMI układów procesorowych serii F2802x/3x Piccolo 3.3.5. Sygnał wejściowy XCLKIN i wyjściowy XCLKOUT układów serii F2802x/3x Piccolo 3.3.6. Sygnały zegarowe SYSCLKOUT i LSPCLK układów serii F2802x/3x Piccolo 3.3.7. Włączanie sygnału zegara układów peryferyjnych układów serii F2802x Piccolo 3.4. Moduł wejścia-wyjścia (GPIO) układów procesorowych serii F2802x/3x Piccolo 3.4.1. Budowa układów wejścia-wyjścia układów procesorowych serii F2802x/3x Piccolo 3.4.2. Kwalifikowanie cyfrowego sygnału wejściowego układów serii F2802x/3x Piccolo 3.4.3. Multiplekser GPIO i funkcje przypisane do wyprowadzeń układów serii F2802x Piccolo 3.4.4. Rejestry modułu wejścia-wyjścia (GPIO) układów procesorowych serii F2802x Piccolo 3.5. Przerwania układów procesorowych serii F2802x/3x Piccolo 224 3.5.1. Przerwania zewnętrzne układów procesorowych serii F2802x/3x Piccolo 226 3.5.2. Rejestry modułu PIE układów procesorowych serii F2802x/3x Piccolo 227 3.5.3. Tablica wektorów przerwań modułu PIE układów procesorowych serii F2802x Piccolo 3.6. Układy POR i BOR układów procesorowych serii F2802x/3x Piccolo 229 3.7. Operacja RESET układów procesorowych serii F2802x/3x Piccolo 232 3.8. Procedura bootowania układów procesorowych serii F2802x/3x Piccolo 237 3.8.1. Tryby bootowania układów procesorowych serii F2802x/3x Piccolo 241 3.8.2. Funkcja InitBoot() inicjalizacji układu procesorowego 247 3.8.3. Procedura Device_cal 249 3.8.4. Funkcje wyboru trybu bootowania 250 3.8.5. Funkcja kończenia procedury bootowania 252 3.8.6. Bootowanie do bloku M0 pamięci RAM 253 3.8.7. Bootowanie do pamięci Flash 254 3.8.8. Bootowanie do pamięci OTP 254 3.8.9. Struktura ładowanych danych 254 3.8.10. Podstawowa procedura przesyłania danych 258 3.8.11. Funkcja kopiowania danych 259 3.8.12. Generowanie pliku do bootowania 260 3.8.13. Bootowanie z portu SCI 260 3.8.14. Bootowanie z portu równoległego (Paralel I/O) 261 3.8.15. Bootowanie z portu SPI 263 3.8.16. Bootowanie z portu I2C 264 3.8.17. Bootowanie z portu CAN układów procesorowych serii F2803x Piccolo 264 3.9. Zasilanie układów procesorowych serii F2802x Piccolo 265
4. Budowa układów procesorowych serii F2803x Piccolo 4.1. Organizacja układów procesorowych serii F2803x Piccolo 269 4.2. Przestrzenie adresowe układów procesorowych serii F28203x Piccolo 273 4.2.1. Obszary Peripheral Frame układów procesorowych serii F28203x Piccolo 279 4.2.2. Pamięć „Boot ROM” układów procesorowych serii F2803x Piccolo 280 4.2.3. Rejestry emulacyjne układów procesorowych serii F2803x Piccolo 280 4.2.4. Moduł ochrony emulacyjnej kodu – ECSL układów procesorowych serii F2803x Piccolo 4.3. Układ generacji sygnałów zegarowych układów procesorowych serii F2803x Piccolo 4.3.1. Budowa układu generacji sygnałów zegarowych układów serii F2803x Piccolo 4.3.2. Włączanie sygnału zegara układów peryferyjnych układów serii F2803x Piccolo 4.4. Moduł wejścia-wyjścia (GPIO) układów procesorowych serii F2803x Piccolo 4.4.1. Multiplekser GPIO i funkcje przypisane do wyprowadzeń układów serii F2803x Piccolo 4.4.2. Rejestry modułu wejścia-wyjścia (GPIO) układów procesorowych serii F2803x Piccolo 4.5. Tablica wektorów przerwań modułu PIE układów procesorowych F2803x Piccolo 4.6. Zasilanie układów procesorowych F2803x Piccolo 305 4.7. Moduł CLA układów procesorowych F2803x Piccolo 306 4.7.1. Budowa modułu CLA układów procesorowych F2803x Piccolo 307 4.7.2. Programowanie modułu CLA układów procesorowych F2803x Piccolo 313 4.7.3. Zbiór instrukcji modułu CLA układów procesorowych F2803x Piccolo 317
5. Moduły peryferyjne układów procesorowych rodziny TMS320C2000 5.1. Typy modułów peryferyjnych układów procesorowych rodziny TMS320C2000 5.2. Moduł ePWM (Typ1) układów procesorowych serii F2802x/3x Piccolo 326 5.2.1. Podmoduł podstawy czasu TB (Time-Base) 331 5.2.2. Podmoduł porównania licznika CC (Counter-Compare) 339 5.2.3. Podmoduł kwalifikacji i akcji AQ (Action-Qualifier) 342 5.2.4. Podmoduł generacji przedziału nieczułości DB (Dead-Band) 350 5.2.5. Podmoduł PC (PWM-Chopper) 354 5.2.6. Podmoduł TZ (Trip-Zone) 356 5.2.7. Podmoduł ET (Event-Trigger) 360 5.2.8. Podmoduł porównania cyfrowego DC (Digital-Compare) 365 5.2.9. Rejestry modułu ePWM 370 5.3. Moduł Hi-Resolution PWM – HRPWM (Typ1) układów procesorowych serii F2802x/3x Piccolo 5.3.1. Budowa modułu HRPWM 399 5.3.2. Rejestry modułu HRPWM 406 5.4. Moduł Enhanced CAP – eCAP (Typ0) układów procesorowych serii F2802x/3x 5.4.1. Budowa modułu eCAP 411 5.4.2. Praca modułu eCAP w trybie capture 414 5.4.3. Praca modułu eCAP w trybie APWM 418 5.4.4. Przykłady pracy modułu eCAP 420 5.4.5. Rejestry modułu eCAP 427 5.5. Moduł przetwornika analogowo-cyfrowego ADC (Typ3) układów procesorowych serii F2802x/3x Piccolo 5.5.1. Budowa układu SOCx modułu ADC (Typ3) 440 5.5.2. Przerwania modułu ADC (Typ3) 443 5.5.3. Tryb próbkowania sekwencyjnego modułu ADC (Typ3) 443 5.5.4. Próbkowanie równoczesne modułu ADC (Typ3) 448 5.5.5. Zasilanie modułu ADC (Typ3) i napięcia odniesienia 450 5.5.6. Konfigurowanie zasilania modułu ADC (Typ3) 452 5.5.7. Kalibracja modułu ADC (Typ3) 452 5.5.8. Czujnik temperatury modułu ADC (Typ3) 453 5.5.9. Rejestry modułu ADC (Typ3) 454 5.6. Moduł komparatora – COMP (Typ0) układów procesorowych serii F2802x/3x Piccolo 5.7. Moduł asynchronicznego łącza szeregowego SCI (Typ0) układów procesorowych serii F2802x/3x 5.7.1. Budowa modułu SCI 474 5.7.2. Format danych 476 5.7.3. Przerwania portu SCI 477 5.7.4. Wyliczanie prędkości transmisji portu SCI 477 5.7.5. Obsługa buforów FIFO portu SCI 478 5.7.6. Automatyczne określanie prędkości portu SCI (autobaud) 480 5.7.7. Rejestry portu SCI 481 5.8. Moduł łącza szeregowego SPI (Typ1) układów procesorowych serii F2802x/3x Piccolo 5.8.1. Budowa modułu SPI 490 5.8.2. Tryby pracy modułu SPI 493 5.8.3. Format danych i szybkość transmisji modułu SPI 495 5.8.4. Typy ustawień zegara modułu SPI 496 5.8.5. Obsługa buforów FIFO i przerwania modułu SPI 498 5.8.6. Tryb trójsygnałowy pracy modułu SPI 500 5.8.7. Rejestry portu SPI 501 5.9. Moduł łącza szeregowego I2C (Typ0) układów procesorowych serii F2802x/3x 5.9.1. Budowa modułu I2C 508 5.9.2. Praca modułu I2C 511 5.9.3. Rejestry modułu I2C 519 5.10. Moduł Enhanced QEP – eQEP (Typ0) układów procesorowych serii F2803x 5.10.1. Budowa modułu eQEP 535 5.10.2. Jednostka dekodera kwadraturowego (QDU) modułu eQEP 536 5.10.3. Jednostka pomiaru zboczy, QWDOG i podstawy czasu modułu eQEP 539 5.11. Moduł łącza szeregowego – eCAN (Typ2) układów procesorowych serii F2803x 5.11.1. Budowa modułu eCAN 541 5.11.2. Architektura modułu eCAN 544 5.12. Moduł łącza szeregowego – LIN (Typ0) układów procesorowych serii F2803x
Procesory DSP dla praktyków --- Pozycja niedostępna.---
|