Categories

Kamami.pl - Official Raspberry Pi distributor

Shipping

Order and pay in

for same day shipping

New products


AVR. Peripheral systems View larger

AVR. Peripheral systems

Tomasz Frenchman

More details

ID: 232421

21,61€ gross (5% VAT)
20,58€ net

Add to wishlist

More info

Description

Get to know the practical applications of peripherals for the AVR microcontroller!

Find out how external semiconductor memories work
Learn to use comparators and ADC and DAC converters
Learn the techniques of image display and sound reproduction

Microcontrollers without peripherals are a niche developed mainly by electronics enthusiasts, for whom programming is an end in itself. Practical application of such gadgets is possible only after attaching storage, alphanumeric and graphic display, analog-digital and digital-to-analog converters and sensors. Thanks to these systems, AVR microcontrollers communicate with the world, collect information, store data and can serve us in everyday life as weather stations, digital players or heating controllers.

If you already have some knowledge about AVR microcontrollers and would like to enrich it with information about interesting applications of peripherals, reach for the one-of-a-kind AVR book. Peripheral systems. It is addressed to readers who want to broaden their practical programming skills of AVR microcontrollers, including microcontrollers from the XMEGA family. It is a natural continuation of the excellent AVR manual. Practical projects, targeted at less advanced programmers. The book also discusses elements of C language specific to AVR microcontrollers.

Combining C code and assembler and debugging the program
Support for external memory access interfaces
Creating and using a file system
Using ADC and DAC converters and comparators
Support for alphanumeric and graphic displays
Processing of sound and video data

Create practical solutions with AVR microcontrollers and peripheral circuits!

Table of Contents
Introduction (9)

  • Equipment (10)
  • Examples (11)
  • Abbreviations of units (12)

Chapter 20. We release, or when delays are necessary (13)

  • Delays and XMEGA (18)
  • The use of timers to implement delays (20)

Chapter 21. Combining C and Assembler Code (23)

  • ABI (25)
  • Keyword asm (27)
    • Types of operands (29)
    • Access to IO ports (30)
    • Access to multi-byte data (31)
    • Access to indicators (32)
    • List of modified registers (32)
    • Multiple use of assembler insert (33)
  • .S files (34)
    • The use of registers in assembler (34)
    • Assembler directives (40)
    • Calling the C language function from the assembler (41)

Chapter 22. Alphanumeric LCD Displays (43)

  • Support for alphanumeric displays (45)
    • Library functions (50)
    • Defining your own characters (56)
  • Transactional LCD support (58)
    • Optimization (68)

Chapter 23. SPI and USART SPI interface (71)

  • SPI working modes (74)
  • Configuration of the SPI interface (75)
  • USART configuration in SPI mode (76)
  • DataFLASH Memory (77)
    • Organization of memory (77)
    • Memory SPI interface (79)
    • Access to memory (81)
    • Commands (81)
    • Memory identification register (87)
    • Memory read commands (88)
    • Read and write buffer commands (89)
    • Transfer commands between memory and buffer (91)
    • Special registers (94)
  • Transactional SPI access (95)
    • We connect DMA with SPI (96)
    • Callbacks (98)
    • Transactions (103)
  • Power supply (109)

Chapter 24. We build a filesystem (111)

  • The simplest file system (111)
    • Initialization of memory (119)
  • The FAT / FAT32 file system (128)
    • FAT support (131)
    • Prototypes from diskio.h (136)
    • Demonstration (139)
    • PetitFS Library (144)
    • PetitFS configuration (149)

Chapter 25. Even more memory, i.e. SD card, SDHC and company (151)

  • A little bit about building a card (152)
  • Card operating modes (153)
  • Card supply (154)
  • Communication (156)
    • SPI operating mode (157)
    • Protocol format (157)
    • Differences between cards (160)
    • Card initialization (161)
  • Special card registers (169)
    • CID (169)
    • CSD (172)
  • Sector read and write operations (173)
    • Read operations (173)
    • Write operations (176)
  • Checksum (178)
    • Program (178)
  • Potential problems (179)
  • FATFS on the card (180)

Chapter 26. Debugger (183)

  • Debugger configuration (185)
  • Project configuration for debugging (186)
  • Hardware debugger (187)
  • Software debugger (simulator) (190)
    • Stimulation file (191)
  • Traps (197)
    • Tracking points (203)
    • Conditional traps (205)
  • Preview memory (207)
  • Call stack overview (209)
  • Determining the simulation time (209)
  • Disassembler window (210)
  • Variable preview window (211)
    • Formatting chains (212)
  • ASSERT macrodefinition (214)
  • Interrupts during debugging (218)
  • _delay_xx and simulator (219)

Chapter 27. Analog-to-digital converter (221)

  • Stream converter vs. cyclical (222)
  • Reference voltage (223)
  • Pin configuration IO (225)
  • Input multiplexer (226)
  • Signal amplification circuit (227)
  • What does LSB mean? (228)
  • ADC Calibration (229)
  • Measurement (231)
    • Transducer resolution (231)
    • Transmitter operation modes (231)
    • The result of the measurement (236)
    • Calibration of offset (237)
    • Measurement of power supply voltage and microcontroller temperature (239)
  • Reduction of energy consumption (242)
  • Prescaler ADC (243)
  • Triggering conversions using the event system (245)
    • Registry EVCTRL in XMEGA with ADC without pipe (248)
  • Comparison register (249)
    • LM35 thermometer (250)
    • We build a thermometer with an alarm (251)
  • Continuous conversion mode (252)
  • Sweep inputs (253)
  • Interrupts (254)
  • Using DMA to transfer results (254)
  • Oversampling (258)
    • Averaging (259)
    • Decimation and interpolation (259)
    • Interpolation and decimation in XMEGA (260)
  • How to increase the precision of measurements? (260)
  • We are building a datalogger (261)
    • Thermistors as temperature meters (262)
    • The datalogger program (265)

Chapter 28. Analog comparator (279)

  • Comparator - a bit of theory (279)
    • Propagation time (281)
    • Hysteresis (281)
  • Analog comparators XMEGA (282)
    • Input multiplexers (283)
    • Window comparator (284)
    • Breaks (286)
    • Running the comparator (287)
    • Comparator condition register (287)
  • Comparator as an oscillator (287)
  • Thermostat with the use of comparators (290)
    • Thermistors (290)

Chapter 29. DAC (293)

  • Output caching (294)
  • Reference voltage (295)
  • Timing (296)
  • Events (297)
  • Using DMA (298)
    • 8-bit sampling (300)
    • Two-channel mode (301)
    • Generating two passes simultaneously (301)
    • Economic version (304)
    • Other ways to trigger conversion (305)
  • Energy saving mode (306)
  • DAC calibration (306)

Chapter 30. Monochrome graphic displays (309)

  • Connecting the LCD to the microcontroller (311)
  • Construction and functions of the ST7565R controller (313)
  • Special functions of the controller (319)
    • Inversion and image testing (319)
    • Rotating the image (319)
    • Contrast adjustment (321)
    • The number of the first line displayed (321)
  • Fonts (322)
  • Small optimization (330)
  • Double buffering (332)
    • Image display start address (333)
  • Menu (335)
    • Menu based on pictograms (342)

Chapter 31. Data files - how to add them to the project? (349)

  • Compilation of binary files (350)
  • Linking object files to a project (352)
  • Access to binary data (356)
    • The classic way to access data (358)
    • Access to data using address spaces (359)

Chapter 32. External memory bus (361)

  • Memory connection (362)
    • Configuration of IO ports (362)
    • Assignment of EBI interface signals to IO ports (363)
    • 4-port configuration (364)
    • SRAM Memory (366)
    • SRAM memory in LPC mode (371)
    • SDRAM memory (372)
  • CS signal configuration (377)
    • Determining the base address and memory size (377)
    • Selector signal control system in SRAM mode (379)
    • Selection signal control system in SDRAM mode (379)
  • Sample configuration of SDRAM memory (381)
  • Clock configuration (383)
  • Access to memory from the C language (384)
    • Access to memory below the limit of 64 kB (384)
    • Access to memory above the 64 kB limit (386)

Chapter 33. Generating a video image (391)

  • Generating video in the VGA standard (393)
    • VGA plug and signal conversion (396)
    • Monochrome VGA text mode (397)
    • Monochrome VGA graphics mode (407)
  • Generating composite signal (409)
    • Standard PAL (410)
    • Monochrome text mode (413)
    • Monochrome graphics mode (416)
    • Creating Overlays (OSD) (417)
  • Time for color (424)
    • Color coding (425)
    • Digital-to-analog converter (426)
    • Composite image generator (426)
    • Using EuroSCART (428)
    • Colorful picture on TV (430)

Chapter 34. Let the music play (439)

  • Audio file formats (440)
    • Sampling frequency (441)
    • File format (442)
  • Sound processing (443)
    • Audacity program (443)
    • SoX program (445)
  • Amplifier (446)
  • We play music using DAC (447)
    • Another way to double buffering (457)
  • Generating sound using PWM (461)
    • PWM - a bit of theory (461)
    • PWM signal filtering (468)
    • We reproduce sound using 8-bit PWM (472)
    • HiRes and PWM extension with higher resolution (477)
  • Sound compression (480)
    • Non-linear sampling (480)
    • ADPCM compression (482)
    • IMA ADPCM compression (482)
    • Speech recording using ADPCM compression (486)
    • Dialogic ADPCM algorithm (492)

Chapter 35. Or maybe mp3? (495)

  • Coprocessor mp3 (496)
    • Ways to connect to XMEGA (496)
  • Access to system registers (499)
  • Wav file format (500)
  • GPIOR Registers (502)
  • System tests (502)
  • Basic communication with the coprocessor (504)
  • Registers of the VS1003B system (508)
    • Operating mode register (508)
    • System state register (510)
    • Record of bass control (510)
    • Register SCI_CLOCKF (511)
    • Record of the time of the song (512)
    • Audio format register (512)
    • Registers for access to RAM (513)
    • Plug-in address register (513)
    • Volume control register (513)
  • We're playing music (513)
    • We play music using DMA (518)
  • Digital record player (528)
    • VS100XX as a tape recorder (529)
  • Own plugins (535)
    • DTMF as an example of your own plugin (535)
  • We build our own plug-in (541)
    • Creating an array with the result code (543)
    • Plug-in construction (544)
    • Own application, or DTMF decoder (548)

Chapter 36. Fusebits and lockbits (557)

  • Fusebits (558)
    • Fusebit JTAGEN (558)
    • Fusebit RSTDISBL (559)
    • Fusebit BOOTRST (559)
    • SUT fusebits (559)
    • Fusebit TOSCSEL (559)
    • Power failure detection system (559)
    • Watchdog (560)
    • Fusebit EESAVE (561)
  • Lockbits (561)
  • Processor production reference (563)
    • Lot number (563)
    • Waffle number (563)
    • Waffle location (564)
    • Other configuration bytes (564)
  • User Signature (565)
  • Access to data from the user's application (568)
    • Calibration batches (569)
  • Configuring fuse and lockbit in AVR-libc (570)
    • Lockbits in AVR-libc (570)
    • Fusebits in AVR-libc (571)

Appendix A. List of chapters of the book "AVR: Practical Projects" (573) Index (575)