did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780534551629

Embedded Microcomputer Systems: Real Time Interfacing

by
  • ISBN13:

    9780534551629

  • ISBN10:

    0534551629

  • Edition: 2nd
  • Format: Hardcover
  • Copyright: 2006-03-21
  • Publisher: CL Engineering
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $358.32 Save up to $1.79
  • Buy New
    $356.53
    Add to Cart Free Shipping Icon Free Shipping

    USUALLY SHIPS IN 24-48 HOURS

Supplemental Materials

What is included with this book?

Summary

Embedded Microcomputer Systems: Real Time Interfacing provides an in-depth discussion of the design of real-time embedded systems using the Freescale 6811 and 9S12 microcontrollers. This book covers the hardware aspects of interfacing, advanced software topics (including interrupts), and a systems approach to typical embedded applications. This text 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. It 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 Execute and Simulate, or TexaS, for short) - that provides a self-contained software environment for designing, writing, implementing, and testing both the hardware and software components of embedded systems.

Table of Contents

Microcomputer-Based Systemsp. 1
Computer Architecturep. 2
Embedded Computer Systemsp. 6
The Design Processp. 10
Top-Down Designp. 10
Bottom-Up Designp. 14
Digital Logic and Open Collectorp. 15
Digital Representation of Numbersp. 20
Fundamentalsp. 20
8-Bit Numbersp. 22
Character Informationp. 23
16-Bit Numbersp. 23
Fixed-Point Numbersp. 25
Common Architecture of the 6811 and the 6812p. 27
Registersp. 28
Terminologyp. 29
Addressing Modesp. 30
Numbering Scheme Used by Freescale for the 6811 and the 6812p. 33
6811 Architecturep. 33
6811 Familyp. 33
MC68HC711E9p. 35
MC68HC11D3p. 37
6812 Architecturep. 37
6812 Familyp. 37
MC9C12C32p. 38
MC68HC812A4p. 41
MC68HC912B32p. 42
Parallel I/O Portsp. 43
Basic Concepts of Input and Output Portsp. 43
Introduction to I/O Programming and the Direction Registerp. 46
Our First Design Problemp. 47
Choosing a Microcontrollerp. 53
Exercisesp. 54
Lab Assignmentsp. 56
Design of Software Systemsp. 58
Quality Programmingp. 58
Quantitative Performance Measurementsp. 59
Qualitative Performance Measurementsp. 59
Assembly Language Programmingp. 60
Introductionp. 60
Assembly Language Syntaxp. 62
Memory and Register Transfer Operationsp. 64
Indexed Addressing Modep. 66
Arithmetic Operationsp. 69
Extended Precision Arithmetic Instructions on the 6812p. 74
Shift Operationsp. 75
Logical Operationsp. 77
Subroutines and the Stackp. 78
Branch Operationsp. 82
Assembler Pseudo-opsp. 84
Memory Allocationp. 88
Self-Documenting Codep. 91
Commentsp. 91
Naming Conventionp. 94
Abstractionp. 95
Definitionsp. 95
6811 Timer Detailsp. 96
6812 Timer Detailsp. 96
Time Delay Software Using the Built-in Timerp. 97
Moore Finite State Machine Traffic Light Controllerp. 98
Mealy Finite State Machine Robot Controllerp. 101
Modular Software Developmentp. 104
Local Variables in Assembly Languagep. 104
Modulesp. 109
Dividing a Software Task into Modulesp. 113
Rules for Developing Modular Software in Assembly Languagep. 116
Layered Software Systemsp. 118
Device Driversp. 119
Basic Concept of Device Driversp. 119
Design of a Serial Communications Interface (SCI) Device Driverp. 121
Object-Oriented Interfacingp. 122
Encapsulated Objects Using Standard Cp. 122
Object-Oriented Interfacing Using C++p. 123
Portability Using Standard C and C++p. 124
Threadsp. 126
Single-Threaded Executionp. 126
Multithreading and Reentrancyp. 126
Recursionp. 128
Debugging Strategiesp. 128
Debugging Toolsp. 128
Debugging Theoryp. 129
Functional Debuggingp. 131
Performance Debuggingp. 133
Profilingp. 136
Exercisesp. 137
Lab Assignmentsp. 141
Interfacing Methodsp. 142
Introductionp. 142
Performance Measuresp. 142
Synchronizing the Software with the State of the I/Op. 143
Variety of Available I/O Portsp. 146
Handshake protocolsp. 148
6811 Handshake Protocolp. 148
MC68HC812A4 Key Wakeup Interruptsp. 149
MC9S12C32 Key Wakeup Interruptsp. 150
Blind Cycle Counting Synchronizationp. 151
Blind Cycle Printer Interfacep. 151
Blind Cycle ADC Interfacep. 152
Gadfly or Busy Waiting Synchronizationp. 153
Parallel I/O Interface Examplesp. 155
Blind Cycle Printer Interfacep. 156
Blind Cycle ADC Interfacep. 157
Gadfly Keyboard Interface Using Latched Inputp. 158
Gadfly ADC Interface Using Simple Inputp. 159
Gadfly External Sensor Interface Using Input Handshakep. 161
Gadfly Printer Interface Using Output Handshakep. 163
Gadfly Synchronous Serial Interface to a Temperature Sensorp. 164
Serial Communications Interface (SCI) Device Driverp. 173
Transmitting in Asynchronous Modep. 174
Receiving in Asynchronous Modep. 175
6811 SCI Detailsp. 177
6812 SCI Detailsp. 178
SCI Device Driverp. 179
Exercisesp. 181
Lab Assignmentsp. 187
Interrupt Synchronizationp. 189
What Are Interrupts?p. 190
Interrupt Definitionp. 190
Interrupt Service Routinesp. 191
When to Use Interruptsp. 192
Interthread Communicationp. 192
Reentrant Programmingp. 197
First-In-First-Out Queuep. 204
Introduction to FIFOsp. 204
Two-Pointer FIFO Implementationp. 205
Two-Pointer/Counter FIFO Implementationp. 208
FIFO Dynamicsp. 209
General Features of Interrupts on the 6811/6812p. 210
6811 Interruptsp. 212
6812 Interruptsp. 213
Interrupt Vectors and Priorityp. 214
MC68H11E Interrupt Vectors and Priorityp. 214
MC68HC812A4 Interrupt Vectors and Priorityp. 216
MC68HC912B32 Interrupt Vectors and Priorityp. 217
MC9S12C32 Interrupt Vectors and Priorityp. 218
External Interrupt Design Approachp. 219
Polled Versus Vectored Interruptsp. 221
Keyboard Interface Using Interruptsp. 223
Printer Interface Using IRQ Interruptsp. 226
Power System Interface Using XIRQ Synchronizationp. 229
Interrupt Polling Using Linked Listsp. 231
6811 Interrupt Polling Using Linked Listsp. 232
6812 Interrupt Polling Using Linked Listsp. 234
Fixed Priority Implemented Using One Interrupt Linep. 235
Fixed Priority Implemented Using XIRQp. 237
Round-Robin Pollingp. 238
Periodic Pollingp. 238
MC68HC711E9 Periodic Interruptsp. 240
MC68HC812A4 Periodic Interruptsp. 243
MC9S12C32 Periodic Interruptsp. 245
Exercisesp. 249
Lab Assignmentsp. 254
Threadsp. 255
Multithreaded Preemptive Schedulerp. 256
Round-Robin Schedulerp. 257
Other Scheduling Algorithmsp. 262
Dynamic Allocation of Threadsp. 262
Semaphoresp. 262
Spin-Lock Semaphore Implementationp. 263
Blocking Semaphore Implementationp. 265
Applications of Semaphoresp. 267
Thread Synchronization or Rendezvousp. 268
Resource Sharing, Nonreentrant Code or Mutual Exclusionp. 268
Thread Communication Between Two Threads Using a Mailboxp. 268
Thread Communication Between Many Threads Using a FIFO Queuep. 268
Fixed Schedulingp. 269
Exercisesp. 274
Lab Assignmentsp. 275
Timing Generation and Measurementsp. 276
Input Capturep. 276
Basic Principles of Input Capturep. 276
Input Capture Detailsp. 277
Real Time Interrupt Using an Input Capturep. 281
Period Measurementp. 283
Pulse-Width Measurementp. 288
Output Comparep. 294
General Conceptsp. 294
Output Compare Detailsp. 295
Square-Wave Generationp. 298
Pulse-Width Modulationp. 301
Delayed Pulse Generationp. 303
Frequency Measurementp. 304
Frequency Measurement Conceptsp. 304
Frequency Measurement with [Delta]f = 100Hzp. 305
Conversion Between Frequency and Periodp. 306
Using Period Measurement to Calculate Frequencyp. 306
Using Frequency Measurement to Calculate Periodp. 307
Measurements Using Both Input Capture and Output Comparep. 307
Period Measurement with [Delta]p = 1 msp. 307
Frequency Measurement with [Delta]f = 0.1Hzp. 309
Pulse Accumulatorp. 311
MC68HC711 Pulse Accumulator Detailsp. 311
MC9S12C32 Pulse Accumulator Detailsp. 312
Frequency Measurementp. 313
Pulse-Width Measurementp. 314
Pulse-width Modulation on the MC9S12C32p. 314
Exercisesp. 318
Lab Assignmentsp. 323
Serial I/O Devicesp. 326
Introduction and Definitionsp. 326
RS232 Specificationsp. 332
RS422/USB/RS423/RS485 Balanced Differential Linesp. 334
RS422 Output Specificationsp. 337
RS422 Input Specificationsp. 338
RS485 Half-Duplex Channelp. 338
Other Communication Protocolsp. 339
Current Loop Channelp. 339
Introduction to Modemsp. 339
Optical Channelp. 340
Digital Logic Channelp. 340
Serial Communications Interfacep. 341
Transmitting in Asynchronous Modep. 341
Receiving in Asynchronous Modep. 343
MC68HC711E9 SCI Detailsp. 345
MC9S12C32 SCI Detailsp. 346
SCI Software Interfacesp. 349
Full Duplex Serial Channelp. 349
Use of Data Terminal Ready (DTR) to Interface a Printerp. 352
Use of XON/XOFF to Interface a Printerp. 354
Synchronous Transmission and Receiving Using the SPIp. 355
SPI Fundamentalsp. 355
MC68HC711E9 SPI Detailsp. 358
MC9S12C32 SPI Detailsp. 359
SPI Applicationsp. 361
Exercisesp. 368
Lab Assignmentsp. 370
Parallel Port Interfacesp. 375
Input Switches and Keyboardsp. 375
Interfacing a Switch to the Computerp. 375
Hardware Debouncing Using a Capacitorp. 377
Software Debouncingp. 381
Basic Approaches to Interfacing Multiple Keysp. 386
Sixteen-Key Electronic Pianop. 389
4 by 4 Scanned Keyboardp. 393
Multiplexed/Demultiplexed Scanned Keyboardp. 396
Output LEDsp. 398
Single LED Interfacep. 400
Seven-Segment LED Interfacesp. 402
Scanned Seven-Segment LED Interfacep. 402
Scanned LED Interface Using the 7447 Seven-Segment Decoderp. 405
Integrated LED Interface Using the MC14489 Display Driverp. 408
Liquid Crystal Displaysp. 410
LCD Fundamentalsp. 410
Simple LCD Interface with the MC14543p. 412
Scanned LCD Interface with the MC145000, MC145001p. 414
Parallel Port LCD Interface with the HD44780 Controllerp. 416
Transistors Used for Computer-Controlled Current Switchesp. 419
Computer-Controlled Relays, Solenoids, and DC Motorsp. 421
Introduction to Relaysp. 421
Electromagnetic Relay Basicsp. 422
Reed Relaysp. 424
Solenoidsp. 424
Pulse-Width Modulated DC Motorsp. 424
Interfacing EM Relays, Solenoids, and DC Motorsp. 425
Solid-State Relaysp. 430
Stepper Motorsp. 431
Stepper Motor Examplep. 431
Basic Operationp. 434
Stepper Motor Hardware Interfacesp. 438
Stepper Motor Shaft Encoderp. 441
Exercisesp. 443
Lab Assignmentsp. 446
Memory Interfacingp. 448
Introductionp. 448
Address Decodingp. 451
Full-Address Decodingp. 452
Minimal-Cost Address Decodingp. 454
Special Cases When Address Decodingp. 457
Flexible Full-Address Decoderp. 458
Integrated Address Decoder on the MC68HC812A4p. 459
Timing Syntaxp. 461
Available and Required Time Intervalsp. 461
Timing Diagramsp. 463
General Memory Bus Timingp. 463
Synchronous Bus Timingp. 464
Partially Asynchronous Bus Timingp. 465
Fully Asynchronous Bus Timingp. 466
External Bus Timingp. 468
Synchronized Versus Unsynch-ronized Signalsp. 468
Freescale MC68HC11A8 External Bus Timingp. 469
Freescale MC68HC812A4 External Bus Timingp. 472
Freescale MC9S12C32 External Bus Timingp. 477
General Approach to Interfacingp. 483
Interfacing to a 6811p. 483
Interfacing to a 6812 in Expanded Narrow Modep. 484
Interfacing to a 6812 in Expanded Wide Modep. 485
Memory Interface Examplesp. 487
32K PROM Interfacep. 487
8K RAM Interfacep. 492
32K by 16-bit PROM Interface to a MC68HC812A4p. 505
8K by 16-bit RAM Interfacep. 507
Extended Address Data Page Interface to the MC68HC812A4p. 509
Extended Address Program Page Interface to the MC68HC812A4p. 511
Dynamic RAM (DRAM)p. 514
Exercisesp. 514
Lab Assignmentsp. 523
High-Speed I/O Interfacingp. 524
The Need for Speedp. 524
High-Speed I/O Applicationsp. 525
Mass Storagep. 525
High-Speed Data Acquisitionp. 526
Video Displaysp. 527
High-Speed Signal Generationp. 527
Network Communicationsp. 527
General Approaches to High-Speed Interfacesp. 528
Hardware FIFOp. 528
Dual Port Memoryp. 529
Bank-Switched Memoryp. 529
Fundamental Approach to DMAp. 530
DMA Cyclesp. 530
DMA Initiationp. 531
Burst Versus Cycle Steal DMAp. 531
Single-Address Versus Dual-Address DMAp. 532
DMA Programmingp. 534
LCD Graphicsp. 535
LCD Graphics Controllerp. 535
Practical LCD Graphics Interfacep. 538
Exercisesp. 539
Lab Assignmentsp. 540
Analog Interfacingp. 541
Resistors and Capacitorsp. 541
Resistorsp. 541
Capacitorsp. 542
Operational Amplifiers (Op Amps)p. 543
Op Amp Parametersp. 543
Threshold Detectorp. 546
Simple Rules for Linear Op Amp Circuitsp. 547
Linear Mode Op Amp Circuitsp. 549
Instrumentation Amplifierp. 553
Current-to-Voltage Circuitp. 555
Voltage-to-Current Circuitp. 555
Integrator Circuitp. 555
Derivative Circuitp. 556
Voltage Comparators with Hysteresisp. 556
Analog Isolationp. 557
Analog Filtersp. 558
Simple Active Filterp. 558
Butterworth Filtersp. 559
Bandpass and Band-Reject Filtersp. 560
Digital-to-Analog Convertersp. 561
DAC Parametersp. 561
DAC Using a Summing Amplifierp. 563
Three-Bit DAC with an R-2R Ladderp. 564
Twelve-Bit DAC with a DAC8043p. 566
DAC Selectionp. 567
DAC Waveform Generationp. 570
Analog-to-Digital Convertersp. 573
ADC Parametersp. 573
Two-Bit Flash ADCp. 574
Successive Approximation ADCp. 575
Sixteen-Bit Dual Slope ADCp. 576
Sigma Delta ADCp. 577
ADC Interfacep. 578
Sample and Holdp. 579
BiFET Analog Multiplexerp. 580
ADC Systemp. 582
ADC Block Diagramp. 582
Power and Grounding for the ADC Systemp. 584
Input Protection for High-Speed CMOS Analog Inputsp. 584
Multiple-Access Circular Queuep. 585
Internal ADCsp. 587
6811 ADC Systemp. 587
6812 ADC Systemp. 589
ADC Softwarep. 591
Exercisesp. 593
Lab Assignmentsp. 595
Data Acquisition Systemsp. 597
Introductionp. 597
Accuracyp. 599
Resolutionp. 601
Precisionp. 601
Reproducibility or Repeatabilityp. 602
Transducersp. 602
Static Transducer Specificationsp. 602
Dynamic Transducer Specificationsp. 606
Nonlinear Transducersp. 607
Position Transducersp. 608
Velocity Measurementsp. 609
Force Transducersp. 611
Temperature Transducersp. 612
DAS Designp. 617
Introduction and Definitionsp. 617
Using Nyquist Theory to Determine Sampling Ratep. 618
How Many Bits Does One Need for the ADC?p. 621
Specifications for the Analog Signal Processingp. 621
How Fast Must the ADC Be?p. 626
Specifications for the S/Hp. 626
Analysis of Noisep. 627
Thermal Noisep. 627
Shot Noisep. 630
1/f, or Pink Noisep. 630
Galvanic Noisep. 630
Motion Artifactp. 630
Electromagnetic Field Inductionp. 631
Techniques to Measure Noisep. 631
Techniques to Reduce Noisep. 633
Data Acquisition Case Studiesp. 635
Temperature Measurementp. 635
EKG Data Acquisition Systemp. 639
Position Measurement Systemp. 642
Exercisesp. 643
Lab Assignmentsp. 650
Microcomputer-Based Control Systemsp. 652
Introduction to Digital Control Systemsp. 652
Open-Loop Control Systemsp. 653
Open-Loop Control of a Toasterp. 654
Open-Loop Robotic Armp. 654
Simple Closed-Loop Control Systemsp. 659
Bang-Bang Temperature Controlp. 659
Closed-Loop Position Control System Using Incremental Controlp. 661
PID Controllersp. 663
General Approach to a PID Controllerp. 663
Design Process for a PID Controllerp. 666
Velocity PID Controllerp. 668
Proportional-Integral Controller with a PWM actuatorp. 669
Fuzzy Logic Controlp. 672
DAC, ADC Fuzzy Controllerp. 675
PWM Fuzzy Controllerp. 681
Temperature Controller Using Fuzzy Logicp. 687
Exercisesp. 691
Lab Assignmentsp. 694
Simple Networksp. 696
Introductionp. 696
Communication Systems Based on the SCI Serial Portp. 698
Design and Implementation of a Controller Area Network (CAN)p. 700
The Fundamentals of CANp. 700
Details of the 9S12C32 CANp. 703
9S12C32 CAN Device Driverp. 706
Inter-Integrated Circuit (I[superscript 2]C) Networkp. 709
The Fundamentals of the I[superscript 2]C Networkp. 709
I[superscript 2]C Synchronizationp. 712
9S12 I[superscript 2]C Detailsp. 714
9S12 I[superscript 2]C Single Master Examplep. 717
Modem Communicationsp. 718
FSK Modemp. 718
Phase-Encoded Modemsp. 721
Quadrature Amplitude Modemsp. 722
X-10 Protocolp. 723
Universal Serial Bus (USB)p. 730
Introductionp. 730
Modular USB Interfacep. 734
Integrated USB Interfacep. 735
Exercisesp. 735
Lab Assignmentsp. 739
Digital Filtersp. 742
Basic Principlesp. 743
Simple Digital Filter Examplesp. 745
Impulse Responsep. 752
High-Q 60-Hz Digital Notch Filterp. 755
Effect of Latency on Digital Filtersp. 760
High-Q Digital High-Pass Filtersp. 762
Digital Low-Pass Filterp. 763
Direct-Form Implementationsp. 765
Exercisesp. 766
Lab Assignmentsp. 767
Appendix 1p. 769
Appendix 2p. 789
Indexp. 802
Table of Contents provided by Ingram. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program