LabWorX / Mastering the I²C Bus

Straight from the Lab to your Brain / LabWorX 1

Vincent Himpe

Diese Publikation zitieren

Vincent Himpe, LabWorX / Mastering the I²C Bus (26.04.2024), Elektor, Aachen, ISBN: 9780905705989

228
Accesses
10
Quotes

Beschreibung / Abstract

Inhaltsverzeichnis

  • Cover
  • About the author
  • Contents
  • 1. Historical Background of I2C
  • 2. I2C from a Hardware Perspective
  • 3. Bus Architecture
  • 3.1 Basic Terminology
  • 4. The Basic I2C Protocol
  • 4.1 Flowchart
  • 5. Bus Events
  • 5.1 Additional Terminology
  • 5.2 Idle Bus
  • 5.3 Start and Stop Events
  • 5.4 Putting Information on the Bus
  • 5.5 Addressing a Slave
  • 5.6 Acknowledge
  • 5.7 NACK or not ACK
  • 5.8 Key Elements to Remember
  • 5.9 Bus Stalling
  • 5.10 Getting Acknowledge from the Master's Perspective
  • 5.11 Giving Acknowledge from the Master's Perspective
  • 5.12 Giving Not ACK from the Master's Perspective
  • 6. Exchanging Information
  • 6.1 Writing One Byte to a Slave
  • 6.2 Writing more than One Byte to a Slave
  • 6.3 Reading One Byte from a Slave
  • 6.4 Reading Multiple Bytes from a Slave
  • 6.5 Determining the Slave Access Mode
  • 6.6 The Combined Data Format
  • 7. Multi Master Communication
  • 7.1 An Example
  • 7.2 Additional Testing
  • 8. Bus Synchronisation
  • 8.1 An Example
  • 9. Special Addresses and Exceptions
  • 9.1 General Call Address
  • 9.2 Start Byte
  • 9.3 CBUS Address
  • 9.4 High Speed Master Code
  • 9.5 10-BIT Call Address
  • 9.6 Device ID
  • 10. Speed Modes
  • 10.1 Standard Mode
  • 10.2 Fast Mode
  • 10.3 Fast Mode +
  • 10.4 High Speed Mode
  • 11. Additional I2C Uses
  • 11.1 SMBUS
  • 11.2 PMBUS
  • 11.3 IPMI
  • 11.4 ATCA
  • 12. Electrical Specifications of the I2C Bus
  • 12.1 Enhanced I2C (Fast Mode)
  • 12.2 Extended Addressing
  • 13. Designing the Bus System
  • 13.1 Adressing
  • 13.2 Bus Expansion
  • 14. F.A.Q.: Hardware
  • 14.1 What is the maximum allowed length of the bus?
  • 14.2 I want to transport I2C over a long distance or off board
  • 14.3 I want to extend it "By the Book". Is there something like a buffer for I2C?
  • 14.4 Can I isolate an I2C Bus? (using optocoupler or some other means)
  • 14.5 What if I run out of addresses? Is there an I2C router?
  • 14.6 Level Shifting the I2C Bus
  • 14.7 Is there something like a standalone I2C controller?
  • 14.8 Why does the clock need to be bidirectional
  • 15. F.A.Q.: Protocol
  • 15.1 How do I generate a repeated start condition after the last byte
  • 15.2 What if I was in receive mode, how do I create the repeat start?
  • 15.3 Is it okey to abort an ongoing transmission any time?
  • 15.4 Do I need to give the ACK in read mode on the last byte?
  • 16. Q&A Section: Troubleshooting
  • 16.1 Can I monitor an I2C Bus in some way?
  • 16.2 USBEE
  • 16.3 Is there a way to test/debug I2C busses?
  • 16.4 I want to experiment with I2C, are there demo kits available?
  • 17. An I2C Driver in Pseudocode
  • 18. Debugging Tools
  • 18.1 I2C Trigger Generator
  • 18.2 Checking who is Controlling the Bus
  • 19. I2C Interfacing System for the IBM-PC
  • 19.1 Parallel Printer Port Interface
  • 19.2 Access Bus
  • 19.3 I2C In your Computer
  • 20. Commonly Used I2C Devices
  • 20.1 I/0 Expanders
  • 20.2 LED and LCD Display Controllers
  • 20.3 A/D and D/A Converters
  • 20.4 Audio and Video Circuitry
  • 20.5 EEPROM Memories
  • 20.6 Real Time Clocks
  • 20.7 I2C Isolators
  • 20.8 Bus Multiplexers and Expanders
  • 21. Labsticks I2C Introduction
  • 21.1 Board 1
  • 21.2 Board 2
  • 22. Labstick 1.1: I2C Probe
  • 22.1 Probe Hardware
  • 22.2 Command Set
  • 22.3 Base Commands
  • 22.4 Data Transport
  • 22.5 Simple Stream Examples
  • 22.6 Support Functions
  • 22.7 Low Level Functions
  • 22.8 Assembly Drawing
  • 22.9 Bill of Materials
  • 23. Labstick 1-2: Universal Power Supply
  • 23.1 Assembly Drawing
  • 23.2 Bill of Materials
  • 23.3 Selecting the Output Voltage
  • 24. Labstick 1-3: 24XXX EEPROM
  • 24.1 Devices
  • 24.2 Usage
  • 24.3 Pitfalls with E2Proms
  • 24.4 Assembly Drawing
  • 24.5 Bill of Materials
  • 25. Labstick 1-4: PWM LED Controller
  • 25.1 Address
  • 25.2 Usage
  • 25.3 Assembly Drawing
  • 25.4 Bill of Materials
  • 26. Labstick 1-5: LCD / Keyboard User Interface
  • 26.1 Initialization
  • 26.2 Keyboard Access
  • 26.3 Circuit Board
  • 26.4 Assembly
  • 27. Labstick 1-6: LM75 (A) Temperature Sensor
  • 27.1 Device Address
  • 27.2 Usage
  • 27.3 Assembly Drawing
  • 27.4 Bill of Materials
  • 28. Labstick 1-7: PCF8563 Realtime Clock
  • 28.1 Device Address
  • 28.2 Usage
  • 28.3 Alarm Operation
  • 28.4 Assembly Drawing
  • 28.5 Bill of Materials
  • 29. Labstick 1-8: 8-BIT Protected Output
  • 29.1. Assembly
  • 29.2 Bill of Materials
  • 30. Labstick 1-9: 8-BIT Protected Inpuit
  • 30.1 Schematic
  • 30.2 Circuit Board
  • 30.3 Bill of Materials
  • 30.4 Some Application Information
  • 31. Labstick 1-19 MCP4725 D/A Converters
  • 31.1 Device Address
  • 31.2 Usage
  • 31.3 Read Operations
  • 31.4 Assembly Drawing
  • 31.5 Bill of Materials
  • 32. Labstick 1-11: ADC081 / ADC101 / ADC121 A/D Converters
  • 32.1 Device Address
  • 32.2 Usage
  • 32.3 Write Operations
  • 32.4 Read Operations
  • 32.5 Assembly Drawing
  • 32.6 Bill of Materials
  • 33. Labstick 1-12 PCF8591 Combined A/D and D/A Converter
  • 33.1 PCA9691
  • 33.2 Assembly Drawing
  • 33.3 Bill of Materials
  • 34. Labstick 1-13: Potentiometer
  • 34.1 Functional Differences
  • 34.2 Device Address
  • 34.3 Usage
  • 34.4 The 'D' Version
  • 34.5 Assembly Drawing
  • 34.6 Bill of Materials
  • 35. Labstick 1-14: PCA9544 I2C Multiplexer
  • 35.1 Device Address
  • 35.2 Usage
  • 35.3 Assembly Drawing
  • 35.4 Bill of Materials
  • 36. Labstick 1-15: PCF8574(A) /PCA9XXX Universal I/O Expander
  • 36.1 Schematic
  • 36.2 Device Address
  • 36.3 Usage
  • 36.4 Assembly Drawing
  • 36.5 Bill of Materials
  • 37. Labstick 1-16: SAA1064 7 Segment Display
  • 37.1 Usage
  • 37.2 Assembly Drawing
  • 37.3 Bill of Materials
  • 38. Appendix 1
  • 38.1 Part References
  • 38.2 Passive Parts
  • 38.3 Semiconductors
  • 39. Appendix 2
  • 39.1 Additional Reading
  • 40. Index

Ähnliche Titel

    Mehr von diesem Autor