Difference between revisions of "I2CIO16-DB25"

From Land Boards Wiki
Jump to navigation Jump to search
Line 118: Line 118:
 
== Factory Acceptance Tests ==
 
== Factory Acceptance Tests ==
  
[[File:]]
+
[[File:I2CIO16-DB25.PNG]]
  
 
=== Setup ===
 
=== Setup ===

Revision as of 17:38, 17 June 2022

I2CIO16-DB25 REV1 FRONT 3D.png

16-Bit Digital I/O Card with DB25 Connector

Features

  • 16-bit Digital I/O card
    • MCP23017 16-bit I2C I/O Expander
    • Strong library support for all major microprocessors for MCP23017
  • I2C Interface - Two Wire Interface
    • Can run at 400 KHz or faster
  • I/O Connector is inexpensive/standard DB-25
    • Fuse protected power output on DB-25 with jumper bypass
  • Large prototyping area
    • Connections at edges to DB-25 and GPIO lines
  • EEPROM for board ID and application specific information
    • Write Enable jumper protects against accidental writes
  • Host connectors
    • Daisy-chain I2C connector
    • Address select jumper
    • Expandable I2C via I2C-RPT - I2C Repeater
    • I2C Termination jumpers for end of I2C chain
  • Power can be 3.3V or 5V
  • 95mm wide Open Data Acquisition System format
  • 6-32 Mounting holes

Connectors

I2CIO16-DB25.PNG

J1 - DB-25 I/O Connector

  • Pins 1, 2, 14 are connected to Ground
  • Pins 12, 13, 25 are connected to Power
  • Pins 3-11 and 15-24 are connected to the Prototype area and are labeled on the PCB

J2 - I2C Termination

  • Two of two position headers
  • Install headers in each position to terminate I2C line
  • There should only be one I2C termination and it should be at the end of the I2C line

J3 - I2C

  • Connector is 2x5 of 0.1" header
  • Intended to be used for I2C daisy-chain of 4-pin cabling
  • Power can be attached to the connector or power can be provided to the card via the J1 power connector
  • May still want to connect ground
  1. INT
  2. SCL
  3. SDA
  4. VCC
  5. GND

J4 - Address Select

  • Sets the I2C offset address of the card
  • Three bit address A1, A2
  1. A0
  2. A1
  3. A2

Rear Side Marking

I2CIO16-DB25 REV1 REAR 3D.png

MCP23017 Drivers

There are quite a I2C drivers for every major microcontroller (Arduino, Raspberry Pi, BeagleBone, etc).

Arduino Drivers

Raspberry Pi Drivers

Raspberry Pi Pico

MMBASIC

BeagleBone Black Drivers

ESP32 MicroPython Drivers

PyBoard MicroPython Drivers

Linux Drivers

EEPROM

  • 24LC024 EEPROM
    • 2kbit
    • I2C Serial EEPROM
    • Wide Voltage range (1.8V to 5.5V)
    • 400 KHz operating range
  • 10 mS write cycle time
  • EEPROM has a board ID

Factory Acceptance Tests

I2CIO16-DB25.PNG

Setup

Program Personality EEPROM

  • Menu driven
  • Auto-detects card
  • If test has been run before
Checking EEPROM for board type...Detected PROTO16-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 > 6
Writing EEPROM
Initializing eep buffer
len of buffer=96
reading block
Family=ODAS
Company=land.boards.com
Product=PROTO16-I2C

Run I2C Loopback Tests

  • Test 'T'
Loopback Test PASS = 1, FAIL = 0

Run Bouncing LEDs

  • Select B
Bouncing LEDs - any key to stop
  • Use LED card

Issues

PROTO16-I2C Assembly Sheet