Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

http://gitlab.keith-koep.com/tr8firmware/tr8_mcu/-/tree/tr8plus

Default Firmware

ssh://git@gitlab.keith-koep.com:30001/tr8firmware/tr8_mcu.git
http://gitlab.keith-koep.com/tr8firmware/tr8_mcu.git

tr8plus

The on-board Cortex M0+ Kinetis MCU on Trizeps8Plus type modules is used for following functions: resistive touch, adc inputs, gpios and reset control with bootmode selection. It may be also used for realtime processing and power-management.
It is capable of reading multiple 16bit analog inputs (i.e. to emulate a resistive touch controller).

Programming

The MCU may be programmed through JTAG using connector J401 (see datasheet for details) or in system through I2C. In-System-Programming through I2C has not been verified yet.

Firmware

Customers may request access to the source-code of the firmware to modify it for their needs.

I2C-Address: 0x10 (7bit)

Reg.

Name

Access

Description

Default-Value

0x01

REG_ID

read

ID-Register

0x61

0x02

REG_CONTROL

write

 0x01  Reset and boot from fuse (eMMC/internal uSD) (BOOT_MODE[1:0] = 0 0)
 0x02  Reset and boot serial downloader (USB) (BOOT_MODE[1:0] = 0 1)
 0x03  Reset and boot from USDHC3 (BOOT_MODE[1:0] = 1 0)
 0x04  Reset and boot from USDHC2 (BOOT_MODE[1:0] = 1 1)

-

0x04

REG_PIN_CONFIG

write

 <SODIMM-Pin> <Parameters>
 Parameter for GPIO (Alt1):
    1: Input
   20: Output, init low level
   21: Output, init high level

-

0x05

REG_PIN_SET

write

 <SODIMM-Pin> <level>

-

0x06

REG_PIN_GET

 write 
 read
 <SODIMM-Pin>
 Level of pin.

-

0x10

ADC_CONFIG

write

  <config>
  0x.3   Resolution:
         0: 8 bit
         1: 10 bit
         2: 12 bit
         3: 16 bit

2

0x11

ADC

 write 
 read
 <SODIMM Pin>
 0: Idle, 1: Busy, 0xFF: Failed, <SODIMM Pin>: Done

-

0x12

ADC_LSB

read

[7:0] of value

-

0x13

ADC_LSB

read

[15:8] of value

-

0x20

TOUCH_CONFIG

write

 <config>
 0x3f   PENDOWN trigger level 0..63
 0x40   Enable Z measurement
 0x80   Enable Touch

-

0x21

TOUCH_WAITTIME

write

<mS>

Time for voltages to settle

2

0x22

TOUCH_XSCALE_LSB

 write
 read
 [7:0] of value to scale to (typ. x-screen-size).
 [7:0] of scaled x value.

(800)

0x23

TOUCH_XSCALE_MSB

 write
 read
 [15:8] of value to scale to (typ. x-screen-size).
 [15:8] of scaled x value.

(800)

0x24

TOUCH_YSCALE_LSB

 write
 read
 [7:0] of value to scale to (typ. y-screen-size).
 [7:0] of scaled y value.

(480)

0x25

TOUCH_YSCALE_MSB

 write
 read
 [15:8] of value to scale to (typ. y-screen-size).
 [15:8] of scaled y value.

(480)

0x26

TOUCH_XMIN_LSB

 write
 read
 [7:0] min raw x value for scaled x=0.
 [7:0] raw x value.

-

0x27

TOUCH_XMIN_MSB

 write
 read
 [15:8] min raw x value for scaled x=0.
 [15:8] raw x value.

-

0x28

TOUCH_YMIN_LSB

 write
 read
 [7:0] min raw y value for scaled y=0.
 [7:0] raw y value.

-

0x29

TOUCH_YMIN_MSB

 write
 read
 [15:8] min raw y value for scaled y=0.
 [15:8] raw y value.

-

0x2A

TOUCH_XMAX_Z_LSB

 write
 read
 [7:0] max raw x value for scaled x=screen-size.
 [7:0] raw z value.

-

0x2B

TOUCH_XMAX_Z_MSB

 write
 read
 [15:8] max raw x value for scaled x=screen-size.
 [15:8] raw z value.

-

0x2C

TOUCH_YMAX_LSB

 write
 [7:0] min raw y value for scaled y=screen-size.

-

0x2D

TOUCH_YMAX_MSB

 write
 read
 [15:8] min raw y value for scaled y=screen-size.

-

0x2E

TOUCH_AVERAGE

write

Number of samples to get for each position-measurement

20

0xF0 - 0xFF

VERSION

read

Zero terminated version string

Alternate Function

SODIMM Pin

Name

Alt0

Alt1

Alt2

Alt3

Alt4

Alt5

Alt6

Alt7

2

VIN_AD3

ADC0_SE7, ADC1_SE7, ADC1_DM1

PTE19

SPI0_SIN

UART1_RTS

I2C0_SCL

SPI0_SOUT

4

VIN_AD2

ADC0_SE6, ADC1_SE1, ADC1_DP1

PTE18, LLWI_P20

SPI0_SOUT

UART1_CTS

I2CS0_SDA

SPI0_SON

6

VIN_AD1

ADC0_DM1, ADC0_SE5, ADC1_SE5

PTE17, LLWU_P19

SPI0_SCK

UART1_RX

FTM_CLKIN1

LTMR0_ALT3

8

VIN_AD0

ADC0_SE1, ADC0_DP1, ADC1_SE0

PTE16

SPI0_PCS0

UART1_TX

FTM_CLKIN0

FTM0_FLT3

14

TSPX

ADC0_SE8, ADC1_SE8

PTB0, LLWU_P5

I2C0_SCL

FTM1_CH0

FTM1_QD_PHA

UART0_RX

16

TSMX

ADC0_SE9, ADC1_SE9

PTB1

I2C0_SDA

FTM1_CH1

FTM0_FLT2

EWM_IN

FTM1_QD_PHB

UART0_TX

18

TSPY

ADC0_SE11, CMP1_IN0

PTC2

SPI0_PCS2

UART1_CTS

FTM0_CH1

FTM2_CH1

20

TSMY

ADC1_SE4, CMP1_IN4, DAC0_OUT

PTE30

FTM0_CH3

FTM_CLKIN1

75

CIF_D9

PTE25

FTM0_CH1

I2C0_SDA

EWM_IN

87

nRESET_OUT

PTC5, LLWU_P9

SPI0_SCK

LPTMR0_ALT2

CMP0_OUT

FTM0_CH2

250

nRF_DISABLE

PTE24

FTM0_CH0

I2C0_SCL

EWM_OUT_b

251

nPCIE_RESET

ADC1_SE11

PTC1/LLWU_P6

SPI0_PCS3

UART1_RTS_b

FTM0_CH0

FTM2_CH0

252

nWL_POWERDOWN

PTC5/LLWU_P9

SPI0_SCK

LPTMR0ALT2

CMP0_OUT

FTM0_CH2

Note: SODIMM 250 / 251 / 252 are used internally on the Trizeps VIII Plus module.

PTx: GPIO
LLWU: Wakeup-Sources
EWM: External Watchdog Monitor
FTM: Flexible Timer Module
FTM_CH: Output Channel
FTM_FLT: Fault
FTM_QD_PH: Quadrature decoder

  • No labels