You are previewing Computer Busses.
O'Reilly logo
Computer Busses

Book Description

As more and more equipment is interface or'bus' driven, either by the use of controllers or directly from PCs, the question of which bus to use is becoming increasingly important both in industry and in the office. 'Computer Busses' has been designed to help choose the best type of bus for the particular application. There are several books which cover individual busses, but none which provide a complete guide to computer busses. The author provides a basic theory of busses and draws examples and applications from real bus case studies. Busses are analysed using from a top-down approach, helping the undergraduate electrical or computer engineer to chose the right type of bus for their particular application. This book is essential reading for students of software engineering and electronic design, as well as for those working in disciplines such as production engineering or process control. It will also be a handy reference book for professional engineers, systems designers, consultants and those working in technical support.Provides a complete guide to computer bussesContains application-specific programme examplesPlenty of real-life case studies

Table of Contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright page
  5. Preface
  6. 1: Introduction
    1. 1.1 Pre-PC Development
    2. 1.2 8008/8080/8085
    3. 1.3 8086/8088
    4. 1.4 80186/80188
    5. 1.5 80286
    6. 1.6 Post-PC development
    7. 1.7 Exercises
    8. 1.8 Notes from the author
    9. 1.9 DEC
    10. 1.10 Open.v.closed system
    11. 1.11 RIP, Sinclair Research
    12. 1.12 How to miss a market opportunity
  7. 2: Busses, Interrupts and PC Systems
    1. 2.1 Busses
    2. 2.2 Interrupts
    3. 2.3 Interfacing
    4. 2.4 PC Systems
    5. 2.8 Practical PC system
    6. 2.5 Exercises
    7. 2.6 Notes from the author
  8. 3: Interfacing Standards
    1. 3.1 Introduction
    2. 3.2 PC bus
    3. 3.3 ISA bus
    4. 3.4 Other legacy busses
    5. 3.5 Comparison of different types
    6. 3.6 Exercises
    7. 3.7 Summary of interface bus types
    8. 3.8 The fall of the MCA bus
    9. 3.9 Notes from the author
  9. 4: PCI Bus
    1. 4.1 Introduction
    2. 4.2 PCI operation
    3. 4.3 Bus arbitration
    4. 4.4 Other PCI pins
    5. 4.5 Configuration address space
    6. 4.6 I/O addressing
    7. 4.7 Exercises
    8. 4.8 Example manufacturer and plug-and-play IDs
    9. 4.9 Notes from the author
  10. 5: Motherboard Design
    1. 5.1 Introduction
    2. 5.2 TX motherboard
    3. 5.3 Exercises
    4. 5.4 Notes from the author
  11. 6: IDE and Mass Storage
    1. 6.1 Introduction
    2. 6.2 Tracks and sectors
    3. 6.3 Floppy disks
    4. 6.4 Fixed disks
    5. 6.5 Drive specifications
    6. 6.6 Hard disk and CD-ROM interfaces
    7. 6.7 IDE interface
    8. 6.8 IDE communication
    9. 6.9 Optical storage
    10. 6.10 Magnetic tape
    11. 6.11 Exercises
    12. 6.12 Notes from the author
  12. 7: SCSI
    1. 7.1 Introduction
    2. 7.2 SCSI types
    3. 7.3 SCSI interface
    4. 7.4 SCSI operation
    5. 7.5 SCSI pointers
    6. 7.6 Message system description
    7. 7.7 SCSI commands
    8. 7.8 Status
    9. 7.9 Exercises
    10. 7.10 Notes from the author
  13. 8: PCMCIA
    1. 8.1 Introduction
    2. 8.2 PCMCIA signals
    3. 8.3 PCMCIA registers
    4. 8.4 Exercises
    5. 8.5 Notes from the author
  14. 9: USB and Firewire
    1. 9.1 Introduction
    2. 9.2 USB
    3. 9.3 Firewire
    4. 9.4 Exercises
    5. 9.5 Notes from the author
  15. 10: Games Port, Keyboard and Mouse
    1. 10.1 Introduction
    2. 10.2 Games port
    3. 10.3 Keyboard
    4. 10.4 Mouse and keyboard interface
    5. 10.5 Mouse
    6. 10.6 Exercises
    7. 10.7 Notes from the author
  16. 11: AGP
    1. 11.1 Introduction
    2. 11.2 PCI and AGP
    3. 11.3 Bus transactions
    4. 11.4 Pin description
    5. 11.5 AGP master configuration
    6. 11.6 Bus commands
    7. 11.7 Addressing modes and bus operations
    8. 11.8 Register description
    9. 11.9 Exercises
    10. 11.10 Notes from the author
  17. 12: Fibre Channel
    1. 12.1 Introduction
    2. 12.2 Comparison
    3. 12.3 Fibre channel standards
    4. 12.4 Cables, hubs, adapters and connectors
    5. 12.5 Storage Devices and storage area networks
    6. 12.6 Networks
    7. 12.7 Exercises
    8. 12.8 Notes from the author
  18. 13: RS-232
    1. 13.1 Introduction
    2. 13.2 Electrical characteristics
    3. 13.3 Communications between two nodes
    4. 13.4 Programming RS-232
    5. 13.5 RS-232 programs
    6. 13.6 Exercises
    7. 13.7 Notes from the author
  19. 14: RS-422, RS-423 and RS-485
    1. 14.1 Introduction
    2. 14.2 RS-485 (ISO 8482)
    3. 14.3 Line drivers
    4. 14.4 RS-232/485 converter
    5. 14.5 Exercises
    6. 14.6 Note from the author
  20. 15: Modems
    1. 15.1 Introduction
    2. 15.2 RS-232 communications
    3. 15.3 Modem standards
    4. 15.4 Modem commands
    5. 15.5 Modem set-ups
    6. 15.6 Modem indicator
    7. 15.7 Profile viewing
    8. 15.8 Test modes
    9. 15.9 Digital modulation
    10. 15.10 Typical modems
    11. 15.11 Fax transmission
    12. 15.12 Exercises
    13. 15.13 Notes from the author
  21. 16: Parallel Port
    1. 16.1 Introduction
    2. 16.2 PC connections
    3. 16.3 Data handshaking
    4. 16.4 I/O addressing
    5. 16.5 Interrupt-driven parallel port
    6. 16.6 Exercises
    7. 16.7 Notes from the author
  22. 17: Enhanced Parallel Port
    1. 17.1 Introduction
    2. 17.2 Compatibility mode
    3. 17.3 Nibble mode
    4. 17.4 Byte mode
    5. 17.5 EPP
    6. 17.6 ECP
    7. 17.7 Exercises
    8. 17.8 Note from the author
  23. 18: Modbus
    1. 18.1 Modbus protocol
    2. 18.2 Function codes
    3. 18.3 Modbus diagnostics
    4. 18.4 Exercises
    5. 18.5 Notes from the author
  24. 19: Fieldbus
    1. 19.1 Introduction
    2. 19.2 Fieldbus types
    3. 19.3 FOUNDATION Fieldbus
    4. 19.4 Exercises
    5. 19.5 Notes from the author
  25. 20: WorldFIP
    1. 20.1 Introduction
    2. 20.2 Physical layer
    3. 20.3 Data link layer
    4. 20.4 Exercises
    5. 20.5 Notes from the author
  26. 21: CAN bus
    1. 21.1 Introduction
    2. 21.2 CAN physical
    3. 21.3 CAN bus basics
    4. 21.4 Message transfer
    5. 21.5 Fault confinement
    6. 21.6 Bit timing
    7. 21.7 CAN open
    8. 21.8 Exercises
    9. 21.9 Notes from the author
  27. 22: IEEE-488, VME and VXI
    1. 22.1 Introduction
    2. 22.2 IEEE-488 bus
    3. 22.3 VME bus
    4. 22.4 VXI bus
    5. 22.5 Exercises
    6. 22.6 Notes from the author
  28. 23: TCP/IP
    1. 23.1 Introduction
    2. 23.2 TCP/IP gateways and hosts
    3. 23.3 Function of the IP protocol
    4. 23.4 Internet datagram
    5. 23.5 ICMP
    6. 23.6 TCP/IP internets
    7. 23.7 Domain name system
    8. 23.8 Internet naming structure
    9. 23.9 Domain name sewer
    10. 23.10 Bootp protocol
    11. 23.11 Example network
    12. 23.12 ARP
    13. 23.13 IP multicasting
    14. 23.14 Exercises
    15. 23.15 Notes from the author
    16. 23.16 Additional material
  29. 24: TCP and UDP
    1. 24.1 Introduction
    2. 24.2 Transmission control protocol
    3. 24.3 UDP
    4. 24.4 TCP specification
    5. 24.5 TCB parameters
    6. 24.6 Connection states
    7. 24.7 Opening and closing a connection
    8. 24.8 TCP user commands
    9. 24.9 WinSock
    10. 24.10 Visual Basic socket implementation
    11. 24.11 Exercises
    12. 24.12 TCP/IP services reference
    13. 24.13 Notes from the author
  30. 25: Networks
    1. 25.1 Introduction
    2. 25.2 Network topologies
    3. 25.3 OSI model
    4. 25.4 Routers, bridges and repeaters
    5. 25.5 Network cable types
    6. 25.6 Exercises
    7. 25.7 Notes from the author
  31. 26: Ethernet
    1. 26.1 Introduction
    2. 26.2 IEEE standards
    3. 26.3 Ethernet – media access control (MAC) layer
    4. 26.4 IEEE 802.2 and Ethernet SNAP
    5. 26.5 OSI and the IEEE 802.3 standard
    6. 26.6 Ethernet transceivers
    7. 26.7 Ethernet types
    8. 26.8 Twisted-pair hubs
    9. 26.9 100 Mbps Ethernet
    10. 26.10 Comparison of fast Ethernet other technologies
    11. 26.11 Switches and switching hubs
    12. 26.12 Network interface card design
    13. 26.13 Gigabit Ethernet
    14. 26.14 Exercises
    15. 26.15 Ethernet crossover connections
    16. 26.16 Notes from the author
  32. 27: RS-232 Programming using Visual Basic
    1. 27.1 Introduction
    2. 27.2 Properties
    3. 27.3 Events
    4. 27.4 Example program
    5. 27.5 Error messages
    6. 27.6 RS-232 polling
    7. 27.7 Exercises
  33. 28: Interrupt-driven RS-232
    1. 28.1 Interrupt-driven RS-232
    2. 28.2 DOS-based RS-232 program
    3. 28.3 Exercises
  34. A: PC Processors
    1. A.1 Introduction
    2. A.2 8086/88
    3. A.3 80386/80486
    4. A.4 Pentium/Pentium Pro
    5. A.5 Exercises
  35. B: VESA VL-Local Bus
  36. C: Modem Codes
    1. C.1 AT commands
    2. C.2 Result codes
    3. C.3 S-registers
  37. D: Redundancy checking
    1. D.1 Cyclic redundancy check (CRC)
    2. D.2 Longitudinal/vertical redundancy checks (LRC/VRC)
  38. E: ASCII Character Code
    1. E.1 Standard ASCII
    2. E.2 Extended ASCII code
  39. F: Quick Reference
    1. E.1 Notes from the author
  40. G: ISDN
    1. G.1 Introduction
    2. G.2 ISDN channels
    3. G.3 ISDN physical layer interfacing
    4. G.4 ISDN data link layer
    5. G.5 ISDN network layer
    6. G.6 Speech sampling
    7. G.7 Exercises
  41. H: Microsoft Windows
    1. H.1 Introduction
    2. H.2 Windows registry
    3. H.3 Device drivers
    4. H.4 Configuration manager
    5. H.5 Virtual machine manager (VMM)
    6. H.6 Multiple file systems
    7. H.7 Core system components
    8. H.8 Multitasking and threading
    9. H.9 Plug-and-play process
    10. H.10 indows NT architecture
    11. H.11 Windows 95 and Windows 98
    12. H.12 Fundamentals of Operating Systems
    13. H.13 Exercises
  42. I: HDLC
    1. I.1 Introduction
    2. I.2 HDLC protocol
    3. I.3 Transparency
    4. I.4 Flow control
    5. I.5 Derivatives of HDLC
  43. J: Example WinSock Code for Visual Basic
    1. J.1 My client (myClient.frm)
    2. J.2 My server (myServer.frm)
    3. J.3 Choice form (ChoiceSC.frm)
    4. J.4 Error panel (ErrorPanel.frm)
    5. J.5 Help form (help.frm)
  44. Index