AVR Układy peryferyjne Tomasz Francuz
Товар
Характеристики
Описание
AVR Układy peryferyjne
Tomasz Francuz
Poznaj praktyczne zastosowania urządzeń peryferyjnych dla mikrokontrolera AVR!
- Dowiedz się, jak działają zewnętrzne pamięci półprzewodnikowe
- Naucz się korzystać z komparatorów oraz przetworników ADC i DAC
- Poznaj techniki wyświetlania obrazu i odtwarzania dźwięku
Mikrokontrolery bez urządzeń peryferyjnych stanowią niszę rozwijaną głównie przez pasjonatów elektroniki, dla których programowanie jest celem samym w sobie. Praktyczne zastosowanie takich gadżetów jest możliwe dopiero po dołączeniu pamięci masowej, wyświetlacza alfanumerycznego i graficznego, przetworników analogowo-cyfrowych i cyfrowo-analogowych oraz czujników. Dzięki tym układom mikrokontrolery AVR komunikują się ze światem, zbierają informacje, magazynują dane i mogą służyć nam w codziennym życiu jako stacje pogodowe, odtwarzacze cyfrowe czy sterowniki ogrzewania.
Jeśli masz już pewną wiedzę na temat mikrokontrolerów AVR i chciałbyś ją wzbogacić o wiadomości dotyczące ciekawych zastosowań urządzeń peryferyjnych, sięgnij po jedyną w swoim rodzaju książkę AVR. Układy peryferyjne. Jest ona adresowana do czytelników, którzy chcą poszerzyć swoje praktyczne umiejętności programowania mikrokontrolerów AVR, w tym mikrokontrolerów z rodziny XMEGA. Stanowi naturalną kontynuację doskonałego podręcznika AVR. Praktyczne projekty, kierowanego do mniej zaawansowanych programistów. Książka omawia także specyficzne dla mikrokontrolerów AVR elementy języka C.
- Łączenie kodu C i asemblera oraz debugowanie programu
- Obsługa interfejsów dostępu do pamięci zewnętrznej
- Tworzenie i używanie systemu plików
- Korzystanie z przetworników ADC i DAC oraz komparatorów
- Obsługa wyświetlaczy alfanumerycznych i graficznych
- Przetwarzanie dźwięku i danych wideo
Twórz praktyczne rozwiązania z mikrokontrolerami AVR i układami peryferyjnymi!
Spis treści
Wstęp (9)
- Sprzęt (10)
- Przykłady (11)
- Skróty jednostek (12)
Rozdział 20. Zwalniamy, czyli kiedy opóźnienia są konieczne (13)
- Opóźnienia i XMEGA (18)
- Wykorzystanie timerów do realizacji opóźnień (20)
Rozdział 21. Łączenie kodu C i asemblera (23)
- ABI (25)
- Słowo kluczowe asm (27)
Typy operandów (29)
Dostęp do portów IO (30)
Dostęp do danych wielobajtowych (31)
Dostęp do wskaźników (32)
Lista modyfikowanych rejestrów (32)
Wielokrotne użycie wstawki asemblerowej (33)
- Pliki .S (34)
Wykorzystanie rejestrów w asemblerze (34)
Dyrektywy asemblera (40)
Wywołanie funkcji języka C z asemblera (41)
Rozdział 22. Wyświetlacze LCD alfanumeryczne (43)
- Obsługa wyświetlaczy alfanumerycznych (45)
Funkcje biblioteczne (50)
Definiowanie własnych znaków (56)
- Transakcyjna obsługa LCD (58)
Optymalizacja (68)
Rozdział 23. Interfejs SPI i USART SPI (71)
- Tryby pracy SPI (74)
- Konfiguracja interfejsu SPI (75)
- Konfiguracja USART w trybie SPI (76)
- Pamięci DataFLASH (77)
Organizacja pamięci (77)
Interfejs SPI pamięci (79)
Dostęp do pamięci (81)
Polecenia (81)
Rejestr identyfikacyjny pamięci (87)
Polecenia odczytu pamięci (88)
Polecenia odczytu i zapisu bufora (89)
Polecenia transferu pomiędzy pamięcią a buforem (91)
Rejestry specjalne (94)
- Transakcyjny dostęp do SPI (95)
Łączymy DMA ze SPI (96)
Wywołania zwrotne (callbacks) (98)
Transakcje (103)
- Zasilanie (109)
Rozdział 24. Budujemy system plików (111)
- Najprostszy system plików (111)
Inicjalizacja pamięci (119)
- System plików FAT/FAT32 (128)
Obsługa FAT (131)
Prototypy z diskio.h (136)
Demonstracja (139)
Biblioteka PetitFS (144)
Konfiguracja PetitFS (149)
Rozdział 25. Jeszcze więcej pamięci, czyli karty SD, SDHC i spółka (151)
- Trochę o budowie karty (152)
- Tryby pracy karty (153)
- Zasilanie karty (154)
- Komunikacja (156)
Tryb pracy SPI (157)
Format protokołu (157)
Różnice pomiędzy kartami (160)
Inicjalizacja karty (161)
- Rejestry specjalne karty (169)
CID (169)
CSD (172)
- Operacje zapisu i odczytu sektorów (173)
Operacje odczytu (173)
Operacje zapisu (176)
- Suma kontrolna (178)
Program (178)
- Potencjalne problemy (179)
- FATFS na karcie (180)
Rozdział 26. Debuger (183)
- Konfiguracja debugera (185)
- Konfiguracja projektu do debugowania (186)
- Debuger sprzętowy (187)
- Debuger programowy (symulator) (190)
Plik stymulacji (191)
- Pułapki (197)
Punkty śledzenia (203)
Pułapki warunkowe (205)
- Podgląd pamięci (207)
- Podgląd stosu wywołań (209)
- Określenie czasu symulacji (209)
- Okno dezasemblera (210)
- Okno podglądu zmiennych (211)
Łańcuchy formatujące (212)
- Makrodefinicja ASSERT (214)
- Przerwania w trakcie debugowania (218)
- _delay_xx i symulator (219)
Rozdział 27. Przetwornik analogowo-cyfrowy (221)
- Przetwornik potokowy vs. cykliczny (222)
- Napięcie referencyjne (223)
- Konfiguracja pinu IO (225)
- Multiplekser wejściowy (226)
- Układ wzmacniania sygnału (227)
- Co to jest LSB? (228)
- Kalibracja ADC (229)
- Pomiar (231)
Rozdzielczość przetwornika (231)
Tryby pracy przetwornika (231)
Wynik pomiaru (236)
Kalibracja offsetu (237)
Pomiar napięcia zasilania i temperatury mikrokontrolera (239)
- Redukcja poboru energii (242)
- Preskaler ADC (243)
- Wyzwalanie konwersji z wykorzystaniem systemu zdarzeń (245)
Rejestr EVCTRL w XMEGA z ADC bez potoku (248)
- Rejestr porównania (249)
Termometr LM35 (250)
Budujemy termometr z alarmem (251)
- Tryb ciągłej konwersji (252)
- Przemiatanie wejść (253)
- Przerwania (254)
- Wykorzystanie DMA do transferu wyników (254)
- Nadpróbkowanie (258)
Uśrednianie (259)
Decymacja i interpolacja (259)
Interpolacja i decymacja w XMEGA (260)
- Jak zwiększyć precyzję pomiarów? (260)
- Budujemy datalogger (261)
Termistory jako mierniki temperatury (262)
Program dataloggera (265)
Rozdział 28. Komparator analogowy (279)
- Komparator - trochę teorii (279)
Czas propagacji (281)
Histereza (281)
- Komparatory analogowe XMEGA (282)
Multipleksery wejścia (283)
Komparator okienkowy (284)
Przerwania (286)
Uruchomienie komparatora (287)
Rejestr stanu komparatora (287)
- Komparator jako oscylator (287)
- Termostat z wykorzystaniem komparatorów (290)
Termistory (290)
Rozdział 29. DAC (293)
- Buforowanie wyjścia (294)
- Napięcie referencyjne (295)
- Taktowanie (296)
- Zdarzenia (297)
- Wykorzystanie DMA (298)
Próbkowanie 8-bitowe (300)
Tryb dwukanałowy (301)
Generowanie jednocześnie dwóch przebiegów (301)
Wersja oszczędna (304)
Inne sposoby wyzwalania konwersji (305)
- Tryb oszczędzania energii (306)
- Kalibracja DAC (306)
Rozdział 30. Monochromatyczne wyświetlacze graficzne (309)
- Podłączenie LCD do mikrokontrolera (311)
- Budowa i funkcje kontrolera ST7565R (313)
- Funkcje specjalne kontrolera (319)
Inwersja i testowanie obrazu (319)
Obracanie obrazu (319)
Regulacja kontrastu (321)
Numer pierwszej wyświetlanej linii (321)
- Czcionki (322)
- Mała optymalizacja (330)
- Podwójne buforowanie (332)
Adres początku wyświetlania obrazu (333)
- Menu (335)
Menu oparte na piktogramach (342)
Rozdział 31. Pliki z danymi - jak je dodawać do projektu? (349)
- Kompilacja plików binarnych (350)
- Łączenie plików obiektowych z projektem (352)
- Dostęp do danych binarnych (356)
Klasyczny sposób dostępu do danych (358)
Dostęp do danych z wykorzystaniem przestrzeni adresowych (359)
Rozdział 32. Magistrala pamięci zewnętrznej (361)
- Podłączenie pamięci (362)
Konfiguracja portów IO (362)
Przyporządkowanie sygnałów interfejsu EBI do portów IO (363)
Konfiguracja 4-portowa (364)
Pamięć SRAM (366)
Pamięć SRAM w trybie LPC (371)
Pamięć SDRAM (372)
- Konfiguracja sygnału CS (377)
Określenie adresu bazowego i wielkości pamięci (377)
Układ sterowania sygnałem wyboru w trybie SRAM (379)
Układ sterowania sygnałem wyboru w trybie SDRAM (379)
- Przykładowa konfiguracja pamięci SDRAM (381)
- Konfiguracja zegara (383)
- Dostęp do pamięci z poziomu języka C (384)
Dostęp do pamięci poniżej granicy 64 kB (384)
Dostęp do pamięci powyżej granicy 64 kB (386)
Rozdział 33. Generowanie obrazu wideo (391)
- Generowanie obrazu wideo w standardzie VGA (393)
Wtyczka VGA i konwersja sygnałów (396)
Monochromatyczny tryb tekstowy VGA (397)
Monochromatyczny tryb graficzny VGA (407)
- Generowanie sygnału composite (409)
Standard PAL (410)
Monochromatyczny tryb tekstowy (413)
Monochromatyczny tryb graficzny (416)
Tworzenie nakładek (OSD) (417)
- Czas na kolor (424)
Kodowanie koloru (425)
Konwerter cyfrowo-analogowy (426)
Generator obrazu composite (426)
Wykorzystanie EuroSCART (428)
Kolorowy obraz na TV (430)
Rozdział 34. Niech zagra muzyka (439)
- Formaty plików dźwiękowych (440)
Częstotliwość próbkowania (441)
Format pliku (442)
- Obróbka dźwięku (443)
Program Audacity (443)
Program SoX (445)
- Wzmacniacz (446)
- Odtwarzamy muzykę z wykorzystaniem DAC (447)
Inny sposób na podwójne buforowanie (457)
- Generowanie dźwięku z wykorzystaniem PWM (461)
PWM - trochę teorii (461)
Filtrowanie sygnału PWM (468)
Odtwarzamy dźwięk za pomocą 8-bitowego PWM (472)
Rozszerzenie HiRes i PWM o większej rozdzielczości (477)
- Kompresja dźwięku (480)
Próbkowanie nieliniowe (480)
Kompresja ADPCM (482)
Kompresja IMA ADPCM (482)
Nagrywanie mowy z wykorzystaniem kompresji ADPCM (486)
Algorytm ADPCM firmy Dialogic (492)
Rozdział 35. A może mp3? (495)
- Koprocesor mp3 (496)
Sposoby podłączenia do XMEGA (496)
- Dostęp do rejestrów układu (499)
- Format pliku wav (500)
- Rejestry GPIOR (502)
- Testy układu (502)
- Podstawowa komunikacja z koprocesorem (504)
- Rejestry układu VS1003B (508)
Rejestr trybu pracy (508)
Rejestr stanu układu (510)
Rejestr kontroli basów (510)
Rejestr SCI_CLOCKF (511)
Rejestr czasu utworu (512)
Rejestr formatu audio (512)
Rejestry dostępu do pamięci RAM (513)
Rejestr adresu wtyczki (513)
Rejestr kontroli głośności (513)
- Odtwarzamy muzykę (513)
Odtwarzamy muzykę z wykorzystaniem DMA (518)
- Magnetofon cyfrowy (528)
VS100XX w roli magnetofonu (529)
- Własne wtyczki (535)
DTMF jako przykład własnej wtyczki (535)
- Budujemy własną wtyczkę (541)
Tworzenie tablicy z kodem wynikowym (543)
Budowa wtyczki (544)
Własna aplikacja, czyli dekoder DTMF (548)
Rozdział 36. Fusebity i lockbity (557)
- Fusebity (558)
Fusebit JTAGEN (558)
Fusebit RSTDISBL (559)
Fusebit BOOTRST (559)
Fusebity SUT (559)
Fusebit TOSCSEL (559)
Układ detekcji awarii zasilania (559)
Watchdog (560)
Fusebit EESAVE (561)
- Lockbity (561)
- Sygnatura produkcyjna procesora (563)
Numer serii (563)
Numer wafra (563)
Położenie na wafrze (564)
Pozostałe bajty konfiguracyjne (564)
- Sygnatura użytkownika (565)
- Dostęp do danych z poziomu aplikacji użytkownika (568)
Bajty kalibracyjne (569)
- Konfiguracja fuse- i lockbitów w AVR-libc (570)
Lockbity w AVR-libc (570)
Fusebity w AVR-libc (571)
Dodatek A. Spis rozdziałów książki "AVR. Praktyczne projekty" (573)
Skorowidz (575)
Гарантии
Гарантии
Мы работаем по договору оферты и предоставляем все необходимые документы.
Лёгкий возврат
Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.
Безопасная оплата
Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.