Difference between revisions of "DIGIO-128"

From Land Boards Wiki
Jump to navigation Jump to search
Line 126: Line 126:
 
**  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
 +
** Plugged into Port 0 on [[STM32 Black Pill]] card on [[BLACK-PILL-HUB]] in Test Station
 +
** Plugged into I2C connector on UUT
 
* [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
Line 132: Line 135:
 
==== Programming the Configuration EEPROM ====
 
==== Programming the Configuration EEPROM ====
  
 +
* Type ENTER to display top level menu
 
* Type E to access EEPROM
 
* Type E to access EEPROM
 
* Type W to write EEPROM
 
* Type W to write EEPROM
* Menu will be
+
* Menu will be:
  
 
<pre>
 
<pre>
Line 153: Line 157:
 
</pre>
 
</pre>
 
* Select 2
 
* Select 2
 +
** DIGIO-128 card
 
<pre>
 
<pre>
 
Writing EEPROM
 
Writing EEPROM

Revision as of 16:02, 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
  • Type E to access EEPROM
  • Type W to write EEPROM
  • Menu will be:
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 card
Writing EEPROM
Initializing eep buffer
len of buffer=96
reading block
Family=ODAS
Company=land-boards.com
Product=DIGIO-128

Test Code GitHub Repository

Software Examples/Drivers

Assembly Sheet