| Author |
Message |
jay
Joined: 08 Jul 2006
Location: Vermont, USA
|
|
Posted: 30 July 2006, 20:08 PM Post subject: PCF8575C - 16-bit I2C I/O expander |
|
|
| I am building an interface to my home alarm system (Ademco VISTA 50P). It requires 32 I/O, and 2 rs232s. I looked at Don's AN-203 (I/O Expansion techniques) which uses a PCF8574A as an example. I have been looking at the PCF8575C (16 bit version) for my application. It appears to me programming would be just like the 8574A except two data bytes vs one. I would like to separating the CPU (ZX-44 based) complex from the I/O boards by about a meter using i2C. Any gotcha's I should watch out for? -- Jay |
|
| Back to top |
|
 |
dkinzer Site Admin
Joined: 03 Sep 2005
Location: Portland, OR
|
|
Posted: 01 August 2006, 23:30 PM Post subject: |
|
|
I haven't used the 16-bit expander myself. I suspect that you are correct that you simply read/write two bytes instead of just one.
A longer cable will present a higher bus capacitance to the I2C drivers. You will undoubtedly have to use smaller pullup resistors on SDA/SCL with the longer cable than you would for a shorter cable. The Atmel documentation gives formulae for the minimum and maximum value for the pullup resistors as follows for speeds up to 100KHz:
| Code: | Rmin = (Vcc - 0.4) / 3mA
Rmax = 1000nS / Cb |
This suggests that the maximum allowable bus capacitance, Cb, is about 650pF. The specifications for your cable may include a capacitance value per length of cable.
There are different specifications for operating above 100KHz. Generally, the longer the bus, the slower will be your maximum operating speed. |
|
| Back to top |
|
 |
jay
Joined: 08 Jul 2006
Location: Vermont, USA
|
|
Posted: 02 August 2006, 16:27 PM Post subject: |
|
|
Earlier in the spec it says: ".. limited by the bus capacitance limit of 400pF .. ". Appreciate the pointer.
Jay |
|
| Back to top |
|
 |
|