模拟开关扩展I2C接口-Analog Switch Expa

来源: 本站整理 作者:佚名 2009-04-24 16:01:00
Abstract: Design idea outlining how to use an I2C-controlled analog switch to triple the number of devices connected to an I2C bus.

Perhaps the most effec TIve way to gain board space and increase component density is to minimize wiring on the board. A widely used architecture that allows such miniaturiza TIon is the I²C bus. Comprising only a bidirec TIonal data line, SDA, and a clock line, SCL, this bus requires no chip selects or other addi TIonal connections.

Microcontrollers from Philips, Microchip, and other manufacturers include dedicated I²C interfaces, but you can also implement the interface in software. To complete this task, you associate a 7-bit address with each master or slave transceiver and factory- or pin-program the device with two to four address options.

An increasing number of slaves now include the I²C interface, but some of their 128 address locations are reserved for special functions, so not all locations are available to a designer. Yet, two or more devices could have the same address in some applications.

In Figure 1, analog switch IC1, which is I²C-controlled, connects auxiliary branches that contain devices with the same address to the main I²C bus. IC2 and IC3, for example, have the same address but are located on different auxiliary buses.


Figure 1. This I²C-controlled analog switch expands by three the number of devices connected to the bus.

The arrangement in Figure 1 prevents the master from addressing multiple slaves at the same time. If that situation occurs, the data becomes corrupted during a master-read protocol, and all slaves may not receive data during a master-write protocol. The analog switch accepts bidirectional signals as required for the SDA line. The switch has low on-state resistance, adds almost no leakage on the lines, and provides four selectable slave addresses. You simultaneously control the switches by using the simple SendByte protocol (address plus 8-bit command).

You can switch the three auxiliary buses on the fly. Power-up sets the switches to soft mode, an off state with 12-msec switching time. Then, a command byte of 0b11000000 sets the switches to hard mode (400-nsec switching time). Subsequent commands select the desired auxiliary bus. Command 0b1000011, for example, selects auxiliary bus 1.

The main I²C bus includes necessary pullup resistors, and the auxiliary buses include weaker pullups that ensure a high state when you deselect the bus. The circuit in Figure 1 allows you to add three times more devices on the bus. For a wider selection, you can replace the MAX4562 with a MAX4572, whose 14 switches allow you to add as many as seven auxiliary buses.

A similar version of this article appeared in the November 22, 2001 issue of EDN magazine.

专题

查看更多
IC品牌故事

IC 品牌故事 | 三次易主,安世半导体的跨国迁徙

IC 品牌故事 | 开放合作+特色深耕,华虹的突围之路

IC 品牌故事 | Wolfspeed:从LED到SiC,被中国厂商围追堵截的巨头

人形机器人

市场 | 全球首家机器人6S店在深圳龙岗开业

方案 | Allegro解决方案助力机器人应用提升效率、可靠性和创新

方案 | 爱仕特SiC三电平方案:突破工商储能PCS高效极限

毫米波雷达

毫米波雷达 | 智能驾驶不可或缺的4D毫米波雷达技术全解析

毫米波雷达 | 有哪些热门毫米波雷达芯片和解决方案?

毫米波雷达 | 超百亿美元的毫米波雷达都用在了哪里?

0
收藏
0