EcoCoder Manual V4.8.
EcoCoder Manual
V4.8.2
Copyright ECOTRONS LLC
All Rights Reserved
EcoCoder Manual V4.8.2
Contact us:
Website: http://www.ecotrons.com
Email: [email protected]
[email protected]
Copyright ECOTRONS LLC www.ecotrons.com Page 2
EcoCoder Manual V4.8.2
CONTENTS
CHAPTER 1 GENERAL INFORMATION ............................................................................ 8
1.1 About EcoCoder .............................................................................................................................. 8
1.2 System Requirements .............................................................................................................. 10
1.3 MATLAB Installation Requirements ............................................................................................... 10
1.4 Supported MATLAB Version .......................................................................................................... 10
1.5 Developer’s Kit .............................................................................................................................. 11
CHAPTER 2 DEVELOPMENT ENVIRONMENT WITH ECOCODER .................................. 12
2.1 Software Installation List .............................................................................................................. 12
2.2 C++ Compiler Installation .............................................................................................................. 12
Installation of Compiler for MATLAB 32-Bit ................................................................................12
Compiler Selection for MATLAB 64-Bit .......................................................................................13
2.3 EcoCoder Installation .................................................................................................................... 14
2.4 Link HighTec TriCore Tool Chain to EcoCoder ................................................................................. 18
2.5 Activate EcoCoder ......................................................................................................................... 19
Get Key File .................................................................................................................................20
Activate EcoCoder by License (.dat) File .....................................................................................22
CHAPTER 3 QUICK START ON APPLICATION SOFTWARE ............................................. 25
CHAPTER 4 ECOCODER LIBRARY ......................................................................... 27
4.1 EcoCoder Target Definition ............................................................................................................ 28
4.2 ADC ............................................................................................................................................... 29
Read ADC Value ..........................................................................................................................29
Copyright ECOTRONS LLC www.ecotrons.com Page 3
EcoCoder Manual V4.8.2
Read Fixed-Point ADC Volt ..........................................................................................................32
Read Float ADC Volt ...............................................................................................................33
4.3 CAN Communication ..................................................................................................................... 34
CAN Channel Definition ..............................................................................................................34
CAN Wake-up Frame Definition ..................................................................................................37
Read Fixed-Point CAN Message ..................................................................................................38
Send Fixed-Point CAN Message ...........................................................................................40
Read/Send CAN Message ...........................................................................................................42
CAN Receive Counter ..................................................................................................................42
Set CAN Mode ............................................................................................................................43
Send CAN Data ............................................................................................................................44
Unpack Signals to CAN Data .......................................................................................................45
Pack Signals To CAN Data .......................................................................................................46
Receive CAN Message ............................................................................................................47
Transmit CAN Message ..........................................................................................................48
4.4 Serial Communication Interface (SCI) Block ................................................................................... 48
SCI Definition ..............................................................................................................................49
Read SCI Data..............................................................................................................................49
Send SCI Data ..............................................................................................................................50
4.5 Digital I/O .................................................................................................................................... 50
Switch Input ................................................................................................................................50
KeyOn Input ................................................................................................................................51
Switch Output .............................................................................................................................53
IPM Read ....................................................................................................................................54
PWM Definition ..........................................................................................................................54
PWM Output ..............................................................................................................................56
WakeUp Input .............................................................................................................................57
H-bridge Definition .....................................................................................................................58
H-bridge Output .........................................................................................................................60
PWM IO Frequency Range Definition ....................................................................................61
IPWM Read ............................................................................................................................62
4.6 Task Scheduler .............................................................................................................................. 62
Copyright ECOTRONS LLC www.ecotrons.com Page 4
EcoCoder Manual V4.8.2
Task Trigger .................................................................................................................................62
4.7 Non-Volatile Memory Blocks......................................................................................................... 64
Fixed NVM Definition .................................................................................................................64
Read Fixed NVM......................................................................................................................65
Write Fixed NVM ......................................................................................................................66
NVM Definition ...........................................................................................................................67
NVM Variable Definition .............................................................................................................68
Read NVM ...................................................................................................................................69
Write NVM ..................................................................................................................................70
Store All NVM Data ..................................................................................................................71
Restore All NVM Data .............................................................................................................72
4.8 Diagnostic Blocks .......................................................................................................................... 72
Hardware Output DTC ............................................................................................................73
DTC Parser ...............................................................................................................................73
Software Core Diagnostic ...........................................................................................................74
Clear H-bridge DTC .................................................................................................................75
4.9 Calibration & Measurement .................................................................................................... 76
Calibration Definition ...............................................................................................................76
Read Calibration ......................................................................................................................77
Write Measurement .................................................................................................................78
Write and Read Measurement ...................................................................................................79
Override Probe .........................................................................................................................80
1-D Lookup Table ........................................................................................................................81
2-D Lookup Table ........................................................................................................................82
Calibration Data Check ...........................................................................................................84
4.10 System Management Blocks .............................................................................................. 84
Power Management Example ...........................................................................................84
Shutdown Power .................................................................................................................87
Set ECU Mode ........................................................................................................................88
ECU Master Chip Wake-Up Definition .............................................................................88
Watchdog Definition ..............................................................................................................89
Software Reset ....................................................................................................................91
Copyright ECOTRONS LLC www.ecotrons.com Page 5
EcoCoder Manual V4.8.2
Read System Free Counter .....................................................................................................91
Power Control Output .........................................................................................................92
Service Software Watchdog ...................................................................................................93
4.11 CCP ......................................................................................................................................... 93
Fixed CCP Slave Definition .....................................................................................................93
4.12 Programming Blocks ........................................................................................................... 95
Online Programming Definition .........................................................................................95
4.13 Sensors Blocks .................................................................................................................... 97
Read Gyro Hex Value .........................................................................................................97
Read Gyro Phy Value .........................................................................................................97
4.14 Advanced Data Blocks ........................................................................................................ 98
Read OTP ............................................................................................................................98
Read OTP (Input port) ........................................................................................................99
Write OTP.......................................................................................................................... 100
Write OTP (Input port) ..................................................................................................... 102
Read Data by Address .................................................................................................... 103
Read Data by Address (Input port) ..................................................................................... 104
Read String Value ................................................................................................................ 104
CHAPTER 5 CAN THEORY OF ECOTRONS ........................................................ 106
5.1 Introduction ............................................................................................................................. 106
5.2 CAN Implementation .............................................................................................................. 106
Convert DBC to m File .............................................................................................................. 107
EcoCoder CAN Blocks ......................................................................................................... 109
Select m file ........................................................................................................................... 109
Select Message ..................................................................................................................... 110
Select Sample Time.............................................................................................................. 111
CHAPTER 6 MEMORY MANAGEMENT ....................................................................... 113
6.1 Introduction ............................................................................................................................. 113
Copyright ECOTRONS LLC www.ecotrons.com Page 6
EcoCoder Manual V4.8.2
6.2 Storage device ........................................................................................................................ 113
6.3 Data Storage ............................................................................................................................ 113
Calibration/Measurement Variable ......................................................................................... 113
Non-Volatile Variable ............................................................................................................... 114
CHAPTER 7 PROGRAMMING VCU WITH ECOFLASH ..................................... 115
CHAPTER 8 MEASUREMENT AND CALIBRATION WITH ECOCAL ............................... 116
CHAPTER 9 UNINSTALL ECOCODER............................................................................ 117
9.1 Uninstall EcoCoder from MATLAB ............................................................................................... 117
9.2 Uninstall EcoCoder from Windows System .................................................................................. 118
CHAPTER 10 FAQS .................................................................................................... 119
APPENDIX A - NONVOLATILE VARIABLES THEORY ....................................... 124
Non-volatile Variables .......................................................................................................................... 124
Fixed Non-volatile Variables ................................................................................................................. 124
Battery Input ..................................................................................................................................... 125
Copyright ECOTRONS LLC www.ecotrons.com Page 7
EcoCoder Manual V4.8.2
Chapter 1 General Information
1.1 About EcoCoder
EcoCoder is an advanced auto code generation library added on top of Simulink generic
libraries. It links the user’s Simulink models directly to Ecotrons target controller.
EcoCoder encapsulates the lower level driver software, or basic software, also abstracts
the specific hardware, like Freescale or Infineon microprocessor-based controllers. It
enables the controls engineer to develop their control systems completely in
Matlab/Simulink environment.
Plus, EcoCoder is only an add-on package on top of Simulink. It enables engineers to
maximize the usage of Simulink generic library. It adds the necessary library blocks which
bridge the gap between application software and the specific controller hardware.
Meaning the application software will not be dependent on the specific hardware, and
you can port your models to any other hardware which supports the Simulink. In short,
you are not stuck with EcoCoder by using it.
Features:
Auto-code generation of Simulink/Stateflow models using Embedded
Coder/Stateflow Coder
Calibration using EcoCAL or other CCP based software
Programming using EcoFlash through CAN bus
OTA upgrade of application software
Available for both prototyping and production
Manual C-code integration is available in addition to model based design (MBD)
with Simulink/EcoCoder
Benefits:
Copyright ECOTRONS LLC www.ecotrons.com Page 8
EcoCoder Manual V4.8.2
Controls engineers could be freed from time-consuming learning curve of
hardware, C programming, and specific microprocessor settings
Responsive support services from Ecotrons
Application software development is isolated from a specific hardware, and it
has transparency and easy migration to other platforms.
Copyright ECOTRONS LLC www.ecotrons.com Page 9
EcoCoder Manual V4.8.2
1.2 System Requirements
OS Windows XP/Windows 7/Windows 10
CPU Intel CORE 2 Duo or higher
Memory 2 GB or higher
Hard drive 1 GB free hard disk space
1.3 MATLAB Installation Requirements
Mandatory Components:
MATLAB
Simulink
Simulink Coder
Embedded Coder
Optional Components:
Stateflow
1.4 Supported MATLAB Version
MATLAB R2010b 32-bit/64-bit
MATLAB R2011a 32-bit/64-bit
MATLAB R2011b 32-bit/64-bit
MATLAB R2012a 32-bit/64-bit
MATLAB R2012b 32-bit/64-bit
MATLAB R2013a 32-bit/64-bit
MATLAB R2013b 32-bit/64-bit
MATLAB R2014a 32-bit/64-bit
MATLAB R2014b 32-bit/64-bit
MATLAB R2015a 32-bit/64-bit
MATLAB R2015b 32-bit/64-bit
MATLAB R2016a 64-bit
MATLAB R2016b 64-bit
MATLAB R2017a 64-bit
MATLAB R2017b 64-bit
Copyright ECOTRONS LLC www.ecotrons.com Page 10
EcoCoder Manual V4.8.2
MATLAB R2018a 64-bit
Note: some of the MATLAB versions may require extra configurations to make the
EcoCoder work. Contact us if you have compatibility issues.
1.5 Developer’s Kit
VCU
Test Harness*
USB-CAN Adapter*
* Test harness is available from Ecotrons, however, users could also make their own by using recommended
connector parts.
* USB-CAN adapter need to be compatible with CAN Calibration Protocol (CCP). Third party adaptor like
Kvaser and PeakCAN are compatible with Ecotrons products.
Copyright ECOTRONS LLC www.ecotrons.com Page 11
EcoCoder Manual V4.8.2
Chapter 2 Development Environment with EcoCoder
2.1 Software Installation List
Please Install software tools in the following order*:
1. CodeWarrior for MPC55xxMPC56xx v2.10.exe
2. EcoFlash Vxxxx Setup.exe
3. EcoCAL Vxxxx Setup.exe
4. Ecotrons USB-CAN Driver
5. C++ Compiler (only install when stateflow is included in customer application)
6. EcoCoder 56xx Vxxxx Setup.msi
* Note: the above is an example tool chain for NXP MPC 56xx family
microcontrollers. For Infineon Aurix family or NXP MPC 57xx family, or other family
of microcontrollers, the tool chains will be different. But the installation process is
pretty much same. Contact us for details on different tool chains.
2.2 C++ Compiler Installation
For a 32-bit system, the MATLAB comes with a ‘LCC’ compiler which supports Stateflow
automatic code generation. For 64-bit systems, MATLAB does not provide compiler. In
order to use Stateflow coder, it's necessary to install a third-party C++ Compiler that
supports MATLAB 64-Bit version.
Installation of Compiler for MATLAB 32-Bit
1. Type ‘mex -setup’ at Matlab Command Window.
Copyright ECOTRONS LLC www.ecotrons.com Page 12
EcoCoder Manual V4.8.2
2. Type ‘y’ at Command Window.
3. Type ‘1’ at Command Window.
4. Type ‘y’ at Command Window.
5. When the following information is displayed, the installation is successful.
Compiler Selection for MATLAB 64-Bit
1. Go to this official website of Mathworks
https://www.mathworks.com/support/sysreq/previous_releases.html
Copyright ECOTRONS LLC www.ecotrons.com Page 13
EcoCoder Manual V4.8.2
2. Click ‘Details’ under ‘Supported Compilers’ of MATLAB version on customer PC.
3. For Windows 64-bit system, refer to page titled ‘Windows 64bit’.
4. After finishing the compiler installation, follow the steps in previous section to
configure compiler for MATLAB.
2.3 EcoCoder Installation
Note: Please keep MATLAB closed during the entire installation and licensing process.
1. Double-click ‘EcoCoder 56xx Vx.x.x Setup.msi’, click ‘Next’ at the following screen.
Copyright ECOTRONS LLC www.ecotrons.com Page 14
EcoCoder Manual V4.8.2
2. Choose installation path, click ‘Next’.
Note: it is recommended to install EcoCoder under the system drive.
3. Click ‘Next’.
Copyright ECOTRONS LLC www.ecotrons.com Page 15
EcoCoder Manual V4.8.2
4. Choose the version of MATLAB you want to install EcoCoder to, then select
‘Install EcoCoder to selected MATLAB version’, click ‘OK’. You could also install
EcoCoder for all MATLABs on computer.
5. Click ‘Close’.
6. After the installation is successful, the icon ‘EcoCoder Loader’ will appear on the
Copyright ECOTRONS LLC www.ecotrons.com Page 16
EcoCoder Manual V4.8.2
desktop. EcoCoder Loader will be used to generate the license file and activate
EcoCoder.
7. If you start MATLAB, it will prompt message ‘EcoCoder has been installed
successfully’ as shown in following red box. It indicates EcoCoder is successfully
installed to MATLAB.
Copyright ECOTRONS LLC www.ecotrons.com Page 17
EcoCoder Manual V4.8.2
2.4 Link HighTec TriCore Tool Chain to EcoCoder
For EH2275A, the installation of HighTec TriCore tool chain is required.
After the installation of HighTec TriCore Tool Chain, users need to specify the
makefile directory in EcoCoder Loader.
Open EcoCoder Loader, click Tools, then click ‘Select HighTec’.
Then in the pop-up window, click ‘Browse’, locate the ‘make.exe’ in the HIGHTEC
installation path, in ‘bin’ folder under the folder ‘toolchains’.
For example, the full path could be: ‘C:\HIGHTEC\toolchains\tricore\v4.6.6.0-infineon-
1.1\bin\make.exe’
Copyright ECOTRONS LLC www.ecotrons.com Page 18
EcoCoder Manual V4.8.2
2.5 Activate EcoCoder
There are two ways to activate EcoCoder and other Ecotrons software.
Note: Please close MATLAB for the activation process.
1. Dongle
The hardware dongle released by Ecotrons could activate software once it is plugged in
PC.
2. .dat file
Copyright ECOTRONS LLC www.ecotrons.com Page 19
EcoCoder Manual V4.8.2
‘.dat’ file is linked to Windows SN, meaning the ‘.dat’ file is bound to a specific PC and not
allowed to be transferred to another PC. New ‘.dat’ file has to be issued if customer shift
to new PC.
Note: all Ecotrons software would ‘remember’ license once it is activated even after it is
upgraded to new version. It is mandatory to use Windows Add/Remove programs to
uninstall all previously installed versions of EcoCoder. For safety concern, please install
new version to same folder as previous EcoCoder.
Get Key File
1. Double-click ‘EcoCoder Loader’ on the desktop.
2. Select Tools → Get EcoCoder Key.
Copyright ECOTRONS LLC www.ecotrons.com Page 20
EcoCoder Manual V4.8.2
3. Click ‘Export’.
4. Save the key file.
Copyright ECOTRONS LLC www.ecotrons.com Page 21
EcoCoder Manual V4.8.2
5. Please send the key file to [email protected] for license file.
Activate EcoCoder by License (.dat) File
1. Double-click ‘EcoCoder Loader’ at the Desktop.
2. Select Tools->Activate EcoCoder.
Copyright ECOTRONS LLC www.ecotrons.com Page 22
EcoCoder Manual V4.8.2
3. Click ‘Browse’.
5. Open license file, for example, select ‘EcoCoder_license.dat’, then select ‘Open’.
Copyright ECOTRONS LLC www.ecotrons.com Page 23
EcoCoder Manual V4.8.2
6. Click ‘OK’. The activation is successful if the pop-up window is displayed as following.
7. If following message shows up in MATLAB command window, EcoCoder is ready to
use.
Copyright ECOTRONS LLC www.ecotrons.com Page 24
EcoCoder Manual V4.8.2
Chapter 3 Quick Start on Application Software
The purpose of this chapter is to give users a quick start to use EcoCoder for control
system development. If you don’t have any Simulink models yet, and want to have
something to start with, or if you want to port your existing Simulink models into
EcoCoder platform, this is a quick start. Because EcoCoder will provide an outline (a
basic EV control model) for you, to fill in your existing model.
1. Change path to desired folder other than MATLAB installation directory.
2. Type the command ‘EcoCoder_Prj (‘DemoTest')’ in Command Window.
3. A model ‘DemoTest.mdl’, and a ‘.m’ file as shown in the following figure will be
generated. In Simulink, by using shortcut key ‘Ctrl + B’ or click ‘Build Model’
button in Simulink task bar, ‘.a2l’, ‘.mot’, ‘.cal’ file would be generated.
Copyright ECOTRONS LLC www.ecotrons.com Page 25
EcoCoder Manual V4.8.2
If the ‘CodeWarrior’ window pops up, do not manually intervene, it will automatically
compile and close when it is finished.
As shown in below picture, you can find the generated ‘mot’, ‘cal’, and ‘a2l’ files.
Copyright ECOTRONS LLC www.ecotrons.com Page 26
EcoCoder Manual V4.8.2
Chapter 4 EcoCoder Library
The EcoCoder library is an add-on library in Simulink. EcoCoder library mainly provides
interface for application software to handle I/Os, VCU power, communication and
calibration / measurement setup, etc.
Copyright ECOTRONS LLC www.ecotrons.com Page 27
EcoCoder Manual V4.8.2
4.1 EcoCoder Target Definition
Folder: EcoCoder Blocks
Description:
Under the ‘General Parameters’ tab, this block defines the specific model of Ecotrons VCU
hardware that you are using.
Place this block in application model, usually at the top level, to select the VCU model for
users’ application. The ‘Advanced Parameters’ tab enables the user to work with part of
Copyright ECOTRONS LLC www.ecotrons.com Page 28
EcoCoder Manual V4.8.2
the ROM and RAM memory addresses. If you would like to do the adjustment regarding
all the addresses, please contact Ecotrons Tech Support, otherwise, please keep it as
default.
Block Parameters:
Parameter Field Value Comments/Description
Target Drop-down list Pick target VCU
Enable all required Check box If enabled:
execution modules to be All subsystems that are not
scheduled assigned to tasking triggers
would be assigned to L1ms
trigger*
Advanced Parameters Memory addresses Contact our tech support
for adjustments
* Please refer to Task Scheduler for knowledge of 'Tasking'.
4.2 ADC
Read ADC Value
Folder: EcoCoder Blocks/ADC
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 29
EcoCoder Manual V4.8.2
In most cases, there are voltage dividing and shifting circuits on the target VCU hardware
that map the physical voltage being measured into the range that the microcontroller
chip(s) can read, usually 0 to 5V. The resolution at which this pre-processed voltage by
dividing circuits can be measured depends on the controller chip, usually 10 or 12 bits
(1023 or 4095 maximum value, respectively). A reading of 0 represents the minimum
voltage specified for these external circuits and a maximum value (1023 or 4095)
represents the highest specified voltage.
This EcoCoder block outputs values of the A/D converter channel connected to
corresponded physical pin. The output value is a mapping of ratio of the voltage level of
the analog source to the Reference Voltage (usually 5V) to a 10 or 12 bits binary value.
EcoCoder has predefined input voltage range and resolution of each channel, please refer
to datasheet of the specific VCU.
See examples below:
Channel ADC RAW Raw ADC (binary)
Predefined ADC
Resolution
(bits)
1 10 500 000111110100
2 12 500 00000111110100
Copyright ECOTRONS LLC www.ecotrons.com Page 30
EcoCoder Manual V4.8.2
Block Parameters:
Parameter Field Value Comments/Description
Analog input channel 0 – n (determined by Pick specific analog input
hardware resource of channel
specific VCU)
Copyright ECOTRONS LLC www.ecotrons.com Page 31
EcoCoder Manual V4.8.2
Read Fixed-Point ADC Volt
Folder: EcoCoder Blocks/ADC
Description:
This block enables user to read the physical voltage at the physical pin on the connector,
and block output data type is fixed-point.
Block Parameters:
1. Analog input channel: Choose analog channel.
2. Input type: Channel type of the voltage input, 4 types are supported: ‘0-5V‘, ‘0-12V‘,
‘0-24V‘ and ‘Custom Voltage Ratio’.
3. AD Resolution: Please refer to the datasheet of VCU for resolution selection.
4. Custom Voltage Ratio: this option is available for fourth input type ‘Custom Voltage
Ratio’ only. Previously, every voltage input type has fixed resistor divider, as a result, the
user just need to select voltage type. Different resistor divider is introduced in new
hardware, which explain the introduction of new input type and this input option.
5. Reference Voltage: By default, it will be set as 5V. Please do not change.
Copyright ECOTRONS LLC www.ecotrons.com Page 32
EcoCoder Manual V4.8.2
Block Output:
Volt: physical value of input voltage of specified channel; unit: V; ‘single’ data type.
(*) For fixed point toolbox advantages, refer to
https://www.mathworks.com/help/simulink/fixed-point.html
(*) Every channel has its unique configuration defined in firmware, please refer to
datasheet of VCU and select correct setting for the channel
Read Float ADC Volt
This block enables user to read the physical voltage at the physical pin on the connector,
and block output data type is float-point.
Block Parameters:
1. Analog input channel: Choose analog channel.
2. Input type: Channel type of the voltage input, 4 types are supported: ‘0-5V‘, ‘0-12V‘, ‘0-
24V‘ and ‘Custom Voltage Ratio’.
Copyright ECOTRONS LLC www.ecotrons.com Page 33
EcoCoder Manual V4.8.2
3. AD Resolution: Please refer to the datasheet of VCU for resolution selection, since
different VCUs have different AI channels setup.
4. Custom Voltage Ratio: this option is available for fourth input type ‘Custom Voltage
Ratio’ only. Previously, every voltage input type has fixed resistor divider, as a result, the
user just need to select voltage type. Different resistor divider is introduced in new
hardware, which explain the introduction of new input type and this input option.
5. Reference Voltage: By default, it will be set as 5V. Please do not change.
Block Output:
Volt: physical value of input voltage of specified channel.
4.3 CAN Communication
Please Refer to Chapter 5, CAN theory of Ecotrons before using EcoCoder CAN blocks.
Chapter 5, combined with CAN bus communication protocol, will give the user
preliminary knowledge of implementing CAN on Ecotrons VCU.
CAN Channel Definition
Folder: EcoCoder Blocks/CAN
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 34
EcoCoder Manual V4.8.2
This block provides configuration interface for CAN lower level protocol parameters. It is
recommended to read through and understand CAN lower level protocol prior to
designing CAN related application software.
Block Parameters
Parameter Field Value Comments/Description
CAN_Channel Drop-down list Please refer to datasheet to
select supported CAN
channels. In some cases,
CAN A is represented by
CAN 0.
CAN_Enable Check box If checked: the selected
CAN channel would be
activated
Copyright ECOTRONS LLC www.ecotrons.com Page 35
EcoCoder Manual V4.8.2
CAN ID Filter* Enable Check box If checked: message with ID
in filter list would be
filtered out by VCU on the
selected CAN bus.
CAN Extended Check box If checked: CAN ID input
would be interpreted as
extended format
CAN ID Mask (uint32 Hex) Not Configurable fixed at ‘7ff’, which means
only IDs with lower 11 bits
same as input of ‘CAN ID
Filter’ will be accepted by
VCU if ‘CAN ID Filter
Enable’ checked
CAN ID Filter (uint32 Hex) Numeric Specify the filter
CAN Baud Rate (bps) Drop-down list Specify baud rate
CAN TxBuffer Size Numeric Input range: 1-30. It is used
to specify software buffer
size to help store the
sequence of message to be
sent
CAN RxBuffer Size Numeric Input range: 1-30. It is used
to specify software buffer
size to help store the
sequence of incoming
message.
*For principle of CAN bus filtering, please refer to some published literatures .
Copyright ECOTRONS LLC www.ecotrons.com Page 36
EcoCoder Manual V4.8.2
CAN Wake-up Frame Definition
This block is used to define the VCU wake-up CAN message.
Parameters:
1. CAN_Channel: Selecting CAN channel number for this function.
2. Wake-up Mode: Setting the wake up mode, including Disable (disable CAN wake
up function), All Frames (any frame on the specified bus can wake VCU up), and
Specific Frames (User specify the frame that can wake up the VCU).
3. Baud Rate: CAN baud rate set up.
4. ID Extended: If checked, the specified VCU-waking-up message will have to use
extended CAN ID. If not checked, the message have to use standard CAN ID.
5. ID Setting: Specify the ID here for the wake-up message.
Copyright ECOTRONS LLC www.ecotrons.com Page 37
EcoCoder Manual V4.8.2
6. ID Mask: The mask for VCU-waking-up message ID.
7. Data Setting Enable: If checked, not only a specific waking-up message ID is
needed, but the user also need to specify the data in the message. Only message
with matching ID and data can wake up the VCU. Data can be specified in the
following blank.
8. Data Length: Set the wake-up message data length. Only when the data length
of the wake-up message match this value, the message can wake up the VCU.
9. Data Mask: The mask for wake-up message data. The message data bitwise AND
with this mask value, if one or more bit of the result of bitwise AND is (are) not
0, the message can wake up the VCU.
Read Fixed-Point CAN Message
Folder: EcoCoder Blocks/CAN
Description:
This block provides CAN messages receiving and unpacking function. It requires a .m file
Copyright ECOTRONS LLC www.ecotrons.com Page 38
EcoCoder Manual V4.8.2
of CAN message definition to help unpack CAN messages. The generation process of m
file from .dbc file is explained in Chapter 5.
Block Parameters
Parameter Field Value Comments/Description
The CAN channel has to be
Select CAN Channel Drop-down list
defined before applied.
If checked: please enter the
Select M File Check box name of m file in the blank
space under check box.
Specify CAN message to be
Select Message Drop-down list received and processed by
the block.
If checked: the block will
Show Message Available provide a signal flag to help
Check box
Port tell the availability of this
CAN message.
Message counter, if
checked: every time the
Show Message Count Port Check box
message is received, the
counter increments by 1.
If checked: the names of the
Show Signal Name Check box
signals will be displayed.
If checked: signals parsed
out from the block will be
cast as measurement
Define Signal Check box
variables. ‘Show Signal
Name’ must be checked
before checking this item.
Copyright ECOTRONS LLC www.ecotrons.com Page 39
EcoCoder Manual V4.8.2
Specify prefix to parsed out
Signal prefix Alpha-numeric text signal names, remember to
use single quote.
If checked: the data type of
the signal is inherited from
input data type.
Output Data Type: Inherit Check box If not checked: the signal
type is automatically
defined using fixed point
tool.
Sample time Drop-down list Please refer to section 5.2.5
Send Fixed-Point CAN Message
Folder: EcoCoder Blocks/CAN
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 40
EcoCoder Manual V4.8.2
Parameter Field Value Comments/Description
Select CAN Channel State Drop-down list Connected: Message will
- Connected be sent out from the CAN
- Disconnected channel selected under
‘Select CAN Channel’
Disconnected: User will
have to assign the output
port manually.
Select CAN Channel Drop-down list CAN channel selection
Select M File Check box If checked: please enter the
name of m file in the blank
space under check box.
Select Message Drop-down list Specify CAN message to be
sent and processed by the
block.
Input Data Type: Inherit Check box If checked: the data type of
the signal is inherited from
input data type.
If not checked: the signal
type is automatically
defined using fixed point
tool.
Sample time Drop-down list Please refer to section
5.2.5
Block Inputs:
Signals to be sent out.
Block Outputs (if Disconnected is selected under Select CAN Channel State):
1. Remote: frame type- 1 is remote frame, 0 is standard frame
Copyright ECOTRONS LLC www.ecotrons.com Page 41
EcoCoder Manual V4.8.2
2. Extended: frame type- 1 is extended frame, 0 is standard frame.
3. ID: message ID.
4. Length: message data length.
5. Data: message data.
Read/Send CAN Message
These two blocks are similar to previous two blocks which is generic version of CAN
read/send for customer who did not purchase fixed point toolbox of Simulink. However,
if the toolbox available, it is recommended to use fixed point version of read/send
blocks.
CAN Receive Counter
Folder: EcoCoder Blocks/CAN
Description:
This module can be used to count the number of frames received by specified CAN
channel.
Block Parameters
Parameter Field Value Comments/Description
CAN channel Drop-down list Specify the channel to be
Copyright ECOTRONS LLC www.ecotrons.com Page 42
EcoCoder Manual V4.8.2
monitored
Block Output:
cnt: If the selected channel receives one frame, cnt value increments by 1.
Set CAN Mode
Folder: EcoCoder Blocks/CAN
Description:
This module can be used to switch CAN operating mode between ‘listen only’ and
‘normal’.
Block Parameters
Parameter Field Value Comments/Description
Trigger type Drop-down list Trigger type selection
Specify CAN channel to be
CAN Channel Drop-down list
controlled
Specify the CAN mode to
CAN Mode Drop-down list
be triggered by the block
Block Input:
Copyright ECOTRONS LLC www.ecotrons.com Page 43
EcoCoder Manual V4.8.2
Trigger signal: the signal input to trigger the execution of this block.
Send CAN Data
Block Parameters:
1. CAN Channel: CAN channel selection.
2. Data Length: Message data length, in bytes.
3. CANID: The ID of the message to be sent. HEX value.
4. Frame Type: Drop-down list for frame type selection.
Block Inputs:
data: The message data to be sent.
Copyright ECOTRONS LLC www.ecotrons.com Page 44
EcoCoder Manual V4.8.2
Unpack Signals to CAN Data
Block Parameter:
Signal (Array): the signal definition matrix of CAN frame.
Block Inputs:
Data: the message data to be unpacked.
Block Outputs:
Unpacked signals from the CAN data.
Copyright ECOTRONS LLC www.ecotrons.com Page 45
EcoCoder Manual V4.8.2
Pack Signals To CAN Data
Pack CAN signals to CAN message, usually used together with Send CAN Data block.
Block Parameters:
Out Signal (Array): The definition array of the signals to be packed。
Block Inputs:
Signals to be packed, values are in HEX.
Block Output:
Data: the packed CAN message data.
Copyright ECOTRONS LLC www.ecotrons.com Page 46
EcoCoder Manual V4.8.2
Receive CAN Message
Block Parameters:
1. CAN channel: CAN channel selection.
2. CAN ID: The ID of the message to be received.
3. Extended: Message type to be received. If checked: extended frame. Otherwise,
standard frame.
4. Data Length: The data length of the to-be-received message.
5. Sample Time: Define the task scheduling time of this block being triggered.
Block Outputs:
1. Message Available: Flag for message availability, 1 stands for message valid and
available.
2. Remote: Flag for frame type, 1 stands for remote frame. 0 stands for data frame.
3. Extended: Flag for frame type, 1 stands for extended frame. 0 stands for standard
frame.
4. ID: Message ID.
5. Length: Message data length.
6. Data: Message data.
Copyright ECOTRONS LLC www.ecotrons.com Page 47
EcoCoder Manual V4.8.2
Transmit CAN Message
Block Parameters:
1. CAN Channel: Channel selection
2. Sample Time: Define the task scheduling time of this block being triggered.
Block Inputs:
1. Remote: Flag for frame type, 1 stands for remote frame. 0 stands for data frame.
2. Extended: Flag for frame type, 1 stands for extended frame. 0 stands for standard
frame.
3. ID: Message ID.
4. Length: Message data length.
5. Data: Message data.
4.4 Serial Communication Interface (SCI) Block
The SCI mode includes SCI_RxData and SCI_TxData. Currently, only SCI_A channel is
supported.
Copyright ECOTRONS LLC www.ecotrons.com Page 48
EcoCoder Manual V4.8.2
SCI Definition
Block Parameters:
1. SCI Channel: Communication channel selection.
2. SCI_Enable: Enable selected channel.
3. SCI Baudrate: Channel baudrate setup.
4. SCI Parity Mode: Parity check mode setup.
Read SCI Data
This block enables the VCU to read data from specific SCI port.
Block Parameter:
SCI_Channel: SCI communication channel selection.
Block Outputs:
1. f() : Flag for receiving data. If data received, the flag will be 1. This signal could
Copyright ECOTRONS LLC www.ecotrons.com Page 49
EcoCoder Manual V4.8.2
be used as a trigger signal.
2. Data: Output received 8-bit data.
Send SCI Data
This block will send SCI data to assigned channel.
Block Parameter:
SCI_Channel: SCI channel selection.
Block Input:
Data: The 8-bit data to be sent out.
4.5 Digital I/O
This block set is used for measuring digital input/output. Including Switch Input, Switch
Output, PWM input and PWM output.
Switch Input
Folder: EcoCoder Blocks/Digital I/O
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 50
EcoCoder Manual V4.8.2
This block reads the physical voltage level of digital input channels and output Boolean
value to application layer.
Block Parameters:
Parameter Field Value Comments/Description
Digital input channel
Switch input channel Drop-down list
selection
KeyOn Input
Folder: EcoCoder Blocks/Digital I/O
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 51
EcoCoder Manual V4.8.2
KeyON signal is recommended to be used for power up and shutting down the VCU.
For different VCUs, KeyOn signal inputs are different (refer to the VCU datasheet to
confirm the KeyOn signal input type) - if KeyOn signal is digital input, leave the
configuration as default; If KeyOn signal is read through analog input channel, user will
have to configure factor according to voltage divider parameter - for this parameter,
please refer to VCU datasheet.
Block Parameters
Parameter Field Value Comments/Description
Only one channel
Switch input channel Drop-down list
selectable for KeyOn
The voltage factor for
KeyOn voltage detection
Key AD2Volt Factor Numeric
(only valid when KeyOn is
read from AI)
If the input voltage is lower
Key Off Threshold Volt Numeric than this value, output is
‘0’.
Key On Hysteresis Volt Numeric The hysteresis value
Copyright ECOTRONS LLC www.ecotrons.com Page 52
EcoCoder Manual V4.8.2
between upper and lower
threshold.
If the interpreted voltage is
larger than the sum of ‘Key
Off Threshold Volt’ value
and this value, output is ‘1’.
Switch Output
Folder: EcoCoder Blocks/Digital I/O
Description:
Block Parameters
Parameter Field Value Comments/Description
Select switch channels to
Switch output channel Drop-down list
be controlled
Input Numeric (bool) 0 or 1, switch control value
Copyright ECOTRONS LLC www.ecotrons.com Page 53
EcoCoder Manual V4.8.2
IPM Read
Folder: EcoCoder Blocks/Digital I/O
Description:
This block measure the frequency of input PWM signal and returns the PWM signal
period.
Block Parameters
Parameter Field Value Comments/Description
Select channel to measure
IPWM channel Drop-down list
PWM input
Period (output) Numeric PWM period, Unit is 0.1ms
PWM Definition
Folder: EcoCoder Blocks/Digital I/O
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 54
EcoCoder Manual V4.8.2
This block enables channels for PWM output, initializes the PWM output parameters for
corresponding channels.
Channels with PWM output capability (H-bridge, LSO, HSO) could be found in the pinout
table of VCU datasheet.
Block Parameters:
Parameter Field Value Comments/Description
Specify the channel for
OPWM channel Drop-down list
PWM output
If checked, enable PWM
OPWM Enable Check box output function of specified
channel
Recommended frequency
range for perfect square
OPWM FRQ Numeric
wave output is 15 – 2000
Hz.
Copyright ECOTRONS LLC www.ecotrons.com Page 55
EcoCoder Manual V4.8.2
The unit for input value is
configurable in the block
PWM IO Frequency Range
Definition.
Control the duty cycle of
the selected channel signal.
OPWM Duty Numeric
Expected value is 0-10000,
corresponding to 0-100%.
PWM Output
Folder: EcoCoder Blocks/Digital I/O
Description:
This block configures PWM outputs.
Copyright ECOTRONS LLC www.ecotrons.com Page 56
EcoCoder Manual V4.8.2
Block Parameters:
Parameter Field Value Comments/Description
Specify the PWM output
OPWM channel Drop-down list
channel
Recommended range for
perfect square wave output
is 15 – 2000 Hz.
freq (input) Numeric
For the input value unit,
refer to PWM IO Frequency
Range Definition.
Control the duty cycle of
the selected channel
duty (input) Numeric
output, value 0-10000
corresponds to 0-100%.
WakeUp Input
Folder: EcoCoder Blocks/Digital I/O
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 57
EcoCoder Manual V4.8.2
The block can read wake-up signal status.
Block Parameters
Parameter Field Value Comments/Description
Switch input channel Drop-down list Wakeup source selection
Output Numeric (boolean) ‘1’ is active
H-bridge Definition
Folder: EcoCoder Blocks/Digital I/O
Description:
This block is used for setting up the VCU H-bridge(s).
Block Parameters
Copyright ECOTRONS LLC www.ecotrons.com Page 58
EcoCoder Manual V4.8.2
Parameter Field Value Comments/Description
H-bridge Channel Drop-down list Select H-bridge channel
H-bridge Enable Check box If checked: Enable H-bridge
If checked: The current
direction is from A->B.
If not checked: the current
H-bridge Current Direction direction is B->A.
Check box
A->B (A and B are the two
outputs of H-bridge, see
the VCU data sheet for
more information)
The theoretical range is 1-
2000000 Hz.
Recommended range for
perfect square wave output
is 15 – 2000 Hz.
H-bridge Initial Frequency Numeric (Hz)
Input value unit is
configurable in the PWM IO
Frequency Range Definition
block.
0-10000 corresponds to 0-
H-bridge Initial Duty Cycle Numeric
100%.
Copyright ECOTRONS LLC www.ecotrons.com Page 59
EcoCoder Manual V4.8.2
H-bridge Output
Folder: EcoCoder Blocks/Digital I/O
Description:
The block controls H-bridge output.
Block Parameters
Parameter Field Value Comments/Description
H-bridge Channel Drop-down list Select H-bridge channel
en (input) Numeric (bool) ‘1’ to enable H-bridge
‘1’ : current flows from A to
B;
curA2B (input) Numeric (bool)
‘0’ : currents flows from B
to A.
The theoretical range is 1-
2000000 Hz.
Recommended range for
frq (input) Numeric perfect square wave output
is 15 – 2000 Hz.
Input value unit is
configurable in the PWM IO
Copyright ECOTRONS LLC www.ecotrons.com Page 60
EcoCoder Manual V4.8.2
Frequency Range Definition
block.
0-10000 corresponds to 0-
duty (input) Numeric
100%.
PWM IO Frequency Range Definition
This block defines the frequency range and accuracy of PWM IOs. If it is not
implemented in the model, the accuracy will be default value, 1 Hz.
Block Parameters:
1. Frequency Range: Frequency range selection, changes in this option will alter the
frequency range and accuracy of all the frequency related block in the model.
2. Frequency Accuracy: Accuracy adjustment. Value in the box means the unit
frequency for outputs/inputs of frequency related blocks. For example, if the
Frequency Accuracy is 0.01 Hz, it means that when frequency related block
outputs/inputs value is 5, the actual physical frequency value is 5x0.01Hz = 0.05
Hz.
Copyright ECOTRONS LLC www.ecotrons.com Page 61
EcoCoder Manual V4.8.2
IPWM Read
Block Parameter:
Select IPWM Channel: PWM inputs channel selection
Block Outputs:
1. freq: the input PWM frequency of the signal
2. duty: the input PWM signal duty cycle
4.6 Task Scheduler
Task Trigger
Folder: EcoCoder Blocks/Task Scheduler
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 62
EcoCoder Manual V4.8.2
This block is for task scheduling and prioritization.
Definition / initialization blocks need to be executed when the VCU power on, for
variables initialization/parameter definitions.
All other blocks/subsystems should be triggered by this block, for task prioritization and
scheduling.
Block Parameters
Parameter Field Value Comments/Description
Task type and execution
Set Task Time Drop-down list
period selection*
* H represents high priority, tasks will be implemented by interruption. L represents low
priority, tasks will be implemented by software timer function call.
If two tasks are assigned to the same task type, then the user needs to specify priority of
the two tasks to determine execution order. Please refer to the example in the following
link for more information: https://www.mathworks.com/help/simulink/examples/block-
priority.html
* For CAN bus applications, it is recommended to run in 10ms tasks.
Copyright ECOTRONS LLC www.ecotrons.com Page 63
EcoCoder Manual V4.8.2
4.7 Non-Volatile Memory Blocks
Non-Volatile Memory (NVM) could be used to store critical data that is supposed not to
be lost, or altered during VCUs’ service life, such as vehicle odometer values. NVM
variables are stored in specified memory blocks and will be loaded to RAM when VCUs
start running, and written back to memory blocks during VCUs power-off process.
For more information, please refer to Chapter 6 for VCU memory management. Chapter
6, combined with Appendix A, will give user preliminary knowledge of implementing NVM
on Ecotrons VCU.
Fixed NVM Definition
Folder: EcoCoder Blocks/Non-volatile Memory Blocks
Description:
This module is used to define and initialize fixed NVM variables.
This Fixed NVM Definition block will only be executed once, during the first power-up
process of VCU application software, every time after the .mot file being flashed into
VCU.
Block Parameters
Copyright ECOTRONS LLC www.ecotrons.com Page 64
EcoCoder Manual V4.8.2
Parameter Field Value Comments/Description
Select the .m file defining
Select the m file .m file
NVM variables.
*The m file could be defined as the picture below:
The .m file needs to be added under MATLAB path. The ‘init’ in the .m file is the flag
for NVM variable initialization.
init = 1: The corresponding NVM variable value(s) will be loaded from .mot file during
the first time of VCU starting process, every time after .mot file being flashed into VCU.
init = 0: The corresponding NVM variable value(s) will be loaded from original VCU
NVM memory block during the first time of VCU starting process every time after .mot
file being flashed.
If the VCU that you are operating is a brand new VCU and will be flashed for the very
first time, no matter what the ‘init’ value is, the NVM variables will be initialized
from .mot file.
Read Fixed NVM
Folder: EcoCoder Blocks/Non-volatile Memory Blocks
Copyright ECOTRONS LLC www.ecotrons.com Page 65
EcoCoder Manual V4.8.2
Description:
This module is used for reading fixed NVM variables.
Block Parameters
Parameter Field Value Comments/Description
Specify the variable name
Fixed NVM Variable Variable name
to be read
Block Output:
The value of corresponding variables.
Write Fixed NVM
Folder: EcoCoder Blocks/Non-volatile Memory Blocks
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 66
EcoCoder Manual V4.8.2
This module is used for writing fixed NVM variables.
Block Parameters:
Parameter Field Value Comments/Description
Specify the variable to be
Fixed NVM Variable Variable name
written.
NVM Definition
Folder: EcoCoder Blocks/Non-volatile Memory Blocks
Description:
This block is used to initialize NVM variables and specify the NVM variable initialization
method after every time the VCU being programmed by .mot file.
Block Parameters:
Parameter Field Value Comments/Description
Load previous saved values in flash:
Load NVM value in the The corresponding NVM variable value
Drop-down list
following way would be initialized from the NVM
memory area, instead of .mot file.
Copyright ECOTRONS LLC www.ecotrons.com Page 67
EcoCoder Manual V4.8.2
Restore from factory default values
in .mot:
The corresponding NVM variable value
would be initialized from .mot file.
NVM Variable Definition
Folder: EcoCoder Blocks/Non-volatile Memory Blocks
Description:
This block is used to define regular NVM variables.
Block Parameters:
Parameter Field Value Comments/Description
Variable_name Alpha-numeric text Variable name
Initial value of the to-be
Initial Value Numeric
defined variable
Copyright ECOTRONS LLC www.ecotrons.com Page 68
EcoCoder Manual V4.8.2
Variable Type Drop-down list Select variable data type
Dimension Numeric Variable dimension
Unit Alpha-numeric text User-defined variable unit
User-defined variable
Description Alpha-numeric text
description
Read NVM
Folder: EcoCoder Blocks/Non-volatile Memory Blocks
Description:
This module is used for reading regular NVM variables.
Block Parameters:
Parameter Field Value Comments/Description
Variable_name Alpha-numeric text Specify variable name
Variable_type Drop-down list Variable data type
Block Output:
The NVM variable value
Copyright ECOTRONS LLC www.ecotrons.com Page 69
EcoCoder Manual V4.8.2
Write NVM
Folder: EcoCoder Blocks/Non-volatile Memory Blocks
Description:
This module is used for writing regular NVM variables into RAM. To save changed variables
into VCU flash between power cycles, user need to use another block ‘Store All NVM Data’.
Block Parameters:
Parameter Field Value Comments/Description
Variable Name Alpha-numeric text NVM variable name
If checked:
Define and write NVM variable
Enable Variable Definition Check box
If not checked:
Only write NVM
Initial Value Numeric NVM variable initial value (for
Copyright ECOTRONS LLC www.ecotrons.com Page 70
EcoCoder Manual V4.8.2
NVM variable definition)
Variable Type Drop-down list NVM variable type
Dimension Numeric Dimension of NVM variable
Unit Alpha-numeric text User-defined variable unit
Description Alpha-numeric text Memo
Store All NVM Data
Folder: EcoCoder Blocks/Non-volatile Memory Blocks
Description:
When this module is triggered, all NVM variable data will be written from RAM to flash,
so that the NVM data will be stored in the VCU.
It is recommended to call this block before VCU power-off. And please to not call this block
too frequently. For example, if a 5ms task is assigned to this block, flash would quickly
burn out because flash memory blocks have life span, and frequent programming/erasing
of memory block will cause program/erase cycles running out.
Block Parameters:
Parameter Field Value Comments/Description
Copyright ECOTRONS LLC www.ecotrons.com Page 71
EcoCoder Manual V4.8.2
Select Trigger Type Drop-down list Select trigger type
Restore All NVM Data
Folder: EcoCoder Blocks/Non-volatile Memory Blocks
Description:
The module reads NVM data from ROM (flash) back to RAM.
It is recommended to call this block when VCU powers on. This block could be triggered
by ‘Task_ini’.
Block Parameter:
Parameter Field Value Comments/Description
Select Trigger Type Drop-down list Select trigger type
4.8 Diagnostic Blocks
Diagnostic blocks are designed to realize VCU diagnostic functions.
Copyright ECOTRONS LLC www.ecotrons.com Page 72
EcoCoder Manual V4.8.2
Hardware Output DTC
Folder: EcoCoder Blocks/Diagnostic Blocks
Description:
This block can realize the hardware diagnosis of supported LSO, HSO and H-bridge.
Please refer to VCU datasheet for the channels that support diagnostic functions.
Block Parameters:
Parameter Field Value Comments/Description
DTC_Channel Drop-down list Select hardware channel
Block Output:
DTC:The diagnostic trouble code of the specified channel.
DTC Parser
Folder: EcoCoder Blocks/Diagnostic Blocks
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 73
EcoCoder Manual V4.8.2
This block could help parse out specific fault of DTC.
Block Parameters:
Parameter Field Value Comments/Description
Select the fault to be
Index of bit Drop-down list
analyzed
Block Input:
DTC: The diagnostic trouble code.
Block Output:
bool: If the output value is one, the specific fault selected in the Block Parameter
happened; If output value is 0, the fault did not happen.
Software Core Diagnostic
Folder: EcoCoder Blocks/Diagnostic Blocks
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 74
EcoCoder Manual V4.8.2
This block provides memory/chip fault check.
Block Parameters:
Parameter Field Value Comments/Description
Select the memory or chip
DTC_Channel Drop-down list
to be diagnosed.
Clear H-bridge DTC
Folder: EcoCoder Blocks/Diagnostic Blocks
Description:
This block can clear the H-bridge channel faults, the trigger type to trigger this block is
rising edge.
Block Parameters:
Parameter Field Value Comments/Description
Copyright ECOTRONS LLC www.ecotrons.com Page 75
EcoCoder Manual V4.8.2
H-bridge Channel Drop-down list Select the channel of H-bridge
4.9 Calibration & Measurement
Calibration Definition
Folder: EcoCoder Blocks/Calibration & Measurement
Description:
This block could help define and initialize calibration variable.
Block Parameters:
Parameter Field Value Comments/Description
variable_name Alpha-numeric text Calibration variable name
Copyright ECOTRONS LLC www.ecotrons.com Page 76
EcoCoder Manual V4.8.2
variable_value Numeric Calibration variable initial value
variable_type Drop-down list Calibration variable data type
variable_min Numeric Calibration variable lower limit
variable_max Numeric Calibration variable upper limit
Unit Alpha-numeric text User-defined calibration variable unit
Description Alpha-numeric text Memo
Read Calibration
Folder: EcoCoder Blocks/Calibration & Measurement
Description:
This block defines and reads calibration variables.
Block Parameters:
Parameter Field Value Comments/Description
variable_name Alpha-numeric text Calibration variable name
variable_value Numeric Calibration variable initial value
Copyright ECOTRONS LLC www.ecotrons.com Page 77
EcoCoder Manual V4.8.2
variable_type Drop-down list Calibration variable data type
variable_min Numeric Calibration variable lower limit
variable_max Numeric Calibration variable upper limit
Unit Alpha-numeric text User-defined calibration variable unit
Description Alpha-numeric text Memo
Block Output:
Calibration variable value.
Write Measurement
Folder: EcoCoder Blocks/Calibration & Measurement
Description
This block could help define measurement variables.
Block Parameters:
Parameter Field Value Comments/Description
Copyright ECOTRONS LLC www.ecotrons.com Page 78
EcoCoder Manual V4.8.2
variable_name Alpha-numeric text Measurement variable name
variable_type Drop-down list Variable data type
Dimensions Numeric The dimension of measurement
variable
Unit Alpha-numeric text User-defined measurement variable
unit
Description Alpha-numeric text Memo
Block Input:
To-be-measured variable.
Write and Read Measurement
Folder: EcoCoder Blocks/Calibration & Measurement
Description:
This block is an inline block, it helps read measurement variables.
Copyright ECOTRONS LLC www.ecotrons.com Page 79
EcoCoder Manual V4.8.2
Parameter Field Value Comments/Description
variable_name Alpha-numeric text Measurement variable name
variable_type Drop-down list Variable data type
Dimensions Numeric The dimension of measurement
variable
Unit Alpha-numeric text User-defined measurement variable
unit
Description Alpha-numeric text Memo
Block Input:
To-be-measured variable.
Block Output:
Same as input. (This block is used for variable measurements, does not change variable
values).
Override Probe
This block is used for overriding signal values for calibrations.
Copyright ECOTRONS LLC www.ecotrons.com Page 80
EcoCoder Manual V4.8.2
In calibration software, ‘Variable_nameOvrCal_val’ is calibration variable,
‘Variable_nameOvrMsr’ is the measurement variable, ‘Variable_nameOvrEn_val’ is the
control signal – when control signal is ‘1’, the calibration variable will override the original
signal that passes through the block, and the block output will be the calibration variable
value. When the control signal is ‘0’, this block will not override the passing-through signal,
the measurement variable will have the same value as block input and block output would
be the same as the block input.
Block Parameters:
1. Base Variable Name:user-defined name of the overriding variable.
2. Override Calibration Initial Value:initial value of the calibration variable.
3. Override Enable Initial Value:initial value of control signal.
4. Data Type: data type of calibration variable.
5. Unit: user-defined measurement variable unit
6. Description: the description of the variable.
Block Input:
Variable to be overridden.
Output:
If control signal is 1, the output of the block would be the overriding calibration variable
value;
If the control signal is 0, the output of the block would be the same as the block input. (No
overriding)
1-D Lookup Table
Folder: EcoCoder Blocks/Calibration & Measurement
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 81
EcoCoder Manual V4.8.2
This block defines 1-D look-up table. 1-D look-up table supports online calibration.
Block Parameters
Parameter Field Value Comments/Description
Name Alpha-numeric text Variable name
Breakpoint type Drop-down list Variable type
Breakpoint data Numeric (Matrix) Breakpoint data
Table type Drop-down list Table variable type
Table data Numeric (Matrix) Table data
2-D Lookup Table
Folder: EcoCoder Blocks/Calibration & Measurement
Copyright ECOTRONS LLC www.ecotrons.com Page 82
EcoCoder Manual V4.8.2
Description:
This block defines 2-D look-up table, 2-D look-up table supports online calibration.
Block Parameters:
Parameter Field Value Comments/Description
Name Alpha-numeric text 2-D look-up table name
Breakpoints 1 type Drop-down list Breakpoints 1 variable data type
Breakpoints 1
Numeric (Matrix) Breakpoints 1 variable data
data(Row)
Breakpoints 2 type Drop-down list Breakpoints 2 variable data type
Breakpoints 2
Numeric (Matrix) Breakpoints 2 variable data
data(Column)
Table type Drop-down list Select table variable data type
Table data Numeric (Matrix) Initialize table data
Copyright ECOTRONS LLC www.ecotrons.com Page 83
EcoCoder Manual V4.8.2
Calibration Data Check
This module is used for checking the calibration data at VCU power-on. If there is any
corrupted calibration data, the controller software will enter an infinite loop to avoid
potential catastrophic results due to corrupted calibration data.
Block Parameters:
Enable Calibration Data Check: If checked: enable the function.
Output:
f() : Flag for checking calibration data. If there is a problem with the calibration
data, the flag will be set to 1. This signal could be used as a trigger signal.
4.10 System Management Blocks
Power Management Example
Folder: EcoCoder Blocks/System Management Blocks
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 84
EcoCoder Manual V4.8.2
This block integrates power-off logic control and oeprations. It could be regarded as a
reference/demo design of VCU power-off logic. Users are encouraged to understand the
block first by looking down mask and then make necessary modification to the block for
customized implementations.
Block Parameters
Parameter Field Value Comments/Description
If checked, the key switch signal
Key Signal From Input Check box
can be read from VCU input.
Power Off Delay(S) Numeric Power off delay time
If set to 0, VCU will not be reset if
Key Cycle Reset Enable Numeric (Boolean) key switch turns back on before
VCU power-off delay period ends.
Copyright ECOTRONS LLC www.ecotrons.com Page 85
EcoCoder Manual V4.8.2
If set to 0, VCU will be reset if key
switch turns back on before VCU
power-off delay ends.
The duration (time threshold)
after the key-off moment (KeyOn
Key Cycle Off Duration(S) Numeric
signal absent) to the time when
VCU starts power-off process.
VCU starts power-up process if
Key Cycle On Duration(S) Numeric KeyOn signal is detected for more
than this time threshold.
The factor to be multiplied that
Key AD2Volt Factor Numeric convert AD to voltage, see section
4.2.1 for details.
If the input KeyOn voltage is less
Key Off Threshold Volt(V) Numeric than this value, KeyOn signal is
interpreted as ‘0’.
If the KeyOn input voltage is
larger than the sum of ‘Key Off
Key On Hysteresis Volt(V) Numeric
Threshold Volt’ and this hysteresis
value, KeyOn signal is ‘1’.
If this setting is ‘1’, VCU would
Power Off Fail Enable keep trying to power off at certain
Numeric (Boolean)
Reset frequency when power-down
process fails.
Enable NVM Store And If Checked: Enable NVM control
Check box
Restore option.
Copyright ECOTRONS LLC www.ecotrons.com Page 86
EcoCoder Manual V4.8.2
Set The Waiting Time(ms) Numeric Power-off delay time
Shutdown Power
Folder: EcoCoder Blocks/System Management Blocks
Description:
This block could be called to start VCU power-off process.
Block Parameters
Parameter Field Value Comments/Description
Block trigger signal type
Select Trigger Type Drop-down list
selection.
Set the time of power-off
Set The Waiting Time(ms) Numeric
delay waiting time.
Copyright ECOTRONS LLC www.ecotrons.com Page 87
EcoCoder Manual V4.8.2
Set ECU Mode
Folder: EcoCoder Blocks/System Management Blocks
Description:
This module can set the working mode of ECU.
Block Parameters
Parameter Field Value Comments/Description
Block trigger signal type
Trigger Type Drop-down list
selection.
Select ECU Mode Drop-down list Work mode selection
ECU Master Chip Wake-Up Definition
Folder: EcoCoder Blocks/System Management Blocks
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 88
EcoCoder Manual V4.8.2
The block specifies the CAN channel that wakes up the VCU.
Block Parameters
Parameter Field Value Comments/Description
Wake-up CAN channel
Trigger Type Drop-down list
selection
If checked: the specified
Wakeup Enable Check box CAN channel can wake up
VCU.
Watchdog Definition
Folder: EcoCoder Blocks/System Management Blocks
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 89
EcoCoder Manual V4.8.2
Settings for software watchdog and hardware watchdog.
Block Parameters
Parameter Field Value Comments/Description
If checked: Software watchdog is
Software Watchdog Enable Check box
enabled.
The ‘feeding dog’ operation is
Software Watchdog Wait
Numeric executed at Task_L1ms, software will
Time(ms)
reset when timeout.
If checked: Hardware watchdog
Hardware Watchdog enabled.
Check box
Enable (If this icon is greyed out, the specified VCU has
no hardware watchdog built in)
Copyright ECOTRONS LLC www.ecotrons.com Page 90
EcoCoder Manual V4.8.2
Software Reset
Folder: EcoCoder Blocks/System Management Blocks
Description:
This block is used for triggering VCU software reset. If this block is called, the VCU software
will be reset immediately.
Block Parameters
Parameter Field Value Comments/Description
Block trigger signal type
Select Trigger Type Drop-down list
selection.
Read System Free Counter
Folder: EcoCoder Blocks/System Management Blocks
Description
Copyright ECOTRONS LLC www.ecotrons.com Page 91
EcoCoder Manual V4.8.2
By calling the block, VCU main controller 32-bit free-running counter value will be read.
The value could be used to calculate time interval between certain events or to generate
random numbers, etc.
Block Output:
System free counter value.
Power Control Output
Folder: EcoCoder Blocks/System Management Blocks
Description:
Block Parameters
Parameter Field Value Comments/Description
Power Control Channel Drop-down list Power channel selection.
1: turning on power for
corresponding channel.
input Boolean
0: turning off power for
corresponding channel.
Copyright ECOTRONS LLC www.ecotrons.com Page 92
EcoCoder Manual V4.8.2
Service Software Watchdog
Folder: EcoCoder Blocks/System Management Blocks
Description:
Software watchdog, is used for reset VCU software if the watchdog internal counter times
out.
To enable this block, simply drag this block into your application software and schedule it
as a low priority task using task scheduler. Every time this block being triggered by task
scheduler will be taken as ‘feed dog’. As a result, the scheduling period should be less than
software watchdog timeout threshold.
4.11 CCP
This block set includes CCP related implementations.
Fixed CCP Slave Definition
Folder: EcoCoder Blocks/CCP
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 93
EcoCoder Manual V4.8.2
This block is used for setting up CCP related slave station definitions
Block Parameters
Parameter Field Value Comments/Description
Simple:
Under this option, the only
configurable parameter in this block
is CAN channel. After building, users
will get A2L, CAL and Mot (or Hex)
CCP Type Drop-down list file. To use EcoCAL, both A2L and CAL
files need to be loaded.
Configurable:
Under this option, after building,
users will get A2L and Mot (or Hex)
file. To use EcoCAL, A2L and Mot (or
Copyright ECOTRONS LLC www.ecotrons.com Page 94
EcoCoder Manual V4.8.2
Hex) files are needed.
CCP Enable Check box CCP enable
CAN Channel Drop-down list Specify CAN channel for CCP
Station Address(Intel) Numeric CCP Station Address
Command Receive Specify Command Receive Object
Numeric
Object(CRO) ID (CRO) ID (Master->Slave)
Data Transmit Object(DTO) Data Transmit Object (DTO) ID (Slave
Numeric
ID -> Master)
Data Acquisition (DAQ) ID Numeric CCP DAQ ID
Data Acquisition (DAQ) PID Numeric The first PID in the DAQ list.
Data Acquisition (DAQ)
Numeric DAQ list length
Length
Data Acquisition (DAQ)
Numeric CCP DAQ period
Period(ms)
4.12 Programming Blocks
Online Programming Definition
Folder: EcoCoder Blocks/CCP
Description:
Copyright ECOTRONS LLC www.ecotrons.com Page 95
EcoCoder Manual V4.8.2
This block is used for the online programming parameter definition. Note that this block
can only work with some specific VCU models. If the VCU that the user is working on does
not support this function, there will be a pop-up notice when using this block.
Users can use more than 1 of this block in their Simulink model to make multiple CAN
channels support online programming function.
Block Parameters:
Parameter Field Value Comments/Description
Online programming CAN channel
Select CAN Channel Drop-down list
selection.
If checked: programming will
Enable KeyCycle Program Check box require key cycle to start
programming.
If checked: VCU programming will
Enable Online Program Check box
not require a key cycle.
This value cannot be changed for
Station Address (Intel) Greyed out
now.
Copyright ECOTRONS LLC www.ecotrons.com Page 96
EcoCoder Manual V4.8.2
Specify Command Receive Object
Command Receive Object (CRO) ID (Master->Slave)
Alpha-numeric text
(CRO) ID (11-bit) It is recommended to remain as
default.
Data Transmit Object (DTO) ID
Data Transmit Object (Slave -> Master)
Alpha-numeric text
(DTO) ID (11-bit) It is recommended to remain as
default.
4.13 Sensors Blocks
Read Gyro Hex Value
The module reads the Hex values of the angular acceleration of the three axes of the
gyroscope and outputs the raw data in uint16.
Raw data need to be multiplied by a slope of 0.05 and an accounted for an offset of -
819.15 to give the acceleration physical value in deg / sec.
Read Gyro Phy Value
The module reads the angular acceleration of the three axes of the gyroscope and the
output is physical value in deg / sec, data type is single.
Copyright ECOTRONS LLC www.ecotrons.com Page 97
EcoCoder Manual V4.8.2
4.14 Advanced Data Blocks
OTP One-Time Programmable memory
Read OTP
Block Parameters:
Parameter Field Value Comments/Description
Copyright ECOTRONS LLC www.ecotrons.com Page 98
EcoCoder Manual V4.8.2
Start Position Offset (Byte) Numeric Start address offset value
Data length (the number of
Data Length (Byte) Numeric
bytes the data takes)
Block Outputs:
data: The data read from OTP area.
st: Data reading status, 0 stands for data reading successfully.
Read OTP (Input port)
Copyright ECOTRONS LLC www.ecotrons.com Page 99
EcoCoder Manual V4.8.2
Block Parameters:
Parameter Field Value Comments/Description
The number of bytes that
Data Length (Byte) Numeric
the data takes in OTP area.
Block Input:
Offset (byte): the start position offset.
Block Output:
data: The data that has been read from OTP area.
st: Data reading status, 0 stands for data reading successfully.
Write OTP
Copyright ECOTRONS LLC www.ecotrons.com Page 100
EcoCoder Manual V4.8.2
Block Parameters:
Parameter Field Value Comments/Description
Start address offset, the
Start Position Offset (8Bytes) Numeric
unit is 8 bytes.
Select Trigger Type Drop-down list Trigger type selection.
The length of the data to be
Data Length (Byte) Numeric
written.
The data to be written in
Data (Block input)
OTP area.
Data write status, 0 stands
for writing successful; Non-
st (Block output) boolean
0 value stands for writing
unsuccessful.
Copyright ECOTRONS LLC www.ecotrons.com Page 101
EcoCoder Manual V4.8.2
Write OTP (Input port)
Block Parameters:
Parameter Field Value Comments/Description
Block Input: OTP writing start address
Numeric
Start Position Offset (8Bytes) offset, the unit is 8 bytes.
Select Trigger Type Drop-down list Block trigger type selection.
Data Length (Byte) Numeric The data length in byte.
Block Input:
Data input
data
Block Output: Data write status, 0 stands
boolean for writing successful; Non-
st
0 value stands for writing
Copyright ECOTRONS LLC www.ecotrons.com Page 102
EcoCoder Manual V4.8.2
unsuccessful.
Read Data by Address
This block enables users to have access to memory by address.
Block Parameters
Parameter Field Value Comments/Description
Start address Numeric Start address
Data Length (Byte) Numeric Data length
Block Output:
Data output
Data
Copyright ECOTRONS LLC www.ecotrons.com Page 103
EcoCoder Manual V4.8.2
Read Data by Address (Input port)
This block is the same as the “Read Data by Address” block, except for the method of
specifying the address is changed. For this block, the address is specified by block input
signal.
Block Parameters
Parameter Field Value Comments/Description
Start address(input) Numeric Start address
Data Length(Byte) Numeric Data read length
Block Output:
Data output
data
Read String Value
This block could translate strings to corresponding ASCII numeric arrays.
Copyright ECOTRONS LLC www.ecotrons.com Page 104
EcoCoder Manual V4.8.2
Block Parameters
Parameter Field Value Comments/Description
String Input String The string to be parsed
The numeric arrays of the
Data Numeric
string ASCII.
Copyright ECOTRONS LLC www.ecotrons.com Page 105
EcoCoder Manual V4.8.2
Chapter 5 CAN Theory of Ecotrons
5.1 Introduction
Controller Area Network (CAN) nowadays is very widely used on the vehicle control system.
Ecotrons VCUs provide multiple CAN channels (3-5 channels, depending on the specific
VCU model) and enables the VCUs to communicate with multiple electronic control units
on the vehicle.
5.2 CAN Implementation
To use Ecotrons VCUs, the user need to convert DBC file into .m file and then use the .m
file to define and initialize the CAN communications. The process is intuitive, user-
friendly, and could give users more flexibility for CAN communication implementation.
Copyright ECOTRONS LLC www.ecotrons.com Page 106
EcoCoder Manual V4.8.2
Convert DBC to m File
User can convert DBC to .m file automatically using the software EcoCAN that could be
found in EcoCAL. If you want to know more about EcoCAL, please refer to the manual
EcoCAL manual for EV .
Process:
1. Open the DBC file to be converted in EcoCAN.
Copyright ECOTRONS LLC www.ecotrons.com Page 107
EcoCoder Manual V4.8.2
2. After DBC file being loaded, the following window will pop-up.
3. Click the indicated button and export the DBC file to m file, the user could specify
the saving path.
Copyright ECOTRONS LLC www.ecotrons.com Page 108
EcoCoder Manual V4.8.2
EcoCoder CAN Blocks
Please select ‘Read CAN Message’ or ‘Send CAN Message’ if fixed-point tool has not
been installed in Matlab.
Select m file
This m file could help parse out signals in messages. Users need to save the .m file under
Matlab path.
Copyright ECOTRONS LLC www.ecotrons.com Page 109
EcoCoder Manual V4.8.2
Select Message
This step will let users pick the specific CAN messages that need to be parsed.
Copyright ECOTRONS LLC www.ecotrons.com Page 110
EcoCoder Manual V4.8.2
Select Sample Time
Task_Inherit:
If ‘Task_Inherit’ is selected, the block will be executed every time when the subsystem
that includes this block is executed.
Task_ini:
The block will only be executed during the initialization process when VCU is powered
on.
Task_MDef:
The sample time will be decided according to the interval value in the .m file that is
shown below. (This value comes from DBC file, and is editable).
Copyright ECOTRONS LLC www.ecotrons.com Page 111
EcoCoder Manual V4.8.2
Interval (-t,-1) (0,0.005) [0.005,0.01) [0.01,0.02) [0.02,0.05)
Sample
Task_Inherit Task_H1ms Task_H5ms Task_H10ms Task_L20ms
Time
Interval [0.05,0.1) [0.1,0.2) [0.2,0.5) [0.5,1) [1,10)
Sample
Task_L50ms Task_L100ms Task_L200ms Task_L500ms Task_L1000ms
Time
Copyright ECOTRONS LLC www.ecotrons.com Page 112
EcoCoder Manual V4.8.2
Chapter 6 Memory Management
6.1 Introduction
When application software gets more complicated and larger, memory management will
become an important aspect of VCU software development.
6.2 Storage device
Ecotrons VCU includes two types of storage device, Flash and RAM.
Flash is the memory which stores basic software, application software, constant,
calibration and NVM variable data, the data in Flash will not be lost after powering off the
VCU. Contents in Flash would be copied to RAM during VCU power-up process. NVM
variable data is recommended to be saved to Flash before VCU power off. Calibration
could be implemented ‘on the fly’, and calibration variable data could be burned back to
Flash manually through EcoCAL, the calibration software developed by Ecotrons.
RAM (Random Access Memory) directly works with CPU by storing software needed data
and code during VCU runtime. Different from Flash, the data in RAM would be lost when
VCU powers down.
6.3 Data Storage
Calibration/Measurement Variable
Please refer to section 4.9.1 to 4.9.4 for definition, initialization, reading and writing
calibration and measurement variables.
The only special part is writing of calibration variable. It is achieved through EcoCAL ‘burn
to’ function. EcoCAL is an advanced calibration tool developed by Ecotrons. ‘Save’ option
could save calibration data to RAM, while ‘Burn to’ option could write calibration data to
VCU flash. ‘Fetch from VCU’ could help extract existing calibration data in VCU flash.
Copyright ECOTRONS LLC www.ecotrons.com Page 113
EcoCoder Manual V4.8.2
Non-Volatile Variable
There are two types of NVM variables, Fixed NVM variables and NVM variables, for
different application purposes. Ecotrons Non-Volatile memory theory is described in
Appendix A.
Copyright ECOTRONS LLC www.ecotrons.com Page 114
EcoCoder Manual V4.8.2
Chapter 7 Programming VCU with EcoFlash
EcoFlash is a user-friendly GUI for programming VCU. Please refer to EcoFlash manual for
operation of the software. The below picture provides a quick glance of EcoFlash.
Copyright ECOTRONS LLC www.ecotrons.com Page 115
EcoCoder Manual V4.8.2
Chapter 8 Measurement and Calibration with EcoCAL
EcoCAL is dedicated for data measurement, calibration, logging and analysis.
It is a professional calibration tool developed by Ecotrons. EcoCAL is based on CCP/XCP
protocols and uses the CAN bus for communication between master-slave stations. It
provides great convenience for VCU in-vehicle testing and prototype development.
Copyright ECOTRONS LLC www.ecotrons.com Page 116
EcoCoder Manual V4.8.2
Chapter 9 Uninstall EcoCoder
9.1 Uninstall EcoCoder from MATLAB
Note: You have to close all MATLAB applications before uninstalling.
1. Double-click ‘EcoCoder Loader’.
2. Choose MATLAB version, and select ‘Uninstall EcoCoder from selected MATLAB
version’, then click ‘OK’.
Copyright ECOTRONS LLC www.ecotrons.com Page 117
EcoCoder Manual V4.8.2
9.2 Uninstall EcoCoder from Windows System
For EcoCoder update, the user will need to uninstall older version EcoCoder from
Window before installing new version EcoCoder.
Note: You have to close all open MATLAB applications before uninstalling.
1. Click ‘Start’ and then click ‘settings’, follow steps in picture below
Copyright ECOTRONS LLC www.ecotrons.com Page 118
EcoCoder Manual V4.8.2
Chapter 10 FAQs
Q1. The m file exported from DBC by ‘EcoCAN’ can’t be used
A1. The name of the m file must match to the C Language variable naming requirement.
And it can’t be the name of the existing model or m file.
Q2. Model created by ‘EcoCoder_Prj’, emulation or code generation error
1. Check if your MATLAB has Fixed-Point Tool license. If not, the use of fixed-point
blocks will trigger errors.
2. Make sure all support files are added to path.
3. Check whether necessary MATLAB components are installed.
Q3. ‘CAN’ module is blank after being configured
Please check whether the CAN definition .m file is added to Path.
Q4. EcoCoder Loader Pop-up error
You may have to register the ‘comdlg32.ocx’ to windows.
Q5. How to update application model to be compatible with updated EcoCoder
a) EcoCoder Target Definition
Copyright ECOTRONS LLC www.ecotrons.com Page 119
EcoCoder Manual V4.8.2
The model must include the EcoCoder Target Definition
b) Model configuration module
‘ECU_Setting’ module is divided into independent configuration blocks. Please add CAN,
OPWM, CCP and other configuration blocks if needed.
c) Resolve some disabled modules
If CAN library blocks used in the model are disabled, you need to firstly resolve all blocks
and save the model before installing new EcoCoder, otherwise the original model will be
stuck when using new EcoCoder.
1) Right-click on the disable block, and select Library link->Resolve Link
Copyright ECOTRONS LLC www.ecotrons.com Page 120
EcoCoder Manual V4.8.2
2) Restore all disable linked blocks.
Q6. Is there a way to get rid of popping up folder of generated file?
Copyright ECOTRONS LLC www.ecotrons.com Page 121
EcoCoder Manual V4.8.2
Yes. Please go through these steps, Configuration Parameters -> Code Generation ->
EcoCoder Debug Options -> Compiled Action. Then you could configure.
Compiled Action includes: No Prompt, OpenTarget, PopupBox.
No Prompt: There is no any prompt when it finishes generating file.
OpenTarget: It will open folder which has generated files.
PopupBox: ‘Software has been compiled successfully!’ will pop up when it finishes generating files.
Q7. Is there a way to access project file in C code?
Yes, go same steps as Q6 then configure box of ‘Project Files Options’.
Project Files Options includes Reserved, Removed.
Reserved: ‘XX_CWprj’ will be reserved when it finishes generating file, so user can access C code
from ‘XX_CWprj ’ file.
Removed: ‘XX_CWprj’ will be removed when it finishes generating files.
Copyright ECOTRONS LLC www.ecotrons.com Page 122
EcoCoder Manual V4.8.2
Copyright ECOTRONS LLC www.ecotrons.com Page 123
EcoCoder Manual V4.8.2
Appendix A - Nonvolatile Variables Theory
This is a description of assigning variable values to nonvolatile and fixed nonvolatile
memory locations, how to change such values and notice for operation.
Non-volatile Variables
The NVM variables are stored in flash, which can maintain information even the VCU is
powered off (unlike RAM, which would lose data after the VCU power off). Furthermore,
the NVM variables will be kept the same even the VCU is programmed (unless it is required
to be changed by user configuration), so critical data such as odometer data will not be
lost even the VCU software update is performed.
NVM data values are read from flash and written into RAM when VCU is powered on. The
RAM variables could be read/written as many times as needed since RAM has high
Program/Erase cycle. When key off signal is detected, power off logic would trigger the
process of storing NVM variables from RAM to flash. An example power down block, which
includes this NVM variable storage logic, Power Management Example, is provided in
EcoCoder library.
Note: The power input to VCU BATT is required to be uninterrupted to make sure the
process of storing of NVM variables value is safe. If power is lost unexpectedly while
application is running, the value of the NVM variables on the next key-on will be the same
value as what had been saved into flash during the last controlled shutdown. If power is
lost unexpectedly during the controlled shutdown procedure (when the process of saving
NVM variables into flash is supposed to be happening), all NVM variables will revert to
their default values (defined in the application software).
Fixed Non-volatile Variables
The fixed NVM variables are stored in specific space of flash and arranged in the order
defined by definition block, which means specific addresses in flash are reserved for
specific variables.
Copyright ECOTRONS LLC www.ecotrons.com Page 124
EcoCoder Manual V4.8.2
If new variables need to be added to fixed NVM space, it is necessary to re-initialize by
calling definition block.
Battery Input
As mentioned previously, power supply has to be maintained at least for a short period
after key-off, in order for the VCU to execute the shutdown process.
The shutdown process implemented by block ‘Power Management Example’ includes
stopping the application and saving NVM variables that have been temporarily stored in
RAM to flash, during the power-off delay, after key-off. This is the recommended way to
save nonvolatile variables to flash. If the frequency of calling ‘Store All NVM Data’ block is
too high, errors might occur.
Copyright ECOTRONS LLC www.ecotrons.com Page 125