IRD (I2C Register Description) stands for a technology which introduces an entirely new level of device access.
Instead of working with addresses, offsets and byte values the user is provided with a comprehensive view of device registers which are given by the names used in the data sheets.
Mapping between such names and the physical locations within a device are done automatically by I2C Studio.
The mapping is device-dependent. It gets described by IRD files.
Let's assume as an example a bus where a Smart Battery IC has the address 0x0b.
As described in the standard a Smart Battery has got a "Battery Mode" register at
subaddress 0x03.
When an I2C master reads data from this register, a standard I2C tracer would simply display the transferred raw data. This is not really helpful, because the developer has to use the data sheet to understand the meaning of the transfer.
Using the IRD description of the Smart Battery protocol the tracer can convert the raw data stream into a register view.
The register view displays, which data have been transferred to or from a register.
Using the register view the developer still needs the data sheet to understand the meaning of the bits in the transferred data.
The value view allows the developer to work completely without the data sheet. In this view every bit gets displayed with its name and meaning.
Thus, no deeper knowledge about the register locations and the content of the registers is needed to efficiently debug and enhance applications.
I2C Studio comes with a large collection of IRD files for all common I2C devices. However, there will be always I2C devices for which there are no ready-to-use IRD files.
In such a situation the user has two possibilities for writing his own IRD files: he can write the IRD files, which are in fact XML files, by hand using the IRD User Manual and a text editor. Or he can use the IRD Composer to create the IRD files.
Using the IRD compiler it is possible to convert an IRD file to a C# source code file. Such a source code file contains one class, which offers a type-safe access to the registers/values of a device via the I2C bus.
Using such a class communicating with an I2C slave from a script or one’s own .NET program becomes a lot of easier. It is no longer necessary to calculate the data bytes to be sent to the I2C slave from its data-sheet. Instead, the developer can simply assign the needed value to a property of the created class.
Analog Devices | AD 7414 +/-0.5 °C Accurate, 10-Bit Digital Temperature Sensors in SOT-23 AD 7415 +/-0.5 °C Accurate, 10-Bit Digital Temperature Sensors in SOT-23 AD 7416 10-Bit Digital Temperature Sensor AD 7417 10-Bit Digital Temperature Sensor And Four Single-Channel ADCs AD 7418 10-Bit Digital Temperature Sensor And Four Single-Channel ADCs ADM 1021 A Temperature Monitor ADM 1022 Temperature Monitor and Fan Controller ADM 1023 High Accuracy Temperature Monitor ADM 1024 Hardware Monitor ADM 1025(A) Hardware Monitor ADM 1027 dbCOOL Remote Thermal Controller And Voltage Monitor ADM 1028 Remote Thermal Diode Monitor With Linear Fan Control ADM 1029 Dual PWM Fan Controller And Temperature Monitor For High Availability Systems ADM 1033 Thermal Monitor And Fan Speed Controller ADT 7518 Temperature Sensor, 4-Channel ADC And Quad Voltage Output DAC |
Freescale Semiconductor | MMA 7455L +/-2g/+/-4g/+/-8g Three Axis Low-G Digital Output Accelerometer |
JEDEC | No. 21-C Page 4.7 Mobile Platform Memory Module Thermal Sensor Component (Release 15) |
Linear Technology | LTC 3447 Controllable Buck Regulator LTC 4151 High Voltage I2C Current and Voltage Monitor |
Maxim | DS 1307 Real-Time Clock DS 1337 Serial Real Time Clock DS 1338 Real-Time Clock DS 1339 Serial Real Time Clock DS 1340 RTC With Trickle Charger DS 1371 32 Bit Binary Counter Watchdog Clock DS 1374 32 Bit Binary Counter Watchdog RTC With Trickle Charger DS 1375 Digital Input RTC With Alarm DS 1388(EEPROM Bank 1) RTC/Supervisor EEPROM Bank 1 DS 1388(EEPROM Bank 2) RTC/Supervisor EEPROM Bank 2 DS 1388(RTC) RTC/Supervisor With Trickle Charger DS 1631 (A) / DS 1731 High-Precision Digital Thermometer And Thermostat DS 1672 Low Voltage Serial Timekeeping Chip DS 1678 Real Time Event Recorder DS 1682 Total Elapse Time Recorder With Alarm DS 1721 Digital Thermometer And Thermostat DS 1775 Digital Thermometer And Thermostat DS 3231 Extremly Accurate RTC With TCXO DS 75 Digital Thermometer And Thermostat MAX 1617 A Remote/Local Temperature Sensor MAX 1619 Remote/Local Temperature Sensor With Dual-Alarm Outputs MAX 16805 EEPROM-Programmable, High-Voltage, 350mA LED Drivers with LED Current Foldback MAX 16806 EEPROM-Programmable, High-Voltage, 350mA LED Drivers with LED Current Foldback MAX 6625 9 Bit Temperature Sensor MAX 6626 12 Bit Temperature Sensor MAX 6633 12 Bit Plus Sign Temperature Sensor MAX 6634 12 Bit Plus Sign Temperature Sensor MAX 6635 12 Bit Plus Sign Temperature Sensor MAX 6646 Precision Remote/Local Sensor With Overtemperature Alarms MAX 6647 Precision Remote/Local Sensor With Overtemperature Alarms MAX 6649 Precision Remote/Local Sensor With Overtemperature Alarms MAX 6660 Remote-Junction Temperature-Controlled Fan-Speed Regulator MAX 6680 / MAX 6681 1 °C Fail-Safe Remote/Local Temperature Sensor MAX 6690 2 °C Accurate Remote/Local Temperature Sensor MAX 6900 RTC In A TDFN MAX 6909 / 6910 RTC With uP Supervisor And NV RAM Controller MAX 6917 RTC With Microprocessor Supervisor And NV RAM Controller |
National Semiconductor | LM 63 Accurate Remote Diode Digital Temperature Sensor LM 64 Remote Diode Temperature Sensor with PWM Fan Control and 5 GPIO's LM 73 11-To-14 Bit Digital Temperature Sensor With 2-Wire Interface LM 75 Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface LM 76 +/-0.5 °C, +/-1 °C, 12-Bit + Sign Digital Temperature Sensor and Thermal Window Comparator with Two-Wire Interface LM 77 9-Bit + Sign Digital Temperature Sensor and Thermal Window Comparator with Two-Wire Interface LM 82 Remote-Diode And Local Digital Temperature Sensor LM 83 Triple-Diode Input And Local Digital Temperature Sensor LM 84 Diode Input Digital Temperature Sensor LM 85 Hardware Monitor with Integrated Fan Control LM 87 Serial Interface System Hardware Monitor with Remote Diode Temperature Sensing LM 92 +/-0.33 °C Accurate, 12-Bit + Sign Temperature Sensor and Thermal Window Comparator with Two-Wire Interface LM 95213 2-Diode Input and Local Digital Temperature Sensor with Two-Wire Interface and TCRIT Outputs LM 95214 Quad Remote Diode and Local Temperature Sensor with SMBus Interface LM 95221 Dual Remote Diode Digital Temperature Sensor with SMBus Interface LM 95231 Precision Dual Remote Diode Temperature Sensor with SMBus Interface and TruTherm(TM) Technology LM 95233 Dual Remote Diode and Local Temperature Sensor with SMBus Interface and TruTherm(TM) Technology LM 95234 Quad Remote Diode and Local Temperature Sensor with SMBus Interface and TruTherm(TM) Technology LM 95235 Precision Remote Diode Temperature Sensor with SMBus Interface and TruTherm(TM) Technology LM 95241 Dual Remote Diode Temperature Sensor with SMBus Interface and TruTherm(TM) Technology (65nm/90nm) LM 95245 Precision Remote Diode Digital Temperature Sensor with TruTherm BJT Beta Compensation Technology for 45nm Process |
NXP Semiconductors | PCA 9502 8-Bit I/O Expander With I2C-Bus/SPI Interface PCA 9505 / 9506 40-Bit I2C-Bus I/O Port With RESET, OE And INT PCA 9530 2-Bit I2C LED Dimmer PCA 9531 8-Bit I2C-Bus LED Dimmer PCA 9532 16-Bit I2C LED Dimmer PCA 9533 4-Bit I2C LED Dimmer PCA 9534 8-Bit I2C-Bus And SMBus Low Power I/O Port With Interrupt PCA 9535 16-Bit I2C-Bus And SMBus, Low Power I/O Port With Interrupt PCA 9536 4-Bit I2C-Bus And SMBus I/O Port PCA 9537 4-Bit I2C-Bus And SMBus Low Power I/O Port With Interrupt And Reset PCA 9538 8-Bit I2C-Bus And SMBus Low Power I/O Port With Interrupt And Reset PCA 9539 16-Bit I2C-Bus And SMBus Low Power I/O Port With Interrupt And Reset PCA 9540 B 2-Channel I2C Multiplexer PCA 9542 A 2-Channel I2C Multiplexer And Interrupt Logic PCA 9543 A 2-Channel I2C-Bus Switch With Interrupt Logic And Reset PCA 9543 C 2-Channel I2C-Bus Switch With Interrupt Logic And Reset PCA 9544 A 4-Channel I2C Multiplexer With Interrupt Logic PCA 9545 A 4-Channel I2C-Bus Switch With Interrupt Logic And Reset PCA 9545 C 4-Channel I2C-Bus Switch With Interrupt Logic And Reset PCA 9546 A 4-Channel I2C-Bus Switch With Reset PCA 9547 8-Channel I2C-Bus Multiplexer With Reset PCA 9548 A 8-Channel I2C-Bus Switch With Reset PCA 9549 Octal Bus Switch With Individually I2C-Bus Controlled Enables PCA 9550 2-Bit I2C-Bus LED Driver With Programmable Blink Rates PCA 9551 8-Bit I2C-Bus LED Driver With Programmable Blink Rates PCA 9552 16-Bit I2C-Bus LED Driver With Programmable Blink Rates PCA 9698 40-Bit Fm+ I2C-Bus Advanced I/O Port With RESET, OE And INT SAA 7118 Multistandard video decoder with adaptive comb filter and component video input SAA 7119 Multistandard video decoder with adaptive comb filter and component video input TDA 10046 AHT Single chip channel receiver for 2K and 8K COFDM modulated signals |
SBS Forum | Smart Battery Charger Smart Battery Charger - Revision 1.1 Smart Battery Data Smart Battery Data - Revision 1.1 Smart Battery Manager Smart Battery Manager - Revision 1.0 Smart Battery Selector Smart Battery Selector - Revision 1.1 SMBus ARP SMBus 2.0 - Address Resolution Protocol |
Texas Instruments | AMC 6821 Intelligent Temperature Monitor And PWM Fan Controller PCA 9534 Remote 8-Bit I2C And SMBus Low-Power I/O Expander With Interrupt Output And Configuration Registers PCA 9535 Remote 16-Bit I2C And SMBus, Low-Power I/O Expander With Interrupt Output And Configuration Registers PCA 9536 Remote 4-Bit I2C And SMBus I/O Expander With Configuration Registers PCA 9539 Remote 16-Bit I2C And SMBus Low-Power I/O Expander With Interrupt Output, Reset And Configuration Registers PCA 9543 A Two-Channel I2C-SMBus Switch With Interrupt Logic and Reset PCA 9545 A 4-Channel I2C And SMBus Switch With Interrupt Logic And Reset Functions PCA 9546 A 4-Channel I2C And SMBus Switch With Reset Function PCA 9554 A Remote 8-Bit I2C And SMBus I/O Expander With Interrupt Output And Configuration Registers PCA 9555 Remote 16-Bit I2C And SMBus I/O Expander With Interrupt Output And Configuration Registers PCA 9557 Remote 8-Bit I2C And SMBus I/O Expander With Reset And Configuration Registers TCA 6408 Low-Voltage 8-Bit I2C And SMBus I/O Expander With Interrupt Output, Reset, And Configuration Registers TCA 6416 Low-Voltage 16-Bit I2C And SMBus I/O Expander With Interrupt Output, Reset, And Configuration Registers TCA 6424 Low-Voltage 24-Bit I2C And SMBus I/O Expander With Interrupt Output, Reset, And Configuration Registers TCA 6507 Low-Voltage 7-Bit I2C And SMBus LED Driver With Intensity Control And Shutdown TMP 100 Digital Temperature Sensor TMP 101 Digital Temperature Sensor TMP 105 Digital Temperature Sensor TMP 106 Digital Temperature Sensor TMP 175 Digital Temperature Sensor TMP 421 +/-1 °C Remote and Local Temperature Sensor TMP 422 +/-1 °C Remote and Local Temperature Sensor TMP 423 +/-1 °C Remote and Local Temperature Sensor TMP 75 Digital Temperature Sensor |
This list refers to the most recent version of I2C Studio.
See IRD User Manual for more details.