Skip to content

Embedded Microcomputer Systems Real Time Interfacing

Best in textbook rentals since 2012!

ISBN-10: 0534366422

ISBN-13: 9780534366421

Edition: 2000

Authors: Jonathan W. Valvano

List price: $256.95
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

This book provides an in-depth discussion of the design, implementation and testing of embedded microcomputer systems. The book covers the hardware aspects of interfacing, advanced software topics (including interrupts), and a systems approach to typical embedded applications. This book stands out from other microcomputer systems books because of its balanced, in-depth treatment of both hardware and software issues important in real time embedded systems design. The book features a wealth of detailed case studies that demonstrate basic concepts in the context of actual working examples of systems. It also features a unique simulation software package on the bound-in CD-ROM (called Test…    
Customers also bought

Book details

List price: $256.95
Copyright year: 2000
Publisher: Nelson Education Limited
Publication date: 1/13/2000
Binding: Hardcover
Pages: 864
Size: 8.25" wide x 9.75" long x 1.25" tall
Weight: 3.146
Language: English

Dr. Ron Larson is a professor of mathematics at The Pennsylvania State University, where he has taught since 1970. He received his Ph.D. in mathematics from the University of Colorado and is considered the pioneer of using multimedia to enhance the learning of mathematics, having authored over 30 software titles since 1990. Dr. Larson conducts numerous seminars and in-service workshops for math educators around the country about using computer technology as an instructional tool and motivational aid. He is the recipient of the 2013 Text and Academic Authors Association Award for CALCULUS, the 2012 William Holmes McGuffey Longevity Award for CALCULUS: AN APPLIED APPROACH, the 2011 William…    

Microcomputer-Based Systems
Embedded Computer Systems
Applications
Software Issues
Memory-Mapped Architecture
MC68HC05 Architecture
MC68HC705J1A
MC68HC05C4
MC68HC05 Registers
MC68HC05 Addressing Modes
MC68HC08 Architecture
MC68HC708XL36 Introduction
MC68HC708XL36 Memory Map
MC68HC08 Registers
MC68HC08 Addressing Modes
MC68HC11 Architecture
MC68HC11 Family
MC68HC11 Expanded Mode
MC68HC11 Registers
MC68HC11 Addressing Modes
Erasing and Programming the MC68HC11 EEPROM
MC68HC12 Architecture
MC68HC12 Family
MC68HC12 Expanded Mode
MC68HC12 Registers
MC68HC12 Addressing Modes
Erasing and Programming the MC68HC12 EEPROM
Erasing and Programming the MC68HC912B32 Flash EEPROM
Digital Logic and Open Collector
Initializing and Accessing I/O Ports
Basic Concept of an I/O Port Address and Direction Register
Simple I/O Software
I/O Example
Choosing a Microcomputer
Glossary
Exercises
Software Development
Quality Programming
Quantitative Performance Measurements
Qualitative Performance Measurements
Memory Allocation
Self-Documenting Code
Abstraction
Definitions
Mealy FSM
Moore FSM
Modular Software Development
Modules
Dividing a Software Task into Modules
Rules for Developing Modular Software in Assembly Language
Layered Software Systems
Device Drivers
Basic Concept of Device Drivers
Serial Communications Interface Device Driver
Object-Oriented Interfacing
Encapsulated Objects Using Standard C
Object-Oriented Interfacing Using C++
Portability Using Standard C and C++
Threads
Single-Threaded Execution
Multithreading and Reentrancy
Recursion
Debugging Strategies
Debugging Tools
Debugging Theory
Functional Debugging
Performance Debugging
Profiling
Glossary
Exercises
Interfacing Methods
Introduction
Performance Measures
Synchronizing the Software with the State of the I/O
Variety of Available I/O Ports
Blind Cycle Counting Synchronization
Blind Cycle Printer Interface
Blind Cycle ADC Interface
Gadfly or Busy Waiting Synchronization
Parallel I/O Interface Examples
Blind Cycle Printer Interface
Accurate Time Delays
Blind Cycle ADC Interface
Gadfly Keyboard Interface Using Latched Input
Gadfly ADC Interface Using Simple Input
Gadfly External Sensor Interface Using Input Handshake
Gadfly Printer Interface Using Output Handshake
Gadfly Synchronous Serial Interface to a Temperature Sensor
Glossary
Questions
Interrupt Synchronization
What Are Interrupts?
Interrupt Definition
Interrupt Service Routines
When to Use Interrupts
Interthread Communication
Reentrant Programming
First-In First-Out Queue
Introduction to FIFOs
Two-Pointer FIFO Implementation
Two-Pointer/Counter FIFO Implementation
Index FIFO Implementation
FIFO Dynamics
General Features of Interrupts on the 6805/6808/6811/6812
6805 Interrupts
6808 Interrupts
6811 Interrupts
6812 Interrupts
Interrupt Vectors and Priority
MC6805 Interrupt Vectors and Priority
MC68HC708XL36 Interrupt Vectors and Priority
MC68HC11A8 Interrupt Vectors and Priority
MC68HC812A4 Interrupt Vectors and Priority
MC68HC912B32 Interrupt Vectors and Priority
External Interrupt Design Approach
Polled Versus Vectored Interrupts
Keyboard Interface Using Interrupts
Printer Interface Using IRQ Interrupts
Power System Interface Using XIRQ Synchronization
Interrupt Polling Using Linked Lists
6811 Interrupt Polling Using Linked Lists
6812 Interrupt Polling Using Linked Lists
Fixed Priority Implemented Using One Interrupt Line
Fixed Priority Implemented Using XIRQ
Round-Robin Polling
Periodic Polling
Real Time Interrupt Using a 6811 STRA
6811 RTI
6812 RTI
6812 Timer Overflow Interrupt
Glossary
Exercises
Threads
Multithreaded Preemptive Scheduler
Round-Robin Scheduler
Other Scheduling Algorithms
Dynamic Allocation of Threads
Semaphores
Spin-Lock Semaphore Implementation
Blocking Semaphore Implementation
Applications of Semaphores
Thread Synchronization or Rendezvous
Resource Sharing, Nonreentrant Code or Mutual Exclusion
Thread Communication Between Two Threads Using a Mailbox
Thread Communication Between Many Threads Using a FIFO Queue
Glossary
Exercises
Timing Generation and Measurements
Input Capture
Basic Principles of Input Capture
Input Capture Details
Real Time Interrupt Using an Input Capture
Period Measurement
Pulse-Width Measurement
Output Compare
General Concepts
Output Compare Details
Periodic Interrupt Using Output Compare
Square-Wave Generation
Pulse-Width Modulation
Delayed Pulse Generation
Frequency Measurement
Frequency Measurement Concepts
Frequency Measurement with [delta]f=100Hz
Conversion Between Frequency and Period
Using Period Measurement to Calculate Frequency
Using Frequency Measurement to Calculate Period
Measurements Using Both Input Capture and Output Compare
Period Measurement with [delta]=1ms
Frequency Measurement with [delta]f=0.1Hz
Glossary
Exercises
Serial I/O Devices
Introduction and Definitions
RS232 Specifications
RS422/AppleTalk/RS423/RS485 Balanced Differential Lines
RS422 Output Specifications
RS422 Input Specifications
RS485 Half-Duplex Channel
Other Communication Protocols
Current Loop Channel
Introduction to Modems
Optical Channel
Digital Logic Channel
Serial Communications Interface
Transmitting in Asynchronous Mode
Receiving in Asynchronous Mode
MC68HC05C8 SCI Details
MC68HC708XL36 SCI Details
MC68HC11A8 SCI Details
MC68HC812A4 SCI Details
SCI Applications
SCI Hardware Interface
SCI Receive Only Interrupt Interface
SCI Transmit Only Interrupt Interface
Input and Output Interrupts on the SCI
Serial Port Printer Interfaces
Synchronous Transmission and Receiving Using the SPI
SPI Fundamentals
MC68HC05C8 SPI Details
MC68HC708XL36 SPI Details
6811 SPI Details
6812 SPI Details
SPI Applications
Glossary
Exercises
Parallel Port Interfaces
Input Switches and Keyboards
Interfacing a Switch to the Computer
Hardware Debouncing Using a Capacitor
Software Debouncing
Basic Approaches to Interfacing Multiple Keys
Sixteen-Key Electronic Piano
4 by 4 Scanned Keyboard
Multiplexed/Demultiplexed Scanned Keyboard
Output LEDs
Single LED Interface
Seven-Segment LED Interfaces
Scanned Seven-Segment LED Interface
Scanned LED Interface Using the 7447 Seven-Segment Decoder
Integrated LED Interface Using the MC14489 Display Driver
Liquid Crystal Displays
LCD Fundamentals
Simple LCD Interface with the MC14543
Scanned LCD Interface with the MC145000, MC145001
Parallel Port LCD Interface with the HD44780 Controller
Transistors Used for Computer-Controlled Current Switches
Computer-Controlled Relays, Solenoids, and DC Motors
Introduction to Relays
Electromagnetic Relay Basics
Reed Relays
Solenoids
Pulse-Width Modulated DC Motors
Interfacing EM Relays, Solenoids, and DC Motors
Solid-State Relays
Stepper Motors
Stepper Motor Example
Basic Operation
Stepper Motor Hardware Interface
Stepper Motor Shaft Encoder
Glossary
Exercises
Memory Interfacing
Introduction
Address Decoding
Full-Address Decoding
Minimal-Cost Address Decoding
Special Cases When Address Decoding
Flexible Full-Address Decoder
Integrated Address Decoder on the MC68HC812A4
Timing Syntax
Available and Required Time Intervals
Timing Diagrams
General Memory Bus Timing
Synchronous Bus Timing
Partially Asynchronous Bus Timing
Fully Asynchronous Bus Timing
External Bus Timing
Synchronized Versus Unsynchronized Signals
Motorola MC68HC11A8 External Bus Timing
Motorola MC68HC812A4 External Bus Timing
Motorola MC68HC912B32 External Bus Timing
General Approach to Interfacing
Interfacing to a 6811
Interfacing to a 6812 in Expanded Narrow Mode
Interfacing to a 6812 in Expanded Wide Mode
Memory Interface Examples
32K PROM Interface
8K RAM Interface
32K by 16-bit PROM Interface to a MC68HC812A4
8K by 16-bit RAM Interface
Extended Address Data Page Interface to the MC68HC812A4
Extended Address Program Page Interface to the MC68HC812A4
Dynamic RAM (DRAM)
Glossary
Exercises
High-Speed I/O Interfacing
The Need for Speed
High Speed I/O Applications
Mass Storage
High-Speed Data Acquisition
Video Displays
High-Speed Signal Generation
Network Communications
General Approaches to High-Speed Interfaces
Hardware FIFO
Dual Port Memory
Bank-Switched Memory
Fundamental Approach to DMA
DMA Cycles
DMA Initiation
Burst Versus Cycle Steal DMA
Single-Address Versus Dual-Address DMA
DMA Programming
MC68HC708XL36 Examples
DMA I/O Registers
Memory-to-Memory Block Transfer
SCI Transmission
SPI Reception
Simple Waveform Generation
Glossary
Exercises
Analog Interfacing
Resistors and Capacitors
Resistors
Capacitors
Operational Amplifiers (Op Amps)
Transistor Models
Ideal Op Amps
Realistic Op Amp Models
Types of Op Amps
Saturation Properties
Simple Rules for Linear Op Amp Circuits
Linear Mode Op Amp Circuits
Offset Adding Op Amp Circuit
High-Gain Op Amp Circuit
Current-to-Voltage Circuit
Voltage-to-Current Circuit
Integrator Circuit
Derivative Circuit
Voltage Comparators with Hysteresis
Analog Filters
Simple Active Filter
Butterworth Filters
Bandpass and Band-Reject Filters
Digital-to-Analog Converters
DAC Parameters
DAC Using a Summing Amplifier
Three-Bit DAC with an R-2R Ladder
Twelve-Bit DAC with a DAC8043
DAC Selection
DAC Waveform Generation
Analog-to-Digital Converters
DAC Parameters
Two-Bit Flash ADC
Eight-Bit Ramp ADC
Successive Approximation ADC
Software Schemes to Implement ADCs
Sixteen-Bit Dual Slope ADC
Sigma Delta ADC
ADC Interface
Sample and Hold
BiFET Analog Multiplexer
ADC System
ADC Block Diagram
Power and Grounding for the ADC System
Input Protection for High-Speed CMOS Analog Inputs
Multiple-Access Circular Queue
Internal ADCs
6805 ADC System
6808 ADC System
6811 ADC System
6812 ADC System
ADC Software
Glossary
Exercises
Data Acquisition Systems
Introduction
Accuracy
Resolution
Precision
Reproducibility or Repeatability
Transducers
Static Transducer Specifications
Dynamic Transducer Specifications
Nonlinear Transducers
Position Transducers
Velocity Measurements
Force Transducers
Temperature Transducers
DAS Design
Introduction and Definitions
Using Nyquist Theory to Determine Sampling Rate
How Many Bits Does One Need for the ADC?
Specifications for the Analog Signal Processing
How Fast Must the ADC Be?
Specifications for the S/H
Analysis of Noise
Thermal Noise
Shot Noise
l/f or Pink Noise
Transducer Limitations
Magnetic Field Induction
Displacement Currents or Capacitive (Electrical Field) Coupling
Impedance Loading
CMRR
Frequency Response
Motion Artifact
DAS Case Studies
Temperature Measurement System
Force Measurement System
Thermocouple Interface Using an Electronic Reference
Heart Sounds
Position Measurement System
Glossary
Exercises
Microcomputer-Based Control Systems
Introduction to Digital Control Systems
Open-Loop Control Systems
Open-Loop Control of a Toaster
Open-Loop Traffic Control
Open-Loop Stepper Controller
Simple Closed-Loop Control Systems
Bang-Bang Temperature Control
Closed-Loop Position Control System Using Incremental Control
PID Controllers
General Approach to a PID Controller
Velocity PID Controller
Integral Controller with a PWM Actuator
Empirical Method to Determine PID Controller Parameters
Fuzzy Logic Control
DAC, ADC Fuzzy Controller
PWM Fuzzy Controller
Temperature Controller Using Fuzzy Logic
Glossary
Exercises
Simple Networks
Introduction
Serial Master/Slave Desktop Bus
Parallel Bus Application Using Tristate Buffers
Parallel Bus Application Using Open Collector Logic
Binary Synchronous Communications
IEEE488 General-Purpose Instrumentation Bus
Small Computer Systems Interface
Modem Communications
FSK Modem
Phase-Encoded Modems
Quadrature Amplitude Modems
X-10 Protocol
Glossary
Exercises
Digital Filters
Basic Principles
Simple Digital Filter Examples
Impulse Response
High-Q 60-Hz Digital Notch Filter
Effect of Latency on Digital Filters
High-Q Digital High-Pass Filters
Low-Q Digital High-Pass Filters
Low-Q Digital Low-Pass Filters
Digital Low-Pass Filter
Direct-Form Implementations
Glossary
Exercises
Index