MSK4367 - M.S. Kennedy Corp.

MIL-PRF-38534 AND 38535 CERTIFIED FACILITY
M.S.KENNEDY CORP.
10 AMP, 38V, 3 PHASE
MOSFET DC BRUSHLESS
DIGITAL MOTOR CONTROLLER
4367
(315) 701-6751
4707 Dey Road Liverpool, N.Y. 13088
FEATURES:
38 Volt Maximum Operating Supply Voltage
55 Volt Absolute Maximum Output Switch Capability
10 Amp Continuous Output Switch Capability
Full Motor Supply Voltage Output Drive Capability
Shoot-Through / Cross Conduction Protection
Sinusoidal Field Oriented Control of Torque or Speed
Incremental Encoder with Index Input Determines Motor Shaft Angle
CAN Bus Digital Communication
Field Programmable Control Parameters Through CAN Stored in EEPROM
Isolated Package Design for High Voltage Isolation Plus Good Thermal Transfer
Contact MSK for MIL-PRF-38534 Qualification Status
DESCRIPTION:
The MSK 4367 is a completely digitally controlled 3 Phase Brushless DC Motor Control Torque or Speed Controller. The
controller is non-input/output isolated, meaning that the grounds between the digital input and the motor control output are
common. It is constructed in a convenient electrically isolated hermetic package. The controller is capable of 10 amps
continuous output current with 55V absolute maximum rated voltage MOSFETs, allowing 38V of maximum motor supply
voltage. Bridge protection features, such as shoot-through and cross conduction protection are provided redundantly by
the gate driver circuitry even though the processor is programmed with sufficient dead time such that shoot-through /
cross conduction will not occur. The digital signal processor controls torque or speed by Field Oriented Control (FOC) of
sinewave output to the motor windings. The processor uses an incremental encoder with index input from the motor
output shaft to track mechanical shaft angle. Internal current sensing measures and controls current in a closed loop
control scheme using FOC to control the current to the motor which is proportional to torque. The controller can also
control speed in a closed loop control scheme by using FOC and utilizes the encoder as the speed feedback element. All
control is accomplished using CAN bus for all communication for command, control and parametric information input. This
eliminates the need for D-A and A-D conversion from the host controller. Current / speed commands, monitoring and all
parametric set up values are input using CAN. Parametric set up values and CAN addressing are all stored in on-board
EEPROM. The MSK 4367 has good thermal conductivity for MOSFET output stage power dissipation due to the electrically
floating and isolated package design that allows direct heatsinking without insulators.
BLOCK DIAGRAM
1
8548-100 Rev. C 3/13
PIN-OUT INFORMATION
1
2
3
4
5
VDD
VDD
GND
GND
GND
6
7
8
9
10
GND
CANL
GND
CANH
NC
11
12
13
14
15
16
17
18
19
20
NC
CAN RESET
RESET
GND
INDEX
ABSOLUTE MAXIMUM RATING
+V High Voltage Supply
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
BRTN
NC
BØ
BV+
ARTN
26 NC
27 AØ
28 AV+
6
55V TST
-0.3V to +5.5V TLD
-0.3V to +5V level +0.3V
Logic Inputs
-42V to +42V
CANH, CANL
10A
Continuous Output Current
16A
Peak Output Current (Single Pulse peak)
Thermal Resistance (Output Switches) 11.4°C/W
VDD Logic Supply
IOUT
IPK
θJC
7
21
22
23
24
25
QEA
QEB
CRTN
CØ
CV+
○
○
○
○
○
○
○
Storage Temperature Range
-65°C to +150°C
Lead Temperature Range
10 Seconds
300°C
Case Operating Temperature
MSK 4367
-40°C to +85°C
MSK 4367H
-40°C to +85°C
Junction Temperature (Output Switches)
150°C
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○
ELECTRICAL SPECIFICATIONS
NOTES:
1
2
3
4
5
Guaranteed by design but not tested. Typical parameters are representative of actual device performance but are for reference only.
Industrial grade devices shall be tested to subgroup 1 and 4 unless otherwise specified.
Military grade devices ('H' suffix) shall be 100% tested to subgroups 1,2,3 and 4.
Subgroups 5 and 6 testing available upon request.
Subgroups 1,4 TA=TC=25°C
2,5 TA=TC=125°C
3,6 TA=TC=-55°C
6 Continuous operation at or above absolute maximum ratings may adversely effect the device performance and/or life cycle.
7 When applying power to the device, apply the low voltage followed by the high voltage or alternatively, apply both at the same time.
Do not apply the high voltage without the low voltage present.
2
8548-100 Rev. C 3/13
APPLICATION NOTES
MSK 4367 PIN DESCRIPTIONS
RESET - is an asserted low, digital logic input for manually resetting the microprocessor. Activating the pin will halt PWM output
and reset program control. The microprocessor will begin operation in exactly the same manner as a cold start from power up.
CAN RESET - is an asserted low, digital logic input for manually
resetting the CAN module. Activating the pin will cause the module
to be deactivated, reset to 1MB/s speed, and reactivated. This
pin should be externally pulled up to +5V via a 10K resistor.
VDD - is the main low level digital power for running everything
inside the hybrid, exclusive of the motor supply voltage. This
supply powers the microprocessor and all its support circuitry,
as well as provides the boost converter power for running the
gate drive.
BV+ - is the B phase leg motor supply voltage pin. All V+ pins
shall be connected together on the PC board. Traces should be
sized for 10 amps RMS current to this pin. Motor supply voltage
shall be bypassed with a high quality 100uF electrolytic capacitor, a 1uF high quality ceramic capacitor and a high quality 6.8uF
metalized polyester capacitor. These capacitors shall be placed
as close to the V+ pins and GND pins as practical to minimize
stray inductance between the pins and the capacitors. All V+
pins shall be connected together on the PC board. Ideally, some
sort of power plane should be used to help reduce stray inductance throughout all the V+ connections to the capacitors.
GND - is the ground return for the low level digital power. All
microprocessor / support circuitry and gate driver currents return to this point. For PC board layouts, there should be two
ground planes. One ground plane is for the bypass capacitors
and components that assist in making a clean low level voltage
supply. Digital control inputs should have their returns connected
to this ground. The second ground plane is the main high power
ground used to drive the motor. That ground plane will contain
all the large bypass capacitors for the output stage and the high
power main motor supply. Both ground planes should be connected together at one point; that connection point should be at
this pin. This connection width should be in the range of 0.1" to
0.15", with a separation between grounds not to exceed 0.25".
If the grounds are on separate PC layers, then the grounds can
overlap without a problem. However, a large current conducting
via connecting the two layers together should be placed as close
to this GND pin as practical.
CV+ - is the C phase leg motor supply voltage pin. All V+ pins
shall be connected together on the PC board. Traces should be
sized for 10 amps RMS current to this pin. Motor supply voltage
shall be bypassed with a high quality 100uF electrolytic capacitor, a 1uF high quality ceramic capacitor and a high quality 6.8uF
metalized polyester capacitor. These capacitors shall be placed
as close to the V+ pins and GND pins as practical to minimize
stray inductance between the pins and the capacitors. Ideally,
some sort of power plane should be used to help reduce stray
inductance throughout all the V+ connections to the capacitors.
APHASE - is one of three phase power output pins to the motor.
Traces from this pin should be sized for 10 amps RMS current.
QEA - is one of two quadrature encoder input pins for determining motor shaft angle and speed. It is a digital logic input from
the encoder. This input does not contain any sort of pull-up resistor, so if the encoder output is an open collector type of output, then an outside pull-up resistor will have to be added externally.
BPHASE - is one of three phase power output pins to the motor.
Traces from this pin should be sized for 10 amps RMS current.
CPHASE - is one of three phase power output pins to the motor.
Traces from this pin should be sized for 10 amps RMS current.
QEB - is the second of two quadrature encoder input pins for
determining motor shaft angle and speed. It is a digital logic
input from the encoder. This input does not contain any sort of
pull-up resistor, so if the encoder output is an open collector
type of output, then an outside pull-up resistor will have to be
added externally.
ARTN - is the A phase leg motor supply voltage return pin. All
RTN pins shall be connected together. Traces should be sized for
10 amps RMS current to this pin. The motor supply bypass capacitors shall be connected to this point as close as practical to
minimize stray inductance between these pins and the capacitors. A power ground plane shall be used between these three
pins and the capacitors to help reduce stray inductance. This
power ground plane shall be connected to the low power GND
plane only at one point – the GND pin. Follow the guidelines
explained with GND for details on this connection.
INDEX - is an input pin from the encoder used for determining
one complete mechanical revolution of the motor shaft. The motor
shaft and the index on the encoder need to be within +/- 3
degrees of each other to be properly driven. The input is a digital
logic input. This input does not contain any sort of pull-up resistor, so if the encoder index output is an open collector type of
output, then an outside pull-up resistor will have to be added
externally.
BRTN - is the B phase leg motor supply voltage return pin. All
RTN pins shall be connected together. Traces should be sized for
10 amps RMS current to this pin. The motor supply bypass capacitors shall be connected to this point as close as practical to
minimize stray inductance between these pins and the capacitors. A power ground plane shall be used between these three
pins and the capacitors to help reduce stray inductance. This
power ground plane shall be connected to the low power GND
plane only at one point – the GND pin. Follow the guidelines
explained with GND for details on this connection.
CANH - is one of two pins for communicating on the CAN bus.
This pin shall be connected to the associated CANH node on the
host bus.
CANL - is the second of two pins for communicating on the
CAN bus. This pin shall be connected to the associated CANL
node on the host bus.
AV+ - is the A phase leg motor supply voltage pin. All V+ pins
shall be connected together on the PC board. Traces should be
sized for 10 amps RMS current to this pin. Motor supply voltage
shall be bypassed with a high quality 100uF electrolytic capacitor, a 1uF high quality ceramic capacitor and a high quality 6.8uF
metalized polyester capacitor. These capacitors shall be placed
as close to the V+pins and GND pins as practical to minimize
stray inductance between the pins and the capacitors. All V+
pins shall be connected together on the PC board. Ideally, some
sort of power plane should be used to help reduce stray inductance throughout all the V+ connections to the capacitors.
CRTN - is the C phase leg motor supply voltage return pin. All
RTN pins shall be connected together. Traces should be sized for
10 amps RMS current to this pin. The motor supply bypass capacitors shall be connected to this point as close as practical to
minimize stray inductance between these pins and the capacitors. A power ground plane shall be used between these three
pins and the capacitors to help reduce stray inductance. This
power ground plane shall be connected to the low power GND
plane only at one point – the GND pin. Follow the guidelines
explained with GND for details on this connection.
3
8548-100 Rev. C 3/13
APPLICATION NOTES CONT'D
PI Control
There are two PI control loops, one for speed control and one for torque control. When in speed mode, both loops are active, with the
output of the speed loop being used as an input command for the torque loop. When in torque mode, the speed control loop is
bypassed.
The torque control loop is executed once every PWM cycle, a rate of 20 KHz, while the speed control loop is executed at a slower rate of
100 Hz. This is due the nature of motor currents changing quickly and slower changing mechanical motor speeds.
The PWM duty cycle bit resolution is 11.5 bits with an integer range of 0 to 1498. Zero net output current occurs at a PWM duty cycle
of 50% which is represented by 749 in the PWM duty cycle register.
The Analog to Digital Converter (ADC) is 10 bits wide and has a full scale value of 1023. The ADC volts per bit resolution = Vdd / 1023,
thus for Vdd = 5.0 volts the volts per bit resolution will be equal to 4.8876 mV/bit. This is used to measure phase currents, and calculate
the RMS currents.
The PID control algorithm utilizes 16 bit fractional integer values for all computations. To provide better control response by the PID control
algorithm, and to match the input commands, the RMS currents calculated from the ADCs are multiplied by 32. The output of these
calculations is then scaled back to match PWM resolution.
The proportional and integral gains are set through CAN commands. The commands have a range of 0-32767 bits. The proportional gain
value is shifted by 4 bits in the algorithm, giving an effective range of 0-16. The integral value is not shifted, giving it an effective range
of 0-1. If the calculated output values exceed the output range, it is limited and an excess value is calculated in order to limit windup.
The PI algorithm operates as follows:
Error = Command - Measured
U = Sum + PGAIN * Error
if ( U > Max )
Out = Max
else if( U < Min )
Out = Min
else
Out = U
Excess = U - Out
Sum = Sum + IGAIN * Error - IGAIN * Excess
MSK4367 CAN Command Set Summary Rev. C 5/12/12
General
0xFFF0
0xFFF1
0xFFF2
0xFFF3
Error Responses:
= Invalid Data for Command Sent
= Invalid Data Length for Command Sent
= Unrecognized Command Tag
= Overflow Error; Command not processed
Get Motor Speed – Requests motor speed from the controller.
Send Contents: Command Tag only [1 word].
Command Tag: 0x32
Response Contents: Response Tag followed by 16 bits of data [3 words].
Response Tag: 0x33
Data: 0x8000 – 0x7FFF. 2’s compliment format.
Description: Will request motor speed from the controller. The speed information is output in revolutions per minute actual rotor shaft RPM. Magnitude
and direction information is presented in 16-bit, 2’s compliment format, with a range of +32767 to -32768.
Default Data Value: N/A
Get Mechanical Position – Requests motor rotor mechanical position from the controller.
Send Contents: Command Tag only [1 word].
Command Tag: 0x34
Response Contents: Response Tag followed by 16 bits of data [3 words].
Response Tag: 0x35
Data: 0x8000 – 0x7FFF. 2’s compliment format.
Description: Will request motor rotor shaft angular mechanical position from the controller. The position information is output in encoder counts, with
zero (0) being at the Encoder Index Pulse. It is also in 2’s compliment format, with positive numbers one direction and negatives the other.
Default Data Value: 0x0000
4
8548-100 Rev. C 3/13
APPLICATION NOTES CONT'D
Get Electrical Position – Requests motor rotor electrical position from controller.
Send Contents: Command Tag only [1 word].
Command Tag: 0x36
Response Contents: Response Tag followed by 16 bits of data [3 words].
Response Tag: 0x37
Data: 0x0000 – 0x0168
Description: Will request motor rotor shaft electrical position from the controller in angular degrees, with zero (0) degrees being aligned with the Encoder
Index Pulse. For a 4 pole motor, there will be two electrical rotations, 0 through 360 degrees, per one mechanical revolution of the rotor.
Default Data Value: N/A
Get Status – Requests status of controller.
Send Contents: Command Tag only [1 word].
Command Tag: 0x10
Response Contents: Response Tag followed by 8 bits of data [2 words].
Response Tag: 0x11
Data: 0x01 – Running Mode
0x02 – Brake Mode
0x03 – Disable Mode
Description: Will request status information from the controller. Status will indicate if control is in running mode, brake mode, or disable
mode.
Default Data Value: N/A
Set Disable Mode – Commands controller to halt all PWM activity to the output bridge. Bridge is then inactive.
Send Contents: Command Tag only [1 words].
Command Tag: 0x12
Response Contents: Response Tag only [1 word].
Response Tag: 0x13
Description: Commands the controller to disable the output bridge completely by shutting off all PWM modulation and all levels necessary
to turn off all of the transistors. With the bridge now inactive, the motor can move freely. This does not reset command or PID history so
motor will resume as last commanded when it is enabled.
Default Data Value: Bridge is disabled by default.
Set Enable Mode – Commands controller to enable PWM activity to the output bridge. Bridge is then active.
Send Contents: Command Tag only [1 words].
Command Tag: 0x14
Response Contents: Response Tag only [1 word].
Response Tag: 0x15
Description: Commands the controller to enable the output bridge. This will only have an effect if it is in disable mode or brake mode. The
motor will resume normal control and move as previously commanded.
Default Data Value: Bridge is disabled by default.
Set Speed Proportional Value – Commands controller to receive speed proportional gain value.
Send Contents: Command Tag followed by 16 bits of data [3 words].
Command Tag: 0x38
Data: 0x0000 – 0x7FFF
Response Contents: Response Tag only [1 word].
Response Tag: 0x39
Description: Commands the controller to receive the proportional gain factor for programming the compensation values for the speed
control digital error loop. Valid values are 0-32767. An input gain of 0 (zero) means that there will be no proportional gain at all, and that
the speed error will go directly to the duty cycle control. A value of 32767 would equal the maximum possible gain. The controller must
be in speed control mode in order for this to take effect. The value is stored in non-volatile memory and does not have to be re-introduced
every time the device is powered up.
Default Data Value: 0x1964
5
8548-100 Rev. C 3/13
APPLICATION NOTES CONT'D
Set Speed Integral Value – Commands controller to receive speed integral gain value.
Send Contents: Command Tag followed by 16 bits of data [3 words].
Command Tag: 0x3A
Data: 0x0000 – 0x7FFF
Response Contents: Response Tag only [1 word].
Response Tag: 0x3B
Description: Commands the controller to receive the integral gain factor for programming the compensation values for the speed control
digital error loop. Valid values are 0-32767. An input gain of 0 (zero) means that there will be no integral gain at all, and that error loop
will contain proportional gain only, if proportional gain has been programmed in. A value of 32767 would equal the maximum possible gain.
The controller must be in speed control mode in order for this to take effect. The value is stored in non-volatile memory and does not have
to be re-introduced every time the device is powered up.
Default Data Value: 0x028A
Set Torque Proportional Value – Commands controller to receive torque proportional gain value.
Send Contents: Command Tag followed by 16 bits of data [3 words].
Command Tag: 0x16
Data: 0x0000 – 0x7FFF
Response Contents: Response Tag only [1 word].
Response Tag: 0x17
Description: Commands the controller to receive the torque proportional gain factor for programming the compensation values for the
torque control digital error loop. Valid values are 0-32767. An input gain of 0 (zero) means that there will be no proportional gain at all, and
that the torque error will go directly to the duty cycle control. A value of 32767 would equal the maximum possible gain. The value is
stored in non-volatile memory and does not have to be re-introduced every time the device is powered up.
Default Data Value: 0x004A
Set Torque Integral Value – Commands controller to receive torque integral gain value.
Send Contents: Command Tag followed by 16 bits of data [3 words].
Command Tag: 0x18
Data: 0x0000 – 0x7FFF
Response Contents: Response Tag only [1 word].
Response Tag: 0x19
Description: Commands the controller to receive the torque integral gain factor for programming the compensation values for the torque control digital
error loop. Valid values are 0-32767. An input gain of 0 (zero) means that there will be no integral gain at all, and that the torque error loop will contain
proportional gain only, if proportional gain has been programmed in. A value of 32767 would equal the maximum possible gain. The value is stored in nonvolatile memory and does not have to be re-introduced every time the device is powered up.
Default Data Value: 0x004B
Encoder Resolution – Commands controller to receive encoder count resolution.
Send Contents: Command Tag followed by 16 bits of data [3 words].
Command Tag: 0x3C
Data: 0x0000 – 0x0800
Response Contents: Response Tag only [1 word].
Response Tag: 0x3D
Description: Commands the controller to receive the encoder count resolution of the motor. The count will be the number of pulses from
the encoder, starting and ending with the Index Pulse. This will be the number of counts, usually, for one complete mechanical revolution
of the motor. The value is stored in non-volatile memory and does not have to be re-introduced every time the device is powered up.
Default Data Value: 0x01f4
Set Motor Poles – Commands controller to receive the number of motor poles.
Send Contents: Command Tag followed by 8 bits of data [2 words].
Command Tag: 0x40
Data: 0x00 – 0x10
Response Contents: Response Tag only [1 word].
Response Tag: 0x41
Description: Commands the controller to receive the number of electrical poles in the motor. The number of poles is the number of
magnetic north – south poles built onto the rotor shaft. Each pole pair, one magnetic north – south pair, represents one electrical revolution
of the control electronics, 360 degrees of electrical angle input to the motor. A four pole motor will take two electrical revolutions of drive
angle to achieve one complete mechanical revolution of the motor shaft. The value is stored in non-volatile memory and does not have to
be re-introduced every time the device is powered up.
Default Data Value: 0x0C4
6
8548-100 Rev. C 3/13
APPLICATION NOTES CONT'D
Set Speed / Torque Mode – Commands controller to receive mode command – speed mode versus torque mode.
Send Contents: Command Tag followed by 8 bits of data [2 words].
Command Tag: 0x42
Data:
0x00 – Torque Mode
0x01 – Speed Mode
Response Contents: Response Tag only [1 word].
Response Tag: 0x43
Description: Commands the controller to receive whether the control loop will be torque control or speed control mode. Torque control
mode will control the output torque of the motor by using the RMS current through the windings as feedback. Speed control mode will
control the speed of the motor by controlling the torque using the current as well as speed from encoder as feedback. Will also disable
bridge and reset the Speed / Torque command to 0.
Default Data Value: 0x00
Set Speed / Torque Command – Commands controller to receive speed or torque direction and magnitude.
Send Contents: Command Tag followed by 16 bits of data [3 words].
Command Tag: 0x1A
Data: 0xD8F0 – 0x2710. 2’s compliment format.
Response Contents: Response Tag only [1 word].
Response Tag: 0x1B
Description: Commands the controller to receive the magnitude and direction of the torque / speed in 16-bit, 2’s compliment format. In
speed mode, the range will be to 10000 RPM. In torque mode, the range will be to 10 amps RMS. Positive values will command one
direction, and negative values the opposite direction.
Default Data Value: 0x0000
Get Measured Current – Get current measurement from controller.
Send Contents: Command Tag only [1 word].
Command Tag: 0x1C
Response Contents: Response Tag followed by 16 bits of data [3 words].
Response Tag: 0x1D
Data: 2’s compliment format.
Description: Commands the controller to send the current value that is calculated every PWM cycle. This value should fall between +/
-10A and will be an RMS value. If in torque mode, this should correspond with your torque command.
Default Data Value: N/A
Set Brake Mode – Commands controller to receive Brake command.
Send Contents: Command tag followed by 8 bits of data [2 words].
Command Tag: 0x20
Data: 0x01 – 0xFF
Response Content: Response Tag only [1 word].
Response Tag: 0x21
Description – Commands the controller to begin applying PWM brake signals to the output bridge and to reset the command and PID
history to 0. This is dissipative braking only, using the internal resistance of the motor windings and Back EMF to slow down the motor
and apply braking resistance to the shaft. Braking is achieved by turning on the bottom transistors of the bridge, regardless of shaft angle
of the motor, and using the shorting of the Back EMF voltage through the resistance of the motor windings, essentially shorting all
windings together. However, this can be harsh if not applied in a controlled way. Control is achieved by implementing PWM modulation
of the low side transistors. Increasing the duty cycle will increase the amount of time each cycle that the windings are shorted together.
An 8-bit word is sent to the controller telling how long the ramp time is for increasing the duty cycle, with each bit being equal to about
7.8ms. A data value of 1 would have a ramp time of 7.8ms and the full data value of 255 would be have a 2 second ramp time.
Default Data Value: N/A
7
8548-100 Rev. C 3/13
APPLICATION NOTES CONT'D
Set Startup Torque - Commands the amount of torque applied during startup procedure.
Send Contents: Command Tag followed by 16 bits of data [3 words].
Command Tag: 0x44
Data: 0x0001 – 0x7FFF
Response Contents: Response Tag only [1 word].
Response Tag: 0x45
Description: This command will be sent to the controller to change the amount of current being used for startup. In order to start the
motor, it is driven in an open loop mode until the Encoder index has been passed, so that the position is known. A command of 1 will be
the minimum torque possible, and 32767 will be maximum torque possible. The value is stored in non-volatile memory and does not have
to be re-introduced every time the device is powered up.
Default Data Value: 0x1F40
Set CAN Mask - Sets the mask bits for the CAN module. For filtering CAN messages.
Send Contents: Command Tag followed by 40 bits of data. Data = First 16 represent the SID bits. The upper 5 bits are ignored.
The remaining 24 bits represent the EID. The upper 6 bits are ignored. When used with an EID, the SID bits and EID bits are
combined with the SID bits being most significant [6 words].
Command Tag: 0x22
Data: 0x00 0000 0000 – 0xFF FFFF FFFF
Response Contents: Response Tag only [1 word].
Response Tag: 0x23
Description: The CAN Mask works with the CAN Filter 1 and 2 in order to decide which messages are meant to be accepted by the
controller. If a given mask bit is set, the corresponding bit in the filter will be used to filter messages. If it is not set, the corresponding
bit in the filter will be ignored. The value is stored in non-volatile memory and does not have to be re-introduced every time the device is
powered up.
Mask Bit n Filter Bit n Message Identifiere bit Accept or Reject bit n
x
x
Accept
0
0
0
Accept
1
0
1
Reject
1
1
0
Reject
1
1
1
Accept
1
Default Data Value: 0x00 0000 0000
Set CAN Filter 1- Sets the filter 1 bits for the CAN module. For filtering CAN messages.
Send Contents: Command Tag followed by 40 bits of data. Data = First 16 represent the SID bits. The upper 5 bits are ignored.
The remaining 24 bits represent the EID. The upper 6 bits are ignored. When used with an EID, the SID bits and EID bits are
combined with the SID bits being most significant [6 words].
Command Tag: 0x24
Data: 00 0000 0000 – 0xFF FFFF FFFF
Response Contents: Response Tag only [1 word].
Response Tag = 0x25
Description: The CAN Filter works with the CAN mask in order to decide which messages are meant to be read by the controller. If a given
mask bit is set, the corresponding bit in the filter will be used to filter messages. If it is not set, the corresponding bit in the filter will be
ignored. The value is stored in non-volatile memory and does not have to be re-introduced every time the device is powered up.
Mask Bit n Filter Bit n Message Identifiere bit Accept or Reject bit n
x
x
Accept
0
0
0
Accept
1
0
1
Reject
1
1
0
Reject
1
1
1
Accept
1
Default Data Value: 0xFF FFFF 0000
Set CAN Filter 2- Sets the filter 2 bits for the CAN module. For filtering CAN messages.
Send Contents: Command Tag followed by 40 bits of data. Data = First 16 represent the SID bits. The upper 5 bits are ignored.
The remaining 24 bits represent the EID. The upper 6 bits are ignored. When used with an EID, the SID bits and EID bits are
combined with the SID bits being most significant [6 words].
Command Tag: 0x26
Data: 0x00 0000 0000 – 0xFF FFFF FFFF
Response Contents: Response Tag only [1 word].
Response Tag = 0x27
Description: The CAN Filter works with the CAN mask in order to decide which messages are meant to be read by the controller. If a given
mask bit is set, the corresponding bit in the filter will be used to filter messages. If it is not set, the corresponding bit in the filter will be
ignored. The value is stored in non-volatile memory and does not have to be re-introduced every time the device is powered up.
Default Data Value: 0xFF FFFF FFFF
8
8548-100 Rev. C 3/13
APPLICATION NOTES CONT'D
Set CAN Baud Rate - Allows you to change what speed you want the CAN Bus to operate at. The default is 1Mbps.
Send Contents: Command tag followed by 8 bits of data [2 words].
Command Tag = 0x28
Data:
0x01 – 1 Mbps
0x02 – 500 Kbps
0x03 – 250 Kbps
0x04 – 125 Kbps
Response Contents: Response Tag only [1 word].
Response Tag = 0x29
Description: When the command is sent to change the CAN Bus bit rate, first the reply will be sent, and then the CAN module will be
disabled. It is then reconfigured with the new bit rate, and brought back into an active state. From then on the new bit rate will be used
exclusively. To return to default settings the CAN reset pin can be used or commands can be sent at the new baud rate. The value is stored
in non-volatile memory and does not have to be re-introduced every time the device is powered up.
Default Data Value = 0x01
Set CAN Message Standard ID - This sets the Standard ID used to transmit messages.
Send Contents: Command Tag followed by 16 bits of data. The uppermost 5 bits are ignored (bits 16-12), as only 11 bits are
allowed in a standard identifier [3 words].
Command Tag: 0x2A
Data: 0x0000 – 0x07FF
Response Contents: Response Tag only [1 word].
Response Tag: 0x2B
Description: This command is sent to the device to set the Message ID used when Standard ID mode is selected. If the CAN Message
Mode is set to Extended ID, this value will not be used. The value is stored in non-volatile memory and does not have to be re-introduced
every time the device is powered up.
Default Data Value = 0x0555
Set CAN Message Extended ID - This sets the Extended ID used to transmit messages.
Send Contents: Command Tag followed by 32 bits of data. The uppermost 3 bits are ignored, and the following 29 bits are used
as the message ID [5 words].
Command Tag: 0x2C
Data: 0x0000 0000 – 0x1FFF FFFF
Response Contents: Response Tag only [1 word].
Response Tag: 0x2D
Description: This command is sent to the device to set the Message ID used when Extended ID mode is selected. If the CAN Message
Mode is set to Standard ID, this value will not be used. The value is stored in non-volatile memory and does not have to be re-introduced
every time the device is powered up.
Default Data Value = 0x0000 0000
Set CAN Message Mode - This sets device to use a Standard ID or Extended ID when transmitting messages.
Send Contents: Command Tag followed by 8 bits of data [2 words].
Command Tag: 0x30
Data:
0x01 - Standard ID
0x02 –Extended ID
Response Contents: Response Tag only [1 word].
Response Tag: 0x31
Description: This command is sent to the device to say whether it should send a Standard ID or Extended ID. The actual IDs are set via
their own commands. The value is stored in non-volatile memory and does not have to be re-introduced every time the device is powered
up.
Default Data Value = 0x01
Set Encoder Offset - Set electrical angle offset to compensate for the encoder being unaligned.
Send Contents: Command Tag followed by 16 bits of data [3 words].
Command Tag: 0x46
Data:
0x0000 – 0x0167
Response Contents: Response Tag only [1 word].
Response Tag: 0x47
Description: This command is used to compensate for an encoder index not being aligned with the zero degree electrical angle of a motor.
There are no negative values used because it is a modulus style calculation. The value is stored in non-volatile memory and does not have
to be re-introduced every time the device is powered up.
Default Data Value = 0x00
9
8548-100 Rev. C 3/13
MECHANICAL SPECIFICATIONS
WEIGHT= 70 GRAMS TYPICAL
NOTE: ALL DIMENSIONS ARE ±0.010 INCHES UNLESS OTHERWISE LABELED.
ESD Triangle indicates Pin 1.
ORDERING INFORMATION
Part
Number
MSK4367
MSK4367H
Screening Level
Industrial
Mil-PRF-38534 Class H
M.S. Kennedy Corp.
4707 Dey Road, Liverpool, New York 13088
Phone (315) 701-6751
FAX (315) 701-6752
www.mskennedy.com
The information contained herein is believed to be accurate at the time of printing. MSK reserves the right to make
changes to its products or specifications without notice, however, and assumes no liability for the use of its products.
Please visit our website for the most recent revision of this datasheet.
Contact MSK for MIL-PRF-38534 qualification status.
10
8548-100 Rev. C 3/13