| |
| |
Preface | |
| |
| |
| |
The PC | |
| |
| |
Microcomputer systems | |
| |
| |
Data representation | |
| |
| |
Bus expansion | |
| |
| |
Microprocessor operation | |
| |
| |
Data transfer and control | |
| |
| |
Parallel versus serial I/O | |
| |
| |
The processor | |
| |
| |
The x86 processor family | |
| |
| |
Addressing | |
| |
| |
80286, 80386, and 80486 processors | |
| |
| |
Interrupt handling | |
| |
| |
The Pentium family of processors | |
| |
| |
PC architecture | |
| |
| |
Cooling | |
| |
| |
Legacy support devices | |
| |
| |
Maths coprocessors | |
| |
| |
8237A Direct Memory Access Controller | |
| |
| |
8253 Programmable Interval Timer | |
| |
| |
8255A Programmable Peripheral Interface | |
| |
| |
8259A Programmable Interrupt Controller | |
| |
| |
8284A Clock generator | |
| |
| |
8288 Bus Controller | |
| |
| |
Chipsets | |
| |
| |
PC memory | |
| |
| |
Memory operation | |
| |
| |
Memory organization | |
| |
| |
Data integrity | |
| |
| |
Memory terminology | |
| |
| |
Memory size | |
| |
| |
Memory speed | |
| |
| |
CMOS memory | |
| |
| |
BIOS ROM | |
| |
| |
PC memory allocation | |
| |
| |
BIOS data area | |
| |
| |
Disk drives | |
| |
| |
| |
PC expansion bus systems | |
| |
| |
Expansion methods | |
| |
| |
Development of PC expansion bus architectures | |
| |
| |
PC ISA/EISA expansion bus | |
| |
| |
PC expansion cards | |
| |
| |
Industry Standard Architecture (ISA) bus | |
| |
| |
The 62-way ISA (PC expansion bus) connector | |
| |
| |
The 36-way EISA (PC-AT expansion bus) connector | |
| |
| |
Electrical characteristics | |
| |
| |
Design of PC expansion cards | |
| |
| |
The PC/104 bus | |
| |
| |
Peripheral Component Interconnect/Interface (PCI) bus | |
| |
| |
Accelerated Graphics Port (AGP) | |
| |
| |
The Universal Serial bus | |
| |
| |
USB applications and principal features | |
| |
| |
USB implementation | |
| |
| |
Connection and disconnection of USB devices | |
| |
| |
USB bus topology and physical connections | |
| |
| |
Error detection and handling | |
| |
| |
USB data transfers | |
| |
| |
USB devices | |
| |
| |
USB data flow model | |
| |
| |
USB physical interface | |
| |
| |
Representative I/O cards | |
| |
| |
Measurement Computing Corporation PDISO-8 | |
| |
| |
Blue chip technology AIP-24 | |
| |
| |
Measurement Computing Corporation Dual-422 | |
| |
| |
Arcom APCI-ADADIO multifunction I/O card | |
| |
| |
The PMD-1208LS USB device | |
| |
| |
| |
Using the command line interface | |
| |
| |
The need for an operating system | |
| |
| |
Origins of DOS | |
| |
| |
DOS basics | |
| |
| |
Booting the system | |
| |
| |
I/O channels | |
| |
| |
DOS commands | |
| |
| |
File specifications | |
| |
| |
File extensions | |
| |
| |
Wildcard characters | |
| |
| |
Internal and external commands | |
| |
| |
Using batch files | |
| |
| |
Batch file commands | |
| |
| |
Creating batch files | |
| |
| |
Passing parameters | |
| |
| |
Using CONFIG.SYS | |
| |
| |
Using configuration files and device drivers | |
| |
| |
Using AUTOEXEC.BAT | |
| |
| |
Using DEBUG | |
| |
| |
Debug commands | |
| |
| |
A Debug walkthrough | |
| |
| |
Using Debug's line assembler | |
| |
| |
| |
Programming | |
| |
| |
Choice of language | |
| |
| |
Software development | |
| |
| |
Control structures | |
| |
| |
Loops | |
| |
| |
Error checking and input validation | |
| |
| |
Event-driven programs | |
| |
| |
Testing | |
| |
| |
Documentation | |
| |
| |
Presentation | |
| |
| |
| |
Assembly language programming | |
| |
| |
Advantages of assembly language | |
| |
| |
Disadvantages of assembly language | |
| |
| |
Developing assembly language programs | |
| |
| |
Software tools | |
| |
| |
8086 assembly language | |
| |
| |
8086 instruction set summary | |
| |
| |
8086 register model | |
| |
| |
Interrupt handling | |
| |
| |
MASM32 | |
| |
| |
A MASM32 walkthrough | |
| |
| |
| |
BASIC programming | |
| |
| |
Microsoft BASIC for DOS | |
| |
| |
Developing Microsoft BASIC for DOS programs | |
| |
| |
Variable types | |
| |
| |
Variable names | |
| |
| |
BASIC command summary | |
| |
| |
Subroutines | |
| |
| |
Procedures | |
| |
| |
User-defined functions | |
| |
| |
Logical constructs | |
| |
| |
Prompts and messages | |
| |
| |
Keyboard entry | |
| |
| |
Single key inputs | |
| |
| |
Numerical inputs | |
| |
| |
String inputs | |
| |
| |
PowerBASIC for DOS | |
| |
| |
Accessing assembly language from within BASIC programs | |
| |
| |
Accessing the I/O ports in DOS or Windows 9x environments | |
| |
| |
Microsoft Visual Basic | |
| |
| |
PowerBASIC for Windows | |
| |
| |
Using dynamic link library (DLL) files | |
| |
| |
Accessing the I/O ports from the Windows Protected Mode environment | |
| |
| |
Inpout32.dll | |
| |
| |
Data files | |
| |
| |
| |
C and C++ programming | |
| |
| |
C programming techniques | |
| |
| |
Include files | |
| |
| |
Streams | |
| |
| |
Using C functions | |
| |
| |
I/O functions | |
| |
| |
Messages | |
| |
| |
Loops | |
| |
| |
Inputs and prompts | |
| |
| |
Menu selection | |
| |
| |
Passing arguments into main | |
| |
| |
Disk files | |
| |
| |
Difference between C and C++ | |
| |
| |
Port I/O in C and C++ | |
| |
| |
| |
The IEEE-488 bus | |
| |
| |
IEEE-488 devices | |
| |
| |
Listeners | |
| |
| |
Talkers | |
| |
| |
Talkers and listeners | |
| |
| |
Controllers | |
| |
| |
IEEE-488 bus signals | |
| |
| |
Commands | |
| |
| |
Handshaking | |
| |
| |
Service requests | |
| |
| |
Multi-line commands | |
| |
| |
Bus configurations | |
| |
| |
IEEE-488 controllers | |
| |
| |
IEEE-488 software | |
| |
| |
Troubleshooting the IEEE-488 bus | |
| |
| |
| |
Interfacing | |
| |
| |
Characteristics of digital I/O ports | |
| |
| |
Characteristics of analogue I/O ports | |
| |
| |
Sensors | |
| |
| |
Interfacing switches and sensors | |
| |
| |
Sensors with digital outputs | |
| |
| |
Sensors with analogue outputs | |
| |
| |
Output devices | |
| |
| |
Status and warning indications | |
| |
| |
Driving LCD displays | |
| |
| |
Driving medium- and high-current loads | |
| |
| |
Audible outputs | |
| |
| |
DC motors | |
| |
| |
Output drivers | |
| |
| |
Driving mains connected loads | |
| |
| |
Driving solenoids and solenoid-operated valves | |
| |
| |
Driving stepper motors | |
| |
| |
| |
Software packages | |
| |
| |
Selecting a software package | |
| |
| |
Ease of use | |
| |
| |
Flexibility | |
| |
| |
Performance | |
| |
| |
Functionality | |
| |
| |
Software classification | |
| |
| |
Custom-written software | |
| |
| |
Programming language extensions | |
| |
| |
Programmable applications | |
| |
| |
Dedicated applications | |
| |
| |
Tools and utilities | |
| |
| |
Operating system utilities | |
| |
| |
| |
Virtual instruments | |
| |
| |
Selecting a virtual instrument | |
| |
| |
Instrument types | |
| |
| |
Instrument connection options | |
| |
| |
Digital storage oscilloscopes | |
| |
| |
Sampling rate and bandwidth | |
| |
| |
Resolution and accuracy | |
| |
| |
Low-cost DSO | |
| |
| |
High-speed DSO | |
| |
| |
High-resolution DSO | |
| |
| |
Choosing a computer-based DSO | |
| |
| |
Basic operation of a DSO | |
| |
| |
Waveform display | |
| |
| |
Parameter measurement | |
| |
| |
Spectrum analysis | |
| |
| |
Sound card oscilloscopes | |
| |
| |
Windows Oscilloscope 2.51 | |
| |
| |
Software Oscilloscope | |
| |
| |
Waveform display | |
| |
| |
Parameter measurement | |
| |
| |
Spectrum analysis | |
| |
| |
| |
Applications | |
| |
| |
Expansion cards | |
| |
| |
Approaches | |
| |
| |
PC instruments | |
| |
| |
Industrial PC systems | |
| |
| |
Backplane bus-based systems | |
| |
| |
Networked/distributed PC systems | |
| |
| |
Specifying hardware and software | |
| |
| |
Hardware design | |
| |
| |
Software design | |
| |
| |
Applications | |
| |
| |
Monitoring oscillator stability | |
| |
| |
Testing crystal filters | |
| |
| |
A speech enunciator | |
| |
| |
Strain measurement and display | |
| |
| |
Backup battery load test | |
| |
| |
Load sequencer | |
| |
| |
Environmental monitoring | |
| |
| |
Icing flow tunnel | |
| |
| |
| |
Reliability and fault-finding | |
| |
| |
Quality procedures | |
| |
| |
Reliability and fault-tolerance | |
| |
| |
Hardware techniques | |
| |
| |
Software techniques | |
| |
| |
The Power On Self Test (POST) | |
| |
| |
System BIOS | |
| |
| |
BIOS upgrading | |
| |
| |
Troubleshooting Windows problems | |
| |
| |
Invalid page faults | |
| |
| |
General protection faults | |
| |
| |
Fatal exceptions | |
| |
| |
Protection errors | |
| |
| |
Kernel errors | |
| |
| |
Dynamic link library faults | |
| |
| |
Using Dr. Watson | |
| |
| |
Benchmarking and performance measurement | |
| |
| |
System information | |
| |
| |
Benchmarking | |
| |
| |
Processor Benchmark | |
| |
| |
CPU Multimedia Benchmark | |
| |
| |
Memory Benchmark | |
| |
| |
Hard disk Benchmark | |
| |
| |
CD Benchmark | |
| |
| |
Network Benchmark | |
| |
| |
Fault-finding and troubleshooting techniques | |
| |
| |
Test equipment | |
| |
| |
Multi-range meters | |
| |
| |
Logic probes | |
| |
| |
Logic pulsers | |
| |
| |
Oscilloscopes | |
| |
| |
Fault location procedure | |
| |
| |
| |
Glossary of terms | |
| |
| |
| |
SI units | |
| |
| |
Fundamental units | |
| |
| |
Selected derived units | |
| |
| |
| |
Multiples and sub-multiples | |
| |
| |
| |
Decimal, hexadecimal, binary and, ASCII table | |
| |
| |
| |
Powers of 2 | |
| |
| |
| |
Processor sockets | |
| |
| |
| |
Processor data | |
| |
| |
| |
Common file extensions | |
| |
| |
| |
BIOS error codes | |
| |
| |
IBM BIOS | |
| |
| |
AMI BIOS | |
| |
| |
Award BIOS | |
| |
| |
Phoenix BIOS | |
| |
| |
| |
Manufacturers, suppliers and distributors | |
| |
| |
Expansion systems, embedded controllers, DAQ, and industrial control systems | |
| |
| |
Motherboards, memories, processors, drives, and accessories | |
| |
| |
Data communication products and accessories | |
| |
| |
Memory devices | |
| |
| |
Electronic components and test equipment | |
| |
| |
Computer supplies | |
| |
| |
Software | |
| |
| |
| |
Useful websites | |
| |
| |
| |
Bibliography | |
| |
| |
Interfacing | |
| |
| |
Electronic circuits | |
| |
| |
PC hardware | |
| |
| |
Programming | |
| |
| |
| |
Reference material available from the Web | |
| |
| |
Index | |