Difference between revisions of "RasPi-GVS"
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
(14 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[File:tindie-mediums.png|link=https://www.tindie.com/products/land_boards/5v-io-card-for-the-raspberry-pi-raspi-gvs/]] | [[File:tindie-mediums.png|link=https://www.tindie.com/products/land_boards/5v-io-card-for-the-raspberry-pi-raspi-gvs/]] | ||
+ | |||
+ | <video type="youtube">URcMiLRpHKg</video> | ||
[[File:RasPi-GVS-5221-xformed-640px.jpg]] | [[File:RasPi-GVS-5221-xformed-640px.jpg]] | ||
Line 11: | Line 13: | ||
* (1) 5V UART (serial port) interface | * (1) 5V UART (serial port) interface | ||
* (1) 5V I2C interface (can be used as 2 GPIO lines) | * (1) 5V I2C interface (can be used as 2 GPIO lines) | ||
− | * GPIO_4 enables/disables the voltage translators | + | * '''GPIO_4 enables/disables the voltage translators''' |
* Resettable Fuse protection on the 5V power lines | * Resettable Fuse protection on the 5V power lines | ||
* 7-9V input voltage on the Power Supply connector (option) which has a regulator that can power the GVS connectors (within thermal limits of the regulator) removing any 5V load from the Raspberry Pi itself | * 7-9V input voltage on the Power Supply connector (option) which has a regulator that can power the GVS connectors (within thermal limits of the regulator) removing any 5V load from the Raspberry Pi itself | ||
* Jumper to select power for GVS (allows the GVS connectors to be powered from either the on-board regulator (option) or powered from the Raspberry Pi) | * Jumper to select power for GVS (allows the GVS connectors to be powered from either the on-board regulator (option) or powered from the Raspberry Pi) | ||
* 49x49mm card form factor | * 49x49mm card form factor | ||
+ | |||
+ | === Voltage Translators === | ||
+ | |||
+ | The Raspi-GVS board uses Texas Instrument [http://www.ti.com/product/txs0108e 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 ==== | ||
+ | |||
+ | [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. | ||
+ | |||
+ | [[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. | ||
+ | |||
+ | 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 RaspPi-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 on the RaspPi-GVS. | ||
+ | |||
+ | A three pin header and jumpers are used to select the voltage source(s). Installing a single jumper from pins 2 to 3 allow the Raspberry Pi to power the GVC connectors and voltage translators. Installing a jumper from 1 to 2 powers the GVS connections and voltage translators from the 5V power supply. | ||
+ | |||
+ | == Connectors == | ||
+ | |||
+ | === P1 - Raspberry Pi GPIO Connector === | ||
+ | |||
+ | Raspberry Pi Connector | ||
+ | |||
+ | RasPi-GPIOs.png | ||
+ | |||
+ | === J1 - I2C bus === | ||
+ | |||
+ | # GND | ||
+ | # 5V | ||
+ | # SDA=GPIO2 | ||
+ | # SCL=GPIO3 | ||
+ | |||
+ | === J2 - UART I/F === | ||
+ | |||
+ | # GND | ||
+ | # 5V | ||
+ | # Tx=GPIO14 | ||
+ | # Rx=GPIO15 | ||
+ | |||
+ | === J3 - IO_18 GVS === | ||
+ | |||
+ | # GND | ||
+ | # 5V | ||
+ | # GPIO_18 | ||
+ | |||
+ | === J4 - IO_17 GVS === | ||
+ | |||
+ | # GND | ||
+ | # 5V | ||
+ | # GPIO_17 | ||
+ | |||
+ | === J5 - IO_27 GVS === | ||
+ | |||
+ | # GND | ||
+ | # 5V | ||
+ | # GPIO_27 | ||
+ | |||
+ | === J6 - IO_23 GVS === | ||
+ | |||
+ | # GND | ||
+ | # 5V | ||
+ | # GPIO_23 | ||
+ | |||
+ | === J7 - IO_22 GVS === | ||
+ | |||
+ | # GND | ||
+ | # 5V | ||
+ | # GPIO_22 | ||
+ | |||
+ | === J8 - IO_24 GVS === | ||
+ | |||
+ | # GND | ||
+ | # 5V | ||
+ | # GPIO_24 | ||
+ | |||
+ | === J9 - IO_25 GVS === | ||
+ | |||
+ | # GND | ||
+ | # 5V | ||
+ | # GPIO_25 | ||
+ | |||
+ | === J10 - SPI0 (Serial Peripheral Interface) === | ||
+ | |||
+ | # GND | ||
+ | # 5V | ||
+ | # MOSI (GPIO_10) | ||
+ | # MISO (GPIO_9) | ||
+ | # SCK (GPIO_11) | ||
+ | # CE0 (GPIO_8) | ||
+ | |||
+ | === J11 - SPI1 (Serial Peripheral Interface) === | ||
+ | |||
+ | # GND | ||
+ | # 5V | ||
+ | # MOSI (GPIO_10) | ||
+ | # MISO (GPIO_9) | ||
+ | # SCK (GPIO_11) | ||
+ | # CE1 (GPIO_7) | ||
+ | |||
+ | === DC Power 7-9 VDC === | ||
+ | |||
+ | # Shell - Ground | ||
+ | # Center - Power (7-9 VDC) | ||
+ | |||
+ | === J13 - Power Select === | ||
+ | |||
+ | * 1-2 = Power GVS and voltage translators from the voltage regulator on the RasPi-GVS | ||
+ | * 2-3 = Power GVS and voltage translators from the Raspberry Pi | ||
== Drivers == | == Drivers == | ||
* [https://github.com/land-boards/RasPi/tree/master/RasPi-GVS GitHub Repo] | * [https://github.com/land-boards/RasPi/tree/master/RasPi-GVS GitHub Repo] | ||
+ | |||
+ | == Factory Tests == | ||
+ | |||
+ | === Equipment === | ||
+ | |||
+ | * Unit Under Test (UUT) | ||
+ | * [[LED-Test-2]] card | ||
+ | * Raspberry Pi Model B (not B Plus) | ||
+ | * GVS Cabling | ||
+ | |||
+ | === GPIO Tests === | ||
+ | |||
+ | * Connect D1 through... to J3-J9 | ||
+ | * Connect ... | ||
+ | * Run | ||
+ | <pre> | ||
+ | cd RasPi/RasPi-GVS/ | ||
+ | sudo python pyGVS.py | ||
+ | |||
+ | </pre> | ||
+ | * LEDs should cycle | ||
+ | |||
+ | === UART Tests === | ||
+ | |||
+ | ==== Setup - Run first use only ==== | ||
+ | |||
+ | * [http://www.irrational.net/2012/04/19/using-the-raspberry-pis-serial-port/ Based on this site] | ||
+ | * Type | ||
+ | <pre> | ||
+ | sudo cp /boot/cmdline.txt /boot/cmdline_backup.txt | ||
+ | sudo nano /boot/cmdline.txt | ||
+ | |||
+ | </pre> | ||
+ | * Originally it contained: | ||
+ | <pre> | ||
+ | dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p6 roo | ||
+ | tfstype=ext4 elevator=deadline rootwait | ||
+ | </pre> | ||
+ | * Delete the parameter involving the serial port (ttyAMA0) to get the following: | ||
+ | <pre> | ||
+ | dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p6 roo | ||
+ | tfstype=ext4 elevator=deadline rootwait | ||
+ | </pre> | ||
+ | * Edit | ||
+ | <pre> | ||
+ | cd /etc | ||
+ | sudo nano /etc/inittab | ||
+ | </pre> | ||
+ | * Comment out the following line: | ||
+ | <pre> | ||
+ | T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 | ||
+ | </pre> | ||
+ | * Install minicom | ||
+ | <pre> | ||
+ | sudo apt-get install minicom | ||
+ | |||
+ | </pre> | ||
+ | * Reboot | ||
+ | * Run every time | ||
+ | * Run minicom | ||
+ | * minicom -b 115200 -o -D /dev/ttyAMA0 | ||
+ | * Type - get nothing | ||
+ | * Jumper J2-3 to J2-4 UART tx/rx | ||
+ | * Type - get back what you type | ||
== Assembly Sheet == | == Assembly Sheet == | ||
* [[RasPi-GVS Assembly Sheet]] | * [[RasPi-GVS Assembly Sheet]] |
Latest revision as of 13:52, 24 January 2020
Contents
- 1 Features
- 2 Connectors
- 2.1 P1 - Raspberry Pi GPIO Connector
- 2.2 J1 - I2C bus
- 2.3 J2 - UART I/F
- 2.4 J3 - IO_18 GVS
- 2.5 J4 - IO_17 GVS
- 2.6 J5 - IO_27 GVS
- 2.7 J6 - IO_23 GVS
- 2.8 J7 - IO_22 GVS
- 2.9 J8 - IO_24 GVS
- 2.10 J9 - IO_25 GVS
- 2.11 J10 - SPI0 (Serial Peripheral Interface)
- 2.12 J11 - SPI1 (Serial Peripheral Interface)
- 2.13 DC Power 7-9 VDC
- 2.14 J13 - Power Select
- 3 Drivers
- 4 Factory Tests
- 5 Assembly Sheet
Features
- Daughtercard to the Raspberry Pi (you supply the Raspberry Pi)
- 3.3V to 5V bidirectional voltage translators on GPIO (General Purpose Input/Output) lines
- (7) 5V GPIO lines on GVS connectors
- (2) 5V SPI interfaces (can be used as 5 GPIO lines)
- (1) 5V UART (serial port) interface
- (1) 5V I2C interface (can be used as 2 GPIO lines)
- GPIO_4 enables/disables the voltage translators
- Resettable Fuse protection on the 5V power lines
- 7-9V input voltage on the Power Supply connector (option) which has a regulator that can power the GVS connectors (within thermal limits of the regulator) removing any 5V load from the Raspberry Pi itself
- Jumper to select power for GVS (allows the GVS connectors to be powered from either the on-board regulator (option) or powered from the Raspberry Pi)
- 49x49mm card form factor
Voltage Translators
The Raspi-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
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.
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 RaspPi-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 on the RaspPi-GVS.
A three pin header and jumpers are used to select the voltage source(s). Installing a single jumper from pins 2 to 3 allow the Raspberry Pi to power the GVC connectors and voltage translators. Installing a jumper from 1 to 2 powers the GVS connections and voltage translators from the 5V power supply.
Connectors
P1 - Raspberry Pi GPIO Connector
Raspberry Pi Connector
RasPi-GPIOs.png
J1 - I2C bus
- GND
- 5V
- SDA=GPIO2
- SCL=GPIO3
J2 - UART I/F
- GND
- 5V
- Tx=GPIO14
- Rx=GPIO15
J3 - IO_18 GVS
- GND
- 5V
- GPIO_18
J4 - IO_17 GVS
- GND
- 5V
- GPIO_17
J5 - IO_27 GVS
- GND
- 5V
- GPIO_27
J6 - IO_23 GVS
- GND
- 5V
- GPIO_23
J7 - IO_22 GVS
- GND
- 5V
- GPIO_22
J8 - IO_24 GVS
- GND
- 5V
- GPIO_24
J9 - IO_25 GVS
- GND
- 5V
- GPIO_25
J10 - SPI0 (Serial Peripheral Interface)
- GND
- 5V
- MOSI (GPIO_10)
- MISO (GPIO_9)
- SCK (GPIO_11)
- CE0 (GPIO_8)
J11 - SPI1 (Serial Peripheral Interface)
- GND
- 5V
- MOSI (GPIO_10)
- MISO (GPIO_9)
- SCK (GPIO_11)
- CE1 (GPIO_7)
DC Power 7-9 VDC
- Shell - Ground
- Center - Power (7-9 VDC)
J13 - Power Select
- 1-2 = Power GVS and voltage translators from the voltage regulator on the RasPi-GVS
- 2-3 = Power GVS and voltage translators from the Raspberry Pi
Drivers
Factory Tests
Equipment
- Unit Under Test (UUT)
- LED-Test-2 card
- Raspberry Pi Model B (not B Plus)
- GVS Cabling
GPIO Tests
- Connect D1 through... to J3-J9
- Connect ...
- Run
cd RasPi/RasPi-GVS/ sudo python pyGVS.py
- LEDs should cycle
UART Tests
Setup - Run first use only
- Based on this site
- Type
sudo cp /boot/cmdline.txt /boot/cmdline_backup.txt sudo nano /boot/cmdline.txt
- Originally it contained:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p6 roo tfstype=ext4 elevator=deadline rootwait
- Delete the parameter involving the serial port (ttyAMA0) to get the following:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p6 roo tfstype=ext4 elevator=deadline rootwait
- Edit
cd /etc sudo nano /etc/inittab
- Comment out the following line:
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
- Install minicom
sudo apt-get install minicom
- Reboot
- Run every time
- Run minicom
- minicom -b 115200 -o -D /dev/ttyAMA0
- Type - get nothing
- Jumper J2-3 to J2-4 UART tx/rx
- Type - get back what you type