[OpenTRV-dev] I2C expansion connector round 2
Damon Hart-Davis
EMAIL ADDRESS HIDDEN
Mon Sep 8 16:04:47 BST 2014
Hi,
I thought that I sent this out a couple of days ago (thanks for all the excellent feedback) but apparently it got sucked into a black hole somewhere…
Rgds
Damon
http://sourceforge.net/p/opentrv/code-0/HEAD/tree/trunk/docs/tech-specs/201409-AVR-I2CEXT-connector.txt
2014/09/03: Revision 1, 12-pin connector
2014/09/04: Revision 2, 14-pin connector, added nINT and nSC2 after dev mailing list suggestions
Aim:
Trying to develop a simple I/O extension/shield system for OpenTRV to add more sensors (etc) easily.
Also this should allow an easy bridge to other systems such as RPi / BB / etc.
This must be simple and small and cheap enough to use in hobby / dev / prod environments and allow (in priority order):
1) I2C expansion.
2) In-Circuit Programming of AVR.
3) One-Wire expansion.
4) Serial off-take, eg for CLI interaction.
The connection should ideally be keyable or at least not cause instant destruction if reversed for example.
Suggestion:
14-way (2x6) pin stackable (pins or socket on board, suggestions please, RPi is pins).
0.1" pitch to be easy for DIY shields, eg with Veroboard as I just did for my RPi.
Following pin pattern:
MISO * .. * 3V3 (Vcc)
SCK * .. * MOSI
nRST * .. * GND
nIRQ * .. * nSC
SCL * .. * SDA
RX * .. * TX
N/C * .. * DQ
a) N/C means No Contact and can be used to key the connector.
b) RX and TX are protected by 10k series resistors from AVR.
c) nRST (input to main board) is active low and is pulled up to 3V3/Vcc with 10K series resistor at AVR.
d) SCL and SDA are pulled up at AVR with 4K7 resistors to 3V3/Vcc.
e) 3V3 can be anywhere from 1V8 to 3V6 absolute; 2V to 3V6 operating.
f) nIRQ (input to main board) is active low and is pulled up to 3V3/Vcc with a 10K--47K nominal resistor and a 1K series resistor: this should be driven with open collector/drain driver only.
g) nSC (output from main board) is the active low select for an SPI device on the bus,
Features:
1) Top 6 pins can be used directly with 6-pin AVR programmer.
2) Rest of pins carry I2C (SDA, SCL), OneWire (DQ) and serial (RX, TX, protected by 10k series resistors)
3) If entire connector rotated boards unlikely to be destroyed instantly.
Bit more on (3): RX and TX are safe to short to GND or 3V3 or anything else, nRST safe to short to either rail, DQ/SCA/SCL safe to short to GND.
Note: see alternatives such as http://www.tag-connect.com/ for SPI/ICP part.
More information about the OpenTRV-dev
mailing list