Difference between revisions of "RASPI-PLUS-GVS"

From Land Boards Wiki
Jump to navigation Jump to search
 
(10 intermediate revisions by the same user not shown)
Line 14: Line 14:
 
The RASPI-PLUS-GVS card allows the Raspberry Pi to communicate with the same 5V sensors by performing voltage translation from the 3.3V of the Raspberry Pi to 5V.
 
The RASPI-PLUS-GVS card allows the Raspberry Pi to communicate with the same 5V sensors by performing voltage translation from the 3.3V of the Raspberry Pi to 5V.
  
RasPi-Plus-GVS-DC-CCA-02x640.jpg
+
== Features ==
  
Features
+
* 3.3V to 5V bidirectional voltage translators on Raspberry Pi GPIO lines
3.3V to 5V bidirectional voltage translators on Raspberry Pi GPIO lines
+
* (7) 5V GPIO lines on GVS connectors
(7) 5V GPIO lines on GVS connectors
+
* (2) 5V SPI interfaces (5 lines which can be )
(2) 5V SPI interfaces (5 lines which can be )
+
* (1) 5V UART interface
(1) 5V UART interface
+
* (1) 5V I2C interface
(1) 5V I2C interface
+
* GPIO_4 enables/disables the voltage translators
GPIO_4 enables/disables the voltage translators
+
* (9) 3.3V GPIO interfaces
(9) 3.3V GPIO interfaces
+
* Optional Power Supply which can power the GVS connectors
Optional Power Supply which can power the GVS connectors
+
* Raspberry Pi Model A+/B+ card form factor
Raspberry Pi Model A+/B+ card form factor
 
Voltage Translators
 
The RASPI-PLUS-GVS board uses Texas Instrument TXS0108 voltage translators.
 
  
Voltage Translators Features
+
=== Voltage Translators ===
No Direction-Control Signal Needed
+
 
Max Data Rates
+
The RASPI-PLUS-GVS board uses Texas Instrument [http://www.ti.com/lit/ds/symlink/txs0108e.pdf TXS0108] voltage translators.
60 Mbps (Push Pull)
+
 
2 Mbps (Open Drain)
+
=== Voltage Translators Features ===
1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on
+
 
B Port (VCCA ≤ VCCB)
+
* No Direction-Control Signal Needed
No Power-Supply Sequencing Required –
+
* Max Data Rates
Either VCCA or VCCB Can Be Ramped First
+
** 60 Mbps (Push Pull)
Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II
+
* 2 Mbps (Open Drain)
ESD Protection Exceeds JESD 22 (A Port)
+
* 1.2 V to 3.6 V on A Port and 1.65 V to 5.5 V on
2000-V Human-Body Model (A114-B)
+
* B Port (VCCA ≤ VCCB)
150-V Machine Model (A115-A)
+
* No Power-Supply Sequencing Required –
1000-V Charged-Device Model (C101)
+
* Either VCCA or VCCB Can Be Ramped First
IEC 61000-4-2 ESD (B Port)
+
* Latch-Up Performance Exceeds 100 mA Per JESD 78, Class II
±6-kV Air-Gap Discharge
+
* ESD Protection Exceeds JESD 22 (A Port)
±8-kV Contact Discharge
+
** 2000-V Human-Body Model (A114-B)
Voltage Translators Architecture
+
** 150-V Machine Model (A115-A)
Datasheet
+
** 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 ====
 +
 
 +
[http://www.ti.com/lit/ds/symlink/txs0108e.pdf 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.
 
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
+
[[File: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.
 
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.
Line 59: Line 63:
 
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.
 
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.
  
Power Supply
+
== Power Supply ==
 +
 
 
The RASPI-PLUS-GVS offers flexible power supply options. The 5V for the GVS Connnectors and translators can come either from the Raspberry Pi or from the 5V power supply.
 
The RASPI-PLUS-GVS offers flexible power supply options. The 5V for the GVS Connnectors and translators can come either from the Raspberry Pi or from the 5V power supply.
  
Line 68: Line 73:
 
Installing a jumper from 3 to 4 powers the GVS connections from the 5V power supply.
 
Installing a jumper from 3 to 4 powers the GVS connections from the 5V power supply.
  
Resettable Fuses
+
== Resettable Fuses ==
 +
 
 
The board has two Resettable Fuses. One of the fuses connects to the 5V lines to/from the Raspberry Pi. The other fuse is on the output of the on-board regulator. The 3.3V has no fuses.
 
The board has two Resettable Fuses. One of the fuses connects to the 5V lines to/from the Raspberry Pi. The other fuse is on the output of the on-board regulator. The 3.3V has no fuses.
  
Connectors
+
== Connectors ==
 +
 
 
Raspberry Pi B Plus GPIO Connector
 
Raspberry Pi B Plus GPIO Connector
 
Bplus-gpio-edited.png
 
Bplus-gpio-edited.png
  
J1 - 5V I2C bus
+
=== J1 - 5V I2C bus ===
GND
+
 
5V
+
# GND
SDA
+
# 5V
SCL
+
# SDA
J2 - 5V UART I/F
+
# SCL
GND
+
 
5V
+
=== J2 - 5V UART I/F ===
TX
+
 
Rx
+
# GND
J3 - 5V IO_18 GVS
+
# 5V
GND
+
# TX
5V
+
# Rx
GPIO_18
+
 
J4 - 5V IO_17 GVS
+
=== J3 - 5V IO_18 GVS ===
GND
+
 
5V
+
# GND
GPIO_17
+
# 5V
J5 - 5V IO_27 GVS
+
# GPIO_18
GND
+
 
5V
+
=== J4 - 5V IO_17 GVS ===
GPIO_27
+
 
J6 - 5V IO_23 GVS
+
# GND
GND
+
# 5V
5V
+
# GPIO_17
GPIO_23
+
 
J7 - 5V IO_22 GVS
+
=== J5 - 5V IO_27 GVS ===
GND
+
 
5V
+
# GND
GPIO_22
+
# 5V
J8 - 5V IO_24 GVS
+
# GPIO_27
GND
+
 
5V
+
=== J6 - 5V IO_23 GVS ===
GPIO_24
+
 
J9 - 5V IO_25 GVS
+
# GND
GND
+
# 5V
5V
+
# GPIO_23
GPIO_25
+
 
J10 - 5V SPI0 (Serial Peripheral Interface)
+
=== J7 - 5V IO_22 GVS ===
GND
+
 
5V
+
# GND
MOSI
+
# 5V
MISO
+
# GPIO_22
SCK
+
 
CE0
+
=== J8 - 5V IO_24 GVS ===
J11 - 5V SPI1 (Serial Peripheral Interface)
+
 
GND
+
# GND
5V
+
# 5V
MOSI
+
# GPIO_24
MISO
+
 
SCK
+
=== J9 - 5V IO_25 GVS ===
CE1
+
 
J12 - 3.3V IO_5 GVS
+
# GND
GND
+
# 5V
3.3V
+
# GPIO_25
GPIO_5
+
 
J13 - 3.3V IO_6 GVS
+
=== J10 - 5V SPI0 (Serial Peripheral Interface) ===
GND
+
 
3.3V
+
# GND
GPIO_6
+
# 5V
J14 - 3.3V IO_13 GVS
+
# MOSI
GND
+
# MISO
3.3V
+
# SCK
GPIO_13
+
# CE0
J15 - 3.3V IO_19 GVS
+
 
GND
+
=== J11 - 5V SPI1 (Serial Peripheral Interface) ===
3.3V
+
 
GPIO_19
+
# GND
J16 - 3.3V IO_26 GVS
+
# 5V
GND
+
# MOSI
3.3V
+
# MISO
GPIO_26
+
# SCK
J17 - 3.3V IO_21 GVS
+
# CE1
GND
+
 
3.3V
+
=== J12 - 3.3V IO_5 GVS ===
GPIO_21
+
 
J18 - 3.3V IO_12 GVS
+
# GND
GND
+
# 5V
3.3V
+
# GPIO_5
GPIO_12
+
 
J19 - 3.3V IO_16 GVS
+
=== J13 - 3.3V IO_6 GVS ===
GND
+
 
3.3V
+
# GND
GPIO_16
+
# 5V
J20 - 3.3V IO_20 GVS
+
# GPIO_6
GND
+
 
3.3V
+
=== J14 - 3.3V IO_13 GVS ===
GPIO_20
+
 
2.1mm DC Power Jack - 7-9 VDC
+
# GND
Shell - Ground
+
# 5V
Center - Power (7-9 VDC)
+
# GPIO_13
J21 - Power Select Jumper(s)
+
 
1-2 = Power 5V GVS from regulator
+
=== J15 - 3.3V IO_19 GVS ===
2-3 = Power 5V GVS from Raspberry Pi
+
 
Board Layout
+
# GND
RasPi-Plus-GVS-X2-PWB-bw.png
+
# 5V
 +
# GPIO_19
 +
 
 +
=== J16 - 3.3V IO_26 GVS ===
 +
 
 +
# GND
 +
# 5V
 +
# GPIO_26
 +
 
 +
=== J17 - 3.3V IO_21 GVS ===
 +
 
 +
# GND
 +
# 5V
 +
# GPIO_21
 +
 
 +
=== J18 - 3.3V IO_12 GVS ===
 +
 
 +
# GND
 +
# 5V
 +
# GPIO_12
 +
 
 +
=== J19 - 3.3V IO_16 GVS ===
 +
 
 +
# GND
 +
# 5V
 +
# GPIO_16
 +
 
 +
=== J20 - 3.3V IO_20 GVS ===
 +
 
 +
# GND
 +
# 5V
 +
# GPIO_20
 +
 
 +
=== 2.1mm DC Power Jack - 7-9 VDC ===
 +
 
 +
* Shell - Ground
 +
* Center - Power (7-9 VDC)
 +
 
 +
=== J21 - Power Select Jumper(s) ===
 +
 
 +
* 1-2 = Power 5V GVS from regulator
 +
* 2-3 = Power 5V GVS from Raspberry Pi
 +
 
 +
== Board Layout ==
 +
 
 +
[[File:RasPi-Plus-GVS-X2-PWB-bw.png]]
  
RASPI-PLUS-GVS Assembly Sheet
+
== RASPI-PLUS-GVS Factory Acceptance Test ==
RasPi-Plus-GVS Configuration Sheet
 
  
RASPI-PLUS-GVS Factory Acceptance Test
+
* Connect LED-Test or LED-TEST-2 card to GPS lines (all except UART lines)
Connect LED-Test or LED-TEST-2 card to GPS lines (all except UART lines)
+
* Load test software from GitHub
Load test software from GitHub
+
* Enter
Enter
+
<pre>
 
cd ~/RasPi/RasPi-Plus-GVS
 
cd ~/RasPi/RasPi-Plus-GVS
 
sudo python ./blinkLEDs.py
 
sudo python ./blinkLEDs.py
 
   
 
   
LED Order
+
</pre>
 +
* LED Order
 +
<pre>
 
blinkLED(J12)
 
blinkLED(J12)
 
blinkLED(J13)
 
blinkLED(J13)
Line 208: Line 261:
 
blinkLED(J10_6)
 
blinkLED(J10_6)
 
blinkLED(J11_6)
 
blinkLED(J11_6)
 +
</pre>
  
 
== Drivers/Example Code ==
 
== Drivers/Example Code ==

Latest revision as of 15:07, 24 January 2020

Tindie-mediums.png

3.3V/5V Sensor Conn Card for Raspberry Pi A+/B+

RasPi-Plus-GVS-X2-DC-CCA-02x640.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 GVS cards as the Arduino since the Raspberry Pi has 3.3V I/O.

The RASPI-PLUS-GVS card allows the Raspberry Pi to communicate with the same 5V sensors by performing voltage translation from the 3.3V of the Raspberry Pi to 5V.

Features

  • 3.3V to 5V bidirectional voltage translators on Raspberry Pi GPIO lines
  • (7) 5V GPIO lines on GVS connectors
  • (2) 5V SPI interfaces (5 lines which can be )
  • (1) 5V UART interface
  • (1) 5V I2C interface
  • GPIO_4 enables/disables the voltage translators
  • (9) 3.3V GPIO interfaces
  • Optional Power Supply which can power the GVS connectors
  • Raspberry Pi Model A+/B+ card form factor

Voltage Translators

The RASPI-PLUS-GVS board uses Texas Instrument TXS0108 voltage translators.

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.

Power Supply

The RASPI-PLUS-GVS offers flexible power supply options. The 5V for the GVS Connnectors and translators can come either from the Raspberry Pi or from the 5V power supply.

A three pin header and jumpers are used to select the voltage source(s).

Installing a jumper from pins 2 to 3 allow the Raspberry Pi to power the GVC connectors and voltage translators.

Installing a jumper from 3 to 4 powers the GVS connections from the 5V power supply.

Resettable Fuses

The board has two Resettable Fuses. One of the fuses connects to the 5V lines to/from the Raspberry Pi. The other fuse is on the output of the on-board regulator. The 3.3V has no fuses.

Connectors

Raspberry Pi B Plus GPIO Connector Bplus-gpio-edited.png

J1 - 5V I2C bus

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

J2 - 5V UART I/F

  1. GND
  2. 5V
  3. TX
  4. Rx

J3 - 5V IO_18 GVS

  1. GND
  2. 5V
  3. GPIO_18

J4 - 5V IO_17 GVS

  1. GND
  2. 5V
  3. GPIO_17

J5 - 5V IO_27 GVS

  1. GND
  2. 5V
  3. GPIO_27

J6 - 5V IO_23 GVS

  1. GND
  2. 5V
  3. GPIO_23

J7 - 5V IO_22 GVS

  1. GND
  2. 5V
  3. GPIO_22

J8 - 5V IO_24 GVS

  1. GND
  2. 5V
  3. GPIO_24

J9 - 5V IO_25 GVS

  1. GND
  2. 5V
  3. GPIO_25

J10 - 5V SPI0 (Serial Peripheral Interface)

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

J11 - 5V SPI1 (Serial Peripheral Interface)

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

J12 - 3.3V IO_5 GVS

  1. GND
  2. 5V
  3. GPIO_5

J13 - 3.3V IO_6 GVS

  1. GND
  2. 5V
  3. GPIO_6

J14 - 3.3V IO_13 GVS

  1. GND
  2. 5V
  3. GPIO_13

J15 - 3.3V IO_19 GVS

  1. GND
  2. 5V
  3. GPIO_19

J16 - 3.3V IO_26 GVS

  1. GND
  2. 5V
  3. GPIO_26

J17 - 3.3V IO_21 GVS

  1. GND
  2. 5V
  3. GPIO_21

J18 - 3.3V IO_12 GVS

  1. GND
  2. 5V
  3. GPIO_12

J19 - 3.3V IO_16 GVS

  1. GND
  2. 5V
  3. GPIO_16

J20 - 3.3V IO_20 GVS

  1. GND
  2. 5V
  3. GPIO_20

2.1mm DC Power Jack - 7-9 VDC

  • Shell - Ground
  • Center - Power (7-9 VDC)

J21 - Power Select Jumper(s)

  • 1-2 = Power 5V GVS from regulator
  • 2-3 = Power 5V GVS from Raspberry Pi

Board Layout

RasPi-Plus-GVS-X2-PWB-bw.png

RASPI-PLUS-GVS Factory Acceptance Test

  • Connect LED-Test or LED-TEST-2 card to GPS lines (all except UART lines)
  • Load test software from GitHub
  • Enter
cd ~/RasPi/RasPi-Plus-GVS
sudo python ./blinkLEDs.py
 
  • LED Order
	blinkLED(J12)
	blinkLED(J13)
	blinkLED(J14)
	blinkLED(J15)
	blinkLED(J16)
	blinkLED(J17)
	blinkLED(J18)
	blinkLED(J19)
	blinkLED(J20)
	blinkLED(J3)
	blinkLED(J4)
	blinkLED(J5)
	blinkLED(J6)
	blinkLED(J7)
	blinkLED(J8)
	blinkLED(J9)
	blinkLED(J1_3)
	blinkLED(J1_4)
	blinkLED(J2_3)
	blinkLED(J2_4)
	blinkLED(J10_3)
	blinkLED(J10_4)
	blinkLED(J10_5)
	blinkLED(J10_6)
	blinkLED(J11_6)

Drivers/Example Code

Assembly Sheet