OptoOut8-I2C

From Land Boards Wiki
Jump to navigation Jump to search


Eight Channel Optically Isolated Output Card with I2C bus[edit]

OptoOut8-I2C-X3-CCA-5452-640px.jpg

Features[edit]

  • Eight optically-isolated output channels on card
    • (8) 4N25 optoisolators
  • I2C interface
    • MCP23008 I2C Parallel I/O
    • Two Wire interface
    • 100/400 KHZ operation
    • 25mA sink/source capability per I/O
    • Jumper selectable 2.2K Ohm terminators
    • 3-bit address (Jumper selectable) - Up to 8 boards
    • Single 4-pin host interface connector (Ground, Power, Clock, Data)
  • 24LC024 Personality EEPROM
    • Write protect jumper
  • 3.3V or 5V operation
  • Compatible with Arduino, Raspberry Pi, BeagleBone Black
  • DB-25F connector for rugged applications
  • 95x95mm form factor
  • (4) 6-32 mounting holes - one on each corner

MCP23008 Block Diagram[edit]

MCP23008-Blk-Dia.PNG

Optocoupler Performance[edit]

  • 4N25 Optocoupler
  • DC Current Transfer Ratio

4N28-DC-TransferRatio.PNG

  • Current Transfer ratio curve

4N28-CurrentTransferRatio-curve.PNG

  • LED Current vs voltage

4N28-LED-IvsV.PNG

  • Output transistor capacitance

4N28-OutputCapacitance.PNG

  • Switching Time

4N28-SwitchingTime.PNG

Opto Characteristics				
Current Transfer Ratio	10.00%	min		
Vcc	5	V	3.3	V
Vf(Diode)	1.25	V	1.25	V
Res series LED	330	Ohms	330	Ohms
If (LED)	0.0113636364	A	0.0062121212	A
CTR	0.6	A/A	0.2	A/A
Current Trans CE	0.0068181818	A	0.0012424242	A
Res (load pullup)	4700	Ohms	4700	Ohms
Vce	0.2	V	0.2	V
V load side	5	V	5	V
Iload	0.0010212766		0.0010212766	

Connectors[edit]

J1 - Power[edit]

OptoOut8-I2C-J1-Power-X2.PNG

J2-J3 - I2C[edit]

OptoOut8-I2C-J2-I2C-X2.PNG

J4 - I2C Address Select Jumpers[edit]

OptoOut8-I2C-J4-AdrSel-X2.PNG

J5 - I2C Termination Jumpers[edit]

OptoOut8-I2C-J5-I2C-Terms-X2.PNG

J6 - Card Present/Interrupt[edit]

OptoOut8-I2C-J6-Int-Terms-X2.PNG

  1. GND
  2. INT
  3. CP - Card present (pulled low)

J7 - I/O connector[edit]

OptoOut8-I2C-X3-CCA-5457-640px.jpg

DB-25 Female

OptoOut8-db25 f.gif

OptoOut8-I2C-J7-sch-X2.PNG

Pin Desc _ Pin Desc 1 S7 14 V7 2 G7 15 S6 3 V6 16 G6 4 S5 17 V5 5 G5 18 S4 6 V4 19 G4 7 S3 20 V3 8 G3 21 S2 9 V2 22 G2 10 S1 23 V1 11 G1 24 S0 12 V0 25 G0 13 N/C

Design Validation/First Article Test[edit]

  • Test Code
Pass Count = 17977, Fail Count = 0
  • Runs ODAS Card Test Software on Arduino Nano
  • Loopback cables
    • Cable connects to DB-25 and NANO-BKOUT pins
  • 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
  • Presents card type list for un-programmed EEPROMs
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 - TBD board
9 - TBD board
Select board > 
  • Select board
Select board > 3
Writing EEPROM
Initializing eep buffer
len of buffer=96
reading block
Family=ODAS
Company=land.boards.com
  • Test 'T'
  • Fail (no cable)
OptoIn8-I2C failed HIGH on bit 1
Read back on  1
OptoIn8-I2C failed HIGH on bit 2
Read back on  2
OptoIn8-I2C failed HIGH on bit 4
Read back on  4
OptoIn8-I2C failed HIGH on bit 8
Read back on  8
OptoIn8-I2C failed HIGH on bit 16
Read back on  16
OptoIn8-I2C failed HIGH on bit 32
Read back on  32
OptoIn8-I2C failed HIGH on bit 64
Read back on  64
OptoIn8-I2C failed HIGH on bit 128
Read back on  128
Loopback Test PASS = 0, FAIL = 1
  • Pass Checking EEPROM for board type...Detected OptoIn8-I2C board
R=Read EEPROM, W=Write EEPROM, T=Test DIGIOs, L=Loop Test, B=Bounce LEDs
Loopback Test PASS = 1, FAIL = 0

Production Tests[edit]

Test Station Set-up / Operation[edit]

  • Uses ODAS Test Station V2
  • Test Station controls/read the Opto outputs via the DIGIO32 card in the Test Station
  • Puts out 8 bits on OptoOut8-I2C card
  • Reads the 8 bits on DIGIO32 card
  • There are three lines per Channel that need to be connected:
  • Ground (Gx), Power (Vx), Open Collector Output (Sx)
  • If the LED is not being driven, the Open Collector output will be pulled up
  • Wire Grounds to Digio32 channels 0-7
  • Wire Powers to Digio32 channels 8-15
  • Wire Signals to Digio32 channels 16-23
  • Resistors can be checked by setting the Power line high and checking the OC outputs
  • OptoOut card is stimulated by writing to its I2C interface
  • Verify that the Optos work

Test Steps[edit]

Attach Host Computer USB to the Arduino NANO on the Test Station Run puTTY on the Host Computer Program should prompt for the Card type or autodetect if the EEPROM on the card was already programmed Select Card Tests = "C" Select Run Tests = "T" Observe test results

Drivers[edit]

Revision History[edit]

Revision X4[edit]

  • Move DB-25 mounting hole to center of pins

Revision X3[edit]

  • Move DB-25 left

Revision X2[edit]

  • Added I2C terminators and jumpers
  • Added Write enable jumper

Layout Rev x2[edit]

OptoOut8-I2C-layout-X2.PNG

Revision X1[edit]

  • J5 pin 1 indicator needs to be moved

File:OPTO8-OUT-I2C REV X1

Assembly Sheet[edit]

OPTO8-OUT-I2C REV X2 Assembly Sheet