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 | 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 | |||||||
---|---|---|---|---|---|---|---|---|---|
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 |