You are previewing Digital Interface Design and Application.
O'Reilly logo
Digital Interface Design and Application

Book Description

Many computer applications require microprocessors to reliably interconnect and communicate with other peripherals in order to perform their intended functions. Interface design, which includes the development of the methods and processes by which two or more components communicate, is a crucial step in the deployment of microprocessors in an embedded computing environment. ARM-based microprocessors are a leading technology in this field, offering a wide range of performance for different applications.

This book provides a comprehensive treatment of interface design from basic logical and theoretical principles to practical implementation on an ARM-based microprocessor, addressing both hardware and software considerations. The microprocessor's high level of complexity is carefully analysed in the text to provide clear guidance for the reader in the design of new applications, resulting in an invaluable reference resource for graduates and engineers involved in the design of electronic products and systems.

Key Features:

  • Brings together aspects of digital hardware, interface design and software integration in a single text to make clear the link between low and high level languages for interface control

  • Categorises interface techniques into easily distinguished chapters, progressively involving greater complexity, enabling the reader to quickly find relevant material for a particular application

  • Provides many practical C-coded examples showing both the preparation and use of complex programmable subsystems implemented in a typical commercial product

  • Presents in each chapter an introduction to the essential theoretical aspects and the development of simple interface designs using basic logical building blocks

  • Table of Contents

    1. Cover
    2. Title page
    3. List of Figures
    4. List of Tables
    5. Preface
    6. 1 Review of Digital Electronics and Computer Architecture
      1. 1.1 Embedded Systems
      2. 1.2 Software Architecture
      3. 1.3 Essential Basic Logic Elements
      4. 1.4 Output Configuration Options
      5. 1.5 The Address Decode
      6. 1.6 ARM Architecture
      7. 1.7 Interface Software Development
      8. 1.8 C Programming Revision
      9. 1.9 Conclusion
      10. References
      11. Further Reading
    7. 2 Simple Input and Output Functions
      1. 2.1 Introduction
      2. 2.2 Computer Structure
      3. 2.3 Simple Interface Circuit Concepts
      4. 2.4 Activation of I/O Circuits
      5. 2.5 Universal I/O Circuits
      6. 2.6 Practical I/O Circuits
      7. 2.7 A Typical I/O Programme
      8. 2.8 Suggested Design Challenge
      9. 2.9 Conclusion
      10. References
      11. Further Reading
    8. 3 Timer Subsystems
      1. 3.1 Timer Subsystems
      2. 3.2 Basic Timer Configuration
      3. 3.3 The STM32F4 Timers
      4. 3.4 Programming the STM32F4 Timers
      5. 3.5 Timer Triggering
      6. 3.6 Basic Timers
      7. 3.7 PWM Applications
      8. 3.8 Programming Challenge
      9. 3.9 Conclusion
      10. References
    9. 4 Analogue Interface Subsystems
      1. 4.1 Analogue Interfaces
      2. 4.2 Digital to Analogue
      3. 4.3 Analogue to Digital Conversion
      4. 4.4 Software Control of DAC
      5. 4.5 Software Control of ADC
      6. 4.6 Programming Challenge
      7. 4.7 Conclusion
      8. References
      9. Further reading
    10. 5 Serial Interface Subsystems
      1. 5.1 Introduction
      2. 5.2 RS232 Universal Asynchronous Receiver/Transmitter (UART) Communications
      3. 5.3 The I2C Interface
      4. 5.4 SPI Interface
      5. 5.5 HDLC Serial Communication
      6. 5.6 The Universal Serial Bus (USB)
      7. 5.7 Programming Challenge
      8. 5.8 Conclusion
      9. References
    11. 6 Advanced Functions
      1. 6.1 Advanced Functions
      2. 6.2 Interrupts
      3. 6.3 Direct Memory Access (DMA)
      4. 6.4 The LCD Display Module
      5. 6.5 The Wireless Interface Module
      6. 6.6 Digital Camera Interface
      7. 6.7 Conclusion
      8. Further Reading
    12. 7 Application Case Study Examples
      1. 7.1 An Open-Loop Digital Compass
      2. 7.2 The MSF Time Decoder
      3. 7.3 Decoding GPS Signals
      4. 7.4 Conclusion
      5. References
    13. Appendix A: uVision IDE Notes
      1. A.1 Getting Started
      2. A.2 Help
      3. A.3 Project Development
      4. A.4 Debug Facilities
      5. A.5 Conclusion
    14. Appendix B: STM Discovery Examples Library
      1. B.1 Peripheral Examples
      2. B.2 Example Application
    15. Appendix C: DAC and ADC Support Software
      1. C.1 DAC Peripheral Features
      2. C.2 How to Use the DAC Driver
      3. C.3 ADC Peripheral Features
      4. C.4 How to Use the ADC driver
      5. C.5 Files for Reference
    16. Appendix D: Example Keyboard Interface
    17. Index
    18. End User License Agreement