Preface |
|
xiii | |
|
|
|
|
3 | (7) |
|
|
5 | (1) |
|
|
6 | (1) |
|
|
7 | (1) |
|
Data transfer and control |
|
|
8 | (1) |
|
Parallel versus serial I/O |
|
|
9 | (1) |
|
|
10 | (9) |
|
|
10 | (3) |
|
|
13 | (1) |
|
80286, 80386, and 80486 processors |
|
|
14 | (2) |
|
|
16 | (1) |
|
The Pentium family of processors |
|
|
17 | (2) |
|
|
19 | (5) |
|
|
24 | (1) |
|
|
24 | (10) |
|
|
24 | (3) |
|
8237A Direct Memory Access Controller |
|
|
27 | (1) |
|
8253 Programmable Interval Timer |
|
|
27 | (2) |
|
8255A Programmable Peripheral Interface |
|
|
29 | (1) |
|
8259A Programmable Interrupt Controller |
|
|
29 | (1) |
|
|
30 | (1) |
|
|
31 | (1) |
|
|
32 | (2) |
|
|
34 | (19) |
|
|
35 | (1) |
|
|
36 | (1) |
|
|
37 | (2) |
|
|
39 | (3) |
|
|
42 | (1) |
|
|
43 | (1) |
|
|
44 | (1) |
|
|
45 | (1) |
|
|
46 | (1) |
|
|
46 | (7) |
|
|
53 | (4) |
|
|
|
|
57 | (1) |
|
Development of PC expansion bus architectures |
|
|
57 | (2) |
|
PC ISA/EISA expansion bus |
|
|
59 | (1) |
|
|
60 | (4) |
|
Industry Standard Architecture (ISA) bus |
|
|
64 | (11) |
|
The 62-way ISA (PC expansion bus) connector |
|
|
64 | (3) |
|
The 36-way EISA (PC-AT expansion bus) connector |
|
|
67 | (2) |
|
Electrical characteristics |
|
|
69 | (2) |
|
Design of PC expansion cards |
|
|
71 | (4) |
|
|
75 | (2) |
|
Peripheral Component Interconnect/Interface (PCI) bus |
|
|
77 | (4) |
|
Accelerated Graphics Port (AGP) |
|
|
81 | (1) |
|
|
81 | (14) |
|
USB applications and principal features |
|
|
82 | (2) |
|
|
84 | (1) |
|
Connection and disconnection of USB devices |
|
|
85 | (1) |
|
USB bus topology and physical connections |
|
|
86 | (2) |
|
Error detection and handling |
|
|
88 | (1) |
|
|
88 | (1) |
|
|
89 | (1) |
|
|
90 | (2) |
|
|
92 | (3) |
|
|
95 | (12) |
|
Measurement Computing Corporation PDISO-8 |
|
|
95 | (3) |
|
Blue chip technology AIP-24 |
|
|
98 | (1) |
|
Measurement Computing Corporation Dual-422 |
|
|
99 | (2) |
|
Arcom APCI-ADADIO multifunction I/O card |
|
|
101 | (3) |
|
The PMD-1208LS USB device |
|
|
104 | (3) |
|
Using the command line interface |
|
|
|
The need for an operating system |
|
|
107 | (1) |
|
|
108 | (2) |
|
|
110 | (1) |
|
|
110 | (1) |
|
|
110 | (1) |
|
|
111 | (17) |
|
|
112 | (1) |
|
|
113 | (1) |
|
|
113 | (1) |
|
Internal and external commands |
|
|
114 | (14) |
|
|
128 | (3) |
|
|
128 | (1) |
|
|
129 | (1) |
|
|
130 | (1) |
|
|
131 | (3) |
|
Using configuration files and device drivers |
|
|
134 | (1) |
|
|
135 | (1) |
|
|
136 | (15) |
|
|
137 | (5) |
|
|
142 | (4) |
|
Using Debug's line assembler |
|
|
146 | (5) |
|
|
|
|
151 | (3) |
|
|
154 | (13) |
|
|
157 | (3) |
|
|
160 | (1) |
|
Error checking and input validation |
|
|
161 | (1) |
|
|
161 | (1) |
|
|
162 | (1) |
|
|
162 | (3) |
|
|
165 | (2) |
|
Assembly language programming |
|
|
|
Advantages of assembly language |
|
|
167 | (1) |
|
Disadvantages of assembly language |
|
|
168 | (1) |
|
Developing assembly language programs |
|
|
168 | (8) |
|
|
169 | (7) |
|
|
176 | (7) |
|
8086 instruction set summary |
|
|
176 | (2) |
|
|
178 | (3) |
|
|
181 | (2) |
|
|
183 | (6) |
|
|
186 | (3) |
|
|
|
|
189 | (2) |
|
Developing Microsoft Basic for DOS programs |
|
|
191 | (1) |
|
|
191 | (1) |
|
|
191 | (1) |
|
|
192 | (4) |
|
|
196 | (1) |
|
|
197 | (1) |
|
|
198 | (1) |
|
|
199 | (1) |
|
|
200 | (1) |
|
|
201 | (7) |
|
|
201 | (5) |
|
|
206 | (1) |
|
|
207 | (1) |
|
|
208 | (1) |
|
Accessing assembly language from within Basic programs |
|
|
209 | (2) |
|
Accessing the I/O ports in DOS or Windows 9x environments |
|
|
211 | (2) |
|
|
213 | (1) |
|
|
214 | (1) |
|
Using dynamic link library (DLL) files |
|
|
215 | (1) |
|
Accessing the I/O ports from the Windows Protected Mode environment |
|
|
215 | (1) |
|
|
216 | (4) |
|
|
220 | (5) |
|
|
|
|
225 | (19) |
|
|
226 | (1) |
|
|
226 | (4) |
|
|
230 | (2) |
|
|
232 | (1) |
|
|
232 | (1) |
|
|
233 | (3) |
|
|
236 | (2) |
|
|
238 | (2) |
|
Passing arguments into main |
|
|
240 | (3) |
|
|
243 | (1) |
|
Difference between C and C++ |
|
|
244 | (2) |
|
|
246 | (4) |
|
|
|
|
250 | (1) |
|
|
250 | (1) |
|
|
250 | (1) |
|
|
250 | (1) |
|
|
250 | (1) |
|
|
251 | (4) |
|
|
252 | (1) |
|
|
252 | (1) |
|
|
253 | (1) |
|
|
253 | (2) |
|
|
255 | (1) |
|
|
256 | (1) |
|
|
257 | (3) |
|
Troubleshooting the IEEE-488 bus |
|
|
260 | (1) |
|
|
|
Characteristics of digital I/O ports |
|
|
261 | (1) |
|
Characteristics of analogue I/O ports |
|
|
262 | (1) |
|
|
263 | (5) |
|
Interfacing switches and sensors |
|
|
268 | (21) |
|
Sensors with digital outputs |
|
|
270 | (15) |
|
Sensors with analogue outputs |
|
|
285 | (4) |
|
|
289 | (12) |
|
Status and warning indications |
|
|
289 | (1) |
|
|
290 | (1) |
|
Driving medium- and high-current loads |
|
|
291 | (1) |
|
|
292 | (1) |
|
|
293 | (1) |
|
|
293 | (3) |
|
Driving mains connected loads |
|
|
296 | (2) |
|
Driving solenoids and solenoid-operated valves |
|
|
298 | (1) |
|
|
299 | (2) |
|
|
|
Selecting a software package |
|
|
301 | (2) |
|
|
301 | (1) |
|
|
302 | (1) |
|
|
303 | (1) |
|
|
303 | (1) |
|
|
303 | (22) |
|
|
304 | (1) |
|
Programming language extensions |
|
|
305 | (2) |
|
Programmable applications |
|
|
307 | (13) |
|
|
320 | (1) |
|
|
321 | (2) |
|
Operating system utilities |
|
|
323 | (2) |
|
|
|
Selecting a virtual instrument |
|
|
325 | (2) |
|
|
325 | (1) |
|
Instrument connection options |
|
|
326 | (1) |
|
Digital storage oscilloscopes |
|
|
327 | (17) |
|
Sampling rate and bandwidth |
|
|
329 | (1) |
|
|
330 | (1) |
|
|
330 | (1) |
|
|
331 | (1) |
|
|
332 | (1) |
|
Choosing a computer-based DSO |
|
|
332 | (1) |
|
|
333 | (3) |
|
|
336 | (1) |
|
|
336 | (3) |
|
|
339 | (5) |
|
|
344 | (11) |
|
Windows Oscilloscope 2.51 |
|
|
345 | (2) |
|
|
347 | (1) |
|
|
348 | (2) |
|
|
350 | (2) |
|
|
352 | (3) |
|
|
|
|
355 | (1) |
|
|
356 | (4) |
|
|
356 | (2) |
|
|
358 | (1) |
|
Backplane bus-based systems |
|
|
358 | (1) |
|
Networked/distributed PC systems |
|
|
359 | (1) |
|
Specifying hardware and software |
|
|
360 | (2) |
|
|
361 | (1) |
|
|
361 | (1) |
|
|
362 | (31) |
|
Monitoring oscillator stability |
|
|
362 | (5) |
|
|
367 | (2) |
|
|
369 | (5) |
|
Strain measurement and display |
|
|
374 | (3) |
|
|
377 | (3) |
|
|
380 | (6) |
|
|
386 | (3) |
|
|
389 | (4) |
|
Reliability and fault-finding |
|
|
|
|
393 | (1) |
|
Reliability and fault-tolerance |
|
|
393 | (2) |
|
|
394 | (1) |
|
|
394 | (1) |
|
The Power On Self Test (POST) |
|
|
395 | (1) |
|
|
395 | (6) |
|
|
398 | (3) |
|
Troubleshooting Windows problems |
|
|
401 | (9) |
|
|
401 | (1) |
|
General protection faults |
|
|
402 | (2) |
|
|
404 | (3) |
|
|
407 | (1) |
|
|
408 | (2) |
|
Dynamic link library faults |
|
|
410 | (1) |
|
|
410 | (8) |
|
Benchmarking and performance measurement |
|
|
418 | (2) |
|
|
418 | (2) |
|
|
420 | (4) |
|
|
421 | (1) |
|
|
421 | (1) |
|
|
421 | (1) |
|
|
422 | (1) |
|
|
422 | (1) |
|
|
422 | (2) |
|
Fault-finding and troubleshooting techniques |
|
|
424 | (2) |
|
|
426 | (7) |
|
|
426 | (2) |
|
|
428 | (1) |
|
|
429 | (3) |
|
|
432 | (1) |
|
|
433 | (12) |
|
Appendix A Glossary of terms |
|
|
445 | (14) |
|
|
|
|
458 | (1) |
|
|
458 | (1) |
|
Appendix C Multiples and sub-multiples |
|
|
459 | (1) |
|
Appendix D Decimal, hexadecimal, binary and, ASCII table |
|
|
460 | (6) |
|
|
466 | (1) |
|
Appendix F Processor sockets |
|
|
467 | (1) |
|
Appendix G Processor data |
|
|
468 | (2) |
|
Appendix H Common file extensions |
|
|
470 | (10) |
|
Appendix I BIOS error codes |
|
|
|
|
472 | (1) |
|
|
472 | (1) |
|
|
472 | (1) |
|
|
473 | (1) |
|
Appendix J Manufacturers, suppliers and distributors |
|
|
|
Expansion systems, embedded controllers, DAQ, and industrial control systems |
|
|
474 | (2) |
|
Motherboards, memories, processors, drives, and accessories |
|
|
476 | (1) |
|
Data communication products and accessories |
|
|
477 | (1) |
|
|
477 | (1) |
|
Electronic components and test equipment |
|
|
478 | (1) |
|
|
478 | (1) |
|
|
478 | (2) |
|
Appendix K Useful websites |
|
|
480 | (2) |
|
|
|
|
481 | (1) |
|
|
481 | (1) |
|
|
481 | (1) |
|
|
481 | (1) |
|
Appendix M Reference material available from the Web |
|
|
482 | (3) |
Index |
|
485 | |