Szczegóły ebooka

AVR. Układy peryferyjne

AVR. Układy peryferyjne

Tomasz Francuz

Ebook

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.

 

Recenzja książki na Forbot.pl >>

 

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!

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)

  • Tytuł: AVR. Układy peryferyjne
  • Autor: Tomasz Francuz
  • ISBN: 978-83-246-9757-1, 9788324697571
  • Data wydania: 2014-05-27
  • Format: Ebook
  • Identyfikator pozycji: avrukp
  • Wydawca: Helion