• In progress
  • Kinetis MCU - Trizeps VIII -Hardware

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

    Default Firmware

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

    master

    The on-board Cortex M0+ Kinetis MCU on Trizeps 8 type modules is used for following functions: resistive touch, adc inputs, canbus, sdcard io-voltage selector, 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) and has a CAN-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

    When the Trizeps VIII is equipped with a Kinetis MCU it will be used to control power-up and reset of the i.MX8M processor.

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

    Default-Firmware

    The following describes the current default-firmware.
    After power-up the Kinetis MCU will:

    • Initialize itself

    • Configure the PMIC

    • Apply 32.786kHZ to processor and deassert RESET_OUT.

    • Enter control loop

    In the control loop two functions are realized:

    • Control of Kinetis MCU functions through I2C (see below).

    • If the RESET_IN pin is asserted for more than 10s, enter USB serial download mode.

    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) 0x02 Reset and boot serial downloader (USB)

    -

     

    0x03

    REG_CONFIG1

    write

    0x01 If reset is pressed longer than 10s reboot into serial downloader (USB)

    0x01

     

    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

    -

     

    0x06

    REG_PIN_GET

    -

     

    0x10

    ADC_CONFIG

    write

    2

     

    0x11

    ADC

    -

     

    0x12

    ADC_LSB

    read

    [7:0] of value

    -

     

    0x13

    ADC_LSB

    read

    [15:8] of value

    -

     

    0x20

    TOUCH_CONFIG

    write

    -

     

    0x21

    TOUCH_WAITTIME

    write

    <mS>

    Time for voltages to settle

    2

    0x22

    TOUCH_XSCALE_LSB

    (800)

     

    0x23

    TOUCH_XSCALE_MSB

    (800)

     

    0x24

    TOUCH_YSCALE_LSB

    (480)

     

    0x25

    TOUCH_YSCALE_MSB

    (480)

     

    0x26

    TOUCH_XMIN_LSB

    -

     

    0x27

    TOUCH_XMIN_MSB

    -

     

    0x28

    TOUCH_YMIN_LSB

    -

     

    0x29

    TOUCH_YMIN_MSB

    -

     

    0x2A

    TOUCH_XMAX_Z_LSB

    -

     

    0x2B

    TOUCH_XMAX_Z_MSB

    -

     

    0x2C

    TOUCH_YMAX_LSB

    -

     

    0x2D

    TOUCH_YMAX_MSB

    -

     

    0x2E

    TOUCH_AVERAGE

    write

    Number of samples to get for each position-measurement

    20

     

    0xF0 - 0xFF

    VERSION

    read

    Zero terminated version string

     

     

     

     

    Alternate Function

     

     

    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

     

     

    87

    nRESET_OUT

     

    PTC5, LLWU_P9

    SPI0_SCK

    LPTMR0_ALT2

     

     

    CMP0_OUT

    FTM0_CH2

    97

    CAN1_RX

     

    PTE25, LLWU_P21

    CAN0_RX

    FTM0_CH1

     

    I2C0_SDA

    EWM_IN

     

    99

    CAN1_TX

     

    PTE24

    CAN0_TX

    FTM0_CH0

     

    I2C0_SCL

    EWM_OUT

     

    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

    Download

    Date

    Description

    Download

    Date

    Description

    Download

    26.04.2019

    Default-Firmware

    tr8_mcu_20190426.zip