Difference between revisions of "OptoIn8-I2C"
Jump to navigation
Jump to search
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
Line 88: | Line 88: | ||
=== J7 - I2C Terminators Jumpers === | === J7 - I2C Terminators Jumpers === | ||
− | OptoIn8-X2-J7.png | + | [[file:OptoIn8-X2-J7.png]] |
Install shunts to terminate lines. | Install shunts to terminate lines. |
Revision as of 17:45, 16 March 2022
Contents
Features
- Eight optically-isolated input channels on card
- (8) 4N25 optoisolators
- I2C host interface
- MCP23008 I2C Parallel I/O
- Two Wire interface
- 100/400 KHZ operation
- 25mA sink/source capability per I/O
- Jumper selectable terminators
- 3-bit address (Jumper selectable) - Up to 8 boards
- Single 4-pin host interface connector (Ground, Power, Clock, Data)
- 24LC024 Open Data Acquisition System Personality EEPROM
- 3.3V or 5V operation
- Compatible with Arduino, Raspberry Pi, BeagleBone Black
- DB-25 connector for rugged uses
- 95x95mm form factor
- (4) 6-32 mounting holes - one on each corner
MCP23008 Block Diagram
Layout
Power
Vin 5 V 12 Vdiode 1.7 V 1.7 Vres 3.3 V 10.3 I 0.01 A 0.01 PwrRes 0.033 W 0.103 ResRatedPwr 0.25 W 0.25 Derated 13.2 % 41.2
Connectors
J1 - Power
- GND
- VCC
- GND
J2-J3 - I2C
- GND
- VCC
- SDA
- SCL
J4 - I2C Address Select
Install jumper for 0. Do not install jumper for 1.
5-6 = A0 3-4 = A1 1-2 = A2
J5 - EEPROM Write Enable/Write Protect Jumper
- Install = Allow EEPROM
- Removed = Do not allow writes to EEPROM
J6 - Card Present/Interrupt
- GND
- INT
- CP - Card present (pulled low)
J7 - I2C Terminators Jumpers
Install shunts to terminate lines.
3-4 = SDA Terminator 1-2 = SCK Terminator
J8 - I/O connector
OptoIn8-Connector
OptoIn8-X2-J8-fixed.png]]]
DB-25
Pin Descr Pin Descr 1 CH1-IN+ 14 CH1-IN- 15 CH2-IN+ 3 CH2-IN- 4 CH3-IN+ 17 CH3-IN- 18 CH4-IN+ 6 CH4-IN- 7 CH5-IN+ 20 CH5-IN- 21 CH6-IN+ 9 CH6-IN- 10 CH7-IN+ 23 CH7-IN- 24 CH8-IN+ 12 CH8-IN- 2 N/C 5 N/C 8 N/C 11 N/C 13 N/C 16 N/C 19 N/C 22 N/C 25 N/C
Assembly Sheet
Design Validation/First Article Test
Read Single Opto Input Channel Test
- Test code
- Write out on Arduino D8 line
- D8 is wired to the first Opto channel
- Read back Opto channel
- Result is complement of write data
Wrote HIGH, read back 0 Wrote LOW, read back 1
Read all 8 Channels
8 channel read card Wrote LOW to channel 1, read back FF Wrote HIGH to channel 1, read back FE Wrote LOW to channel 2, read back FF Wrote HIGH to channel 2, read back FD Wrote LOW to channel 3, read back FF Wrote HIGH to channel 3, read back FB Wrote LOW to channel 4, read back FF Wrote HIGH to channel 4, read back F7 Wrote LOW to channel 5, read back FF Wrote HIGH to channel 5, read back EF Wrote LOW to channel 6, read back FF Wrote HIGH to channel 6, read back DF Wrote LOW to channel 7, read back FF Wrote HIGH to channel 7, read back BF Wrote LOW to channel 8, read back FF Wrote HIGH to channel 8, read back 7F Wrote LOW to channel 1, read back FF Wrote HIGH to channel 1, read back FE Wrote LOW to channel 2, read back FF Wrote HIGH to channel 2, read back FD Wrote LOW to channel 3, read back FF Wrote HIGH to channel 3, read back FB Wrote LOW to channel 4, read back FF Wrote HIGH to channel 4, read back F7 Wrote LOW to channel 5, read back FF Wrote HIGH to channel 5, read back EF Wrote LOW to channel 6, read back FF Wrote HIGH to channel 6, read back DF Wrote LOW to channel 7, read back FF Wrote HIGH to channel 7, read back BF Wrote LOW to channel 8, read back FF Wrote HIGH to channel 8, read back 7F
Pass/Fail version of the code
EEPROM Test
- Code to write to the EEPROM
Initializing eep buffer len of buffer=96 reading block readBuff len=97 read back=ODAS ODAS
- Code to read the EEPROM
Signature=ODAS ProductID=3 Vendor=land.boards.com Product=OptoIn8-I2C
Factory Acceptance Test
- Runs on Open Data Acquisition System
- The Test Station has an internal DIGIO32 card.
- Cable from UUT connector to the DIGIO32 card in the Test Station.
- The DIGIO32 internal to the Test Station is set to all outputs.
- Put out 8 bit test vector on DIGIO32 pins
- D0 is LED1+
- D8 is LED1-
- To turn on LED1, set D0 High and D8 Low
- Looks at the returned values on the OptoIn8-I2C
- The OptoIn8-I2C cards that is the UUT is set up to all inputs.
- USB running puTTY
- 9600 baud
- Menu driven
- Auto-detect card if test has been run before
Checking EEPROM for board type...Detected OptoIn8-I2C board R=Read EEPROM, W=Write EEPROM, T=Test DIGIOs, L=Loop Test, B=Bounce LEDs
- If the EEPROM has not been programmed (first time for the test to be run)
Checking EEPROM for board type...Company Mismatch Select the board type 1 - DIGIO16-I2C board 2 - DIGIO-128 board 3 - OptoIn8-I2C board 4 - OptoOut8-I2C board 5 - DIGIO32-I2C board 6 - PROTO16-I2C board 7 - ODAS-PSOC5 board 8 - ODAS-RELAY16 board 9 - TBD board X - Boards without EEPROMs Select board >
- Select board
Select board > 3 [OptoIn8-I2C Card] Writing EEPROM Initializing eep buffer len of buffer=96 reading block Family=ODAS Company=land.boards.com Checking EEPROM for board type...Detected OptoIn8-I2C board
- Test 'T'
R=Read EEPROM, W=Write EEPROM, T=Test DIGIOs, L=Loop Test, B=Bounce LEDs Loopback Test PASS = 1, FAIL = 0
Revision History
Rev X3 to Rev X4 PWB changes
- Moved the DB-25 mounting holes to center on the connector pins
Rev X2 to Rev X3 PWB changes
- Move DB connector (J8) left from X=22.7 mm to X=17 mm
Rev X1
OptoIn8-I2C Rev X1