Seitenleiste


Access to information is restricted depending on your login. Request login-information through our contact form.

service:hardware:module:trizeps8:mcu

Kinetis MCU

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
 <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
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
26.04.2019 Default-Firmware tr8_mcu_20190426.zip
Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
service/hardware/module/trizeps8/mcu.txt · Zuletzt geändert: 2020/10/16 18:02 von