In SX Microcontrollers, SX/B Compiler and SX-Key Tool, g_daubach wrote: Hi all, after lurking to this thread for a while, I had another look at the LM4970 datasheet today, and another idea came to my mind: Why not hooking all LM4970 devices together on just one I²C bus, and using the devices' address pins for selection. The attached schematic shows eight devices connected to an SX28 where the RA0/1 pins handle the I²C bus, and the RB pins are used to select one of the LM4970 devices. This setup also simplifies the software. There is just one set of routines (instead of several for the different busses)) required to handle the I²C bus, IOW, generating a start condition, always sending address $F4 (%11110100), followed by one or more data bytes, followed by a stop condition. Before issuing an I²C communication, the SX must pull low one of its RB pins in order to select one of the LM4970s, where all other RB pins must be high. This means that only the selected device will repond to address $F4, where all others would respond to address $F6 (which is not sent, of course). You could use the SXes free RC pins for selecting eight additional LM4970s hooked to the same I²C bus. In case, I/O pins are required for some other purpose, a multiplexer, like the 74ACT138 could be used to select 8 LM4970s with just three SX I/O pins. You could cascade two or more 74ACT138s in order to select 16 or more LM4970s with just one SX pin more per 8 devices. ---------- End of Message ---------- You can view the post on-line at: http://forums.parallax.com/forums/default.aspx?f=7&p=2&m=79857#m81830 Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2005 (http://www.dotNetBB.com)