Difference between revisions of "RPP-UIO-16"

From Land Boards Wiki
Jump to navigation Jump to search
 
(9 intermediate revisions by the same user not shown)
Line 6: Line 6:
  
 
[[File:RPP-UIO-16IMG_5267-640pv.jpg]]
 
[[File:RPP-UIO-16IMG_5267-640pv.jpg]]
 +
 +
== Board Design ==
 +
 +
This board is modeled on the Arduino Sensor Shields, also known as GVS shields. Arduino Sensor Shields bring out the pins of the Arduino to GVS (set of Ground, Voltage and Signal) pins. Unfortunately, the Raspberry Pi can't work with the same 5V GVS sensors and devices as the Arduino since the Raspberry Pi has 3.3V I/O.
 +
 +
The RasPi-Plus-GVS-Cfg card allows the Raspberry Pi Model B+ to communicate with the same 5V sensors by performing voltage translation from the 3.3V of the Raspberry Pi to 5V.
  
 
== Features ==
 
== Features ==
  
* All GPIO lines are connected to 3.3V GVS connectors
+
* All Raspberry Pi I/O lines
* 16 lines of 3.3V to 5V bidirectional GVS connections
+
* 16-bit bidirectional 3.3V to 5V level translator
* Hat EEPROM with write enable/protect jumper
+
* Configuration EEPROM
* 5V Terminal block to power the Raspberry Pi and the I/O Card
+
* Fuses on power
* GPIO jumpers to connect up to 16 of the 3.3V GPIO lines to the 3.3V side of the voltage translators
+
* External 5V Terminal Block
 +
* Raspberry Pi I/O lines
 +
 
 +
All of the Raspberry Pi Model B+ I/O connections are brought to GVS connectors. This is:
 +
 
 +
* (17) GPIO lines on GVS connectors
 +
* (2) SPI interfaces (can be used as 5 GPIO lines)
 +
* (1) UART interface (can be used as 2 GPIO lines)
 +
* (1) I2C interface (can be used as 2 GPIO lines)
  
 
== Example Code/Drivers ==
 
== Example Code/Drivers ==
Line 22: Line 36:
  
 
* [http://land-boards.com/RPP-UIO-16/RPP-UIO-16_Rev_X2_Schematic.pdf RPP-UIO-16 Schematic]
 
* [http://land-boards.com/RPP-UIO-16/RPP-UIO-16_Rev_X2_Schematic.pdf RPP-UIO-16 Schematic]
== Features ==
 
 
All Raspberry Pi I/O lines
 
16-bit bidirectional 3.3V to 5V level translator
 
Configuration EEPROM
 
Fuses on power
 
External 5V Terminal Block
 
Raspberry Pi I/O lines
 
All of the Raspberry Pi Model B+ I/O connections are brought to GVS connectors. This is:
 
 
(17) GPIO lines on GVS connectors
 
(2) SPI interfaces (can be used as 5 GPIO lines)
 
(1) UART interface (can be used as 2 GPIO lines)
 
(1) I2C interface (can be used as 2 GPIO lines)
 
 
 
=== Level translators ===
 
=== Level translators ===
  
Line 83: Line 82:
 
== Configuration EEPROM ==
 
== Configuration EEPROM ==
  
The card has a Raspberry Pi Model B+ configuration EEPROM.
+
The card has a [https://github.com/raspberrypi/hats/blob/master/designguide.md Raspberry Pi Model B+ configuration EEPROM].
  
 
== 3.3V Connectors ==
 
== 3.3V Connectors ==
Line 94: Line 93:
 
Bplus-gpio-edited.png
 
Bplus-gpio-edited.png
  
I2C bus
+
=== I2C bus ===
GND
+
 
3.3V
+
# GND
SDA
+
# 3.3V
SCL
+
# SDA
UART I/F
+
# SCL
GND
+
 
3.3V
+
=== UART I/F ===
TxD
+
 
RxD
+
# GND
IO_4 GVS
+
# 3.3V
GND
+
# TxD
3.3V
+
# RxD
GPIO_4
+
 
IO_18 GVS
+
=== IO_4 GVS ===
GND
+
 
3.3V
+
# GND
GPIO_18
+
# 3.3V
IO_17 GVS
+
# GPIO_4
GND
+
 
3.3V
+
=== IO_18 GVS ===
GPIO_17
+
 
IO_27 GVS
+
# GND
GND
+
# 3.3V
3.3V
+
# GPIO_18
GPIO_27
+
 
IO_23 GVS
+
=== IO_17 GVS ===
GND
+
 
3.3V
+
# GND
GPIO_23
+
# 3.3V
IO_22 GVS
+
# GPIO_17
GND
+
 
3.3V
+
=== IO_27 GVS ===
GPIO_22
+
 
IO_24 GVS
+
# GND
GND
+
# 3.3V
3.3V
+
# GPIO_27
GPIO_24
+
 
IO_25 GVS
+
=== IO_23 GVS ===
GND
+
 
3.3V
+
# GND
GPIO_25
+
# 3.3V
SPI0 (Serial Peripheral Interface)
+
# GPIO_23
GND
+
 
3.3V
+
=== IO_22 GVS ===
MOSI
+
 
MISO
+
# GND
SCK
+
# 3.3V
CE0
+
# GPIO_22
SPI1 (Serial Peripheral Interface)
+
 
GND
+
=== IO_24 GVS ===
3.3V
+
 
MOSI
+
# GND
MISO
+
# 3.3V
SCK
+
# GPIO_24
CE1
+
 
IO_5 GVS
+
=== IO_25 GVS ===
GND
+
 
3.3V
+
# GND
GPIO_5
+
# 3.3V
IO_6 GVS
+
# GPIO_25
GND
+
 
3.3V
+
=== SPI0 (Serial Peripheral Interface) ===
GPIO_6
+
 
IO_12 GVS
+
# GND
GND
+
# 3.3V
3.3V
+
# MOSI
GPIO_12
+
# MISO
IO_13 GVS
+
# SCK
GND
+
#CE0
3.3V
+
 
GPIO_13
+
=== SPI1 (Serial Peripheral Interface) ===
IO_19 GVS
+
 
GND
+
# GND
3.3V
+
# 3.3V
GPIO_19
+
# MOSI
IO_16 GVS
+
# MISO
GND
+
# SCK
3.3V
+
# CE1
GPIO_16
+
 
IO_26 GVS
+
=== IO_5 GVS ===
GND
+
 
3.3V
+
# GND
GPIO_26
+
# 3.3V
IO_20 GVS
+
# GPIO_5
GND
+
 
3.3V
+
=== IO_6 GVS ===
GPIO_20
+
 
IO_21 GVS
+
# GND
GND
+
# 3.3V
3.3V
+
# GPIO_6
GPIO_21
+
 
J22 - EEPROM Address/Write Enable Header - Rev X2 Hat
+
=== IO_12 GVS ===
 +
 
 +
# GND
 +
# 3.3V
 +
# GPIO_12
 +
 
 +
=== IO_13 GVS ===
 +
 
 +
# GND
 +
# 3.3V
 +
# GPIO_13
 +
 
 +
=== IO_19 GVS ===
 +
 
 +
# GND
 +
# 3.3V
 +
# GPIO_19
 +
 
 +
=== IO_16 GVS ===
 +
 
 +
# GND
 +
# 3.3V
 +
# GPIO_16
 +
 
 +
=== IO_26 GVS ===
 +
 
 +
# GND
 +
# 3.3V
 +
# GPIO_26
 +
 
 +
=== IO_20 GVS ===
 +
 
 +
# GND
 +
# 3.3V
 +
# GPIO_20
 +
 
 +
=== IO_21 GVS ===
 +
 
 +
# GND
 +
# 3.3V
 +
# GPIO_21
 +
 
 +
=== J22 - EEPROM Address/Write Enable Header - Rev X2 Hat ===
 +
 
 
Write Enable - Install header to allow writes to EEPROM
 
Write Enable - Install header to allow writes to EEPROM
 
Remove header to protect EEPROM contents from accidental writes
 
Remove header to protect EEPROM contents from accidental writes
J23 - Voltage translator, 3V side
+
 
V3-0 = Bit 1
+
=== J23 - Voltage translator, 3V side ===
V3-1 = Bit 2
+
 
V3-2 = Bit 3
+
* V3-0 = Bit 1
V3-3 = Bit 4
+
* V3-1 = Bit 2
V3-4 = Bit 5
+
* V3-2 = Bit 3
V3-5 = Bit 6
+
* V3-3 = Bit 4
V3-6 = Bit 7
+
* V3-4 = Bit 5
V3-7 = Bit 8
+
* V3-5 = Bit 6
V3-8 = Bit 9
+
* V3-6 = Bit 7
V3-9 = Bit 10
+
* V3-7 = Bit 8
V3-A = Bit 11
+
* V3-8 = Bit 9
V3-B = Bit 12
+
* V3-9 = Bit 10
V3-C = Bit 13
+
* V3-A = Bit 11
V3-D = Bit 14
+
* V3-B = Bit 12
V3-E = Bit 15
+
* V3-C = Bit 13
V3-F = Bit 16
+
* V3-D = Bit 14
 +
* V3-E = Bit 15
 +
* V3-F = Bit 16
  
 
== 5V Connectors ==
 
== 5V Connectors ==
Line 211: Line 255:
 
The following are 5V connectors.
 
The following are 5V connectors.
  
V5-0 - GVS connector, 5V side
+
=== V5-0 - GVS connector, 5V side ===
Ground
+
 
+5V
+
# GND
Bit0
+
# 5V
V5-1 - GVS connector, 5V side
+
# Bit0
Ground
+
 
+5V
+
=== V5-1 - GVS connector, 5V side ===
Bit1
+
 
V5-2 - GVS connector, 5V side
+
# GND
Ground
+
# 5V
+5V
+
# Bit1
Bit2
+
 
V5-3 - GVS connector, 5V side
+
=== V5-2 - GVS connector, 5V side ===
Ground
+
 
+5V
+
# GND
Bit3
+
# 5V
V5-4 - GVS connector, 5V side
+
# Bit2
Ground
+
 
+5V
+
=== V5-3 - GVS connector, 5V side ===
Bit4
+
 
V5-5 - GVS connector, 5V side
+
# GND
Ground
+
# 5V
+5V
+
# Bit3
Bit5
+
 
V5-6 - GVS connector, 5V side
+
=== V5-4 - GVS connector, 5V side ===
Ground
+
 
+5V
+
# GND
Bit6
+
# 5V
V5-7 - GVS connector, 5V side
+
# Bit4
Ground
+
 
+5V
+
=== V5-5 - GVS connector, 5V side ===
Bit7
+
 
V5-8 - GVS connector, 5V side
+
# GND
Ground
+
# 5V
+5V
+
# Bit5
Bit8
+
 
V5-9 - GVS connector, 5V side
+
=== V5-6 - GVS connector, 5V side ===
Ground
+
 
+5V
+
# GND
Bit9
+
# 5V
V5-A - GVS connector, 5V side
+
# Bit6
Ground
+
 
+5V
+
=== V5-7 - GVS connector, 5V side ===
Bit10
+
 
V5-B - GVS connector, 5V side
+
# GND
Ground
+
# 5V
+5V
+
# Bit7
Bit11
+
 
V5-C - GVS connector, 5V side
+
=== V5-8 - GVS connector, 5V side ===
Ground
+
 
+5V
+
# GND
Bit12
+
# 5V
V5-D - GVS connector, 5V side
+
# Bit8
Ground
+
 
+5V
+
=== V5-9 - GVS connector, 5V side ===
Bit13
+
 
V5-E - GVS connector, 5V side
+
# GND
Ground
+
# 5V
+5V
+
# Bit9
Bit14
+
 
V5-F - GVS connector, 5V side
+
=== V5-A - GVS connector, 5V side ===
Ground
+
 
+5V
+
# GND
Bit15
+
# 5V
 +
# Bit10
 +
 
 +
=== V5-B - GVS connector, 5V side ===
 +
 
 +
# GND
 +
# 5V
 +
# Bit11
 +
 
 +
==== V5-C - GVS connector, 5V side ===
 +
 
 +
# GND
 +
# 5V
 +
# Bit12
 +
 
 +
=== V5-D - GVS connector, 5V side ===
 +
 
 +
# GND
 +
# 5V
 +
# Bit13
 +
V5-E - GVS connector, 5V side ===
 +
 
 +
# GND
 +
# 5V
 +
# Bit14
 +
 
 +
=== V5-F - GVS connector, 5V side ===
 +
 
 +
# GND
 +
# 5V
 +
# Bit15
  
 
== Layout ==
 
== Layout ==
Line 280: Line 354:
 
Kickstarter Edition
 
Kickstarter Edition
  
RPP-UIO-16-X2-CAD.PNG
+
[[File:RPP-UIO-16-X2-CAD.PNG]]
  
 
== Design Validation Testing - Rev X1 Board ==
 
== Design Validation Testing - Rev X1 Board ==
Line 292: Line 366:
 
FAT requires the following:
 
FAT requires the following:
  
Raspberry Pi Model B+ or equivalent (RasPi)
+
* Raspberry Pi Model B+ or equivalent (RasPi)
Power supply for Raspberry Pi (5V at 1 Amp min) with Micro USB connector
+
* Power supply for Raspberry Pi (5V at 1 Amp min) with Micro USB connector
Monitor, Keyboard or Ethernet cable and laptop running puTTY
+
* Monitor, Keyboard or Ethernet cable and laptop running puTTY
Test Software loaded onto RasPi
+
* Test Software loaded onto RasPi
(2) LED-Test card
+
* (2) LED-Test card
Cable set
+
* Cable set
Unit Under Test (UUT)
+
* Unit Under Test (UUT)
Preliminary
+
 
Install UUT onto RasPi
+
=== Preliminary ===
Install Cables
+
 
Power up card
+
* Install UUT onto RasPi
Log into RasPi
+
* Install Cables
 +
* Power up card
 +
* Log into RasPi
 +
<pre>
 
pi
 
pi
 
raspberry
 
raspberry
+
</pre>
 +
 
 
=== I2C ===
 
=== I2C ===
  
Install WE jumper
+
* Install WE jumper
 +
<pre>
 
cd ~/RasPi/RPP-UIO-16/eeprom/
 
cd ~/RasPi/RPP-UIO-16/eeprom/
 
sudo ./eep2flash.sh -w -t=24c32 -f=eepcfg.eep
 
sudo ./eep2flash.sh -w -t=24c32 -f=eepcfg.eep
Line 317: Line 396:
 
more stuff.eep | grep vendor
 
more stuff.eep | grep vendor
 
more stuff.eep | grep "product "
 
more stuff.eep | grep "product "
+
</pre>
Verify:
+
* Verify:
 +
<pre>
 
vendor "land-boards.com"  # length=15
 
vendor "land-boards.com"  # length=15
 
product "RPP-UIO-16"  # length=10
 
product "RPP-UIO-16"  # length=10
Line 338: Line 418:
 
cd ~/RasPi/RPP-UIO-16/
 
cd ~/RasPi/RPP-UIO-16/
 
sudo python blinkLEDs-RPP-UIO-16.py
 
sudo python blinkLEDs-RPP-UIO-16.py
 +
</pre>
 
   
 
   
LEDs should cycle
+
* LEDs should cycle
Combined Copy/paste
+
 
 +
=== Combined Copy/paste ===
 +
 
 +
<pre>
 
cd ~/RasPi/RPP-UIO-16/eeprom/
 
cd ~/RasPi/RPP-UIO-16/eeprom/
 
sudo ./eep2flash.sh -w -t=24c32 -f=eepcfg.eep
 
sudo ./eep2flash.sh -w -t=24c32 -f=eepcfg.eep
Line 354: Line 438:
 
cd ~/RasPi/RPP-UIO-16/
 
cd ~/RasPi/RPP-UIO-16/
 
sudo python blinkLEDs-RPP-UIO-16.py
 
sudo python blinkLEDs-RPP-UIO-16.py
 +
</pre>
  
 
== Assembly Sheet ==
 
== Assembly Sheet ==
  
 
* [[RPP-UIO-16 Rev X2 Assembly Sheet]]
 
* [[RPP-UIO-16 Rev X2 Assembly Sheet]]

Latest revision as of 14:48, 24 January 2020

Tindie-mediums.png

Universal I/O Hat for the Raspberry Pi

RPP-UIO-16IMG 5267-640pv.jpg

Board Design

This board is modeled on the Arduino Sensor Shields, also known as GVS shields. Arduino Sensor Shields bring out the pins of the Arduino to GVS (set of Ground, Voltage and Signal) pins. Unfortunately, the Raspberry Pi can't work with the same 5V GVS sensors and devices as the Arduino since the Raspberry Pi has 3.3V I/O.

The RasPi-Plus-GVS-Cfg card allows the Raspberry Pi Model B+ to communicate with the same 5V sensors by performing voltage translation from the 3.3V of the Raspberry Pi to 5V.

Features

  • All Raspberry Pi I/O lines
  • 16-bit bidirectional 3.3V to 5V level translator
  • Configuration EEPROM
  • Fuses on power
  • External 5V Terminal Block
  • Raspberry Pi I/O lines

All of the Raspberry Pi Model B+ I/O connections are brought to GVS connectors. This is:

  • (17) GPIO lines on GVS connectors
  • (2) SPI interfaces (can be used as 5 GPIO lines)
  • (1) UART interface (can be used as 2 GPIO lines)
  • (1) I2C interface (can be used as 2 GPIO lines)

Example Code/Drivers

Schematic

Level translators

The RPP-UIO-16 board uses two of 8-bit wide Texas Instrument TXS0108 voltage translator to convert up to 16 of the 3.3V I/O lines to 5V I/O levels.

Voltage Translators Features

No Direction-Control Signal Needed Max Data Rates 60 Mbps (Push Pull) 2 Mbps (Open Drain) 1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on B Port (VCCA ≤ VCCB) No Power-Supply Sequencing Required – Either VCCA or VCCB Can Be Ramped First Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II ESD Protection Exceeds JESD 22 (A Port) 2000-V Human-Body Model (A114-B) 150-V Machine Model (A115-A) 1000-V Charged-Device Model (C101) IEC 61000-4-2 ESD (B Port) ±6-kV Air-Gap Discharge ±8-kV Contact Discharge Voltage Translators Architecture Datasheet

The TXS0108E can be used in level-translation applications for interfacing devices or systems operating at different interface voltages with one another. The TXS0108E is ideal for use in applications where an open-drain driver is connected to the data I/Os. The TXS0108E can also be used in applications where a push-pull driver is connected to the data I/Os, but the TXB0104 might be a better option for such push-pull applications. The TXS0108E device is a semi-buffered auto-direction-sensing voltage translator design is optimized for translation applications (e.g. MMC Card Interfaces) that require the system to start out in a low-speed open-drain mode and then switch to a higher speed push-pull mode.

TXS0108Arch.PNG

To address these application requirements, a semi-buffered architecture design is used and is illustrated above (see Figure 1). Edge-rate accelerator circuitry (for both the high-to-low and low-to-high edges), a High-Ron n-channel pass-gate transistor (on the order of 300 Ω to 500 Ω) and pull-up resistors (to provide DC-bias and drive capabilities) are included to realize this solution. A direction-control signal (to control the direction of data flow from A to B or from B to A) is not needed. The resulting implementation supports both low-speed open-drain operation as well as high-speed push-pull operation.

When transmitting data from A to B ports, during a rising edge the One-Shot (OS3) turns on the PMOS transistor (P2) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from A to B, the One-Shot (OS4) turns on NMOS transistor (N2) for a short-duration and this speeds up the high-to-low transition. The B-port edge-rate accelerator consists of one-shots OS3 and OS4, Transistors P2 and N2 and serves to rapidly force the B port high or low when a corresponding transition is detected on the A port.

When transmitting data from B to A ports, during a rising edge the One-Shot (OS1) turns on the PMOS transistor (P1) for a short-duration and this speeds up the low-to-high transition. Similarly, during a falling edge, when transmitting data from B to A, the One-Shot (OS2) turns on NMOS transistor (N1) for a short-duration and this speeds up the high-to-low transition. The A-port edge-rate accelerator consists of one-shots OS1 and OS2, Transistors P1 and N1 components and form the edge-rate accelerator and serves to rapidly force the A port high or low when a corresponding transition is detected on the B port.

Fuses

The board has Resettable fuses on the 3.3V and 5V from the Raspberry Pi. These fuses protect your Raspberry Pi from overloads. These fuses are 1 Amp PTC fuses - PTS12066V100 PTC fuses have certain advantages (they are self healing) and disadvantages (they are not like a wire fuse which acts like a switch). If you trust your wiring you may choose to solder a wire over the fuse. Care should be taken when doing so.

Configuration EEPROM

The card has a Raspberry Pi Model B+ configuration EEPROM.

3.3V Connectors

The following are all 3.3VDC connections.

Raspberry Pi B Plus GPIO Connector J8 on the Pi.

Bplus-gpio-edited.png

I2C bus

  1. GND
  2. 3.3V
  3. SDA
  4. SCL

UART I/F

  1. GND
  2. 3.3V
  3. TxD
  4. RxD

IO_4 GVS

  1. GND
  2. 3.3V
  3. GPIO_4

IO_18 GVS

  1. GND
  2. 3.3V
  3. GPIO_18

IO_17 GVS

  1. GND
  2. 3.3V
  3. GPIO_17

IO_27 GVS

  1. GND
  2. 3.3V
  3. GPIO_27

IO_23 GVS

  1. GND
  2. 3.3V
  3. GPIO_23

IO_22 GVS

  1. GND
  2. 3.3V
  3. GPIO_22

IO_24 GVS

  1. GND
  2. 3.3V
  3. GPIO_24

IO_25 GVS

  1. GND
  2. 3.3V
  3. GPIO_25

SPI0 (Serial Peripheral Interface)

  1. GND
  2. 3.3V
  3. MOSI
  4. MISO
  5. SCK
  6. CE0

SPI1 (Serial Peripheral Interface)

  1. GND
  2. 3.3V
  3. MOSI
  4. MISO
  5. SCK
  6. CE1

IO_5 GVS

  1. GND
  2. 3.3V
  3. GPIO_5

IO_6 GVS

  1. GND
  2. 3.3V
  3. GPIO_6

IO_12 GVS

  1. GND
  2. 3.3V
  3. GPIO_12

IO_13 GVS

  1. GND
  2. 3.3V
  3. GPIO_13

IO_19 GVS

  1. GND
  2. 3.3V
  3. GPIO_19

IO_16 GVS

  1. GND
  2. 3.3V
  3. GPIO_16

IO_26 GVS

  1. GND
  2. 3.3V
  3. GPIO_26

IO_20 GVS

  1. GND
  2. 3.3V
  3. GPIO_20

IO_21 GVS

  1. GND
  2. 3.3V
  3. GPIO_21

J22 - EEPROM Address/Write Enable Header - Rev X2 Hat

Write Enable - Install header to allow writes to EEPROM Remove header to protect EEPROM contents from accidental writes

J23 - Voltage translator, 3V side

  • V3-0 = Bit 1
  • V3-1 = Bit 2
  • V3-2 = Bit 3
  • V3-3 = Bit 4
  • V3-4 = Bit 5
  • V3-5 = Bit 6
  • V3-6 = Bit 7
  • V3-7 = Bit 8
  • V3-8 = Bit 9
  • V3-9 = Bit 10
  • V3-A = Bit 11
  • V3-B = Bit 12
  • V3-C = Bit 13
  • V3-D = Bit 14
  • V3-E = Bit 15
  • V3-F = Bit 16

5V Connectors

The following are 5V connectors.

V5-0 - GVS connector, 5V side

  1. GND
  2. 5V
  3. Bit0

V5-1 - GVS connector, 5V side

  1. GND
  2. 5V
  3. Bit1

V5-2 - GVS connector, 5V side

  1. GND
  2. 5V
  3. Bit2

V5-3 - GVS connector, 5V side

  1. GND
  2. 5V
  3. Bit3

V5-4 - GVS connector, 5V side

  1. GND
  2. 5V
  3. Bit4

V5-5 - GVS connector, 5V side

  1. GND
  2. 5V
  3. Bit5

V5-6 - GVS connector, 5V side

  1. GND
  2. 5V
  3. Bit6

V5-7 - GVS connector, 5V side

  1. GND
  2. 5V
  3. Bit7

V5-8 - GVS connector, 5V side

  1. GND
  2. 5V
  3. Bit8

V5-9 - GVS connector, 5V side

  1. GND
  2. 5V
  3. Bit9

V5-A - GVS connector, 5V side

  1. GND
  2. 5V
  3. Bit10

V5-B - GVS connector, 5V side

  1. GND
  2. 5V
  3. Bit11

= V5-C - GVS connector, 5V side

  1. GND
  2. 5V
  3. Bit12

V5-D - GVS connector, 5V side

  1. GND
  2. 5V
  3. Bit13

V5-E - GVS connector, 5V side ===

  1. GND
  2. 5V
  3. Bit14

V5-F - GVS connector, 5V side

  1. GND
  2. 5V
  3. Bit15

Layout

Kickstarter Edition

RPP-UIO-16-X2-CAD.PNG

Design Validation Testing - Rev X1 Board

RASPI-PLUS-GVS-CFG DVT

Factory Acceptance Tests (FAT)

Hardware

FAT requires the following:

  • Raspberry Pi Model B+ or equivalent (RasPi)
  • Power supply for Raspberry Pi (5V at 1 Amp min) with Micro USB connector
  • Monitor, Keyboard or Ethernet cable and laptop running puTTY
  • Test Software loaded onto RasPi
  • (2) LED-Test card
  • Cable set
  • Unit Under Test (UUT)

Preliminary

  • Install UUT onto RasPi
  • Install Cables
  • Power up card
  • Log into RasPi
pi
raspberry

I2C

  • Install WE jumper
cd ~/RasPi/RPP-UIO-16/eeprom/
sudo ./eep2flash.sh -w -t=24c32 -f=eepcfg.eep
sudo ./eep2flash.sh -r -t=24c32 -f=myeep.eep 
rm stuff.eep
./eepdump myeep.eep stuff.eep 
more stuff.eep | grep vendor
more stuff.eep | grep "product "
  • Verify:
vendor "land-boards.com"   # length=15
product "RPP-UIO-16"   # length=10
Remove WE jumper
cd ~/RasPi/RPP-UIO-16/eeprom/
sudo ./eep2flash.sh -w -t=24c32 -f=eepcfg.eep
 
Verify
Writing...
dd: writing `/sys/class/i2c-adapter/i2c-0/0-0050/eeprom': Connection timed out
0+1 records in
0+0 records out
0 bytes (0 B) copied, 0.0564552 s, 0.0 kB/s
Error doing I/O operation.
Ctrl-C to halt
 
GVS Connector - Blink LEDs Tests
On RasPi console:
cd ~/RasPi/RPP-UIO-16/
sudo python blinkLEDs-RPP-UIO-16.py
  • LEDs should cycle

Combined Copy/paste

cd ~/RasPi/RPP-UIO-16/eeprom/
sudo ./eep2flash.sh -w -t=24c32 -f=eepcfg.eep
sudo ./eep2flash.sh -r -t=24c32 -f=myeep.eep 
rm stuff.eep
./eepdump myeep.eep stuff.eep 
more stuff.eep | grep vendor
more stuff.eep | grep "product "
 
cd ~/RasPi/RPP-UIO-16/eeprom/
sudo ./eep2flash.sh -w -t=24c32 -f=eepcfg.eep
 
cd ~/RasPi/RPP-UIO-16/
sudo python blinkLEDs-RPP-UIO-16.py

Assembly Sheet