TS-7250-V3 DIO Header: Difference between revisions

From embeddedTS Manuals
No edit summary
No edit summary
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The DIO header is a 0.1" pitch 2x8 header including SPI and GPIO. All pins on this header are 5V tolerant except SPI output pins. All of these DIO includes pullups.
The DIO header is a 0.1" pitch 2x8 header including SPI and GPIO. All pins on this header are 5V tolerant except SPI output pins. The SPI input pins are 5V tolerant and can be connected to a 5V SPI device. All of these DIO include pullups.


{|  
{|  
Line 9: Line 9:
|-
|-
! Pin
! Pin
! IO Type
! Signal
! Signal
|-
|-
| 1
| 1
| [[#GPIO|GPIO Bank 5 IO 1]]
| [[#IO specifications|FPGA 3.3-V LVTTL+QS3861]]
| [[#GPIO|GPIO Chip 50004010.fpga_gpio IO 1]]
|-
|-
| 2
| 2
|
| GND
| GND
|-
|-
| 3
| 3
| [[#GPIO|GPIO Bank 5 IO 2]]
| [[#IO specifications|FPGA 3.3-V LVTTL+QS3861]]
| [[#GPIO|GPIO Chip 50004010.fpga_gpio IO 2]]
|-
|-
| 4
| 4
| [[#GPIO|Current Sink Output Bank 2 IO 27]] <ref>When this pin is a high output it enables a FET to ground.</ref>
| Open drain<ref>High drives ground, low is tristate. </ref>
| [[#GPIO|Current Sink Output Chip 209c000.gpio IO 30]]  
|-
|-
| 5
| 5
| [[#GPIO|GPIO Bank 5 IO 3]]
| [[#IO specifications|FPGA 3.3-V LVTTL+QS3861]]
| [[#GPIO|GPIO Chip 50004010.fpga_gpio IO 3]] / [[#UARTs|ttyS14 TX]]
|-
|-
| 6
| 6
| [[#SPI|spidev 0.1 Chip Select]]
| [[#IO specifications|FPGA 3.3-V LVTTL]]
| [[#SPI|spidev 4.0 Chip Select]] / [[#GPIO|GPIO Chip 50004010.fpga_gpio IO 11]]
|-
|-
| 7
| 7
| [[#GPIO|GPIO Bank 5 IO 4]]
| [[#IO specifications|FPGA 3.3-V LVTTL+QS3861]]
| [[#GPIO|GPIO Chip 50004010.fpga_gpio IO 4]] / [[#UARTs|ttyS14 RX]]
|-
|-
| 8
| 8
| [[#GPIO|GPIO Bank 5 IO 5]]
| [[#IO specifications|FPGA 3.3-V LVTTL+QS3861]]
| [[#GPIO|GPIO Chip 50004010.fpga_gpio IO 5]]
|-
|-
| 9
| 9
| [[#GPIO|GPIO Bank 5 IO 6]]
| [[#IO specifications|FPGA 3.3-V LVTTL+QS3861]]
| [[#GPIO|GPIO Chip 50004010.fpga_gpio IO 6]] / [[#UARTs|ttyS15 TX]]
|-
|-
| 10
| 10
| [[#SPI|spidev 0.1 MISO]]
| [[#IO specifications|FPGA 3.3-V LVTTL+QS3861]]
| [[#SPI|spidev 4.0 MISO]] / [[#GPIO|GPIO Chip 50004010.fpga_gpio IO 10]] <ref>This pin is input only even when in the GPIO mode</ref>
|-
|-
| 11
| 11
| [[#GPIO|GPIO Bank 5 IO 7]]
| [[#IO specifications|FPGA 3.3-V LVTTL+QS3861]]
| [[#GPIO|GPIO Chip 50004010.fpga_gpio IO 7]] / [[#UARTs|ttyS15 RX]]
|-
|-
| 12
| 12
| [[#SPI|spidev 0.1 MOSI]]
| [[#IO specifications|FPGA 3.3-V LVTTL]]
| [[#SPI|spidev 4.0 MOSI]] / [[#GPIO|GPIO Chip 50004010.fpga_gpio IO 15]]
|-
|-
| 13
| 13
| [[#GPIO|GPIO Bank 5 IO 8]]
| [[#IO specifications|FPGA 3.3-V LVTTL+QS3861]]
| [[#GPIO|GPIO Chip 50004010.fpga_gpio IO 8]] / [[#UARTs|ttyS14 TXEN]]
|-
|-
| 14
| 14
| [[#SPI|spidev 0.1 CLK]]
| [[#IO specifications|FPGA 3.3-V LVTTL]]
| [[#SPI|spidev 4.0 CLK]] / [[#GPIO|GPIO Chip 50004010.fpga_gpio IO 14]]
|-
|-
| 15
| 15
| [[#GPIO|GPIO Bank 5 IO 9]]
| [[#IO specifications|FPGA 3.3-V LVTTL+QS3861]]
| [[#GPIO|GPIO Chip 50004010.fpga_gpio IO 9]] / [[#UARTs|ttyS15 TXEN]]
|-
|-
| 16
| 16
|
| [[#Board Rails|3.3V]]
| [[#Board Rails|3.3V]]
|}
|}
Line 65: Line 82:
<References />
<References />


[[File:Keypad.gif|200px]]
[[File:KPAD.jpg|200px|right]]


The DIO header is designed to provide compatibility with the KPAD accessory.  This is a 4x4 numerical keypad.  This is supported in userspace with the [https://github.com/embeddedarm/ts7100-utils/blob/master/src/keypad.c keypad.c] source code, or the "keypad" utility which is included in the shiping image.
To use the SPI pins on this header as GPIO instead, disable SPI by changing the [[#FPGA Syscon|FPGA Syscon 0x08 bit 10]]:
<source lang=bash>
​tshwctl -a 0x8 --poke32 0x400
</source>
The DIO header is designed to provide compatibility with the KPAD accessory.  This is a 4x4 numerical keypad.  This is supported in userspace with the [https://github.com/embeddedTS/ts7100-utils/blob/master/src/keypad.c keypad.c] source code, or the "keypad" utility which is included in the shiping image.


This debounces presses to 50ms, and does not repeat when numbers are held.  This will output a string containing the key that is pressed.  Eg:
This debounces presses to 50ms, and does not repeat when numbers are held.  This will output a string containing the key that is pressed.  Eg:

Latest revision as of 10:54, 9 April 2024

The DIO header is a 0.1" pitch 2x8 header including SPI and GPIO. All pins on this header are 5V tolerant except SPI output pins. The SPI input pins are 5V tolerant and can be connected to a 5V SPI device. All of these DIO include pullups.

Signals Pin Layout
Pin IO Type Signal
1 FPGA 3.3-V LVTTL+QS3861 GPIO Chip 50004010.fpga_gpio IO 1
2 GND
3 FPGA 3.3-V LVTTL+QS3861 GPIO Chip 50004010.fpga_gpio IO 2
4 Open drain[1] Current Sink Output Chip 209c000.gpio IO 30
5 FPGA 3.3-V LVTTL+QS3861 GPIO Chip 50004010.fpga_gpio IO 3 / ttyS14 TX
6 FPGA 3.3-V LVTTL spidev 4.0 Chip Select / GPIO Chip 50004010.fpga_gpio IO 11
7 FPGA 3.3-V LVTTL+QS3861 GPIO Chip 50004010.fpga_gpio IO 4 / ttyS14 RX
8 FPGA 3.3-V LVTTL+QS3861 GPIO Chip 50004010.fpga_gpio IO 5
9 FPGA 3.3-V LVTTL+QS3861 GPIO Chip 50004010.fpga_gpio IO 6 / ttyS15 TX
10 FPGA 3.3-V LVTTL+QS3861 spidev 4.0 MISO / GPIO Chip 50004010.fpga_gpio IO 10 [2]
11 FPGA 3.3-V LVTTL+QS3861 GPIO Chip 50004010.fpga_gpio IO 7 / ttyS15 RX
12 FPGA 3.3-V LVTTL spidev 4.0 MOSI / GPIO Chip 50004010.fpga_gpio IO 15
13 FPGA 3.3-V LVTTL+QS3861 GPIO Chip 50004010.fpga_gpio IO 8 / ttyS14 TXEN
14 FPGA 3.3-V LVTTL spidev 4.0 CLK / GPIO Chip 50004010.fpga_gpio IO 14
15 FPGA 3.3-V LVTTL+QS3861 GPIO Chip 50004010.fpga_gpio IO 9 / ttyS15 TXEN
16 3.3V

TS-7250-V3-DIO Header.svg

  1. High drives ground, low is tristate.
  2. This pin is input only even when in the GPIO mode
KPAD.jpg

To use the SPI pins on this header as GPIO instead, disable SPI by changing the FPGA Syscon 0x08 bit 10:

​tshwctl -a 0x8 --poke32 0x400

The DIO header is designed to provide compatibility with the KPAD accessory. This is a 4x4 numerical keypad. This is supported in userspace with the keypad.c source code, or the "keypad" utility which is included in the shiping image.

This debounces presses to 50ms, and does not repeat when numbers are held. This will output a string containing the key that is pressed. Eg:

root@tsimx6:~# keypad
1
UP
DOWN
2ND
ENTER