OptoOut8-I2C

From Land Boards Wiki
Jump to navigation Jump to search


Eight Channel Optically Isolated Output Card with I2C bus

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

Features

  • Eight optically-isolated output channels on card
    • (8) 4N25 optoisolators
  • MCP23008 I2C Parallel I/O
    • I2C (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
  • 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

MCP23008-Blk-Dia.PNG

Optocoupler Performance

  • 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

J1 - Power

OptoOut8-I2C-J1-Power-X2.PNG

J2-J3 - I2C

OptoOut8-I2C-J2-I2C-X2.PNG

J4 - I2C Address Select Jumpers

OptoOut8-I2C-J4-AdrSel-X2.PNG

J5 - I2C Termination Jumpers

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

J6 - Card Present/Interrupt

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

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

J7 - I/O connector

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

  • 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

Test Station Set-up

  • 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
  • OptoOut8-I2C card is stimulated by writing to its I2C interface
  • Verifies that the Optos work

Test Steps

  • Attach Host Computer USB to the Arduino NANO on the Test Station
  • Run puTTY on the Host Computer
    • 9600 baud
  • Enter E to access EEPROM menu
  • Enter W to select the card
Select the board type
1 - DIGIO16-I2C board
2 - DIGIO-128 board
3 - OptoIn8-I2C board
4 - OptoOut8-I2C board  <<< Select 4
5 - DIGIO32-I2C board
6 - PROTO16-I2C board
7 - ODAS-PSOC5 board
8 - ODAS-RELAY16 board
A - DIGIO-128/64 board
9 - TBD board
X - Boards without EEPROMs
Select board > 
  • Enter 4
  • Should see
Writing EEPROM
Initializing eep buffer
len of buffer=96
reading block
Family=ODAS
Company=land-boards.com
Product=OptoOut8-I2C
  • Select Card Tests = "C"
  • Select Run Tests = "T"
  • Observe test results

Card Debugging

  • Need to set power and ground to power the OptoCoupler outputs
  • Outputs via writing out the MCP23008 on the UUT
  • Read back on the DIGIO32-I2C card

Setup Power and Ground

  • Wire Grounds to Digio32 channels 0-7 (dec)
    • I from top menu accesses the DIGIO32-I2C
      • L command sets pins to low
        • L 0x00 through L 0x07 sets the Ground pins to Low
  • Wire Powers to Digio32 channels 8-15 (dec)
    • I from top menu accesses the DIGIO32-I2C
      • H command sets pins to low
        • H 0x08 through H 0x0F sets the Ground pins to Low

Write through UUT, Read via Internal DIGIO32-I2C

  • Wire Signals to Digio32 channels 16-23
    • D command accesses the UUT
      • H or L 0x00 through H or L ox07 sets the pins high or low
  • I from top menu accesses the DIGIO32-I2C
    • R 0x10 through 0x17 reads the output back

Drivers

Revision History

Revision X4

  • Move DB-25 mounting hole to center of pins

Revision X3

  • Move DB-25 left

Revision X2

  • Added I2C terminators and jumpers
  • Added Write enable jumper

Layout Rev x2

OptoOut8-I2C-layout-X2.PNG

Revision X1

  • J5 pin 1 indicator needs to be moved

File:OPTO8-OUT-I2C REV X1

Assembly Sheet

OPTO8-OUT-I2C REV X2 Assembly Sheet