Difference between revisions of "DIGIO-128"

From Land Boards Wiki
Jump to navigation Jump to search
Line 129: Line 129:
 
**  Port 1 cabled to Port 2, Port 3 to Port 4, etc
 
**  Port 1 cabled to Port 2, Port 3 to Port 4, etc
 
* I2C cable from [[Arduino Based Test Station]] to UUT
 
* I2C cable from [[Arduino Based Test Station]] to UUT
** 4 pin Dupont 1:1 cable
+
** 5-pin Dupont 1:1 cable
 
** Plugged into Port 0 on [[STM32 Black Pill]] card on [[BLACK-PILL-HUB]] in Test Station
 
** Plugged into Port 0 on [[STM32 Black Pill]] card on [[BLACK-PILL-HUB]] in Test Station
 
** Plugged into I2C connector on UUT
 
** Plugged into I2C connector on UUT
 +
*** 5th pin on cable from [[Arduino Based Test Station]] is INT* and is not used
 
* [https://www.chiark.greenend.org.uk/~sgtatham/putty/ puTTY] running on PC
 
* [https://www.chiark.greenend.org.uk/~sgtatham/putty/ puTTY] running on PC
 
** USB-C cable to USB connector on [[STM32 Black Pill]] card on [[BLACK-PILL-HUB]] in Test Station
 
** USB-C cable to USB connector on [[STM32 Black Pill]] card on [[BLACK-PILL-HUB]] in Test Station

Revision as of 13:52, 3 April 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
  • 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

DIGIO-128 P1014720PX.jpg

Hardware Setup

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
Set flag to loop tests
Testing UUT = DIGIO-128
Test PASS = 2, FAIL = 0
Test PASS = 3, FAIL = 0
Test PASS = 4, FAIL = 0
Test PASS = 5, FAIL = 0
Test PASS = 6, FAIL = 0
  • Can exit loop test by Typing S (a single test)

UUT Debug

  • Type C for card testing
  • Type B to set one output bit on at a time

Test Code GitHub Repository

Software Examples/Drivers

Assembly Sheet