NE MotoHawk Resource Guide PDF
NE MotoHawk Resource Guide PDF
NE MotoHawk Resource Guide PDF
Agenda
Vardec Parameters
Software Requirements
Calibration Management
12
Analog Input
14
PWM Output
15
Fault Management
16
CONTACT INFORMATION
Let us know how we can help!
http://www.neweagle.net/support/wiki/
support@neweagle.net
Morning
DAY 1
DAY 2
DAY 3
Introduction
Fault management
Software installation
Libraries
Components
Triggers
Data storage
I/O
offerings
CAN
Questions
MotoHawk
Simple Simulink model
First build, kit setup, and flash
Basics of MotoTune
Afternoon
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Evaluation
Software Requirements
Welcome to MotoHawk training! Presented by New Eagle, this three day
course will train you to create a real-world application with Simulink and
MotoHawk, program a module, and calibrate in real-time using MotoTune.
But first things first, lets make sure you have the correct software on your
laptop.
MotoHawk
Operating System
Windows is required.
If Windows installation is 64bit, MotoHawk 2010aSP0 or later is required.
MathWorks
Required installations*
- MATLAB**
- Simulink
- Stateflow (optional, but highly recommended)
- MATLAB Coder (new for MATLAB2011a)
- Simulink Coder (formerly Real Time Workshop + Stateflow Coder)
- Embedded Coder (formerly Real Time Workshop Embedded Coder + others)
* Required before training (MathWorks distributes trial downloads and licenses)
** If MATLAB installation is 64bit, MotoHawk 2010bSP0 or later is required.
The lcc compiler (typically included with 32bit MATLAB installations) is not
included. A list of supported compilers can be found on The MathWorks site:
http://www.mathworks.com/support/compilers/R2011a/win64.html
With the installations above complete, youre system is prepared to work
with the MotoHawk Tool Suite.
The necessary software for the MotoHawk tools and a temporary license
will be provided at training.
www.neweagle.net
MotoServer/MotoTune*
* Please see the MotoHawk release notes for MotoTune and MotoServerRuntime
dependencies.
GCC (compiler)*
* Installed at training; no license required
* MotoHawk 2009bBeta2 or later is required
CANKing*
* Installed at training; no license required
MotoHawk Training Supplement:2015 Update Page 3
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
W49, RED
30A FUSE
W55, RED
W59, RED
W56, RED
W61, RED
W57, BLK
NORMAL
5A FUSE
W60, RED
W62, RED
TO
COMPUTER
USBTOCAN
BOOT KEY
(IF NEEDED)
A
F
C
D
J
K
A
B
E
JUNCTION BOX
KEY
SWITCH
BUTTON
A
B
E
F
G
H
J
K
BOOT
5A FUSE
W63, RED
W46, RED
W32, BRN-WHT
W47, BLK-YEL
B-08
B-23
BATT
ECUP
STOP
GCM-0563-048-0801
GCM-0563-048-0802
DRVGA
DRVGB
DRVGC
W45, BLU
TERMINATION
RESISTOR
W31, YEL
W30, BRN
W38, ORG
W37, GRN
W48, PPL-YEL
W25, BLK-ORG
B-20
B-21
B-07
B-06
B-14
B-13
B-24
B-01
CAN1+
HSO1
CAN1-
HSO2
A-24
B-17
W16, BLK-WHT
W58, BLK
TO
BATTERY -
W24, BLK-WHT
W41, BLK-GRN
W28, DKBLU-PNK
W40, GRN-RED
W39, GRN-YEL
B-05
B-04
B-16
B-15
CAN3-
XDRP
XDRG
DRVPA
W27, YEL
W34, ORG-BLK
W35, BLU-BLK
W10, GRY
W11, DKBLU
APP
W09, TAN-LTBLU
W12, DKBLU-WHT
W33, GRY-RED
TPS
W36, WHT-ORG
W42, PPL
W43, TAN-PPL
W15, BLK-YEL
W06, BLK-RED
W03, YEL-BLK
W19, ORG
support@neweagle.net
www.neweagle.net
B-03
B-10
B-11
A-10
A-11
A-09
A-12
B-09
B-12
B-18
B-19
A-15
A-06
A-03
A-19
A-20
A-21
A-22
W21, BLK-BLU
W53, RED
W51, RED
W22, YEL-PPL
W52, RED
W54, RED
LSO1
LSO2
LSO5
MAIN POWER
RELAY
W20, ORG-WHT
LSO4
B-02
W04, WHT
W18, PNK-BRN
CAN2-
LSO3
W26, TAN
A-18
CAN3+
MPRD
W29, RED-PNK
A-04
CAN2+
DRVPB
Phone: 877.234.1410
A-16
W64, RED
W44, WHT
C
D
J
K
B-22
LSO7
A-02
A-13
A-07
A-08
A-14
A-05
A-23
W02, PNK-ORG
FUEL
FUEL
INJECTOR
INJECTOR
(example)
W13, WHT-LTBLU
W07, YEL-ORG
W08, LTBLU
W14, WHT-BLK
W05, WHT-DKBLU
W23, RED-BLK
ETC PINOUT:
1: H2: XDRG
3: XDRP
4: H+
5: TPS2
6: TPS1
H1+
H1-
A-01
A-17
W01, PNK-LTBLU
W17, PNK-PPL
ETC
MOTOR
Literally Means :
BATT
BATTery
ECUP
ECU Power
KEYSW, WAKE
STOP
Emergency STOP
ESTOP
when asserted, disables the main power relay through hardware (on other
modules, may disable engine-related outputs such as EST and FUELP);
input for boot mode signal
DRVPx
DRiVer Power
DRVPWRx
DRVGx
DRiVer Ground
GNDx, PWRGRNDx
XDRPx
TRANSDuceR Power
XDRPWRx
XDRGx
TRANSDuceR Ground
XDRGNDx
ANxM
ANx
DGxM
DGx
same as analog sensor input monitor, but may also resolve frequency
VRx+, VRx-
MPRD
LSOx
LSDx
HSOx
High-Side Output
HSDx
Hx+, Hx-,
H-Bridge output
on some modules, can also be operated independently as low-side or highside driver outputs
CANx+, CANx-
Phone: 877.234.1410
support@neweagle.net
Other Notations :
General Notes :
~180mA at 13.8V (module only, no external loads); connected directly
to battery+; low-current power to analog/digital core of module; allows
controlled shutdown
www.neweagle.net
(continued)
Common Acronyms
Found On Other
Modules:
Acronym :
Literally Means :
GNDREF
GrouND REFerence
CNK+, CNK-
CNKVR+, CNKVR-,
CNKDG
CAM+, CAM-
CAMDG
SPDx, SPD-
SPEEDx
EKxP, EKxN
KNKx+, KNKx-
EGOxP, EGOxN
HEGOx
LSUxUN, LSUxIA,
LSUxIP, LSUxVM
INJx
ESTx
EST RTN
EST ReTurN
FUELPR
BATT_OUT
BATTery OUT
TACH_LINK
SCL+, SCL-
ISO9141K, ISO9141L
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Other Notations :
General Notes :
ground reference signal
GXDOGLIIHUHQWLDODPSOLHUWDUJHWHGDWODPEGDR[\JHQVHQVRUVLJQDO
processing
O2x+, O2x-
FINJx, FIx
FUELP
RS-485A, RS-485B
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
MIOS
TPU
CAN
Serial
RAM
Flash
Serial
EEPROM
Electrically-Erasable
Programmable Read-Only
Memory; nonvolatile variable
storage
External RAM
Parallel
EEPROM
Outputs
Vardec Parameters
Vardec
Behavior
Description
Calibration
Display
Stored in RAM.
Viewed as display variable in MotoTune.
Calibration NV
Display NV
Storage Class
Description
Constant
Volatile
Stored in RAM.
NonVolatile
Fixed NonVolatile
support@neweagle.net
www.neweagle.net
Vardec Parameters
Output Data Type The data type of the signal originating from
the output port. The Inherit from Default Value option evaluates
the data type of the default value to set the blocks data type (e.g.,
the data type can be explicitly specified as uint8 by entering the
default value as uint8(100)).
(continued)
Data Type
Size
(bytes)
Min.
Max.
Resolution
double
-inf
inf
depends on magnitude
single
-inf
inf
depends on magnitude
int8
-128
127
uint8
254
int16
-32768
32767
uint16
65535
int32
-2147483648
2147483647
uint32
4294967295
boolean
reference
2 for S12,
4 for other
n/a
n/a
n/a
struct
LQKHULWVGDWDW\SHVIURPHOGVLQVWUXFWXUHGHFODUDWLRQ
Note that, for variables with both read and write access, the read access level
must be equal to or less than the write access level.
struct container
struct reference
2 for S12,
4 for other
The Inherit via back propagation sets the data type to that governed
(where applicable) by other connected Simulink/MotoHawk blocks.
Otherwise, the data type can be explicitly specified as an integer or
floating point data type.
Read and Write Access Level Option to set security level on
read/write access from MotoTune (1 is the lowest, 4 is the highest
security level). The users security level is the minimum of the
MotoServer communication port setting and the license dongle
setting. A security level of 4 is required to create a new MotoTune
online calibration; however, any security level will allow the creating
of a new MotoTune online display.
After opening (previously created) MotoTune calibrations/displays, individual
calibration/display variables will allow read/write access if the security level set in
WKH0RWR+DZNEORFNLVHTXDOWRRUOHVVWKDQWKHXVHUVVHFXULW\OHYHO
n/a
n/a
n/a
The Text option displays the ASCII character interpretation of the value; for example,
if the engineering value is a vector with values [35 63 106], MotoTune will display
#?j.
This option may only be used with a uint8 data type.
support@neweagle.net
www.neweagle.net
Vardec Parameters
Help Text A description of the variable to be displayed in MotoTune. Enclose the
help text between single quotation marks.
Units The engineering units of the variable to be displayed in MotoTune.
Enclose the units between single quotation marks. For example, the help text and units
for a group of calibrations may appear in MotoTune as:
(continued)
Minimum Value The minimum allowable value for the variable. This will prevent a user
from entering an out-of-range value from MotoTune.
This value is in engineering units (i.e., after the gain, offset, and exponent have been applied).
Maximum Value The maximum allowable value for the variable. This will prevent a user
from entering an out-of-range value from MotoTune.
This value is in engineering units (i.e., after the gain, offset, and exponent have been applied).
Precision The precision of the variable as displayed in MotoTune. Enclose the precision
EHWZHHQVLQJOHTXRWDWLRQPDUNVXVLQJWKHV\QWD['HFLPDO3ODFHV)RULQVWDQFHLIWKHYDULDEOH
KDVDYDOXHRIDQGWKHSUHFLVLRQLVWKHYDOXHZRXOGDSSHDULQ0RWR7XQHDV
7KHGHIDXOWSUHFLVLRQRIZLOOGLVSOD\GHFLPDOSODFHV
Gain The gain applied to the raw value to calculate the engineering value as observed in
MotoTune.
Offset The offset applied to the raw value to calculate the engineering value as observed in
MotoTune.
Row Header Enumeration (Cell String, or Struct) Headings for the
rows of the variable to be displayed in MotoTune. A row header is only applicable if the
variable is a column vector or a matrix (i.e., the heading is for the rows).
Exponent The exponent applied to the raw value to calculate the engineering value as
observed in MotoTune. The MotoTune gain, offset, and exponent are applied according to the following:
(engineering value as displayed in MotoTune) = ( Gain * (raw value) )^Exponent + Offset
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
MotoTune Group String The folder name and hierarchy that contains the variable in
MotoTune. Enclose the MotoTune group string between single quotation marks, and use the |
character to delineate subfolder structure.
)RUH[DPSOHLIWKH0RWR7XQHJURXSVWULQJIRU&DOLEUDWLRQLVVSHFLHGDV*URXS_6XEJURXS
_6XEVXEJURXSWKHYDULDEOHZLOOEHIRXQGLQ0RWR7XQHLQWKHIROORZLQJ
Calibration Management
Calibration Management
There are several methods of calibration management
within the MotoHawk and MotoTune software.
A. Maintain the calibrations in the model. (Optional)
The engineer inserts correct calibrations into the default values of the vardec
EORFNV%HQHWVRIWKLVDSSURDFKDUH
the engineer can easily run the model in simulation and perform
software-in-the-loop development.
maintaining the calibrations in the model means the application
is ready to run with simply a model build; no additional steps are
necessary.
The downsides to this approach are:
online calibration changes need to be manually and tediously
transferred into the MotoHawk model.
this approach neglects the useful calibration management tools that
MotoTune provides.
%0DLQWDLQWKHFDOLEUDWLRQVLQDFDOOH5HFRPPHQGHG
The proper and recommended approach is to maintain the calibrations in a
FDOFDOLEUDWLRQOH0RWR7XQHRIIHUVVHYHUDOWRROVIRUFDOLEUDWLRQPDQDJHPHQW
Although there are several different procedures that can be used to update
calibrations from one build to another, the recommended approach is to
merge the desired calibration values into the new .srz build. Then, upon
programming, the application begins execution immediately with the correct
calibration values.
MotoHawk/MotoTune Files
.mdl
.srz
.dll
A dynamic link library file also created during the model build
(CTRL-B).
,QVXPPDU\DYDUGHFPHPRU\PDSSLQJWKHFRUUHFWGOOOHLVQHHGHGWRYLHZD
FDOLEUDWLRQRUGLVSOD\OH%\GHIDXOWVDYHGLQ&?(&8)LOHV?7'%'//
.cal
.dis
.log
A log file created in MotoTune. Contains logged data with date, time,
and value names. By default, saved in C:\ECUFiles\Logging.
7 KLVFDOLEUDWLRQOHLVFUHDWHGRILQHDQGFRQWDLQVWKHGHIDXOWYDOXHVIURPWKHPRGHO
DVLWZDVFUHDWHGIURPWKHVU]EXLOGOH
&ORVHWKHFDOOHIRUWKHQH[WVWHS
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Calibration Management
(continued)
3. Transfer/upgrade calibrations.
The Transfer/Upgrade tool transfers calibration
YDOXHVIURPDQROGFDOOHWRDQHZFDOOH
In MotoTune, select File/Transfer/Upgrade, or press the Transfer/Upgrade
icon.
) RU6RXUFHVHOHFWWKHOHZKLFKFRQWDLQV\RXUGHVLUHGFDOLEUDWLRQVHJ
Old.cal).
For Target, select New_000.cal.
Press Start and take note of any differences outlined in the report.
7 KHQVDYHWKHQHZFDOLEUDWLRQOHRYHUZULWLQJDV1HZBFDORUVHOHFW
a new descriptive name).
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Analog Input
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
PWM Output
PWM stands for Pulse Width Modulation
$3:0VLJQDOVDVTXDUHVLJQDOWKDWKDVGHQLQJSURSHUWLHV
Amplitude (A), in Volts. Amplitude is set by the voltage source (e.g. DRVP), which is
typically fairly constant.
Frequency (f = 1/T), in Hertz.
Duty cycle (DC = TH / T), in %. The duty cycle is the percentage of the signal that is
non-zero (when analyzed over 1 cycle.)
When used to control an output, the combined electrical and mechanical response of
WKHDFWXDWRUUHVXOWVLQDQHIIHFWLYHDYHUDJHYROWDJHWKLVLVDPRUHHIFLHQWPHWKRGRI
controlling power than with resistive methods).
The PWM frequency is matched to the actuator to minimize oscillations.
PWM Block
$3:0GULYHQRXWSXWFDQDOVREHXVHGLQFRQMXQFWLRQZLWKDORZSDVVHOHFWULFDOOWHUWR
produce an analog voltage, where the duty cycle is proportional to the voltage.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Fault Management
3/5
cycle number
->
fault behavior
enabled
sticky
save-occurred
stickypersistant
key cycle
Fault x/y
setting
S = Suspected
A = Acted
O = Occurred
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
MOTOHAWK
RESOURCE GUIDE
System Requirements
Starting MotoTune
Checking MotoServer
Creating A Display
Checking Operation
10
First Application
10
10
MotoHawk allows you to access the Inputs and Outputs of the modules, schedule when to
execute tasks, manipulate the memory usage of the module, create a calibration interface,
and most importantly, allows a single step build of the entire application.
14
15
MotoTune Options
16
17
Gathering data
17
21
21
23
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
About MotoHawk
MotoHawk extends Simulink and Real-Time Workshop Embedded Coder to generate code
necessary to interface with the resources of the modules and control their behavior.
The goal of MotoHawk is to let the user concentrate on solving the control problem rather
than solving the programming problem. Programming an embedded module is notoriously
GLIFXOWERWKLQWHUPVRIFRGLQJDVZHOODVDFWXDOO\WUDQVSRUWLQJWKHDSSOLFDWLRQLQWRWKH
module during reprogramming. MotoHawk addresses all of this to make the stuff that should
EHHDV\DFWXDOO\HDV\8QIRUWXQDWHO\WKHGLIFXOWSDUWRIFRQMXULQJXSWKHPDJLFWRFRQWURO
your engine or vehicle is still complex. MotoHawk makes it simpler to implement the magic.
11
12
10 Smartcraft Cable
10
14
5
4
6
1
13
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
15
3
140520 MotoHawk Resource Guide: Chapter 1 Intro - Page 2
System Requirements
1. Windows XP (any SP,) Windows 2000 (SP3 or SP4)
Windows NT (SP5 or SP6a)
2. Pentium III or IV, Xeon, Pentium M, AMD Athlon,
Athlon XP, Athlon MP
3. 345 MB disk space
4. 512 MB RAM (1 GB or more recommended)
5. 16, 24, or 32 bit OpenGL capable graphics adapter
(strongly recommended)
6. Microsoft Windows supported graphics accelerator card,
printer, and sound card
7. 1400x1050 display (min)
(1600x1200 strongly recommended)
Phone: 877.234.1410
6WDWHRZ
6WDWHRZ&RGHU
support@neweagle.net
www.neweagle.net
Select Next.
The next message window contains the License Agreement.
Read it, then select Yes to continue.
You must accept License Agreement in order to use the compiler.
)ROORZWKHLQVWUXFWLRQVWKDWDFFRPSDQ\WKHOLFHQVHOH
A hard copy of the License Agreement was included with your
SDK.
FAX a signed copy to (805)965-6343, Attn: Mickey Neal.
A permanent license will be e-mailed to the address
indicated in the Customer Information window
(usually the next business day.)
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
MotoHawk
Installation Procedure
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Default Application
7DUJHW'HQLWLRQ
Main Power Relay
Trigger blocks
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Starting MotoTune
From the Start menu (or desktop shortcut) select
All Programs/MotoTools/MotoTune.
The following window appears
The name that was used to order your kit should appear at the top of
the window. If it indicates [Unlicensed,] then you need to insert/reinsert
the silver dongle.
Checking MotoServer
Right-click on the Satellite Dish icon for MotoServer.
(Located on the system tray.)
Select Ports.
If not already listed, Add location PCM-1 as a CAN type port with Access
Level 4, check the box on the list, and click on Apply.
'RXEOHFOLFNRQWKHVU]OHLQWKHZLQGRZ
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
If they are operational, turn power off. Install the BOOT KEY
from your kit onto the SmartCraft hub.
(ECU555-128 users will also need to move the fuse from the
Normal socket to the BOOT socket to insure boot loader is invoked.)
'RXEOHFOLFNRQWKHVU]OHDQGDSSO\SRZHU
If this does not work, check with your instructor or send
an e-mail to: MCSsupport@woodward.com.
Creating A Display
In the MotoTune Window, select File/New/Online Display/
Calibration.
Select Display on the pop-up and click on OK.
The Create New Display window appears
*LYH\RXUGLVSOD\DPHDQLQJIXOQDPHLH0\)LUVW3URMHFW'LVSOD\
Select Next for default Row and Column settings.
Select Next for default Status Bar and Tab Control settings.
Use default Sheet1 by clicking on Finish.
The following should appear
&OLFNRQWKHQH[WWRWKH0\)LUVW3URMHFWIROGHU
(listed on left side of the MotoTune window.)
Open the:
>Foreground folder
>Controller folder
>Plant folder
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Checking Operation
Open the System folder, then the Performance folder.
Simulink Icon:
located top of the MATLAB window.
First Application
Click the Simulink icon
Simulinks Library Browser appears
These are the Simulink and MotoHaw blocks which, are used for creating
your application models.
support@neweagle.net
www.neweagle.net
Select the Sine Wave block, hold down the CTRL key
and click on the Gain block
Notice how Simulink connects the two blocks. This technique can be used
to wire the blocks to one another and is especially useful when wiring
signals to or from consecutive ports on a block. Simulink will start at the
top and work down either side (in or out) of the block.
support@neweagle.net
www.neweagle.net
Press CTRL + D.
Notice that Simulink has generated an error message and highlighted the
offending subsystem and block informing us that only constant or
inherited (-1) sample times are allowed in triggered subsystems.
Change it to -1 (inherited.)
The subsystem will now inherit its sample time from the parent (level above,)
which is FGND_RTI_PERIODIC or 5 milliseconds.
5LJKWFOLFNRQ0\)LUVW3URMHFW'LVSOD\VDQGVHOHFW&ORVH
Currently, this is the only way to close one display and open another in MotoTune.
6HOHFW)LOH3URJUDPDQGGRZQORDG0\6HFRQG3URMHFWLQWR
the module. Create a new display as above.
LH0\6HFRQG3URMHFW'LVSOD\
Drag in your System Performance variables and note, via your
display and the Main Power Relay, that your application is running.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
support@neweagle.net
www.neweagle.net
Method 2 add a Product block from the same library and a Calibration block from the
MotoHawk library.
In the case of a Gain block; Real Time Workshop will allow us to change the Gain value
GXULQJVLPXODWLRQEXWRXUREMHFWLYHLVWRJHQHUDWHHPEHGGHGFRGH
The RTW Embedded Coder treats a Gain block as a hard-coded constant which, precludes
changes at run-time. Therefore, we will use the second approach; an Amplitude
calibration block and a product block.
support@neweagle.net
www.neweagle.net
Connect the new calibration block and the Sine block to the
product block inputs.
Wire the product block output to the Scope and Sine probe block.
Your model should look similar to this
Press CTRL + D and verify that there are no errors.
Then press CTRL + B to build it.
Program the module with the new application. Set up your display
and calibration windows in MotoTune as before.
Open a chart for the Sine probe and verify the amplitude value.
Now change the amplitude to 100.
Note that the display is rescaled for the new value.
support@neweagle.net
www.neweagle.net
>Fast
>Add to chart/log
>Apply to all
Click OK.
For calibration values that are used in only one place in the model, the
motohawk_calibration block is a convenient means of introducing the
variable.
Select the Help button at the bottom of the dialog box to view remaining options.
Read More
Also, when a revised model is downloaded to the module, the values stored in EEPROM will be
loaded into RAM unless the structure has changed or the RestoreNVFactoryDefaults function is
invoked from the System\NonVolatile Storage folder in the Display pane.
MotoTune Options
Selecting Attach VarDec for Visibility from MotoTune expands
the dialog box giving us more options.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
([DPSOH<RXDUHDGMXVWLQJFDOLEUDWLRQYDOXHVDQG\RXGHFLGHWRFKDQJHWKHORJLFLQ
your module (ie. change a greater-than to a greater-than-or-equal-to.) You can rebuild the
application, reprogram the module, and pick up where you left off, without having to up-load
the calibration.
Displays allow the Engineer or Technician to monitor or manipulate signals in the system to
establish conditions necessary for testing or calibration.
The changes made via Display variables are not savedLQWKHGLVOHDQGVRGRQRWSHUVLVW
past the MotoTune session.
On the other hand, Calibration changes are savedLQDFDOOHDQGFDQEH0HUJHGZLWKRU
7UDQVIHU8SJUDGHGLQWRDQRWKHUFDOLEUDWLRQRUVU]OHWRFUHDWHDQHZFDORUVU]OH
which contains the desired changes.
Read more
Gathering data
:HKDYHVHHQKRZDGDWDGHQLWLRQEORFNLVXVHGWRLQWURGXFH
a constant into the system. Now, look at how it can be used to
gather data from our system.
From the Ports & Subsystems library, drag in an enabled
subsystem and delete the scopes. Double-click on the
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Wire the idx input of each data write block to the output of the
sum block.
Wire input1 to the data input of the SineData block and input2
to the CosineData block.
Your enabled subsystem should look like this
6DYHOHDQGFORVHWKLVZLQGRZ
In the Foreground window, right-click on the
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
$PSOLWXGHGDWDGHQLWLRQEORFNDQGPDNHWZRFRSLHV
'RXEOHFOLFNRQWKHUVWFRS\FKDQJHWKHQDPHWR6LQH'DWD
change the Storage Class to NonVolatile, and change MotoTune
Window to Display.
Place the following in the Initial Value box: zeros (1,200.)
Click Apply and OK.
Double-click on the second copy, change the name to
CosineData, Storage Class to NonVolatile, and MotoTune
Window to Calibration.
Click Apply and OK.
Place the following in the Initial Value box: ones (1,200.)
&RS\WKHIFDOLEUDWLRQEORFNDQGUHQDPHLW
Log and set the initial value to zero.
Wire the Sine signal to In1 and the Cosine signal to In2 of the
enabled subsystem.
Wire the Log block to the input at the top of the enabled
subsystem.
Your model should look like this
Press CTRL - D. If there are no errors, press CTRL - B.
Start MotoTune and create a new display and a new calibration.
,QWKHGLVSOD\SDQHH[SDQG0\6HFRQG3URMHFWDQG)RUHJURXQG
Drag SineData into the worksheet.
Note that all of the values have been set to zero.
,QWKHFDOLEUDWLRQSDQHH[SDQG0\6HFRQG3URMHFW
Note the folder and sheet of paper, both named Foreground.
The folder contains the CosineData vector array (another sheet of paper). The
VKHHWRISDSHUFRQWDLQVWKHVFDODUYDULDEOHV%RWKKDYHEHHQGHQHGLQWKH
Foreground layer of the model and the default group string was used.
7KHRWKHUZRXOGEHWRSODFHWKHGDWDGHQLWLRQEORFNVLQWKHHQDEOHGVXEV\VWHP
The system designer needs to decide what is the best way to organize these data
structures, a CTRL - B is required to generate a new DLL.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
,IWKHUHLVQRQHHGWRHGLWWKHYDOXHVRILQHIDFWRU\GHIDXOWV
are a good starting point for an adaptive algorithm,) the
'LVSOD\YDULDEOHZLOOVXIFH
If, however, the values are best customized based on which
variety of installations it will be used on, then the Calibration
variable is the one to use.
We are done with this example you may close it.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Pin N
Number
umber
Signal N
Name
am
me
Motor-
XDRG
XDRP
Motor+
POT2
POT1
$WWKH6LPXOLQNFRPPDQGOLQHXVHWKHPRWRKDZNBSURMHFW
LQVWUXFWLRQWRRSHQDQHZSURMHFW1DPHLW7KURWWOH&RQWURO
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
These determine the way that memory will be allocated during code
generation. The default is single (32 bits) and should not be changed
unless greater resolution is required or the target processor does not
VXSSRUWRDWLQJSRLQWRSHUDWLRQV
support@neweagle.net
www.neweagle.net
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
CHAPTER 2 : Faults
About Faults
Fault Blocks
Fault Manager
)DXOW'HQLWLRQ
Fault Status
Fault Action
([DPSOH
ure
l
i
a
f
ure
l
i
a
systteem
f
ure
l
i
a
f
sys tem
sys temm failure
s ection covers
syThis
Th section
co
cover
verss the basics
cs of faults
cs
faul within MotoHawk.
FAULTS
About Faults
Faults are used to indicate failures within a system.
For instance, if a sensor becomes disconnected, the application can detect this out of range
condition and signal the issue via a fault.
Fault diagnosis usually accounts for 50-70% of the code within any production application.
In other words, when you have the control logic done but not the fault detection, you are only
about 1/3 to 1/2 done with your application. MotoHawk provides a nice set of blocks to help you
signal faults and take actions as a result of faults.
Faults are nothing more than signals that some logic has found an issue within the system.
)DXOWGLDJQRVLVDQGLGHQWLFDWLRQLVDFRPSOH[VXEMHFWWKDWFKDQJHVEDVHGRQWKHDSSOLFDWLRQ
+RZHYHU\RXZLOOQGWKDWDOOJRRGDSSOLFDWLRQVDWOHDVWGLDJQRVHVHQVRUIDLOXUHDQGVKRXOGGLDJQRVH
actuator failures if possible. Why? Because wiring harnesses fail, sensors fail, and actuators fail.
Ideally, your application will do three things well:
Fault Containment the act of keeping a fault from propagating to other parts of the system.
)DXOW,GHQWLFDWLRQWKHDFWRIGHWHUPLQLQJDVSUHFLVHO\DVSRVVLEOHWKHVRXUFHRIWKHIDXOW
)DXOW$QQXQFLDWLRQWKHDFWRIUHSRUWLQJWKHIDXOWWRVRPHRQHZKRFDQ[LW
)DXOW$FWLRQWKHDFWRIDGMXVWLQJV\VWHPRSHUDWLRQLQUHVSRQVHWRWKHIDXOW
6RPHIDXOWVDUHHDV\WRGHWHFWOLNHDVLJQDOEHLQJRXWRIUDQJH2WKHUVFDQEHWHUULEO\GLIFXOW
like a signal stuck in range. Unfortunately, MotoHawk does not help you with the containment or
LGHQWLFDWLRQSUREOHPV7KDWLVWKHMRERIWKHDSSOLFDWLRQGHVLJQHU0RWR+DZNZLOOKRZHYHUDOORZ\RX
to record the faults, help annunciate them and help interface to action code.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
MotoHawk allows you to route multiple faults to a single fault action. This is a powerful idiom that will
VLPSOLI\WKHGHVLJQHUVMRE%HFDXVHIDXOWDFWLRQVDUHLQGHSHQGHQWRIIDXOWVWKHUHLVQRQHHGWRGHQH
various levels of seriousness to the faults. The seriousness is contained within the application.
The easiest way to think about this you have fault signals
and fault actions...
For instance, an engine designer may design a fault that detects low oil pressure and an action that
is capable of shutting down the engine. He can then decide if low oil pressure is worthy of shutting
down the engine. Often times, this decision cannot be made at design time.
<RXPD\EHEXLOGLQJDQHQJLQHWKDWFDQEHLQVWDOOHGLQDWUDVKWUXFNDQGDUHWUXFN6KXWWLQJGRZQ
a trash truck because of low oil pressure is probably very desirable so that the engine can be
UHSDLUHG+RZHYHUPRVWUHGHSDUWPHQWVZRXOGMXVWDVVRRQSXPSZDWHURQWRWKHUHXQWLOWKH
engine is reduced to a pile of molten metal rather than shut the engine down.
MotoHawk respects this and allows you to calibrate faults to fault actions, rather than requiring the routing
EHVHWDWGHVLJQWLPH7KLVDOORZVDVLQJOHFRGHEXLOGWRKDQGOHERWKRIWKHH[DPSOHFDVHVZLWKMXVWD
change in the calibration.
)DXOWVDOVRQHHGWRKDYHOWHULQJ0RWR+DZNIDXOWVSURYLGHDQ;RXWRI<WHVWZKLFKEDVLFDOO\VD\VWKDWWKH
IDXOWPXVWEHSUHVHQW;WLPHVRXWRI<VDPSOHVWREHGHFODUHGDFWLYH
Faults are considered Suspected whenever any of the Y number of samples have detected the
IDXOWEXWWKHQXPEHULVOHVVWKDQ;
)DXOWVDUH$FWLYHZKHQDWOHDVW;RXWRI<KDYHRFFXUUHG
,QDGGLWLRQWROWHULQJ0RWR+DZNIDXOWVKDYHVRPHGLIIHUHQWEHKDYLRUV$)DXOWFDQEH
'LVDEOHGPHDQLQJLWZLOOQRWVLJQDODIDXOWHYHQLIWKH;RXWRI<FRQGLWLRQLVVDWLVHG
'LVDEOHGPHDQL
QLQJLWZLOOQRWVLJQDODIDXOWHYHQLIWKH;RXWWRI<FRQGLWLRQLVVDWLVHG
HG
6WLFN\PHDQLQJWKDWRQFHVHWLWZLOOUHPDLQVHWXQWLOWKHQH[WSRZHUGRZQRUXQWLOLWLVH[SOLFLWO\
WLFN\PHDQLQJ
QJWKDWRQFHVHWLWZLOOUHPDLQVHWXQWLOWKH
HQH[W
[WSRZHUGRZQRUXQWLOLWLV
[W
LVH[SOLFLWO\
LV
cleared. This settin
setting
ing is handy for detecting transient or inte
intermittent
term
rmittent faults that may app
rm
appear
ppear and
pp
disappear before they
t
can be observed in MotoTune.
Persistent a fau
fault
ault that acts like the Sticky fault, in tha
that
hatt it w
will remain set once the fa
fault
conditions occur. But it will remain set across a power cycle.
cycl
cle. A persistent fault once set
et will
UHPDLQVHWXQWLOLW
UHPDLQVHWXQWLOLWLVH[SOLFLWO\FOHDUHG
WLVH[SOLFLWO\FOHDUHG
Fault Actions can be initiated by one or more faults. Any given fault can drive up to four fault actions based
on various states of the fault (i.e. Suspected or Active). The fault action block will report a high Boolean
VLJQDOZKHQDQ\RIWKHDVVRFLDWHGIDXOWVDUHVHW7KHDSSOLFDWLRQGHVLJQHULVWKHQUHVSRQVLEOHWRGHQHWKH
proper system response.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Fault Blocks
0RWR+DZNSURYLGHVVHYHUDOEORFNVWRGHQHDQGLQWHUDFW
with faults within your system.
These are located in the MotoHawk Library under Fault
Management.
Fault Manager
7KLVEORFNFDQH[LVWDQ\ZKHUHLQ\RXUPRGHO<RXZLOOQHHG
only one for the model. The storage for the fault manager
allows you to control where the fault calibration is stored.
If set to FLASH the faults can only be calibrated on a
GHYHORSPHQWPRGXOHRURILQH
,IVHWWR((3520WKHFDOLEUDWLRQFDQEHDGMXVWHGRQDQ\
module.
The access level refers to the security level required of the
MotoTune user to perform the action.
The MotoTune group string controls where the Fault calibration
will be shown in the MotoTune Calibration Tree.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
)DXOW'HQLWLRQ
7KLVEORFNGHQHVDIDXOWLQ\RXUV\VWHP)DXOWVPXVWKDYH
unique names throughout the system.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Fault Status
These blocks allow you to read the status of a single fault or
a group of faults.
When reading multiple statuses, the output will be a vector
of boolean values corresponding to the fault list.
Motohawk_get_faults(system:)
This is a utility function that will
retrieve all of the faults located in
the system and its children. Use
EGURRWWRQGDOOIDXOWVZLWKLQWKH
model. The fault list returned by
this function will be alphabetized.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Fault Action
7KLVEORFNGHQHVDIDXOWDFWLRQ
The fault action name must be unique within a model.
The action will become active when a fault is routed to it
either via the design or via calibration. The application
GHVLJQHUWKHQQHHGVWRFUHDWHWKHFRGHWKDWZLOOH[HFXWH
when the fault action is active.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
([DPSOH
)RUDODUJHUYLHZRIGUDZLQJRSHQ0RWR+DZNB5HVRXUFHB*XLGHB[BGUDZLQJVSGIRQWKHLQFOXGHGWUDLQLQJFG
7KLVH[DPSOHZLOOGHPRQVWUDWH
the Fault Blocks.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
H[DPSOHFRQWLQXHG
1RWLFHLQ0RWR7XQHGLVSOD\H[SORUHU
there is a category for Faults that
contains the display variables for:
)RUDODUJHUYLHZRIGUDZLQJRSHQ0RWR+DZNB5HVRXUFHB*XLGHB[BGUDZLQJVSGIRQWKHLQFOXGHGWUDLQLQJFG
Active Faults
Occurred Faults
Suspected Faults
command that will clear faults
Also, for every Action there is a reason
display variable that will tell you all of
the faults that are causing the particular
action.
All of the displays are marquee type
displays, that will roll through the faults
and display the fault names.
Open a calibration and notice the Faults
FDWHJRU\LQWKH&DOLEUDWLRQ([SORUHU7KH
Fault Manager is located here.
Open it up.
7KHIDXOWPDQDJHUFRQWDLQVHOGV
that can be set in the Simulink Fault
'HQLWLRQ%ORFN7KH\DUHIRXQGKHUH
DQGFDQEHDGMXVWHGDWUXQWLPH
7KHUHLVDOVRDQH[WUDHOG7HVWWKDW
will allow you to force the fault active
without the input conditions being set.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
CHAPTER 3 : CAN
About CAN
Introduction
Payloads
Protocols
Examples of Protocols
&$1&KDQQHO'HQLWLRQ
Slot Properties
10
10
Example
11
13
13
13
13
0HVVDJH'HQLWLRQ6WUXFWXUH
Advanced Example
16
18
R
A
W
G
N
I
N
R: !
E
D LT
A
E
R ICU
E
H DIFF
T
and
TO OT receivingSending
messages
IS N via a CAN port is incredibly
N
It is far easier to send or
CA receivesimple.
a message via CAN than it is a
About CAN
The CAN standard was invented by Bosch in the early 1990s to facilitate the communication
of data between devices in a vehicle. CAN literally means Controller Area Network.
All MotoTron Control Solutions modules are compatible with the current standard CAN 2.0B.
Most of our modules have at least one CAN port, while a few have as
many as three.
All of our drive-by-wire marine applications require two busses for reliability and redundancy,
so many modules are equipped with a pair of busses.
On to the basics of what makes a CAN bus.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
First, a CAN bus requires at least two participants in order to be a bus. The physical connection between
devices is a 2 wire cable. The wires are often labeled CAN-H and CAN-L. There must be a 120 ohm resistor
This section covers the basics of the CAN databus and how to use between CAN-H and CAN-L somewhere on the bus called a terminator. The terminator resistor can be
the MotoHawk facilities to interface your module to a CAN bus.
placed physically anywhere in the bus, but ideally is located at one end or the other. You can have more
than one terminator, but remember that too many cause the bus to stop working.
Introduction
CAN bits are transmitted across the bus as either dominant or recessive. This means that a dominant bit
(a 0) will win over a recessive bit (a 1). All of the transceivers on the bus must be operating at the same
bit rate (aka the baud rate.) All of the transceivers on the bus synchronize to one another by detecting the
edges between 1s and 0s. Luckily, the transceivers do much of the hard work of transmitting and receiving
messages. The software needs only load messages to be sent and react to incoming messages. The
transceivers make sure that a message gets out on the bus if possible. Commonly, busses are operated at
250K baud but can run as fast as 1M baud. The length of the bus is directly related to how fast you can
run the bus. For reliable communications, the maximum range at 250K baud is 100 feet; at 1M baud it is
30 feet.
All CAN messages are comprised of:
- An ID of either 11 bits (aka a standard ID) or 29 bits (aka an extended ID),
- A Data Length Field saying how many payload bytes there are. This number can be from 0 to 8, and A payload of 0 to 8 bytes. Notice that the payload can change sizes. Yes, a perfectly valid message can
contain no payload at all. You might ask, why you would ever transmit a message with no data? Usually to
indicate that a module is alive by sending a heartbeat to other modules in the system or to represent the
occurrence of an event. Notice as well that IDs can be of two different types. Is it permissible to have both
W\SHVRQWKHEXVDWWKHVDPHWLPH"$EVROXWHO\7KHEXVZLOOSHUIRUPMXVWQHZLWKERWKW\SHVRI,'VDQG
variable length payloads running across it. Also, messages with IDs of the same value but different type are
considered totally different messages.
So, how are the inevitable bus collisions (times when two modules want to transmit at the same time)
handled in CAN? Very nicely.
Remember that all transceivers are synchronized. The two transmitting modules will start clocking out
WKHLU,'ELWVDWWKHVDPHWLPHVWDUWLQJZLWKWKHPRVWVLJQLFDQWELW$VVRRQDVWKH,'ELWVGLIIHUWKHGHYLFH
that is transmitting the 0 wins the bus (because 0s are dominant) and continues clocking its bits out. The
device with the 1 in the ID bit, automatically detects that it lost the bus and stops trying to transmit, and it
will automatically wait until the next transmission slot to try again.
So, this brings us to a couple of rules:
Lower ID values have higher priority on the bus
(and standard IDs are higher priority than extended IDs)
No two devices can transmit the same ID.
7KHUVWUXOHLVIDLUO\REYLRXVVDUHGRPLQDQWVRORZHU,'VZLOOPDNHLWRQWKHEXVUVW7KHIDFWWKDW
standard IDs are higher priority than extended is caused by the transmitting of a 1-in-1 of the early
messaged header bits to indicate that the following ID is extended.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
The second rule is not as obvious, but will bite you. If two modules tried to send the same ID at the same
time, neither would know that it did not win the bus. The failure would not occur until they had a different
bit in the payload. Unfortunately, each module will only be informed that its message failed a parity test
(due to the payload bits being clobbered). Each module will then dutifully retry to transmit. Since they are
synchronized, they will once again clobber each other. So, never, ever have two modules potentially sending
the same ID. Of course, never is a strong word. And, you will see that some protocols actually will break
this rule to do address claiming but more on that later.
Payloads
Protocols
Protocols are where CAN gets thorny. Because CAN has a limited number of ID bits and only 8 bytes of
SD\ORDGGHQLQJZD\VWRWUDQVSRUWDOOW\SHVRIGDWDFDQEHGLIFXOW2IWHQWLPHVZHKHDUTXHVWLRQVOLNH
Do you support CAN? The answer is, of course, yes. What they are probably asking is, Do you support
[something like] J1939 running across CAN? The answer is maybe.
:HXVXDOO\FRQVLGHUSURWRFROVWREHDSSOLFDWLRQVSHFLF That is, the application is responsible for
implementing the protocol. MotoHawk, Control Core, and Woodwards MotoTron Control Solutions hardware
provide all of the necessary infrastructure to implement protocols, but it is rare for protocols to be
implemented in these layers. The exception to this is the reprogramming protocol for the module via CAN.
The boot loader needs to communicate with MotoTune to reprogram a module. Since the application is not
running during reprogramming, the boot loader then becomes responsible for the reprogramming protocol.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
0RVWSURWRFROVSHFLFDWLRQVZLOOGHQH0HVVDJH'HQLWLRQVZKLFKLQFOXGH
0RVWSURWRFR
FROVSHFLFDWLRQVZLOOGHQH0HVVD
VDJH
JH'
'HQLWLRQVZKLFKLQFOXGH
ID (including whether it is extended or st
standard)
stan
andard)
A description
de
of any of the meaningg of aany
ny ID bits
A description
dont
de
of any ID bits that aree don
ont care, commonly called the mask
on
Frequency
Freq
equency of the message, or the event
eeve
vent
nt tthat will cause it to transmit
The
Th device responsible for transmitting
transmitttting th
the message
The
Th expected number of bytes in the
th payload
payl
pa
yload
The
Th contents of the payload
The
Th size of each content item in bitss
The
Th location of each content item in the
he payload
p
The
items
Th data type of each of the content
nt ite
tems
ms
The
content
Th byte packing order of each of th
the co
cont
ntent items
A translation
of each content item into
tr
int
nto real
r world units
If the
t protocol has states, then a listt of aallll states and transitions
8QIRUWXQDWHO\RIDOOSURWRFROVSHFLFDWLRQVDUHLQFRPSOHWHEHFDXVHWKH\DVVXPHFHUWDLQIDFWVOLNHE\WH
order) without specifying them. The missing information is often the reason that you cannot connect your
application to an existing CAN network without problems.
Examples of Protocols
J1939 : Recommended Practice for a Serial Control and Communications Vehicle Network
7KLVLVWKHQHWZRUNIRXQGRQPDQ\KHDY\GXW\WUXFNV&RPPXQLFDWLRQLVGHQHGIRUDYHU\ODUJH
number of devices like engines, transmissions, dashes, anti-lock brakes, etc.
NMEA2000 : This is the protocol published for marine vessels. The protocol is similar to J1939.
SmartCraft : This is the drive-by-wire protocol on Mercury Marine powered vessels.
GMLan : This is the protocol running in your favorite Chevy.
CCP : This is the CAN calibration protocol used by many controllers for calibration and service tool interaction.
When transmitting, all messages are transmitted via a single hardware buffer...
(usually buffer 0) from a software queue. As the application executes, each message that is to be transmitted
is loaded into the software queue. The OS then monitors the buffer and transmits messages from the queue as
quickly as possible.
(Remember at 250K baud, it takes about 500 ns per message to transmit if the bus is not otherwise busy.)
Two different forms of transmit blocks are available.
One will transmit a raw message meaning a message with the ID and payload computed by another part of the
application. The other block will form the message from individual signals being fed to the block and a message
VSHFLFDWLRQ7KHODWWHUEORFNLVJHQHUDOO\XVHGIRUEURDGFDVW[HGFRQWHQWPHVVDJHV7KHIRUPHULVJHQHUDOO\
used to handle protocols in which the payload changes based on the state of the protocol.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
7KHZD\WRWKLQNDERXWWKLVPHFKDQLVPLVOLNHDSRVWRIFH
Your slot is where you expect to get mail (or messages) destined for you.
The mail sorter (or the software dispatcher) grabs all of the mail and sorts it into various slots.
Sometimes you may want to adjust the rules for your slot; maybe you are going on vacation, so that
the mailman changes what shows up in your slot.
For MotoHawk CAN receive blocks, you can create a slot by name that can be adjusted elsewhere in
your application. In the previous example, we decided at design time that we needed to receive all
messages between 0x7f0 and 0x7ff. But perhaps at run time some logic decides that you really only
need to receive 0x7F1, because the module now knows what engine it is installed on. There is a slot
properties block that allows you to adjust the slot to tighten the ID mask so only message 0x7F1
shows up at the receive block.
In other words, the mailman will deliver all of the mail that you requested when the code was built.
But you have the ability to ask him to throw away some of the messages prior to placing them in your
slot.
There is also a slot trigger block that can be used to notify that a slot has received a message via a
function call trigger. In other words, the mailman will ring your doorbell when he puts mail in your slot.
Just to make matters more interesting, you may want to censor some of your mail...
so that only messages with certain contents are placed in your slot. Each of the CAN receive blocks
KDVWKHDELOLW\WROWHUEDVHGRQWKHSD\ORDGFRQWHQWVYLDDSD\ORDGYDOXHDQGDSD\ORDGPDVNVHWRI
values. Like the ID, the payload mask simply indicates which bits of the received payload must match
the given payload value.
)RULQVWDQFHVD\WKDW\RXZDQWWRUHFHLYHPHVVDJHV[IZKHQHYHUWKHUVWE\WHRILWVSD\ORDGLV
exactly 0x8f and when the last bit of the payload is set. The payload value would be set to [0x8f 0x00
0x00 0x00 0x00 0x00 0x00 0x01] and the payload mask would be set to [0xff 0x00 0x00 0x00 0x00
0x00 0x00 0x01.]
,QRWKHUZRUGVWKHUVWE\WHPXVWPDWFKDOOELWVDQGWKHODVWELWPXVWEHVHWLQRUGHUIRUWKLV
message to be put into this particular slot. So now, the mailman reads our mail for us and obeys our
content requirements before shoving the mail into the slot. As with IDs, the payload requirements can
be adjusted at run time via the slot properties block.
/LNHWKHWUDQVPLWEORFNVWKHUHDUHWZRDYRUVRIUHFHLYHEORFNVRQHIRUUDZPHVVDJHVDQGRQHWKDW
will unpack the SD\ORDGDQGWKH,'LQWRWKHLUUHVSHFWLYHGDWDHOGVSURYLGLQJWKHPDVVLJQDOVWRWKH
rest of the application.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
IMPORTANT : Uncheck the Exclusive box or MotoTune will not be able to communicate
to the module while CANKing is running.
8QIRUWXQDWHO\WKLVVHWWLQJLVQRWVDYHGLQWKH&$1.LQJSURMHFWOHVR\RXZLOOQHHGWREURZVHWR
this window and uncheck the Exclusive box each time you run the program even if you reopen a
saved project rather than start again from a Template.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Open the Messages menu and select the Universal page to get
a window that will allow you to test transmission of messages.
Transmit anything and you will either see the state Error
Passive or the message will appear in the Output Window.
7RGLVSOD\WKHPHVVDJHVLQDXVHIXOIRUPQGWKH6HOHFW
Formatters window, select the Standard Text Format in the
Active Formatters in Order of Execution list, and press the
Options button.
The window Text Formatter Options will appear
Choose the setting shown.
These settings will cause the data to be displayed as shown
A handy option in the Output Window is available via the right click
PRXVHEXWWRQ7KLVZLOO[WKHSRVLWLRQVRIWKHPHVVDJHVLQWROLQHVRI
the display rather than showing the bus trace.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
&$1&KDQQHO'HQLWLRQ
This block can exist anywhere in your model.
You will need one for each CAN channel.
Bit Timing sets the bus speed or baud rate.
7UDQVPLWTXHXHVL]HGHQHVWKHVL]HRIWKHWUDQVPLWTXHXH
0RWR7XQHFDQEHDXWRPDWLFDOO\LQVWDOOHGDORQJZLWKGHQLQJ
the City ID and calibration details for the City ID.
City IDs : The City ID is a MotoTune protocol value that
HVVHQWLDOO\LGHQWLHVWKHGHYLFH&LW\,'[ELVWKH
default for all of our modules. City ID 2 (0x02) is the ID
for MotoTune. If you monitor the can bus while MotoTune
is active, you will see extended message IDSs like
0x00000b02 and 0x0000020b. The MotoTune Protocol
uses a scheme where messages are transmitted
with IDs of the form 0x0000DDSS where DD is the
Destination City ID and SS is the Source City ID. You
can simultaneously MotoTune to several modules. Each
module must have a different City ID.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
support@neweagle.net
www.neweagle.net
Slot Properties
This block can have multiple instances in a model.
7KHVORWQDPHLVXVHGWRPDWFKWRWKHVORWGHQHGLQWKH
UHFHLYHEORFN7KHFKRLFHRIDGMXVWLQJHWKHUWKH,'OWHURUWKH
3D\ORDGOWHULVVHWKHUH
Remember that slots can only be tightened, so only mask bits that were 0 in
the corresponding receive block can now be set to 1.
Usually this block is placed in a triggered subsystem, so that the slot
properties are adjusted only on some conditions such as at startup
or on change of some state.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Example
This example will demonstrate the basic CAN blocks.
Start with motohawk_project Can1.
*For a larger view of drawing, open MotoHawk_Resource_Guide_11x17_drawings.pdf on the included training cd.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
(example continued)
Notice in CANKing that the message 0x6ff is being transmitted
every 20 ms.
In CanKing, transmit a message on address $7f0
with any data.
You should see the data in your MotoTune display and the
Rx_Age value should reset and start counting from 0.
Adjust the slot ID and mask as well as the payload values to
see how the messages are affected.
In CANKing, a value starting with $, like $7F0, means that the value is in
hexadecimal rather than decimal.
Ending the ID value with an x, like $7f0x, would mean make the ID extended
rather than standard.
The individual bytes of the payload may also be set using the $ notation
for hexadecimal.
DLC is the number of bytes to transmit in the payload.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
The payloads contained within CAN messages often need to be packed or unpacked into their constituents
for use by the rest of the model. MotoHawk provides a transmit and a receive block that incorporates the
packing and unpacking of data elements into the messages. Additionally for transmission of messages, the
EORFNFDQSDFNPXOWLSOHPHVVDJHVVLPXOWDQHRXVO\DQGSODFHWKHPRQWRWKHEXVDWDVSHFLHGSHULRGIRUWKH
message group, as well as an inter-message pacing interval to conserve bus bandwidth.
(DFKRIWKHVHEORFNVUHTXLUHVDPHVVDJHGHQLWLRQLQRUGHUWRSURSHUO\SDFNRUXQSDFNWKHGDWD7KH
PHVVDJHGHQLWLRQLVQRWKLQJPRUHWKDQD0$7/$%VWUXFWXUHFRQWDLQLQJVSHFLFHOGVZKLFKZHZLOOFRYHU
EHORZ,QDGGLWLRQWRXQSDFNLQJWKHSD\ORDGLWLVDOVRSRVVLEOHWRXQSDFNWKH,'HOGV7KLVEHFRPHV
important for protocols, like J1939, where the bottom byte of the ID is the source address of the module
transmitting the message. As with the Can Read Raw block, all of the ID mask and payload mask details
still apply.
For transmitting CAN messages setting the payload mask will cause the bits that are set to precisely have
WKHYDOXHVHWLQWKHSD\ORDGYDOXHUHJDUGOHVVRIWKHYDOXHRIDQ\HOGVWKDWPLJKWEHGHQHGRQWKRVHELWV
7KLVDOORZV\RXWRVHW[HGHOHPHQWVRIWKHSD\ORDGWRDYDOXHZLWKRXWQHHGLQJWRGHQHHOGVIRUWKRVH
values.
$QPOHPRWRKDZNBFDQBH[DPSOHLVSURYLGHGZLWK0RWR+DZNWKDWGHQHVDSURSHU
0DWODEVWUXFWXUHIRUGHQLQJD0RWR+DZN&$1PHVVDJH:HUHFRPPHQGFRS\LQJWKLV
OHDQGFUHDWLQJQHZ&$1PHVVDJHGHQLWLRQVXVLQJWKHVXSSOLHGVWUXFWXUHDVDWHPSODWH
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
0HVVDJH'HQLWLRQ6WUXFWXUH
Motohawk_can_example.m contains the details of the
VWUXFWXUHIRUPDWQHHGHGWRGHQHDPHVVDJH
.name
.description
.protocol
.module
.channel
(default:
(default:
(default:
(default:
(default:
empty string)
empty string)
empty string)
empty string)
1)
PD\EHHLWKHURUELWVLIXQGHQHGXVHVLGLQKHULW
HLWKHU67$1'$5'ELWRU(;7(1'('ELWLIXQGHQHGXVHVLGLQKHULW
- indicates which bits are relevant for a receive slot (default: 0xffffffff)
- when set to 1, causes the message to use the ID of (default: 0)
the previous message in a list of messages (only applies for transmit messages)
LGFRQWHQW^`
ELWHOGVZLWKLQPHVVDJH,'DVGHVFULEHGEHORZRSWLRQDO
'HVFULEHVLQGLYLGXDOHOGVZLWKLQWKH,'
0D\EHXQGHQHGRUHPSW\LIQR,'FRQWHQWLVGHQHG
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
PHVVDJHGHQLWLRQVWUXFWXUHFRQWLQXHG
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
.name
.units
VWDUWBELW
ELWBOHQJWK
.byte_order
.data_type
.scale
RIIVHW
RIIVHWDSSOLHGWRWKHHOGLQHQJLQHHULQJXQLWVGHIDXOW
This is sometimes used to represent high-resolution values in a range far from zero.
To represent Simulink-model values from 230 to 270 Kelvin, a range of +/ - 20.47 degC
with 0.01 degC resolution is available using a signed 12-bit value in the payload on the
CAN communication wire with an offset of 250 Kelvin. See equation and example below.
Advanced Example
Create a new model using motohawk_project(can2)
Remove the existing contents of the Foreground subsystem
Create the model as shown. Build the model.
Run MotoTune, program the module, and open a display.
Run CANKing.
*For a larger view of drawing, open MotoHawk_Resource_Guide_11x17_drawings.pdf on the included training cd.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
(example continued)
Note the 1F3 message being transmitted.
The 3 comes from the Node ID input.
Transmit a message from CANKing and verify that the value
is received by the module as shown by the probe values in
MotoTune.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
3UREHVDOOHOGV
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Block Parameters
Calibrations
Probes
7
7
7
8
9
9
10
11
12
13
Probe : Name
Probe : Name Source
Probe : Read Access Level
Probe : View Value As
Probe MotoTune Help / Units
Probe : MotoTune Precision Gain/Offset/Exponent
Probe MotoTune Group
Overrides
13
13
14
14
14
15
15
16
Override : Name
16
Override : Name Source
Override : Override Access Level
Override : View Value As
Override : MotoTune Help/Units
Override : MotoTune Min/Max
Override : MotoTune Precision - Gain/Offset/Exponent
Override : MotoTune Group
16
17
17
18
18
19
20
MEMORY
MANAGEMENT
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Woodwards MotoTron Control Solutions modules include three types of storage devices.
Flash is read only memory and retains its information between key cycles. Control Core,
WKH0RWR+DZNDSSOLFDWLRQDQGFRQVWDQWGDWDDUHVWRUHGLQWKHDVKUHJLRQRIWKHPRGXOH
((3520(OHFWULFDOO\(UDVDEOH3URJUDPPDEOH5HDG2QO\0HPRU\LVVLPLODUWRDVKLQWKDWLWZLOOUHWDLQLWV
information across key cycles. However, EEPROM can be erased and written to. This section of the module
becomes the most important when saving calibration changes and is responsible for saving and recalling
the non-volatile data in a model. Read and write to the EEPROM as your control algorithm changes. We will
discuss later when the EEPROM is written to and how to ensure that you safe guard your data.
There are two different types of EEPROM, serial and parallel. Parallel EEPROM is only available on a
development module. This memory is what allows the user to change non-volatile display and calibration
variables in real-time during testing and validation.
RAM (Random Access Memory) is only temporary memory space used for volatile data.
The contents of RAM are erased between key cycles. Any changes made in RAM will be lost once the
module has been turned off.
Flash is used to write information that can not be accidentally overwritten. This is why the program
LVVWRUHGLQDVK,IWKHSURJUDPZDVVWRUHGLQ((3520RQHZURQJPHPRU\ZULWHDQG\RXPD\KDYH
overwritten a vital part of the control system.
The development version has an added parallel EEPROM region where vardecs are stored.
This extra memory region allows the user to view and change calibration and display variables using
MotoTune and is typically used for testing and calibration.
A production module contains only the serial EEPROM. No real-time calibrations can be performed
with this module without explicitly assigning the variable to be stored in the non-volatile region, which
we will discuss in the next section. In this way, the cost of production modules is kept down relative to
their development counterparts.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Block Parameters
MotoHawk has three basic blocks that allow viewable variables
to appear in MotoTune: calibrations, displays, and probes.
Note that MotoTune makes probes a display variable, so a probe will appear
in the display portion of MotoTune.
1DPH7KLVHOGFDQEHDQ\0$7/$%H[SUHVVLRQVXFKDV
WKRVHLQWKH0RWRKDZNBFDQBH[DPSOHPOHDERYHRUDVWULQJ
so that it can be called from other MATLAB functions.
If a string is used, make sure to enclose the string in single quotes.
'HIDXOW9DOXH7KLVLVWKHYDOXHWKDWWDNHVHIIHFWIURPWKHUVW
time of programming. It remains in effect until it is changed
using MotoTune.
Behavior : This is where you decided what type of memory this
variable will be stored in.
Calibration
Flash (prod)
Parallel EEPROM (dev)
Display RAM
Calibration NV Serial EEPROM
Display NV
Serial EEPROM
Show Additional Parameters : Click the check box to show a
list of additional parameters to modify for this block.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
support@neweagle.net
www.neweagle.net
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Calibrations
Calibrations can be described as a MotoTune accessible
Simulink constant block.
Unlike Simulink constant blocks, the MotoHawk Calibration block can only be
used once per declared vardec in the model. However, because a Calibration
is composed of a Data Storage block, you can use a Data_Read block to
access it in other parts of the model.
Calibration : Name
%HFDXVHWKHQDPHHOGLVHYDOXDWHGE\0$7/$%WKHQDPHHOG
can accept any valid MATLAB expression that returns a string.
Typically, that is useful when masking subystems.
Most of the time, you will explicitly give the calibration a name,
or use the output wire name as a reference for the name.
In example 1, the name for the sine wave frequency calibration
LVH[SOLFLWO\GHQHGE\VHOHFWLQJ1DPH6RXUFHWREH8VH
Parameter and providing a MATLAB string enclosed in single
TXRWHVLQWKHQDPHHOG
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
%HFDXVHWKHGHIDXOWYDOXHHOGLVHYDOXDWHGE\0$7/$%WKH
HOGFDQEHany valid MATLAB expression that returns a number.
This is the constant value this block will output unless calibrated by MotoTune
to be something else. This can also be used to specify the data type.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Calibration - Behavior
How will a user interact with this calibration? Will it be seen
in the display or calibration window? Does it need to be
accessible even on a production module?
In Example 2,
7KH0DLQWHQDQFH,QWHUYDO5HVHWZDVVSHFLHGDV'LVSOD\19
This allows the value to be accessible, even on a production
unit, so maintenance personnel can reset the alarm once
maintenance has been performed.
In example3,
The calibrations are set to Display. The vardecs will still be
VWRUHGLQDVKRUSDUDOOHO((3520EXWZLOOVKRZXSLQWKH
display pane of MotoTune and not the calibration pane.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
You can also specify your own string with the MotoTune folder
name separated by the vertical bar.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Probes
Probes are read only displays stored in RAM. A MotoHawk
Probe is similar to Simulinks native display block and scope
block. Probes can be very helpful when testing and debugging,
but if used carelessly, they can use more RAM than necessary.
Probes will require extra memory when the wire it is placed on
is not already being kept around between execution cycles in
the system. Meaning if the control system design requires the
value of a particular wire to retain its value between cycles, the
value will be allocated memory space. Probing such a wire will
not add any further memory because the optimizer recognizes
the two values to be the same and they both reference the
same memory location. However, if the signal is not kept by
the control system, then adding a probe will require more
memory.
5HPHPEHU7KHUHDUHRQO\DYDLODEOHYDUGHFGHQLWLRQV)RURI
the applications, this is more than enough room, but if your application uses
many tables, the number of vardecs in your model can grow very rapidly.
Probe : Name
%HFDXVHWKHQDPHHOGLVHYDOXDWHGE\0DWODEWKHQDPHHOG
can accept any valid Matlab expression that returns a string.
Typically, this is valuable when masking subsystems. Most of
the time you will explicitly give the probe a name or use the
input wire name as a reference for the name.
In example1 of the vardec_example.mdl, the sawtooth wave
SUREH6DZWRRWK:DYHBSUEKDVDQH[SOLFLWO\GHQHGQDPH
The sine wave probe (SineWave_prb) uses the input wire
name as its name reference.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Overrides
Overrides are inline calibrations and have both an input and an
output. There are two different types of override blocks. Both
blocks create two vardecs that can be manipulated within the
display window of MotoTune.
The override relative block is a way to lock the output and
apply an offset. It was designed around some legacy software
and is typically not a block that a control system will use.
The override absolute enables the MotoTune user to ignore the
LQSXWDQGXVHDVSHFLHGYDOXH1RWLFHKRZXQGHUWKH3:0B
ovr Override_Absolute block is two blocks with _ovr and _new
appended to the base name given under the mask.
Override : Name
%HFDXVHWKHQDPHHOGLVHYDOXDWHGE\0$7/$%WKHQDPH
HOGFDQDFFHSWDQ\YDOLG0DWODEH[SUHVVLRQWKDWUHWXUQVD
string. This is typically valuable when masking sub-systems.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
,QWKH3:0BRYUDPLQLPXPDQGPD[LPXPZDVVSHFLHG
In an attempt to calibrate the value outside of the range,
MotoTune will generate an error and inform the user it is
RXWVLGHWKHVSHFLHGUDQJH
Useful to ensure a calibration is not accidentally changed outside of a range.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
You can also specify your own string with the MotoTune folders
separated by the horizontal bar.
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
APPLICATION VALIDATION
Ne w E a g le Au to m a te d T e stin g Fr a m e w o r k
Target-in-the-Loop Framework
Test Vectors
Results
Application Validation
Built-in support for coordinator ECU
to provide plant model/environment
Graphical test creation
Intuitive test-runner interface
Allows traceability from
requirements to validation tests
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
Actions
Signal Actions
Set: Set a signals value on either the Test Target or the
&RRUGLQDWRUPRGXOHXVLQJWKH0RWR7XQHSURWRFRO
Vectors and matrixes are supported, including those with
FROXPQDQGURZKHDGHUV
Check the Verify box to immediately read the value back from
WKH(&8DQGHQVXUHWKDWLWZDVVHWSURSHUO\
The T label on the right side of the action indicates that this
VLJQDOH[LVWVRQWKH7HVW7DUJHW
Verify: Verify a signals value on either the Test Target or
&RRUGLQDWRUPRGXOHXVLQJWKH0RWR7XQHSURWRFRO&KHFNWKH
VWRSZDWFKFKHFNER[WRVHHWKHYDOLGDWLRQWLPHZLQGRZ
NEAT will poll the value every 50 ms until the value passes the
FULWHULDRUXQWLOWKHYDOLGDWLRQWLPHZLQGRZLVH[FHHGHG
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
CAN Actions
&$17[7UDQVPLWVDUDZ&$1IUDPHRQWKHVSHFLHGEXV
7KHGDWDOHQJWKLVVHWWRWKHQXPEHURIE\WHVVSHFLHGVRLI
WKHPHVVDJHQHHGVWREHSDGGHGWKDWPXVWEHGRQHPDQXDOO\
&$15[9HULHVWKDW1($7UHFHLYHGD&$1IUDPH
ZLWKWKHH[DFWLGDQGGDWDLQWKHWLPHIUDPHOLVWHG
&$11R5[9HULHVWKDW1($7GLGQRWUHFHLYH
D&$1IUDPHZLWKWKHH[DFWLGLQWKHWLPHIUDPHOLVWHG
6WDUW&$15[)RUFHV1($7WRVWDUWOLVWHQLQJIRU&$1PHVVDJHV
8VHWKLVDFWLRQLIVRPHWKLQJRWKHUWKDQD&$17[DFWLRQLV
JRLQJWRWULJJHUWKH&$1PHVVDJHWKDW\RXQHHGWRUHFHLYH
Utility Actions
3DXVH3DXVHV1($7H[HFXWLRQIRUDQXPEHURIPLOOLVHFRQGV
7R'R)DLOVWKHWHVWZLWKWKHVSHFLHGPHVVDJH
Phone: 877.234.1410
support@neweagle.net
www.neweagle.net
ProductSpecification
36303
GCM0563048
Familyof
GeneralControlModules
Calibratible/Flash
Description
Presenting the GCM-0563-048 family of general control modules from Woodwards
new MotoTron Control Solutions product line. These rugged controllers are capable
of operating in harsh automotive, marine, and off-highway applications. Numerous
marine applications have proven the capability of this family. Based on the Freescale
MPC563 family of microprocessors, the GCM-0563-048 is capable of delivering
complex control strategies. The onboard floating-point unit and high clock frequency
allow software to be executed in shorter times. The CAN 2.0B datalink ensures
interoperability with other vehicle systems.
The GCM-0563-048 is part of the MotoTron Control Solutions ControlCore line of
embedded control systems. The ControlCore operating system, MotoHawk code
generation product, and MotoHawks suite of development tools enable rapid
development of complex control systems.
Each controller is available in F (Flash) or C (Calibratible) versions. Flash modules
are typically used for production purposes. Calibratible modules are typically for
prototyping/development only; they can be calibrated in real time using MotoTune.
48-pin platform, 2
different versions
Microprocessor:
Freescale MPC563,
56MHz
Calibratible Memory:
64K parallel EEPROM
Operating
Temperature: -40 to
85 C (in benchmark
marine engine
application)
Sealed Connectors
Operable to 10 ft.
submerged
Inputs:
x
11 to 18 Analog
2 to 8 Discrete/
Frequency
0 to 2 Hall Effect
Frequency (cam)
0 or 2 Variable
Reluctance Frequency
(crank)
1 Stop
PhysicalDimensions
Outputs:
x
1 H-Bridge Driver
(10A)
1 Digital
Datalinks:
SimpleBlockDiagram
*Analog/Digital Inputs: Some pins are configurable as either analog or digital inputs; the number of each type
available depends on this configuration. See Connector Pin diagram or Block diagram for specific resource/pin
information.
OrderingInformation
Controller ID
Part No.
w/Mounting
Hardware
Boot Cable
(P/N)
GCM05630480801CP0
1751-6324
8923-1590
GCM05630480801F00
1751-6326
GCM05630480802CP0
GCM05630480802F00
8923-1591
HARNINTR00801
HARNECM022
HARNINTR024C
1751-6330
8923-1592
(1635-1800)
(5404-1138)
(5404-1203)
1751-6332
8923-1593
Desktop Simulator
Harness (P/N)
Connector/PocketDefinitions
BlockDiagrams
SignalConditioning
IMPORTANT! The ECM has been validated in an application using typical loads. Maximum loading is based on
datasheet values. Actual capability is somewhere between typical (validated) and maximum (datasheet) and is
dependent on ambient temperature, system voltage, and the state of all other inputs and outputs. In most cases it
will not be possible for an application to use the maximum values. Please contact Woodward sales for more
information.
DRVP (A23)
V L (max) = 2.0V
V H (min) = 5.6V
VADC = 0.118VECUP x (1023/5)
= 2ms
VBATT (max) = 24 V (jump start)
VBATT (nom) = 8-16 V
VADC = 0.181 VDRVP (10-bit resolution)
=1.8 ms
These pins are the single point ground for the module.
MPRD (A22)
IS NK (max) = 1A
This output energizes the Main Power Relay. Shortcircuit protection, open-circuit and short-circuit detection.
STOP (A15)
= 112 s
Analog Inputs
See Figure 2 in Typical Circuit Schematics section.
VIN = 0-5 V
VADC = VIN x (1023/5)
= 1ms
Resolution= 10-bit
VIN = 0-5V
Digital Inputs
See Figure 3 in Typical Circuit Schematics section.
Resolution= 10-bit
V N = 0-5V
VADC = VIN x (1023/5)
V L (max) = 1.1 v
V H (min) = 3.5 v
VHYST = 0.4V
= 5.1 s
Resolution= 10-bit
Notes
LSO5 (A14)
No diode.
LSO6 (A5)
In GCM-0563-048-0801 only:
Pin A5 internally connected to B23. See Figure 4 in
Typical Circuit Schematics section.
IS NK (max) = 3 A
VCLAMP(min) = 55 V
IS NK (max)= 1 A
VCLAMP (min) = 55 V
5V Digital output.
IS NK (max) = 1 A
VCLAMP(min) = 55 V
IO (max) = 2A
LSO7 (A23)
High-side drivers.
IO (max) = 10A
FO (max) = 25KHz
Communications
CAN1+ (B20), CAN1- (B21), CAN2+ (B7),
CAN2- (B6), CAN3+ (B14), CAN3- (B13)
Memory
FLASH
RAM
EEPROM
SignalConditioning
Figure 1:
Analog Inputs
Figure 2:
Resistor Pull-up
Digital Inputs
Resistor Pull-up
Resistor Pull-down
Figure 3:
Resistor Pull-down
Stop Input
Figure 5:
Recirculation Diode
Without Diode
Figure 6:
Digital Output
Figure 7:
Blocking Diode
ConnectorPinouts
RESOURCE BY CONNECTOR PIN
Pin#
0801
CCM
H1+
H1+
A1
H-Bridge Output 1
H-Bridge Output 1
10A maximum
10A maximum
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
0802
SIM
Pin#
0801
CCM
XDRG
XDRG
B1
Transducer Ground
Transducer Ground
0802
SIM
AN2M
AN1M
Analog Input 1
Analog Input 1
Rpulldown= 220K
Rpullup= 100
AN15M
AN15M
AN2M
AN2M
Analog Input 15
Analog Input 15
Analog Input 2
Analog Input 2
Rpulldown= 220K
Rpullup= 1K
Rpulldown= 220K
Rpullup= 100
HSO1
HSO1
AN17M
VR1-
Analog Input 1
VR Input Return
Rpulldown= 220K
VR use only
STOP
LSO6
DGM1
VR1+ or DG1M
Digital Input 1
No diode, 1A
AN14M or DG6M
AN14M or DG6M
CAN2-
CAN2-
CAN Lo signal
CAN Lo signal
CAN 2.0B
CAN 2.0B
LSO1
LSO1
LSO3
LSO3
Recirculation diode, 3A
Recirculation diode, 3A
LSO4
LSO4
Recirculation diode, 3A
AN7M
Analog Input 7
Analog Input 7
Rpulldown= 220K
AN5M
B2
B3
B4
B5
B6
B7
CAN2+
CAN2+
CAN Hi signal
CAN Hi signal
CAN 2.0B
CAN 2.0B
ECUP
ECUP
Key Switch
Key Switch
Recirculation diode, 3A
AN7M
AN9M
AN9M
Analog Input 9
Analog Input 9
Rpulldown= 51.1K
Rpulldown= 220K
Rpulldown= 220K
AN5M
AN3M
AN3M
B8
B9
Analog Input 5
Analog Input 5
Analog Input 3
Analog Input 3
Rpulldown= 220K
Rpulldown= 51.1K
Rpulldown= 220K
Recirc.diode, Rpullup= 1K
CAN1-
CAN1-
CAN1-
CAN1-
CAN Lo signal
CAN Lo signal
CAN Lo signal
CAN Lo signal
CAN 2.0B
CAN 2.0B
CAN 2.0B
CAN 2.0B
B10
B11
RS485+
RS485+
RS485+
RS485+
Serial Communications
Serial Communications
Serial Communications
Serial Communications
RS-485
RS-485
RS-485
RS-485
B12
0801
CCM
LSO2
LSO2
A13
A14
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
0802
SIM
LSO5
LSO5
No diode, 3A
Pin#
0801
CCM
CAN3-
CAN3-
B13
CAN Lo signal
CAN Lo signal
CAN 2.0B
CAN 2.0B
0802
SIM
CAN3+
CAN3+
CAN Hi signal
CAN Hi signal
No diode, 3A
CAN 2.0B
CAN 2.0B
AN13M or DG5M
AN13M or DG5M
AN18M or DG8M
VR2-
VR Input Return
VR use only
DRVG A
DRVG A
DG2M
VR2+ or DG2M
Driver Ground
Driver Ground
H1-
H1-
H-Bridge Output 1
H-Bridge Output 1
10A maximum
10A maximum
HSO2
HSO2
B14
B15
B16
Digital Input 2
Rpulldown= 3K
DVRG C
DVRG C
B17
Driver Ground
Driver Ground
AN11M or DG3M
AN11M or DG3M
B18
Rpulldown= 220K
AN16M or DG7M
AN16M or DG7M
AN12M or DG4M
AN12M or DG4M
Rpulldown= 220K
DRVP A
DRVP A
Driver Power
Driver Power
DRVP B
DRVP B
Driver Power
Driver Power
MPRD
MPRD
LSO7
LSO7
DRVG B
DRVG B
Driver Ground
Driver Ground
B19
B20
B21
B22
B23
B24
CAN1+
CAN1+
CAN Hi signal
CAN Hi signal
CAN 2.0B
CAN 2.0B
CAN1-
CAN1-
CAN Lo signal
CAN Lo signal
CAN 2.0B
CAN 2.0B
BATT
BATT
Battery Connection
Battery Connection
8-32 V
8-32 V
STOP
STOP
Internal connection to A5
XDRP
XDRP
Transducer Power
Transducer Power
EnvironmentalRatings
Environmental Ratings
Notes
The ECM is designed for automotive, under hood and marine industry environmental requirements. Validation tests
include extreme operating temperatures, thermal shock, humidity, salt spray, salt fog, immersion, fluid resistance,
mechanical shock, vibration, and EMC. The customer must contact Woodward and provide the intended
environmental conditions in the application for verification of performance capability.
Storage Temperature
Operating Temperature
-50 to +105 C
-40 to +85 C
Thermal Shock
Fluid Resistance
Humidity Resistance
Immersion
Mechanical Shock
Drop Test
Vibration
This ECM family has been successfully deployed in
engine mounted applications ranging from common
small displacement engines to large racing engines
with extreme vibrations. Electrical and mechanical
isolation is achieved via Woodward mounting
hardware (consisting of grommet, bushing, and
washer) shown to the right.
ProgrammingInformation
Woodward 36303
3
p.14
Wo
oodward 2009, All Rights Rese
erved
2009/1/Fort Collins
EVALUATION
What portion of training was most valuable to you in your position / company?
____ Basics of Simulink
____ Faults
____ Calibration
____ Tables
How would you summarize our ability to provide systems integration technology
and processes that are applicable to your projects / programs / company?
How could we improve our training? Are there any additional products or applications you would like to see presented?
____ Maybe Ill be able to tell more when I get back to the lab.
What else would you like us to know, either about training or another area where you have had interaction with us?
Overall, did the training content meet your expectations? Please explain.
____ Yes!
____ Somewhat
____ No