Difference between revisions of "DIGIO-128"

From Land Boards Wiki
Jump to navigation Jump to search
Line 195: Line 195:
 
Test PASS = 1, FAIL = 0
 
Test PASS = 1, FAIL = 0
 
</pre>
 
</pre>
 +
 +
* Can also loop test by Typing L
 +
* Can exit loop test by Typing S (a single test)
  
 
=== Test Code GitHub Repository ===
 
=== Test Code GitHub Repository ===

Revision as of 16:28, 17 March 2022

Tindie-mediums.png

DIGIO-128-X3-CCA 5847-720px.jpg

Features

  • 128 bits of General Purpose Digital I/O (GPIO)
    • Card uses I2C addresses 0x20-0x27 for I/O and 0x50 for Configuration EEPROM
  • (8) of MCP23017 - 16 bit GPIO
    • I2C (Two Wire) host interface
    • 100/400 KHZ operation
    • 25mA sink/source capability per I/O
      • Limited by current in/out of the IC
  • 24LC024 Configuration/Personality EEPROM
  • Jumper selectable I2C terminators
  • Single 4-pin host interface connector (Ground, Power, Clock, Data)
  • (8) I/O Connectors
    • 20 pin, 0.1" Pitch
    • 16 digital I/O
    • 2 Power
    • 2 Ground
    • Interrupt connectors
  • Power Connector
    • 3.3V or 5V operation
  • 24LC024 I2C Personality EEPROM
  • Compatible with Arduino, Raspberry Pi, BeagleBone Black
  • 95x95mm form factor
  • (4) 6-32 mounting holes - one on each corner

I2C Addresses

  • MCP23017 parts 0x20 - 0x27
  • EEPROM 24LC024 = 0x50

DIGIO-128-I2C-Addrs-X2.PNG

Connectors

P1-P4, P6-P9 - Digital I/O Connectors

  • 16 bits per connector
  • (2) Power
  • (2) Ground

P1-DIGIO-Conn.PNG

P5, P10 - Interrupt Outputs

P5 P10-INTs-Conn-X2.PNG

  • Interrupt lines out of the 8 MCP23017 ICs
  • Can be used for detecting input changes or levels
  • Interrupt outputs INTA from MCP23017
  • Can be ignored if not needed
    • If the inputs are polled, the pins can be ignored

P5 pinout

  • P5-1 = INT1
  • P5-2 = INT2
  • P5-3 = INT0
  • P5-4 = INT3

P10 pinout

  • P10-1 = INT5
  • P10-2 = INT6
  • P10-3 = INT4
  • P10-4 = INT7

J1 - External Power

J1-Power-X2.PNG

  • Can be ignored if the card is powered through I2C connector

J2, J3 - I2C Connectors

  • Daisy chained connections
  • 2nd connector can be ignored
  • Card can be powered through this connector(s)
  • MCP23017 parts use I2C slave addresses 0x20-0x27
  • EEPROM 24LC024 parts use I2C slave address 0x50
  • Can't use more than one DIGIO-128 per I2C bus without separating busses with an I2C multiplexer
    • I2C-RPT - Land Boards 4-Channel I2C Multiplexer/Repeater
    • I2C-RPT-08 - Land Boards 8-channel I2C Multiplexer/Repeater


J2-J3-I2C-conn-X2.PNG

J4 - I2C Terminators and EEPROM Write Enable

J4-I2C-Terms-X2.PNG

  • SDA, SCL I2C Terminators
    • Install jumper to use terminators
  • WE - EEPROM Write Enable
    • Install To enable writing config EEPROM

Schematics

Configuration/Personality EEPROM

  • 24LC024 Configuration/Personality EEPROM
  • Read of EEPROM by ODAS Test Station
R=Read EEPROM, W=Write EEPROM, X=Exit Menu
Reading EEPROM
Family  = ODAS
Company = land-boards.com
Product = DIGIO-128
eepromAccessMenu() - Finished reading EEPROM

Testing

Programming the Configuration EEPROM

  • Type ENTER to display top level menu
C=Card Tests, D=Direct, E=EEPROM, I=access Internal DIGIO32
  • Type E to access EEPROM Menu
  • Type W to write to EEPROM
  • Menu will be displayed:
R=Read EEPROM, W=Write EEPROM, X=Exit Menu
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
A - DIGIO-128/64 board
9 - TBD board
X - Boards without EEPROMs
Select board > 2
  • Select 2 - DIGIO-128 board
  • EEPROM will be written, then read back
  • Test Station will display
Writing EEPROM
Initializing eep buffer
len of buffer=96
reading block
Family=ODAS
Company=land-boards.com
Product=DIGIO-128
  • Type X to exit EEPROM menu
  • Top Level menu will be displayed
C=Card Tests, D=Direct, E=EEPROM, I=access Internal DIGIO32

Test UUT

  • Type C to access card tests menu
L=Loop/S=Single, T=Test, B=Bounce LEDs, I=Int'l Tests, X=eXit sub-menu
  • Type T to test card
  • Card will display
Testing UUT = DIGIO-128
Test PASS = 1, FAIL = 0
  • Can also loop test by Typing L
  • Can exit loop test by Typing S (a single test)

Test Code GitHub Repository

Software Examples/Drivers

Assembly Sheet