The April 2006 issue of "Nuts and Volts" has an article on serial buses called "Short-Range Networking", starting on page 12. I found it very interesting as it covers I2C and the issues with pull-up resistors and related items. I also find, based on the article, that some programming languages have a very strange idea of 'optional' data items in their commands. If you stop and think about it, I2C supports 127 different devices, so how could you have a command to send or receive data that does NOT include the device id? So, of course, if you don't supply an ID, the command is not going to assemble the proper data stream for the bus. With normal data rates from 10kbps to 100kbps, and fast rates from 400kbps to 3.5Mbps, I suspect that there is a lot we can do using the I2C bus if we make it available on the CVS board. Please note that I do not see any use to this on the front panel, as it really is designed around expansion types of devices, and we want all of our front panel space for the end use connectors. It's no big deal to run a cable between panels when you are installing them (do it all the time with the power cables right?). BTW the article also discusses the SPI bus. SPI is potentially faster, but seems more limited as the 'addressing' is handled externally to the data bus and requires individual device selects, and the associated I/O pins to drive them. (I know, I know, you can use binary select lines and de-multiplex them, but for 3 devices, you need 2 pins, 3 pins gets you up to 7 devices, and so on and so on. A lot of extra lines above the 3 used for the actual communications.) Larry T.
Message
I2C article - good timing?
2006-04-02 by Larry T.
Attachments
- No local attachments were found for this message.