MC8041A PlentyIsland
MC8041A PlentyIsland
www.DataSheet4U.com
MC8041A / MCX314
User’s Manual
Ver 2.0
Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0
3. I/O Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.1. Descriptions of ISA BUS Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.2. Pin Definition of I/O Connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.3. Drive Pulse Signal (nP+P, nP+N, nP-P, nP-N) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.4. General Purpose Output Signal (nOUT7 ~ nOUT4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.5. Over Limit Signal (nLMT+, nLMT-) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.6. Decelerating / Sudden Stop Input Signal (nIN1, nIN2, nIN3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.7. Input Signal for Servo Driver (nINPOS, nALARM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
www.DataSheet4U.com
3.8. Encoder Input Signal (nECAP, nECAN, nECBP, nECBN, nIN0P, nIN0N) . . . . . . . . . . . . . . . . . . . . . . 8
3.9. External Driving Control Input Signal (nEX0P+, nEX0P-) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.10 Emergency Stop Input Signal(EMG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.11 External Power Input (VEX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4. Interrupt Setting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8. Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1
1. Introduction
MC8041A is a high-speed 4-axis PC-Based motion control card for stepper or pulse-type servo motor drivers.
Its features are:
. 4-axis independent position / speed control for stepper / pulse-type servo motor drivers
. Linear interpolation for any 2 or 3 axes
. Circular interpolation for any 2 axes
. Bit pattern interpolation for any 2 or 3 axes
MC8041A, equipped with our 4-axis motion control IC MCX314, can be directly connect to the ISA bus
expansion slot on PCs and their compatible machines.
The following is the functional blocks of MC8401A including MCX314, ISA BUS interface and each I/O
interface. Please refer MCX314 manual for the functions in details.
www.DataSheet4U.com
SD15~0 Bi-direction
buffer Z Axis Interface
identical to the Input / Output interface of X-axis
IRQ3
IRQ4
IRQ5 U Axis Interface
IRQ6
identical to the Input / Output interface of X-axis
IRQ7
IRQ10 Buffer
IRQ11
IRQ12 Photo coupler
IRQ14 EMGN & EMG Emergency stop
IRQ15 RC filter
The slide dip switches SW1 and SW2 are with ON and OFF level for SA15 ~ SA4. Switch “ ON” to set a
binary value 0; switch “ OFF” to set a binary value 1 (see the graph below).
SW2 SW1
ON ON
ON : 0
OFF:1
www.DataSheet4U.com
1 2 3 4 1 2 3 4 5 6 7 8
This graph shows the initial setting of 0280~028Fh. The user should pay attention not to overlap setting this
address with the address of PC main board and / or other I/O cards.
1
MCX314
3. I/O Interfaces
This chapter describes connector I/O signals. The standard ISA bus is used as the board edge connector.
Here, the signal introduction just focuses on the pins used for MX8041A. nOOOO represents any one of X, Y,
Z and U axes.
2
MCX314
3.2. Pin Definition of I/O Connector
See the diagram below: when the first pin (¡ ¶) is found, the upper cable, from right (red wire) to left are the
pins A1, A2, A3, …
, A49, A50, and lower cable from right (red wire) to left are the pins B2, B3, …
, B49, B50.
Connector type: board side.. FX2B-100P -1.27DS(HIROSE)
cable side.. FX2B-100S -1.27R(HIROSE)
I/O Connector
A50 A49 • • • • • • • • • • • • • A2 A1
B50 B49 • • • • • • • • • • • • • B2 B1
st
1 Pin
www.DataSheet4U.com
A50 A49 A2 A1
B50 B49 B2 B1
Pin Signal Name I/O Contents Pin Signal Name I/O Contents
A1 VEX Input External Power(DC12~24V) B1 VEX Input External Power (DC12~24V)
A2 EMG Input Emergency Stop (for all axes) B2
A3 XLMT+ Input + Direction Limit of X axis B3 ZLMT+ Input + Direction Limit of Z axis
A4 XLMT- Input - Direction Limit of X axis B4 ZLMT- Input - Direction Limit of Z axis
A5 XIN1 Input Decelerating / Sudden Stop of X axis B5 ZIN1 Input Decelerating / Sudden Stop of Z axis
A6 XIN2 Input Decelerating / Sudden Stop of X axis B6 ZIN2 Input Decelerating / Sudden Stop of Z axis
A7 XIN3 Input Decelerating / Sudden Stop of X axis B7 ZIN3 Input Decelerating / Sudden Stop of Z axis
A8 YLMT+ Input + Direction Limit of Y axis B8 ULMT+ Input + Direction Limit of U axis
A9 YLMT- Input - Direction Limit of Y axis B9 ULMT- Input - Direction Limit of U axis
A10 YIN1 Input Decelerating / Sudden Stop of Y axis B10 UIN1 Input Decelerating / Sudden Stop of U axis
A11 YIN2 Input Decelerating / Sudden Stop of Y axis B11 UIN2 Input Decelerating / Sudden Stop of U axis
A12 YIN3 Input Decelerating / Sudden Stop of Y axis B12 UIN3 Input Decelerating / Sudden Stop of U axis
A13 XINPOS Input Servo In-positioning of X axis B13 ZINPOS Input Servo In-positioning of Z axis
A14 XALARM Input Servo Error of X axis B14 ZALARM Input Servo Error of Z axis
A15 XECAP Input Encoder Phase A of X axis B15 ZECAP Input Encoder Phase A of Z axis
A16 XECAN Input Encoder Phase A of X axis B16 ZECAN Input Encoder Phase A of Z axis
A17 XECBP Input Encoder Phase B of X axis B17 ZECBP Input Encoder Phase B of Z axis
A18 XECBN Input Encoder Phase B of X axis B18 ZECBN Input Encoder Phase B of Z axis
A19 XIN0P Input Encoder Phase Z of X axis B19 ZIN0P Input Encoder Phase Z of Z axis
A20 XIN0N Input Encoder Phase Z of X axis B20 ZIN0N Input Encoder Phase Z of Z axis
A21 YINPOS Input Servo In-positioning of Y axis B21 UINPOS Input In-positioning of U axis
A22 YALARM Input Servo Error of Y axis B22 UALARM Input Servo Error of U axis
A23 YECAP Input Encoder Phase A of Y axis B23 UECAP Input Encoder Phase A of U axis
A24 YECAN Input Encoder Phase A of Y axis B24 UECAN Input Encoder Phase A of U axis
A25 YECBP Input Encoder Phase B of Y axis B25 UECBP Input Encoder Phase B of U axis
A26 YECBN Input Encoder Phase B of Y axis B26 UECBN Input Encoder Phase B of U axis
A27 YIN0P Input Encoder Phase Z of Y axis B27 UIN0P Input Encoder Phase Z of U axis
A28 YIN0N Input Encoder Phase Z of Y axis B28 UIN0N Input Encoder Phase Z of U axis
A29 XEXOP+ Input + Direction Drive Operation of X axis B29 ZEXOP+ Input + Direction Drive Operation of Z axis
A30 XEXOP- Input – Direction Drive Operation of X axis B30 ZEXOP- Input – Direction Drive Operation of Z axis
A31 YEXOP+ Input + Direction Drive Operation of Y axis B31 UEXOP+ Input + Direction Drive Operation of U axis
A32 YEXOP- Input – Direction Drive Operation of Y axis B32 UEXOP- Input – Direction Drive Operation of U axis
A33 GND Ground B33 GND Ground
A34 XOUT4 Output General Purpose Output of X axis B34 ZOUT4 Output General Purpose Output of Z axis
A35 XOUT5 Output General Purpose Output of X axis B35 ZOUT5 Output General Purpose Output of Z axis
A36 XOUT6 Output General Purpose Output of X axis B36 ZOUT6 Output General Purpose Output of Z axis
A37 XOUT7 Output General Purpose Output of X axis B37 ZOUT7 Output General Purpose Output of Z axis
A38 XP+P Output + Direction Drive Pulse of X axis B38 ZP+P Output + Direction Drive Pulse of Z axis
A39 XP+N Output + Direction Drive Pulse of X axis B39 ZP+N Output + Direction Drive Pulse of Z axis
A40 XP-P Output - Direction Drive Pulse of X axis B40 ZP-P Output - Direction Drive Pulse of Z axis
A41 XP-N Output - Direction Drive Pulse of X axis B41 ZP-N Output - Direction Drive Pulse of Z axis
A42 GND Ground B42 GND Ground
3
MCX314
Pin Signal Name I/O Contents Pin Signal Name I/O Contents
A43 YOUT4 Output General Purpose Output of Y axis B43 UOUT4 Output General Purpose Output of U axis
A44 YOUT5 Output General Purpose Output of Y axis B44 UOUT5 Output General Purpose Output of U axis
A45 YOUT6 Output General Purpose Output of Y axis B45 UOUT6 Output General Purpose Output of U axis
A46 YOUT7 Output General Purpose Output of Y axis B46 UOUT7 Output General Purpose Output of U axis
A47 YP+P Output + Direction Drive Pulse of Y axis B47 UP+P Output + Direction Drive Pulse of U axis
A48 YP+N Output + Direction Drive Pulse of Y axis B48 UP+N Output + Direction Drive Pulse of U axis
A49 YP-P Output - Direction Drive Pulse of Y axis B49 UP-P Output - Direction Drive Pulse of U axis
A50 YP-N Output - Direction Drive Pulse of Y axis B50 UP-N Output - Direction Drive Pulse of U axis
www.DataSheet4U.com
4
MCX314
Jumper table of J3
Output Signal XP+P XP-P YP+P YP-P ZP+P ZP-P UP+P UP-P
+ 5V Output 3 6 9 12 15 18 21 24
Output Pin 2 5 8 11 14 17 20 23
Line-driver Output 1 4 7 10 13 16 19 22
The original setting of 1-2, 4-5, 7-8, 10-11, 13-14, 16-17, 19-20 and 22-23 are shorted, which is line driver
output. If 2-3, 5-6, 8-9, 11-12, 14-15, 17-18, 20-21, and 23-24 are shorted, +5V output can be used. The
following figures show the connecting examples of motor driver and photo coupler / line-driver.
XP+N CW-
+5V or CCW+
XP-P
XP-N CCW-
Motor Driver Side
5
MCX314
nOUT6/ASND nOUT6
nOUT5/CMPM nOUT5
nOUT4/CMPP nOUT4
74LS06 GND
DSND
www.DataSheet4U.com and ASND are used for acceleration / deceleration status output; CMPM and CMPP are used for
position counter and compare register. Please refer to Chapters 2.6.8 and 4.6 of MCX314 manual for general
purpose output, Chapters 2.6.7 and 4.6 for acceleration / deceleration status output and Chapters 2.3 and 4.6
for the comparison status of position counter and compare register.
3.5. Over Limit Signal (nLMT+, nLMT-)
Over limit signals are used for halting + / - direction drive pulses. This input signal is connected to the limit
input of MCX314 through the connection of photo coupler and RC filter. External DC12~24V power supply is
necessary for triggering the limit switch. The logical levels and decelerating stop / sudden stop are selectable
during the mode setting. After resetting, MCX314 is active on the Low level, and the limit is active when the
current flows to the signal terminal (nLMT+, nLMT-). Please refer to Chapter 4.5 of MCX314 manual for mode
setting in details.
+5V VEX(12~24V)
MCX314 10K
nLMTP
3.3K 3.3K
0.01µ
nLMT+
+5V TLP121 or eq.
10K
nLMTM
3.3K 3.3K
0.01µ
nLMT-
The response time of this circuit takes about 0.2 ~ 0.4 mSEC because of the delay of photo coupled and RC
filter. The following figure shows the example of connecting photo sensor and over limit signal. When bit D3
of X axis mode register 2 (XWR2) is set to 0 (the resetting mode), the limit is active when the sensor is
sheltered. The shield wire should be used if the cable connection is long-distance.
MC8041A
VEX ¡Ï
DC12~24V EE-SX670
¡Ð
(OMRON)
XLMT+
6
MCX314
3.6. Decelerating / Sudden Stop Input Signal (nIN1, nIN2, nIN3)
Decelerating / sudden stop signal is for decelerating stop / sudden stop during the driving. In MCX314, each
axis is with 4 inputs IN3~IN0, in which IN0 is for the interface feedback of encoder Z phase; nIN1, nIN2 and
nIn3 are for home position and hear-by home position input signals. Enable / disable and logical levels can be
set. When the mode is enabled, the driving will stop once this signal is active. The decelerating stop will be
performed during the acceleration / deceleration driving; the sudden stop will be performed during the
constant speed driving. For instance, when D6 and D7 bits of XWR3 register are set 1 and 0 for X axis’
signal on the active Low level, the driving will be stopped when the current flows to the signal terminal XIN3.
Please refer to Chapter 4.4 of MCX314 manual for mode setting in details.
read from the input register 1 and 2 (RR4, 5); they can be used for general purpose inputs.
MCX314 +5V
VEX(12~24V)
www.DataSheet4U.com 10K
nIN3~1
3.3K 3.3K
0.01µ nIN3~1
TLP121 or eq.
The response time of this circuit takes about 0.2 ~ 0.4 mSEC because of the delay of photo coupled and RC
filter.
nINPOS is the input signal corresponding to the in-position output of servo driver. Enable / disable and logical
levels are selectable. When it is enabled, and after the driving is finished, this signal is active and standby. n-
nALARM is the input signal corresponding to the alarm output of servo driver. Enable / disable and logical
ALARM bit of status register 2 (nRR2) becomes 1. The driving will be sudden stopped once this signal is in its
active level during the driving.
14 bits of mode register 2 (nWR2) are set to 1 and 0 on active Low level, the current flows from nINPOS
signal terminal is standby, and bit n-DRV of RRO register returns to 0. For nALSRM input signal, after D13
nALARM signal terminal becomes the alarm status. Please refer to Chapters 2.6.5 and 4.5 for information in
details.
+5V VEX(12~24V)
MCX314 10K
nINPOS
3.3K 3.3K
0.01µ
nINPOS
TLP121 or eq.
+5V
10K
nALARM
3.3K 3.3K
0.01µ
nALARM
External DC12~24V power supply is necessary for triggering the signal. For the status of these signals can be
read from the input register 1 and 2 (RR4, 5); they can be used for general purpose inputs. The response time
of this circuit takes about 0.2 ~ 0.4 mSEC because of the delay of photo coupled and RC filter.
7
MCX314
3.8. Encoder Input Signal (nECAP, nECAN, nECBP, nECBN, nIN0P, nIN0N)
Connecting with encoder 2-phase output signals or the encoder 2-phase output signals of servo driver, nECAP
/ N and nECBP / N input signals are for the input counting of MCX314 real position counter. UP/DOWN pulse
input and mode setting are possible. Please refer to Chapters 2.3.1, 2.6.3 and 4.5 of MCX314 manual for
information in details.
Connecting with encoder or Z-phase output signal of servo driver, nIN0P and nIN0N input signals are for the
driving stop while drive pulses are outputting. Enable / disable and logical levels can be set. When the mode
is enabled, the drive pulse output is stopped once the signal is active during the driving.
+5V
MCX314 470 nECAP
220
nECA/PPIN 1K
www.DataSheet4U.com nECAN
+5V
470 nECBP
220
nECB/PPIM 1K
nECBN
+5V
470 NIN0P
220
nIN0 1K
NIN0N
TLP2630 or PC9D10
Shown in the circuit diagram above, high speed photo coupler TLP2630 (TOSHIBA) or PC9D10 (SHARP) is
used. The encoder output can be differential line-driver or open-collector. The figure below shows when n***P
is on the Hi level and n***N is on the Low level, the signal of MCX314 is on the Low level; when n***P is on
the Low level and n***N is on the Hi level, the signal of MCX314 is on the Hi level. For the signal delay time
from input pin to MCX314 signal terminal is less than 100nSEC, the maximum 4MHz counting is possible for
2-phase pulse input.
n***P H L
Input signal
n***N L H
MCX314 signal n**** L H
XECAP
EC-A
XECAN
Am26LS31
XECBP
EC-B
XECBN
XINOP
EC-Z
XINON
Encoder Side
8
MCX314
The following figure shows the connection of encoder input signal and open collector output encoder.
+
DC Power
-
VCC
R Encoder
XECAP
EC-A
XECAN
R
XECBP
EC-B
XECBN
www.DataSheet4U.com R
XINOP
EC-Z
XINON
END
+5V VEX(12~24V)
MCX314 10K
nEXPP
100K 3.3K
74HC14
0.01µ
nEXOP+
+5V TLP121 or eq.
10K
nEXPM
100K 3.3K
0.01µ
nEXOP-
In order to insulate this signal from photo coupler internal circuit, and prevent the chattering from CR circuit, it
is possible to connect input signal with manual connector. The figure below is the connection example of
external driving control input for X axis.
9
MCX314
MC8041A
VEX ¡Ï
DC12~24V
¡Ð
XEXOP+
XEXOP-
SW ON to Jog
Connection Example of External Driving Control Input
+5V VEX(12~24V)
MCX314 10K
J4
EMGN 1 2
3 4
3.3K 3.3K
74HC14
J4 :EMG logical setting
0.01µ EMG
(factory setting is J1-J2 short )
TLP121 or eq.
External DC12~24V power supply is necessary for triggering the signal. The response time of this circuit takes
about 0.2 ~ 0.4 mSEC because of the delay of photo coupled and RC filter.
J4
Short between pins 1 and 2: active when the emergent stop signal (EMG)
2 4
and external GND are short
1 3 Short between pins 3 and 4: active when the emergent stop signal (EMG)
and external GND are opened
The original setting is short between pins 1 and 2.
10
MCX314
4. Interrupt Setting
Through J2 jumper terminal, total ten interrupt request signals at ISA bus can be connected.
When the interrupt occurs in MCX314, the interrupt request signal (IRQn) will become Hi level from Low level.
After the status register 3 (nRR3) of the interrupted axis is read, this interrupt request signal will return to the
Low level. Please refer to Chapters 2.5, 4.4 and 4.13 for interrupt functions.
+5V
ISA BUS J2
MCX314
IRQ3 1 2
INTN
IRQ4 3 4
www.DataSheet4U.com
IRQ5 5 6 74LS04
7 8
IRQ6
9 10
IRQ7
11 12
IRQ10
13 14
IRQ11
15 16
IRQ12 17 18
IRQ14 19 20
IRQ15
The table below shows the shorted pins at J2 jumper corresponding to the interrupt request signals at ISA bus:
The initial setting is shorted between pins 2 and 4, so there is no interrupt request to CPU.
[Note]
For 74ALS04 is used for outputting interrupt signals, the interrupt request signals should not be used for other
devices or for other I/O boards of PC.
11
MCX314
The figure below is the example of MC8041A connected to a 5-phase micro-step driver, KR515M,
manufactured by TECHNO DRIVE.
MC8041A KR515M
XP+P F+
CW Pulse
XP+N F-
XP-P R+
CCW Pulse
www.DataSheet4U.com XP-N R-
H.O.+
Hold Off
XOUT4 H.O.-
D.S.+
M1/M2 select
XOUT5 D.S.-
XINOP
XINON Z.P.+
Timing Output
GND Z.P.-
Note 1: J3 of MC8041A is set at +5V output side for output terminals XP+P and XP-P. Please be very
careful that the external noise may happen during the wiring.
Note 2: Hold off, M1 / M2 select and timing output can be wired if necessary. The hold off and M1 /M2 select
signals can be controlled by writing 0 and 1 into bits D8 and D9 of WR3 register of MCX314. For
timing output signal, the signal level can be read through RR4 and RR5 registers.
The figure below is the example of MC8041A connected to UPK series stepper drivers manufactured by
ORIENTAL.
XP+P CW+
CW Pulse
XP+N CW-
XP-P CCW+
CCW Pulse
XP-N CCW-
2KΩ/1w
H.OFF+
Hold Off
XOUT4 H.OFF-
+
DC24V
GND
-
VEX
Timing Output
XIN1 TIMMING
Over Heat
XALARM O. HEAT
COM
Note 1: Hold off, timing output and over heat can be wired if necessary. The hold off signal can be controlled by
writing 0 and 1 into bit D8 of WR3 register of MCX314.For timing output signal, the home position searching can be
performed through the bits D0 and D1 of WR1 register mode setting. For over heat signal, the alarm function can
be performed through the bits D12 and D13 of WR2 register mode setting. For timing output and over heat signals,
the signal level can be read through RR4 and RR5 registers.
Note 2: The user can use twist pair cable for long-distance connection or for a strong noise circumstance.
12
MCX314
The figure below is the example of MC8041A connected to MINAS XX series AC servo driver manufactured
by PANASONIC.
MC8041A
I/O Connector MINAS XX series CNI/F
XP+P CW+
CW Pulse
XP+N CW-
XP-P CCW+
CCW Pulse
XP-N CCW-
www.DataSheet4U.com
XECAP OA+
Encoder Phase A
XECAN OA-
XECBP OB+
Encoder Phase B
XECBN OB-
XINOP OZ+
Encoder Phase Z
XINON OZ-
GND GND
COM+
Servo On
XOUT4 SRV-ON
Error Counter Clear
XOUT5 CL
Alarm Clear
XOUT6 A-CLR
GND COM-
+
DC24V
-
VEX
Servo Ready
XIN3 S-RDY
Servo Alarm
XALARM ALM
Completing Position
XINPOS COIN
XIN1 HOME
Note 1: The servo driver should be engaged in position control mode and the pulse input is set the CW/CCW
pulse mode. This connection is not proper for pulse / direction mode because the t6 time will not be
enough.
Note 2: Encoder A / B phase can be connected when the real position counter of MCX314 is used for counting.
It is not necessary to connect the real position data at CPU side, neither to connect other signals.
Note 3: The user can use twist pair cable for long-distance connection or for a strong noise circumstance.
13
MCX314
+5V
RESDRV
nP±P Low
nP±N Hi
nOUT4~7
www.DataSheet4U.com • OFF
BUSYN
←Interpolation drive command write in
•
nPP±P 1st pulse 2nd pulse
‚ ƒ
Pre state Valid level
nPP-P
direction signal
¬ The maximum time from the driving command write-in to the first pulse starting is about 650nSEC.
-® When the drive output pulse type is 1-pulse 1-direction, the direction signal (nP-P) will be in its valid level
within maximum 275 nSEC, and then first pulse will be output within 375 nSEC after the direction signal is in
its valid level.
BUSYN
←Interpolation drive command write in
•
nPP±P 1st pulse 2nd pulse
‚ ‚ ‚ ‚
nPP-P Not stable Valid level Not stable Valid level Not stable
direction signal
¬ After interpolation command is written, the first pulse will be output within 775 nSEC.
- When the drive output pulse type is 1-pulse 1-direction, the direction signal (nP-P) will be in its valid level
before and after 125 mSEC once the drive pulse is on the Hi level.
14
MCX314
nECAN
nECBP
nECBN
www.DataSheet4U.com • • • • • • • •
nECAN
nECBP
nECBN
• • • •
ƒ ‚ ƒ
¬ Minimum Up / Down pulse width: 130 nSEC
- Minimum UpÖDown pulse Interval: 260nSEC
® Minimum Up / Down pulse cycle: 260 nSEC
15
MCX314
nP±P
•
¬ When external stop signal is enabled during the driving, up to 400 µ SEC, + 1 pulse will be output, then
stopped.
nP±P
‚
- When the stop command issued during the driving, at most one pulse will be output, then the driving is
stopped.
nP±P
•
¬ When the external decelerating stop signal is enabled during the driving, up to 400 µ SEC, + 2 pules will
be output, then stopped.
nP±P
‚
- When the decelerating stop command is issued during the driving, at most two pulses will be output, then
the driving starts decelerating.
16
MCX314
3
163 11 1
161
22.1
www.DataSheet4U.com SW2 SW1
3 6 +5V 24
92.2
J3
1 4 16 22
120
2 4 1820 2 4 2 4
J2
1 3 1719 1 3 1 3
J1 J4
ISA BUS
69.85 63.4
2.54 X 17 2.54 X 30
48 81
10
3.2 18.6
17
MCX314
8. Specifications
< Axial Control
4 axes
<Interpolation
Linear Interpolation -- any 2 / 3 of 4 axes
Range: -8,388,608 ~ +8,388,607; Accuracy: ¡ Ó
0.5LSB; Speed: 1PPS ~ 4MPPS
www.DataSheet4U.com
CircularInterpolation -- any 2 of 4 axes
Range: -8,388,608 ~ +8,388,607; Accuracy: ¡ Ó
1LSB; Speed: 1PPS ~ 4MPPS
Bit Pattern Interpolation -- any 2 / 3 of 4 axes, for CPU calculation
Continuous Interpolation: performing linear and circular interpolations continually
Highest drive speed of continuous interpolation: 2MHz
Other functions: interpolating axes selection, constant surface speed control, interpolating steps performance
<Position Counter
Logical Position Counter (for output pulse): 32-bit
Real Position Counter (for input pulse): 32-bit
Data reading and writing possible
<Compare Register
COMP+ & COMP-
Status and signal outputs for the comparisons of position counters
Software limit functioned
18
MCX314
<Interrupt (Interpolations Excluded)
The factors of occurring interrupt:
..the drive-pulse outputting
..the start / finish of a consistent-speed drive during the accelerating / decelerating driving
..the end of the driving
..the volume of position counter¡ Ù the changed volume of COMP-
..the volume of position counter¡ Õ the changed volume of COMP-
..the volume of position counter¡ Ù the changed volume of COMP+
..the volume of position counter¡ Õ the changed volume of COMP+
Enable / disable for these factors selectable
19
MCX314
www.DataSheet4U.com
MCX314
4-Axis Motion Control IC
20
MCX314
Contents
1. OUTLINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
4. Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.1 Register Address by 16-bit Data Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2 Register Address by 8-bit Data Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3 Command Register: WR0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.4 Mode Register1: WR1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.5 Mode Register2: WR2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.6 Mode Register3: WR3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.7 Output Register: WR4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.8 Interpolation Mode Register: WR5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.9 Data Register: WR6/WR7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.10 Main Status Register: RR0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.11 Status Register 1: RR1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.12 Status Register 2: RR2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.13 Status Register 3: RR3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.14 Input Register: RR4 / RR5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.15 Data-Read Register: RR6 / RR7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5. Command Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
21
MCX314
6.7 Output Pulse Number / Interpolation Finish Point Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.8 Manual Decelerating Point Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.9 Circular Center Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.10 Logical Position Counter Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.11 Real position Counter Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.12 COMP+ Register Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.13 COMP− Register Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.14 Acceleration Counter Offsetting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.15 NOP (Used for Axis Switching) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7. Commands for Reading Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.1 Logical Position Counter Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.2 Real position Counter Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.3 Current Drive Speed Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.4 Current Acceleration / Deceleration Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
w w w . D a t a8.
S h eDriving
e t 4 U . c o mCommands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.1 +Direction Fixed Pulse Driving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.2 -Direction Fixed Pulse Driving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.3 +Direction Continuous Driving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.4 -Direction Continuous Driving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.5 Drive Status Holding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.6 Drive Status Holding Release / Finishing Status Clear. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.7 Decelerating Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.8 Sudden Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
9. Interpolation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
9.1 2-Axis Linear Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
9.2 3-Axis Linear Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
9.3 CW Circular Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
9.4 CCW Circular Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
9.5 2-Axis Bit Pattern Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
9.6 3-Axis Bit Pattern Interpolation Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
9.7 BP Register Data Writing Enabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
9.8 BP Register Data Writing Disabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
9.9 BP Data Stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
9.10 BP Data Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
9.11 Single Step Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
9.12 Deceleration Enabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
9.13 Deceleration Disabling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
9.14 Interpolation Interrupt Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
10. Connection Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
10.1 Connection Example for 68000 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
10.2 Connection Example for Z80 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
10.3 Connection Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
10.4 Pulse Output Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
10.5 Connection Example for Input Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
10.6 Connection Example for Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
11. Example Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
15. Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
www.DataSheet4U.com
23
www.DataSheet4U.com
MCX314
1. OUTLINE
MCX314 is a 4-axis motion control IC which can control 4 axes of either stepper motor or pulse type servo
driveers for position, speed, and interpolation controls. All of the MCX314’ s function are controlled by specific
registers. There are command registers, data registers, status registers and mode registers.
This motion control IC has the following built-in functions:
n Individual Control for 4 Axes
Each of the four axes has identical function capabilities, and is controlled by the same method of operation
with constant speed, trapezoidal or S-curve driving.
n Speed Control
The speed range of the pulse output is from 1PPS to 4MPPS for constant speed, trapezoidal or S-curve
acceleration/deceleration driving. The accuracy of the frequency of the pulse output is less than +/- 0.1%
(at CLK=16MHz). The speed of driving pulse output can be freely changed during the driving.
n S-curve
www.DataSheet4U.com Acceleration and Deceleration
Each axis can be preset with S-curve or trapezoidal acceleration/deceleration individually. Using S-curve
command will drive the output pulse in a parabolic shaped acceleration and deceleration. Besides these,
MCX314 has a special method to prevent from the happening of triangular curve when S-curve is
commanded.
n Linear Interpolation
Any 2 or 3 axes can be selected to perform linear interpolation. The position boundary is between
coordinates -8,388,608 and +8,388,607, and the positioning error is within +/- 0.5 LSB (Least Significant
Bit). The interpolation speed range is from 1 PPS to 4 MPPS.
n Circular Interpolation
Any 2 axes can be selected to perform circular interpolation. The position boundary is between coordinates
-8,388,608 and +8,388,607, and the positioning error is within +/- 1.0 LSB. The interpolation speed range
is from 1 PPS to 4 MPPS.
n Bit Pattern Interpolation
Any 2 or 3 axes can be selected to perform the bit pattern interpolation, and the interpolation data is
calculated by CPU; CPU writes the bit data into MCX314. Then, MCX314 outputs pulses continuously at
the preset driving speed. So, the user can process any interpolation curve by this mode.
n Continuous Interpolation
Different interpolation methods can be used continuously, linear interpolation -> circular
interpolation -> linear interpolation …
, The maximum driving speed of performing continuous
interpolation is 2 MHz.
n Constant Vector Speed Control
This function performs a constant vector speed. During the interpolation driving, MCX314 can set a 1.414
times pulse cycle for 2-axis simultaneous pulse output, and a 1.732-time pulse cycle for 3-axis
simultaneous pulse output.
n Position Control
Each axis has a 32-bit logic position counter and a 32-bits real position counter. The logic position
counter counts the output pulse numbers, and the real position counter counts the feedback pulse numbers
from the external encoder or linear scale.
n Compare Register and Software Limit
Each axis has two 32-bit compare registers for logical position counter and real position counter. The
comparison result can be read from the status registers. The comparison result can be notified by an
interrupt signal. These registers can be also functioned as software limits.
n Driving by External Signal
It is possible to control each axis by external signals. The +/- direction fixed pulse driving and continuous
driving can be also performed through the external signals. This function is used for JOG or teaching
modes, and will share the CPU load.
n Input/ Output Signal
Each axis has 4 points of input signals to perform deceleration and stop in driving. These input signals are
for high-speed near-by home search, home search and z-phase search during the home returning. Each
axis is with 8 output points for general output.
1
MCX314
Figure 1.1 is the IC functional block diagram. It consists of same functioned X, Y, Z and U axes control
sections and interpolation counting sections. Figure 1.2 is the functional block diagram of each axis control
section.
CSN
AX1P+
RDN Command/Data AX1P- XP+
Leaner Interpolation
WRN Interpretation/ AX2P+ XP-
Counting Section AX2P-
A3~A0 Process
2 axes/3 axes AX3P+
D15~D0 Section AX3P-
BUSYN YP+
AX1P+ YP-
AX1P- Pulse
Circle Interpolation
Counting Section separate
Interpolation Control AX2P+
2 axes AX2P- ZP+
Section.
ZP-
AX1P+
INT AX1P-
Bit Interpolation AX2P+
Counting Section AX2P- UP+
2 axes/3 axes AX3P+ UP-
AX3P-
XP+
Main axis pulse XP-
X Axis Control Section X AXIS
INT I/O
YP+
Main axis pulse YP-
Y Axis Control Section
INT Y AXIS
I/O
ZP+
Main axis pulse ZP-
Z Axis Control Section Z AXIS
INT I/O
UP+
Main axis pulse UP-
U Axis Control Section U AXIS
INT I/O
INTN
Interrupt Generator
2
MCX314
P+ To
P- Interpolate
Section
Jerk Generator Main Axis Pulse
Command
Command Operating
/Data Section
Acceleration/Deceleration
External Action Generator
Signal Managing
Section
EXPP External Speed Generator
www.DataSheet4U.com Operation External
EXPM Signal
Section.
P+ PP/PLS
Pulse Generator
Wave
P- Change PM/DIR
UP
Logical Position
Counter(32bit)
DOWN
UP
INT Interrupt Wave EC-A
Generator Real Position Counter
DOWN Change EC-B
LMTP
LMTM
Compare Register Input Signal INPOS
Selector
General output
OUT3~0
OUT3~0
General output
Selector
OUT7~4
OUT7~4
3
MCX314
z Acceleration/Deceleration A/D
www.DataSheet4U.com Auto Deceleration
z Initial Speed SV
z Driving Speed V
Initial Speed Specific Output Pulse Finished
zOutput Pulse Numbers P
Fig. 2.1 Fixed Pulse Driving Time
Driving Speed
Time Time
Fig. 2.3 Changing Command During Deceleration Fig.2.4 Changing The Lesser Pulse Numbers Than Output Pulse Stop
4
MCX314
nOffset Setting for Acceleration/Deceleration Driving
The offset function can be used for compensating the
pulses when the decelerating speed doesn’ t reach the
setting initial speed during the S-curve fixed pulse driving.
Driving Speed
MCX314 will calculate the acceleration / deceleration Shift Pulse
point automatically, and will arrange the pulse numbers in
acceleration equal to that in deceleration. The method is
calculating the output acceleration pulses and comparing
them with the remaining pulses. When the remaining
Initial Speed
pulses are equal to or less the pulses in acceleration, it
start the deceleration.
Time
When setting the offset for deceleration, MCX314 will Fig.2.5 Remaining Pulse in Acc. / Dec. Fixed Pulse
start deceleration early for the offset. The remaining Driving
pulses of offset will be driving output at the initial speed (see Fig. 2.5).
The default value for offset is 8 when MCX314 power-on reset. It is not necessary to change the shift pulse
value in the case of acceleration/deceleration fixed pulse driving.
www.DataSheet4U.com
5
MCX314
nExample for Parameter Setting of Constant Speed Speed(PPS)
The constant speed is set 980 pps as shown in the right Figure.
z Range R = 8,000,000: Multiple(M) = 1
z Initial Speed SV=980: Initial Speed ≥ Driving Speed
z Driving Speed V=980: Should be less than initial speed 980
Please refer each parameter in Chapter 6.
Time(SEC)
6
MCX314
In order to execute S-curve acceleration / deceleration, the user has to set bit D2 of register WR3 to 1, and
the following parameters are necessary to be set.
z Range R
z Jerk K
z Acceleration A : The designated value of acceleration and deceleration
; Deceleration D : The designated deceleration value of individual setting
z Initial Speed SV
z Drive Speed V
; Output Pulse Number P : Used for fixed pulse driving
Therefore, when the output pulse in acceleration of S-curve is more than 1/12 of total output pulse,
MCX314 will stop increasing acceleration and start to decrease the acceleration value.
7
MCX314
nThe Decelerating Stop for Preventing the Triangle Driving Profile in S-curve Driving
When the decelerating stop is commanded, or when
the external signals IN3~IN0 are active during the S- Speed
curve acceleration / deceleration driving, the
acceleration rate is decreasing, then the deceleration
starts when the acceleration rate reaches 0.
Time
Time
ƒAcc. become zero, Dec. begins
•Request for Decelerating Stop
Fig. 2.11 Decelerating Stop During S-curve Acc./ Dec. Driving
www.DataSheet4U.com
nConstraints for S-curve Acceleration / Deceleration Driving
l The drive speed cannot be changed during the fixed pulse S-curve acceleration / deceleration driving.
l When the fixed-pulse S-curve acceleration / deceleration driving is performed, the change of the output
pulse numbers during the deceleration will not result a normal S-curve driving profile.
l In case of executing circular interpolation, bit pattern interpolation and continuous interpolation, S-
curve acceleration/deceleration cannot be executed normally.
l If the S-curve output pulses run out before the deceleration to the initial speed, the user can use offset
function.
l When the S-curve output pulses are decelerating to the initial speed, but still some pulses remains, the
user can modify the parameter K and driving speed V to avoid this situation.
nExample of Setting Parameters (Complete S-curve Acceleration /Deceleration)
*Setting a complete S-curve acceleration to output the drive speed from 0 to 40K PPS in 0.4 sec.
As shown in Fig. Ex.3, if complete S-curve acceleration is required, the driving must be 20K PPS at time
0.2sec. And then, it will accelerate to 40K PPS at time 0.4sec.
To calculate the maximum acceleration value acc. at time Speed PPS
0.2sec, we know the speed at time 0.2sec is 20K PPS. So we 40000
get
20000
20000PPS = 0.2sec x acc. /2
so, acc. = 200K PPS/sec
0
0.2 0.4 SEC
To calculate the jerk, we get Acceleration
PPS/SEC
acc.
200KPPS/0.2sec=1000KPPS/sec2 =200K
20000PPS
In a complete S-curve acceleration/deceleration, the speed 0
curve is depended on the jerk. Since the acceleration / 0.2 0.4 SEC
deceleration does not exit in the partial S-curve, it should be preset over than 200KPPS/SEC.
8
MCX314
R = 8000000
500µS 500µS SV = 1000
V = 1000
1.00mS
However, during the acceleration / deceleration driving, the Low level pulse length is shorter than that of Hi
level pulse during the acceleration; the Low level pulse is longer than that of Hi level pulse during the
deceleration. See Fig. 2.13.
9
MCX314
Multiple Drive Speed (PPS) Multiple Drive Speed (PPS) Multiple Drive Speed (PPS) Multiple Drive Speed (PPS)
11 727 K 95 84,211 995 8040
2 4.000 M 12 667 K 96 83,333 996 8032
3 2.667 M 13 615 K 97 82,474 997 8024
4 2.000 M 14 571 K 98 81,632 998 8016
www.DataSheet4U.com
5 1.600 M 15 533 K 99 80,808 999 8008
6 1.333 M 16 500 K 100 80,000 1000 8000
7 1.143 M 17 471 K 101 79,208 1001 7992
8 1.000 M 18 444 K 102 78,431 1002 7984
9 889 K 19 421 K 103 77,670 1003 7976
10 880K 20 400 K 104 76,923 1004 7968
As shown in the table above, it is not very stable to set any desired driving speed. However, MCX314 can
make any drive speed in using the following method.
When the preset range value: R= 80,000 (Multiple=100), drive speed setting value: V=4900, the output
pulse is set 4900 x 100=490KPPS. From the able above, the output 490KPPS cannot be exactly made
because the period of 490KPPS is 16.326 times of SCLK (125nSEC).
Therefore, as shown in Figure 2.14, MCX314 combines 16 times and 17 times of SCLK period in a rate of
674:326 to generate an average 490KPPS.
16 16 16 17 16 16 17
According to this method, MCX314 can generate a constant speed driving pulse in a very high accuracy. In
general, the higher of the driving speed, the lower of the accuracy. But for MCX314, it still can maintain
relative accuracy when the driving speed is high. Actually, the accuracy of driving pulse is still within ±0.1%.
Using oscilloscope for observing the driving pulse, we can find the tolerance about 1SCLK(125nSEC). This
is no matter when putting the driving to a motor because the tolerance will be absorbed by the inertia of
motor system.
10
MCX314
PP +direction pulse
PM -direction pulse
UP
W/R Logical Position Counter
(32bit) DOWN
W/R
UP
Waveform ECA/PPIN encoder
Real Position Counter
(32bit) DOWN
Transformation
ECB/PMIN feedback pulse
www.DataSheet4U.com
Selector WR2 Register/D5
Compare
RR1 register/D0
COMP+ Register CMPP
W
32Bit
Compare
RR1 register/D1
COMP- Register CMPM
W
32Bit
Fig. 2.15 Position Control Block Diagram
-1000 0 10000
Fig. 2.16 Example of COMP+/- Register Setting
COMP+ and COMP- registers can be used as software +/- limit. When D0 and D1bits of register WR2 are
set to 1, it enables the software limit. In driving, if the value of logical / real counter is larger than COMP+,
the decelerating stop will be performed, and D0 (SLMT+) of register RR2 will change to 1. If the value of
logical / actual counter is smaller than that of COMP+, the D0 bit of register RR2 will change to 0
automatically. Host CPU can write the COMP+ and COMP- registers any time. However, when MCX314 is
reset, the register values are random.
11
MCX314
2.4 Interpolation
This 4-axis motion control IC can perform any 2 / 3 axes linear interpolation, any 2 axes circular
interpolation and any 2 / 3 axes bit pattern interpolation. Bits D0, D1 (ax 1), D2, D3 (ax 2) and D4, D5 (ax 3)
of register WR5 can be pointed for performing the interpolation. In the process of interpolation driving, all
the calculations will follow the main axis (ax1). So, the user has to set the parameters such as initial speed
and drive speed of the main axis before performing the interpolation. During the linear interpolation, it is not
necessary to set the main axis as “ long axis” .
After setting all of the parameters for interpolations, and writing the interpolation driving commands to
command register WR0, the user can start the interpolation driving. During the interpolation driving, D8 (I-
DRV) of main status register RR0 will become 1 during the interpolation, and it will become 0 when the
interpolation is finished. Also, during the interpolation driving, the bit n-DRV of the interpolating axis will
become 1.
The maximum drive speed is 4MPPS for linear, circular or bit pattern interpolation. For continuous
interpolation, the maximum drive speed is 2MPPS.
www.DataSheet4U.com
12
MCX314
¡ ½
The example of linear interpolation for 2 axes
Executing linear interpolation drives in X and Y axes from the current position to the finish position ( X:
+300, Y: -200). The interpolation drive speed is constant: 1000PPS.
¡ ½
The example of linear interpolation for 3 axes
Executing linear interpolation drive for X, Y and Z axes from the current position to the finish position ( X:
15,000, Y: 16,000, Z: 20,000). The initial speed = 500PPS, acceleration / deceleration = 40,000PPS/SEC,
drive speed = 5,000PPS.
WR5 ← 0024h write ; define: ax1=X axis, ax2=Y axis, ax3= Z axis
13
MCX314
2.4.2 Circular Interpolation
Any 2 axes of the 4 axes can be selected for circular ax2
interpolation.
CCW circular interpolation
The circular interpolation is starting from the current position
(start point). After setting the center point of circular, the finish
position and the CW or CCW direction, the user can start the
circular interpolation.
Note: The coordinates setting value is the relative value of the Finish point Center point Start point
ax1
start point coordinates.
Finish point Start point
In Fig. 2.19, it explains the definition of CW and CCW circular
interpolations. The CW circular interpolation is starting from
the start point to the finish position with a clockwise direction;
the CCW circular interpolation is with a counter-clockwise
direction. CW circular interpolation
When the finish point is set to (0, 0), a circle will come out.
www.DataSheet4U.com Fig. 2.19 CW/CCW Circular Interpolation
In Fig. 2.20, it explains the long axis and the short axis. First,
we define 8 quadrants in the X-Y plane and put the numbers
0~7 to each quadrant. We find the absolute value of ax1 is always larger than that of ax2 in quadrants 0, 3,
4 and 7, so we call ax1 is the long axis (ax2 is the short axis) in these quadrants; in quadrants 1, 2, 5 and 6,
ax2 is the long axis (ax1 is the short axis).
The short axis will output pulses regularly, and the long axis will output pulses depending on the
interpolation calculation.
In Fig. 2.21, it is an example to generate a circle with the center point (-11,0) and the finish point (0,0). Its
radium is 11. In Fig. 2.22 shows the pulse output.
ax1 ax1
2 1 (ax1,ax2) 2 1
ax1 ax1
XPP
XPM
YPP
YPM
Quadrant 0 1 2 3 4 5 6 7
14
MCX314
¡ ½
The Example for CW Circular Interpolation
This CW circular interpolation starts from the current point (start point: 0, 0) to the finish point ( X: 5000, Y: -
5000); the center point is X: 5000, Y: 0. The interpolating speed is constant at 1000PPS in a constant vector
speed driving.
WR5 ← 0104h write ; define: ax1:X axis, ax2:Y axis, and with constant linear speed
WR6 ← 0900h write ; range : 4,000,000 (multiple: 2) Y
WR7 ← 003Dh write
WR0 ← 0100h write
WR6 ← 4DC0h write ; range of constant vector speed for 2 axes
WR7 ← 0056h write ; 4,000,000 x 1.414 = 5,656,000
WR0 ← 0200h write
Center point(5000,0) X
WR0 ← 01F4h write ; initial speed : 500 x 2 = 1000PPS
WR0 ← 0104h write Start point (0,0)
WR6 ← 01F4h write ; drive speed : 500 x 2 = 1000PPS
WR0 ← 0105h write
WR6 ← 1388h write ; center point of X :5,000 End point
WR7 ← 0000h write (5000,-5000)
WR0 ← 0108h write
WR6 ← 0000h write ; center point of Y :0 Fig. EX.2 CW Circular Interpolation in
Constant Vector Speed
WR7 ← 0000h write
WR0 ← 0208h write
WR6 ← 1388h write ; finish point of X :5,000
WR7 ← 0000h write
WR0 ← 0106h write
WR6 ← EC78h write ; finish point of Y :-5,000
WR7 ← FFFFh write
WR0 ← 0206h write
WR0 ← 0032h write ; CW circular interpolation enabling
15
MCX314
Fig. 2.25 is the block diagram of bit pattern interpolation for the 1st axis in MCX314.
BP1P register and BP1M register are 16 bit-data buffers for bit pattern data form the host CPU. (IF the
system uses 8-bit data bus, the host CPU has to write the data by low byte and high byte.) The + direction
data should be written into PB1P, and the - direction data into PB1M. Once starting the bit pattern
interpolation, the pulse outputting is in the order from D0.
REG2
SC=2
0000100000000100
BP1P 1 REG1
Sys. CPU 0100000000100001 0001001000010000
0 D15 D0 1 1 10101
1001101001110101 ax1-PP
SREG
REG2
SC=2
0100000100001010
BP1M 1 REG1
Sys. CPU 0000011100001010 1000010000100000
0 D15 D0 0 0 0 1010
SC: Stack counter (RR0/D14,13) 0000000000001010 ax1-PM
BP1P: Data register (ax1 + direction) SREG
BP1M: Data register (ax1 - direction)
SC
SREG: 16 bit shift register
REG1: 16 bit buffer register 1 0~3
REG2:16 bit buffer register 2
Fig. 2.25 The Structure of Register for The Bit Pattern Interpolation ( for 1 axis)
Stacking counter (SC) is a 2-bit counter. Its value is between 0 and 3, which can be read from D14,13 of
register RR0. SC will decide which register for the data from the host CPU. The initial value of SC is 0. So,
16
MCX314
when host CPU writes bit pattern data into BP1P or BP1M, the data will be stored in SREG, and then, SC
will count up to 1, and the next data from the host CPU will be written into REG1. By this way, the REG2
becomes the register when SC=2. The host CPU is not able to write any bit pattern data into MCX314 when
SC=3.
When the bit pattern interpolation pulse is outputting, D0 in SREG will be shifted output first, and then in the
order of D1, D…When all of SREGs have been shifted output, the data in REG1 will be shifted to SREG,
the data in REG2 will be shifted to REG1, and the SC will count down to 2. Then, the host CPU is able to
write a new data into MCX314 again.
In order to make MCX314 output the bit pattern data continuously, the host CPU should write the data into
MCX314 before SC counts down to 0. MCX314 will output a interrupt requirement signal to host CPU when
SC counts down from 2 to 1.
¡ ½
The limitation for the speed of bit pattern interpolation driving
The maximum pulse output speed of MCX314 is 4MHz in bit pattern interpolation mode. However, the
maximum speed will depend on the data update rate of host CPU if the bit pattern data are more than
www.DataSheet4U.com
48bits. For example of the X and Y axes bit pattern interpolation, if the host CPU needs 100usec to update
new 16-bit data for X and Y axes. The maximum speed is 16/100µSEC=160KPPS.
¡ ½
The ending of bit pattern interpolation
There are 2 ways can terminate the bit pattern interpolation.
• Write a ending code into buffer register of ax1.
The bit pattern interpolation mode will be finished, and stopped if the host CPU write “ 1” into both + and
- directions buffer registers.
D15 D0
BP1P 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0
BP1M 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1
¡ ½
Utilizing the stop command to pause the interpolation
The interpolation driving will be paused if a sudden stop or decelerating stop command is written into the
master axis (ax1) which is executing the bit pattern interpolation. MCX314 will continue the bit pattern
interpolation if the host CPU enables the bit pattern interpolation again. If the host CPU wants to finish the
interpolation after writing stop command, all of the interpolation bit data in MCX314 must be cleared in
using BP register (3Dh).
¡ ½
Utilizing hardware limit to interrupt the interpolation
The interpolation driving will be terminated when any hardware limit of any axis is active. And, if host CPU
wants to finish the interpolation, all of the interpolation data in MCX314 must be cleared.
17
MCX314
¡ ½
Writing the bit pattern data into the register in MCX314
Either by 16-bit data bus or by 8-bit data bus, the address map of the command buffer for bit pattern
interpolation data is show as follows:
The addresses map of register for 16-bit data bus in bit pattern interpolation
Address The register with the
Name of register Content
A2 A1 A0 same address
0 0 0 WR0
0 0 1 nWR1
0 1 0 BP1P ax1 +direction data nWR2
0 1 1 BP1M ax1 -direction data nWR3
1 0 0 BP2P ax2 +direction data WR4
www.DataSheet4U.com 1 0 1 BP2M ax2 -direction data WR5
1 1 0 BP3P ax3 +direction data WR6
1 1 1 BP3M ax3 -direction data WR7
Note: BP3P and BP3M share the same registers: WR6 and 7.
The addresses map of register for 8-bit data bus in bit pattern interpolation
Address Address
Name of register Name of register
A3 A2 A1 A0 A3 A2 A1 A0
0 0 0 0 1 0 0 0 BP2PL
0 0 0 1 1 0 0 1 BP2PH
0 0 1 0 1 0 1 0 BP2ML
0 0 1 1 1 0 1 1 BP2MH
0 1 0 0 BP1PL 1 1 0 0 BP3PL
0 1 0 1 BP1PH 1 1 0 1 BP3PH
0 1 1 0 BP1ML 1 1 1 0 BP3ML
0 1 1 1 BP1MH 1 1 1 1 BP3MH
Note: BPmPL, BPmPH, BPmML, BPmMH represent the following bit groups (m is 1 ~ 3 ).
BPmPL : the low byte of BPmP (D7 ~ D0)
BPmPH : the high byte of BPmP (D15 ~ D8)
BPmML : the low byte of BPmM (D7 ~ D0)
BPmMH : the high byte of BPmM (D15 ~ D8)
For some addresses of bit pattern data registers are as same as nWR2 ~ nWR7, the host CPU can not
write any data into the bit pattern data register since MCX314 has been reset. To write the bit pattern
command, the host CPU should be with the following sequence.
Note : If the host CPU doesn’ t disable the BP data register, the data in nWR2 ~ nWR5 registers
cannot be assessed.
¡ ½
The example of bit pattern interpolation
The bit interpolation example is shown in Fig. 2.24. We set X axis as ax1, Y axis as ax2 and a constant
18
MCX314
speed: 1000PPS in a constant vector speed interpolation driving.
WR5 ← 0104h write ;Define ax1: X , ax2:Y BP2M ← 3FC0h write ;Y axis –direction command
WR6 ← 0900h write ;setting the master axis speed WR0 ← 0038h write ;BP data stacking, SC=2
parameter
WR7 ← 003Dh write ;range: 4,000,000 (multiple rate:2) ; command of bit 32~47th
WR0 ← 0100h write
BP1P ← 1FDBh write ;X axis +direction command
WR6 ← 4DC0h write ;range of constant line speed BP1M ← 0000h write ;X axis –direction command
WR7 ← 0056h write ;4,000,000x1.414=5,656,000 BP2P ← 00FFh write ;Y axis +direction command
WR0 ← 0200h write BP2M ← FC00h write ;Y axis –direction command
WR6 ← 01F4h write ;Initial speed:500x2=1000PPS WR0 ← 0038h write ;BP data stacking, SC=3
WR0 ← 0104h write WR0 ← 0034h write ;enable 2 axis bit pattern
WR6 ← 01F4h write ;drive speed: 500x2=1000PPS ;interpolation, because SC=3
WR0 ← 0105h write J1 RR0/D14,13 read ;until the SC is less than 2
If D14=D13=1 Jump to J1
WR0 ← 0039h write ;clear BP data
; command of bit 48~63th
← 0036h
Note1
WR0 write ;enable to write into BP register
BP1P ← 4000h write ;X axis +direction command
www.DataSheet4U.com ; command of bit 0~15th
BP1M ← 7FF5h write ;X axis –direction command
BP1P ← 0000h write ;X axis +direction command BP2P ← 0000h write ;Y axis +direction command
BP1M ← 2BFFh write ;X axis –direction command BP2M ← 0AFFh write ;Y axis –direction command
BP2P ← FFD4h write ;Y axis +direction command WR0 ← 0038h write ;BP data stacking, SC=3
BP2M ← 0000h write ;Y axis –direction command
WR0 ← 0037h write ;disable to write into BP register
WR0 ← 0038h write ;BP data stacking, SC=1
J2 RR0/D8 read ;until ending interpolation drive
; command of bit 16~31th
If D8=1 Jump to J2
BP1P ← F6FEhwrite ;X axis +direction command
BP1M ← 0000h write ;X axis –direction command
BP2P ← 000Fh write ;Y axis +direction command (Note 1: If there is more BP data coming then repeat this process)
¡ ½
Executing bit pattern interpolation by interrupt
During the bit pattern interpolation, MCX314 will generate an interrupt request signal to the host CPU while
SC changes the value from 2 to 1. To enable the interrupt, the host CPU must set D15 of register WR5 to 1.
Then, INTN of MCX314 will go low once SC changes the value from 2 to 1. The host CPU will check the SC
value, and write bit pattern command into the register. The interrupt signal will be released if the host CPU
writes the SC stacking command(38h) into MCX314. The interrupt signal will be released when the clear
command(3dh) is written into the command register.
If the interrupt status is keeping on the Low level, it will return to high-Z level after MCX314 finishes the bit
pattern interpolation.
19
MCX314
WR5 ← 0104h write ; define ax1: X axis, ax2:Y axis WR0 ← 0105h write
; constant vector speed
WR6 ← 03E8h write ; finish point of X
WR6 ← 0900h write ; setting parameter of the master axis WR7 ← 0000h write
WR7 ← 003Dh write ; range: 4,000,000 (multiple=2) WR0 ← 0106h write ;
WR0 ← 0100h write
WR6 ← 0190h write ; finish point of Y
WR6 ← 4DC0h write ; range of 2-axis constant vector speed
WR7 ← 0056h write ; 4,000,000x1.414=5,656,000 WR7 ← 0000h write
WR0 ← 0200h write WR0 ← 0206h write ;
WR0 ← 0030h write ; 2-axis linear interpolation starting
WR6 ← 01F4h write ; initial speed: 500x2=1000PPS
WR0 ← 0104h write
WR6 ← 01F4h write ; drive speed: 500x2=1000PPS
www.DataSheet4U.com
1.000ms 1.414ms 1.000ms 1.414ms
XPP
XPM
YPP
YPM
Fig. 2.27 The Example of 2-axis Interpolation at A Constant Vector Speed (speed=1000PPS)
¡ ½
Setting Constant Vector Speed for 3 Axes
As same as the setting process of 2 axes, the user should first set the values of D9 and D8 of register WR5
to 0 and 1. Then, set the range R of ax2 to 1.414 times of the value of the master-axis (ax1); then, set the
range R of ax3 to 1.732 times of the value of the master axis.
After setting the range of constant vector speed for 3 axes, MCX314 will use the range parameter of ax1 if
only 1 axis outputs pulses. However, when 2 or 3 axes output pulses simultaneously, MCX314 will use the
range parameter of ax2 or ax3 to implement the pulse period. See Fig. 2.28.
User may set the values of D9 and D8 of register WR5 to 0 and 1 for 2-axis constant vector speed driving
even in the 3-axis interpolation.
XPP
XPM
YPP
YPM
ZPP
ZPM
Fig. 2.28 Example for 3-axis Interpolation at A Constant Vector Speed (speed=1000PPS)
Caution: In the process of constant vector speed, the pulse width of high level of output waveform will not
be changed, yet kept in the same width. The pulse cycle will be changed to 1.414 or 1.732 times.
20
MCX314
2.4.5 Continuous Interpolation st
The 1 node
The continuous interpolation is executing a series of data write in
interpolation processes such as linear interpolation ¡ ÷ circular interpolation cmd. write in
interpolation¡ ÷ linear interpolation …During the continuous
interpolation, the driving will not stop; contrarily, The pulses are
yes
outputcontinuously. errors occurred?
When executing the continuous interpolation, the host CPU has
to write the next interpolation command into MCX314 before the
previous interpolation command is finished.
¡ ½
Continuous Interpolation in Using D9 of RR0 no allow to write in
If D9 (CNEXT) of register RR0 is 1, MCX314 is ready to accept the next data?
the next interpolation command. If D9 is 0, the host CPU is not RR0/D9=1?
able to write the next interpolation command into MCX314.
The D9 will become 1 only when the present command is
nd
executed. MCX314 will not accept the next command, and the
www.DataSheet4U.com The 2 node
D9 is 0 if the present command has not been executed. data write in
So, the standard procedure of continuous interpolation is first to interpolation cmd. write in
write, and enable the interpolation data and command, then
check if D9 of RR0 is 1 or 0. And then, repeat writing commands yes
and checking D9. The flow chart is shown at the right side. errors occurred?
¡ ½
Interrupt
D14 of register WR5 is used for enable or disable the interrupt
during the continuous interpolation. After setting D14 of register no allow to write in
WR5 to 1, the interrupt occurs. Pin INTN of MCX314 will be on the next data?
the Low level to interrupt the host CPU when D9 of register RR0 RR0/D9=1? Ending the
become 1. The INTN will be on the Hi level if the host CPU interpolation drive
writes the next interpolation command to MCX314. Processing the errors
rd
If the interrupt clear command (3Dh) is written to command The 3 node
register, the INTN signal will return to high-Z level from the Low data write in
level. interpolation cmd. write in
During the ending of the interpolation, it is forced to be “ interrupt
disable” , and the INTN signal will return to the high-Z level.
¡ ½
Errors Occurring in the Process of Continuous Interpolation
If an error such as over-traveling occurs in the process of continuous interpolation, the drive will stop at the
present interpolation node. The following interpolation command is still in the command register, but will not
be executed. The host CPU has to reload the next command again and enable it.
As shown in the flow chart above, the host CPU has to check the error message before loading the
following command. If not, this command will not be executed and will be jumped. So, the user should
assure, and check if any error status will occur before the following interpolation command is loaded.
¡ ½
Attentions for Continuous Interpolation
l Before setting the interpolation command, the user should first set other data such as center point, finish
point…for each node.
l The maximum speed for the continuous interpolation is 2MHz.
l The following interpolation command must be loaded before the previous interpolation command is
finished.
l The node driving time should be longer than the time for error checking and the command setting of
next node during the interpolation.
l It is impossible to operate 2-axis and 3-axis continuous interpolations at the same time.
l It is not allowed to change the axis assignment during the process of continuous interpolation.
21
MCX314
¡ ½
The Example of Continuous Interpolation
Fig. 2.29 shows an example of executing continuous interpolation beginning at point (0,0) from node 1, 2,
3… .to the node 8. In node 1, 3, 5, and 7, the linear interpolation will be executed; in node 2, 4, 6, and 8, the
circular interpolation will be executed, and the track is a quadrant circle with radius 1500. The interpolation
driving is at a constant vector speed: 1000PPS.
WR5 ← 0104h write ; define ax1: X axis , ax2: Y axis, constant vector speed
WR6 ← 0900h write ; setting the parameter of master axis
WR7 ← 003Dh write ; range:4,000,000 (multiple: 2)
4500
WR0 ← 0100h write
node5
WR6 ← 4DC0h write ; 2-axis constant vector speed node6 node4
WR7 ← 0056h write ; 4,000,000x1.414=5,656,000
3000
WR0 ← 0200h write
node7 node3
www.DataSheet4U.com WR6 ← 01F4h write ; Initial speed: 500x2=1000PPS
WR0 ← 0104h write 1500
Procedure A
WR6 ← 0000h write ; finish point X: 0
WR7 ← 0000h write
WR0 ← 0106h write
WR6 ← 05DCh write ; finish point Y: 1500 Node3
WR7 ← 0000h write
WR0 ← 0206h write
WR0 ← 0030h write ; 2-axis linear interpolation enabling
Procedure A
…
…
22
MCX314
(same procedure for nodes 4 ~ 8.)
www.DataSheet4U.com
23
MCX314
¡ ½
The Acceleration / Deceleration for 2-axis / 3-axis Interpolation
It is possible to perform trapezoidal and S-curve acceleration/deceleration driving during the execution of
2-axis / 3-axis linear interpolation. Either automatic or manual deceleration can be used for decelerating.
When the manual deceleration is executed, the user can set the maximum absolute value of the axes to be
the setting value of master axis decelerating point. For instance, while executing 3-axis linear interpolation
www.DataSheet4U.com
of master axis (ax1): X, ax2 : Y and ax3 : Z, the finish point : (X: -20000, Y: 30000, Z: -50000), and the
assumed pulse numbers needed for deceleration are 5000. In such situation, the absolute value of Z axis is
the largest, so we can set up 50000-5000=45000 to be the manual deceleration point of the master axis: X.
Please refer to the example of 3-axis linear interpolation in 2.4.1.
24
MCX314
¡ ½
The Acceleration / Deceleration for Circular Interpolation and Bit Pattern Interpolation
In circular interpolation and bit pattern interpolation, only manual Y
deceleration in trapezoidal driving is available; the automatic 2 1
deceleration in S-curve driving is not available.
The Figure on the right side shows the circular interpolation of a real 0
circle with radius 1000 in a trapezoidal driving. The user should 3 10000 7071
calculate the decelerating point before driving because the automatic
deceleration will not be active. X
Short Axis
In the figure, the circle tracks through all the 8 quadrants: 0~7. In
quadrant 0, Y axis is the short axis and it’ s displace is about
10000 / ¡ Ô2=7071 4 7
The total output pulses numbers of the short axis are 7010x8=56568.
Furthermore, if the initial speed is 500PPS, and will be accelerated
to 20KPPS after 0.3 SEC, the acceleration will be (20000-500) /0.3 =
www.DataSheet4U.com
65000PPS/SEC. And the output pulses during acceleration will be 5 6
(500+20000) x 0.3/2=3075. Thus, if we set the deceleration as same
as the acceleration, the manual decelerating point will be 56568- Speed
3075=53493. PPS
Note: this formula cannot be used in the constant vector speed 20k
driving.
Output Pulse During
Acceleration
WR3 ← 0001hwrite ; manual deceleration enabling
WR5 ← 0004hwrite ; define ax1: X , ax2: Y 500
WR6 ← 8480hwrite ; range: 2,000,000; (multiple: 4) 0.3 Time(sec)
WR7 ← 001Eh write ;
WR0 ← 0100hwrite
WR6 ← 0082hwrite ; acceleration :
WR0 ← 0102hwrite ; 130x125x4=65000 PPS/SEC
WR6 ← 007Dh write ; Initial speed:125x4=500PPS
WR0 ← 0104hwrite
WR6 ← 1388hwrite ; drive speed: 5000x4=20000PPS
WR0 ← 0105hwrite
WR6 ← D8F0h write ; center point X : -10000
WR7 ← FFFFh write ;
WR0 ← 0108hwrite
WR6 ← 0000hwrite ; center point Y : 0
WR7 ← 0000hwrite ;
WR0 ← 0208hwrite
WR6 ← 0000hwrite ; finish point X : 0
WR7 ← 0000hwrite ;
WR0 ← 0106hwrite
WR6 ← 0000hwrite ; finish point Y : 0
WR7 ← 0000hwrite ;
WR0 ← 0206hwrite
WR6 ← D0F5h write ; manual deceleration point setting : 53493
WR7 ← 0000hwrite ;
WR0 ← 0107hwrite
WR0 ← 003Bh write ; deceleration enabling
WR0 ← 0033hwrite ; CCW circular interpolation starting
25
MCX314
¡ ½
The Acceleration / Deceleration for Continuous Interpolation
In continuous interpolation, same as in circular and bit pattern interpolations, only manual deceleration in
the trapezoidal driving is available; The automatic deceleration in S-curve driving is not available.
Before performing the continuous interpolation, it is necessary to preset the manual decelerating point;
however, this setting point is related to the master axis executing the deceleration in the last node. The user
should disable the deceleration, then start the interpolation driving. Before writing the interpolation
command to the final node which will execute the deceleration, the user should enable the deceleration at
first. The deceleration will start if the output pulses are larger than the master axis based pulses in the final
node.
For instance, there are 5 interpolation nodes in the process of continuous interpolation. In case, the manual
deceleration has to be executed in the last node, node 5, the procedure is shown as follows:
¡ The
´ manual deceleration point is related to the master axis’ driving pulses which comes from node 5.
For instance, assumed that it needs 2000 pulses for decelerating stop, and the total amount of pulse
output form node 5 is 5000. So, the manual deceleration point will be 5000 - 2000 = 3000.
¡ ´
The cycle of deceleration should be started and finished within the same node.
26
MCX314
Single-step is defined as: pulse by pulse outputting. Either command or external signal can execute the
single-step interpolation. When one pulse is outputting, the master axis interpolation will be set in the
constant speed driving. The Hi level width of each axis’ s output pulse is 1/2 of the pulse cycle which is
decided by the interpolating master axis’ s drive speed. The Low level width is kept until next command or
external signal comes.
Fig. 2.30 is the example showing the execution of single-step interpolation from an external signal. The
master axis’ s initial speed is 500PPS, the drive speed is at 500PPS constant speed driving. The Hi level
width of output pulse is 1msec.
ExPLSN
1 mSEC
www.DataSheet4U.com XPP
YPM
Fig. 2.30 Example of single step interpolation (500PPS) by external signal(EXPLSN)
¡ ½
Command Controlled Single-step Interpolation
The command: 3Ah is for single-step interpolation. The user can set D12 of register WR5 to 1 to enable the
command controlled single-step interpolation. The operating procedure is shown as follow.
• Set D12 of register WR5 to 1.
It will enable the command controlled single-step interpolation.
‚ Set the initial and drive speeds of the master axis in the interpolation process with the same value, and
the driving becomes constant speed. If the host CPU writes single step command into MCX314 at most 1
mSEC, the user should set the drive speed more than 1000PPS.
ƒ Set interpolation data. (start point, center point…
)
„ Write interpolation command.
Although the interpolation command is enabled, there is no pulse output because the single-step is
command controlled.
… Write the single-step interpolation command (3Ah).
The driving pulses according to the interpolation calculation will be output for each axis. The user may
use command 3Ah for single step until the interpolation driving is finished.
If the user wants to stop sending single-steps during the interpolation, he can use the sudden stop
command (27h), then wait for more than 1 pulse cycle, and then write the command (3Ah) again to stop
the driving. After this, all the following (3Ah) commands will not be active.
¡ ½
External Signal Controlled Single-step Interpolation
The EXPLSN pin ( 29) is used for the single-step interpolation from the external signal. The user can set
D11 of register WR5 to 1 to enable the external signal controlled single-step interpolation. Normally, the
EXPLSN input signal is on the Hi level. When it changes to Low, the interpolation step will be output. The
operating procedure is shown as follows.
• Set D11 of register WR5 to 1.
It will enable the external signal controlled single-step interpolation.
‚ Set the initial and driving speeds of the master axis in the interpolation process to be the same value,
and the driving becomes constant speed which should be higher than the Low pulse cycle of EXPLSN.
This is necessary for this controlled mode. And it will set the MCX314 into a constant speed mode.
ƒ Set interpolation data. (starting point, center point…
)
„ Write interpolation command.
Although the interpolation command is enabled, there is no pulse output because the single-step is
command controlled.
… EXPLSN input on Low level
The interpolation pulse will be output from each axis after 2~5 CLK the pulse falling down. The Low level
pulse width of EXPLSN has to be longer than 4CLK. Furthermore, the pulse cycle of EXPLSN has to be
longer than the setting speed cycle of master axis. The user may repeat the Low level of EXPLSN before
the interpolation is finished.
27
MCX314
If the user wants to stop sending single-steps during the interpolation, he can use the sudden stop
command (27h), then wait for more than 1 pulse cycle, and then input pulse on EXPLSN Low level again
to stop the driving (the user may try software reset also). After this, all the following input pulses on
EXPLSN Low level will not be active.
Note: When connecting the EXPLSN Low level with the manual connector, please assure the EXPLSN
signal is not chattering.
2.5 Interrupt
The interrupt is generated from X, Y, Z, or U axis, bit pattern interpolation or continuous interpolation.
There is only one interrupt signal, INTN (33), to the host CPU. So, the signal will be OR calculated, then
output, as shown in Fig. 2.31.
INTN(33)
Every interrupt can be enabled or disabled individually. During the power resetting, all interrupt signals are
disabled.
Each factor of interrupt can be masked by setting levels in nWR1 register bits: 1- enable and 0 - disable.
When interrupt is generated during the driving, and if the interrupt is generated, each bit in nRR3 will be set
to 1; INTN will be on the Low level. After the nRR3 status has been read from the host CPU, nRR3 will be
cleared from 1 to 0, and INTN will return to the High-Z level.
28
MCX314
www.DataSheet4U.com
When an interrupt is generated during interpolations, this interrupt can be cleared by writing the interrupt
clear command (3Dh) INTN will return to the High-Z level automatically once the interpolation is finished.
XPP
XPM
Fig. 2.32 Example of The Fixed Pulse Driving by External Signal
[Note] When connecting the input signal with a mechanical connector, the signal chattering would happen,
especially if the output pulse numbers are few. Please add a de-bounce circuit to avoid the chattering.
XPP
XPM
Figure 2.33 Example of Continuous Driving by External Signal
29
MCX314
2.6.2 Pulse Output Type Selection
There are two types of pulse output--independent 2-pulse type: when the driving is in + direction, the pulse
output is from nPP/PLS; when the driving is in - direction, the pulse output is from nPM/DIR; 1-pulse 1-
direction type: nPP/PLS is for pulse outputting, and nPM/DIR is for direction signal outputting.
(pulse / direction is set on the positive logical level)
Pulse Output Waveform
Pulse Output Type Drive Direction
nPP/PLS Signal NPM/DIR Signal
Bit D6 (PLSMD) of register WR2 is used for the selection of pulse output type.
Additionally, bits D7 (PLS-L) and D8 (DIR-L) of register WR2can be used for pulse outputting, direction and
logical level setting.
[Note] Please refer to Chapter 13.2 and 13.3 for the pulse signal (nPLS) and direction signal (nDIR) in 1-
pulse 1-direction pulse outputting.
nECA/ PPIN
nECB/ PMIN
Counting Up Counting Down
When Up / Down pulse type is selected, nECA/PPIN is used for count-up input, and ECB/PPIN for count-
down input. The counting is during the + direction pulses are up (¡ ô
).
nECA/ PPIN
nECB/ PMIN
Counting Up Counting Down
30
MCX314
www.DataSheet4U.com
2.6.6 Emergency Stop
Signal EMGN is able to perform the emergency stop function for all of the 4 axes during the driving.
Normally, this signal is kept on the Hi level. When it is falling to the Low level, all axes will stop immediately,
and the D5 (EMG) bit of register RR2 (each axis) becomes 1. Please be noted that there is no way to select
the logical level of EMGN signal.
Please check the following methods to perform the emergency stop function from the host CPU.
¬ Execute the sudden stop commend for all of the 4 axes at the same time…
Appoint all of the 4 axes, then write the sudden stop command (27h) to register WR0.
- Reset software limit…
Write 800h to register WR0 to reset software limit.
www.DataSheet4U.com
32
MCX314
YOUT5/CMPM
ZOUT5/CMPM
YOUT4/CMPP
ZOUT4/CMPP
YOUT7/DSND
ZOUT7/DSND
YOUT6/ASND
ZOUT6/ASDN
YALARM
ZALARM
YINPOS
ZINPOS
YDRIVE
ZDRIVE
YLMTM
ZLMTM
YLMTP
YOUT0
YOUT1
YOUT2
YOUT3
ZLMTP
GND
YIN0
YIN1
YIN2
GND
YIN3
GND
XIN0
XIN1
ZIN0
ZIN1
ZIN2
ZIN3
VDD
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
75
74
73
VDD 109 72 XIN2
ZOUT3 110 71 XIN3
ZOUT2 111 70 XLMTM
ZOUT1 112 69 XLMTP
ZOUT0 113 68 XALARM
UINPOS 114 67 XINPOS
www.DataSheet4U.com
UALARM 115 66 GMD
ULMTP 116 65 VDD
ULMTM 117 64 XOUT0
UIN3 118 63 XOUT1
UIN2 119 62 XOUT2
UIN1 120 61 XOUT3
UIN0 121 60 XOUT4/CMPP
UDRIVE 122 59 XOUT5/CMPM
UOUT7/DSND
UOUT6/ASND
UOUT5/CMPM
123
124
125
NOVA elec. 58
57
56
XOUT6/ASND
XOUT7/DSND
XDRIVE
VDD
GND
UOUT4/CMPP
126
127
128
MCX314 55
54
53
GND
VDD
CLK
UOUT3 129 52 GND
UOUT2 130 51 UECB/PMIN
UOUT1 131 50 UECA/PPIN
UOUT0 132 49 ZECB/PMIN
GND 133 48 ZECA/PPIN
XEXPP 134 47 YECB/PMIN
XEXPM 135 46 YECA/PPIN
YEXPP 136 45 XECB/PMIN
YEXPM 137 44 XECA/PPIN
ZEXPP 138 43 UPM/DIR
ZEXPM 139 42 UPP/PLS
Pin 1 Mask
UEXPP 140 41 ZPM/DIR
UEXPM 141 40 ZPP/PLS
EMGN 142 39 YPM/DIR
GND 143 38 YPP/PLS
VDD 144 37 GND
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
1
2
3
4
5
6
7
8
9
TESTN
INTN
XPM/DIR
GND
GND
GND
RESETN
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
EXPLSN
VDD
CSN
BUSYN
SCLK
XPP/PLS
D15
D14
D13
D12
D11
D10
RDN
A3
A2
A1
A0
H16L8
WRN
33
MCX314
n Signal Description
Signals XOOO, YOOO, ZOOO, and UOOO are input / output signals for X, Y, Z, and U axes, where n
stands for X, Y, Z, and U. If the signals are named OOON, they are negative-active or low-active.
Input
Signal Name Pin No. Signal Description
/Output
CLK 53 Input A Clock: clock signal for internal synchronous loop of MCX314
The standard frequency is 16 MHz. This signal is for drive speed,
acceleration / deceleration and jerk. If the frequency setting is not 16 MHz,
the setting values of speed and acceleration / deceleration are different.
D15-D0 1~8, Bi- DATA BUS: 3-state bi-direction 16-bit data bus
10~17 directional A When CSN=Low and RDN=Low, these signals are for outputting. Otherwise,
they are high impedance inputs. If 8-bit data bus is used, D15-D8 can not be
used, and D15-D8 should be pull up to + 5V through high impedance (about
100 kΩ)
www.DataSheet4U.com
A3-A0 21~24 Input A Address: address signal for host CPU to access the write / read registers
A3 is used only when the 8-bit data bus is used.
CSN 25 Input A Chip Select: input signal for selecting I/O device for MCX314
Set CSN to the Low level for data reading and writing.
WRN 26 Input A Write Strobe: its level is Low while data is being written to MCX314.
When WRN is Low, CSN and A3-A0 must be assured. When WRN is up
(¡ ô), the data will be latched in the write register, and while WRN is up
(¡ ô), the levels of D15~D0 should be assured.
RDN 27 Input A Read Strobe: its level is Low while data is being read from MCX314.
Only when CSN is on the low level, the selected read register data from
A3~A0 address signals can be output from the data bus.
RESETN 28 Input A Reset: reset (return to the initial setting) signal for MCX314. Setting
RESETN to Low for more than 4 CLK cycles will reset MCX314. The
RESETN setting is necessary when the power is on. (Note) If there is no
clock input to MCX314, setting the RESETN to Low still cannot reset this IC.
EXPLSN 29 Input A External Pulse: pulse input signal for external pulse interpolation
The normal setting is Hi level. When the external pulse interpolation occurs,
EXPLSN is down (¡ õ ), the interpolation calculation starts, and one pulse for
each axis interpolation is output. The width of EXPLSN on the Low level
must be more than 4 CLK.
H16L8 30 Input A Hi=16-bit, Low=8-bit: data bus width selection for 16-bit / 8-bit
When the setting is Hi, 16-bit data bus is selected for processing the 16-bit
data reading / writing in IC; when the setting is Low, 8-bit data bus (D7~D0)
is active for data reading / writing.
TESTN 31 Input A Test: terminal for internal-circuit test
Please open, or connect it to + 5V.
BUSYN 32 Output B Busy: reflecting the execution of the input command at this moment
Once the command is written to MCX314, the process will take 2 CLK to 4
CLK (250nsec for 16MHz) on the Low level. When BUSYN is on the Low
level, the other written commands cannot be executed.
INTN 33 Output B Interrupt: outputting an interrupt signal to the host CPU. If any interrupt
factor occurs the interrupt, the level is Low; when the interrupt is released, it
will return to the Hi-Z level.
SCLK 34 Output A System Clock: SCLK=CLK/2
All the signals in MCX314 are controlled and synchronized by internal
SCLK. When the output signal of each axis is latched, it can be used as an
external signal source. There is no SCLK output when RESETN is on the
Low level.
XPP/PLS 35 Pulse +/Pulse: + direction dive pulse outputting
YPP/PLS 38 Output A When the reset is on the Low level, and while the driving is starting, DUTY
50% (at constant speed) of the plus drive pulses are outputting.
ZPP/PLS 40
+ or - pulse mode is selectable.
UPP/PLS 42
When the 1-pulse 1-direction mode is selected, this terminal is for drive
output.
34
MCX314
Input
Signal Name Pin No. Signal Description
/Output
XPM/DIR 36 Pulse -/Pulse: - direction dive pulse outputting
YPM/DIR 39 Output A When the reset is on the Low level, and while the driving is starting, DUTY
50% (at constant speed) of the plus drive pulses are outputting.
ZPM/DIR 41
+ or - pulse mode is selectable.
UPM/DIR 43
When the 1-pulse 1-direction mode is selected, this terminal is direction
signal.
35
MCX314
Input
Signal Name Pin No. Signal Description
/Output
XINPOS 67 Input A In-position: input signal for servo driver in-position
YINPOS 85 Enable / disable and logical levels can be set as commands. When “ enable”
is set, and after the driving is finished, this signal is active and standby. n-
ZINPOS 95
DVR bit of main status register returns to 0.
UINPOS 114
XALARM 68 Input A Servo Alarm: input signal for servo driver alarm
www.DataSheet4U.com Enable / disable and logical levels can be set as commands. When it is
YALARM 86
enable and when this signal is in its active level, the ALARM bit of RR2
ZALARM 96
register becomes 1.
UALARM 115
XLMTP 69 Input A OVER Limit +: signal of + direction over limit
YLMTP 87 During the + direction drive pulse outputting, decelerating stop or sudden
stop will be performed once this signal is active. The active pulse width
ZLMTP 97
should be more than 2CLK. Decelerating stop / sudden stop and logical
ULMTP 116 levels can be set during the mode selection. When it is enable, and when
this signal is in its active level, the HKMT+ of RR2 register becomes 1.
XLMTM 70 Input A OVER Limit -: signal of - direction over limit
YLMTM 88 During the - direction drive pulse outputting, decelerating stop or sudden
stop will be performed once this signal is active. The active pulse width
ZLMTM 98
should be more than 2CLK. Decelerating stop / sudden stop and logical
ULMTM 117 levels can be set during the mode selection. When it is enable, and when
this signal is in its active level, the HKMT- of RR2 register becomes 1.
XIN3-0 71~74 Input 3~0: input signal to perform decelerating / sudden stop for each axis
Y IN3-0 89,92~94 Input A These signals can be used for HOME searching. The active pulse width
should be more than 2CLK. Enable / disable and logical levels can be set for
Z IN3-0 99~102
IN3~IN0. The signal status can be read from register RR4 / RR5.
U IN3-0 118~121
XEXPP 134 External Operation +: + direction drive starting signal from external source
YEXPP 136 Input A When the fixed pulse driving is commanded from an external source, +
direction driving will start if this signal is down (¡ õ ).
ZEXPP 138
Otherwise, when the continuous pulse driving is commanded from an
UEXPP 140
external source, + driving will start if this signal is on the Low level.
XEXPM 135 External Operation -: - direction drive starting signal from external source
YEXPM 137 Input A When the fixed pulse driving is commanded from an external source, -
ZEXPM 139 direction driving will start if this signal is down (¡ õ ).
Otherwise, when the continuous pulse driving is commanded from an
UEXPM 141
external source, - direction driving will start if this signal is on the Low level.
EMGN 142 Input A Emergency Stop: input signal to perform the emergency stop for all axes
When this signal is on the Low level, including the interpolation driving,
every axes will stop the operation immediately. EMG bit of register RR2, of
each axis, will become 1. The Low level pulse width should be more than
2CLK.
(Note) For this signal, its logical levels cannot be selected.
GND 9,19,20, Ground (0V) Terminal
37,52,55, All of the 13 pins must be connected to 0V.
66,75,91,
103,127,
133,143
VDD 18,54,65, + 5V Power Terminal.
90,109, All of the 7 pins must be connected to +5V.
126,144
36
MCX314
Input A More than 10 kΩ ~ hundreds of kilo impedance is for internal impedance,
which can pull up the VDD to the TTL level input of Smith trigger.
CMOS and TTL can be connected.
The user should open, or pull up with + 5V if the input is not used.
Output A It is CMOS level output, 4mA driving buffer (Hi level output current IOH=-4mA,
VOH=2.4Vmin, Low level output current IOL=4mA, VOL=0.4Vmax). Up to 10
LSTTL can be driven.
Output B It is open collector type output, 4mA driving buffer, (Low level output current
IOL=4mA, VOL=0.4Vmax). Pull up to +5V with high impedance if this output is
used.
Bi-directional A Input side is TTL Smith trigger. Because there is no pull high resister for those
signals in this IC, the user should pull up the data bus with high impedance.
The user should pull up to +5V with high impedance (about 100 kΩ) when bits
D15~D8 are not used.
www.DataSheet4U.com Output side is CMOS level output, 8mA driving buffer (Hi level output current
IOH=-8mA, VOH=2.4Vmin, Low level output current IOL=8mA,
VOL=0.4Vmax).
37
MCX314
4. Register
This chapter indicates the user how to access all the registers in MCX314, and what are the mapping
addresses of these registers. Please refer to Chapter 2.4.3 for the registers (BP1P/M, BP2P/M, BP3P/M) of
bit pattern interpolation.
38
MCX314
n Read Register in 16-bit Data Bus
All registers are 16-bit length.
Address
Symbol Register Name Contents
A2 A1 A0
0 0 0 RR0 Main status register error status, driving status, ready for
interpolation, quadrant for circle interpolation
and the stack of BP
0 0 1 XRR1 X axis status register 1 comparison result, acceleration status and
YRR1 Y axis status register 1 finishing status
ZRR1 Z axis status register 1
URR1 U axis status register 1
0 1 0 XRR2 X axis status register 2 error message
YRR2 Y axis status register 2
ZRR2 Z axis status register 2
www.DataSheet4U.com
URR2 U axis status register 2
0 1 1 XRR3 X axis status register 3
YRR3 Y axis status register 3 interrupt message
ZRR3 Z axis status register 3
URR3 U axis status register 3
1 0 0 RR4 Input register 1 I/O input for X and Y axes
1 0 1 RR5 Input register 2 I/O input for Z and U axes
1 1 0 RR6 Data reading register 1 low word of data register (D15 ~ D0)
1 1 1 RR7 Data reading register 2 high word of data register (D31 ~ D16)
l Each axis is with WR1, WR2 and WR3 mode registers. Each register is for 4-axis data writing (at the
same address). Before those registers have been accessed, the host CPU should specify which axis is
going to be accessed by writing a NOP command into WR0.
39
MCX314
n Write Register in 8-bit Data Bus n Read Register in 8-bit Data Bus
Address Address
Write Register Read Register
A3 A2 A1 A0 A3 A2 A1 A0
0 0 0 0 WROL 0 0 0 0 RROL
0 0 0 1 WROH 0 0 0 1 RROH
0 0 1 0 XWR1L, YWR1L, ZWR1L, 0 0 1 0 XRR1L, YRR1L, ZRR1L,
www.DataSheet4U.com UWR1L URR1L
0 0 1 1 XWR1H, YWR1H, ZWR1H, 0 0 1 1 XRR1H, YRR1H, ZRR1H,
UWR1H URR1H
0 1 0 0 XWR2L, YWR2L, ZWR2L, 0 1 0 0 XRR2L, YRR2L, ZRR2L,
UWR2L URR2L
0 1 0 1 XWR2H, YWR2H, ZWR2H, 0 1 0 1 XRR2H, YRR2H, ZRR2H,
UWR2H URR2H
0 1 1 0 XWR3L, YWR3L, ZWR3L, 0 1 1 0 XRR3L, YRR3L, ZRR3L,
UWR3L URR3L
0 1 1 1 XWR3H, YWR3H, ZWR3H, 0 1 1 1 XRR3H, YRR3H, ZRR3H,
UWR3H URR3H
1 0 0 0 WR4L, BP2PL 1 0 0 0 RR4L, BP2PL
1 0 0 1 WR4H, BP2PH 1 0 0 1 RR4H, BP2PH
1 0 1 0 WR5L, BP2ML 1 0 1 0 RR5L, BP2ML
1 0 1 1 WR5H, BP2MH 1 0 1 1 RR5H, BP2MH
1 1 0 0 WR6L, BP3PL 1 1 0 0 RR6L, BP3PL
1 1 0 1 WR6H, BP3PH 1 1 0 1 RR6H, BP3PH
1 1 1 0 WR7L, BP3ML 1 1 1 0 RR7L, BP3ML
1 1 1 1 WR7H, BP3MH 1 1 1 1 RR7H, BP3MH
40
MCX314
4.3 Command Register: WR0
Command register is used for the axis assignment and command registration for each axis in MCX314. The
register consists of the bit for axis assignment, bit for setting command code, and bit for command resetting.
After the axis assignment and command code have been written to the register, this command will be
executed immediately. The data such as drive speed setting and data writing command must be written to
registers WR6 and WR7 first. Otherwise, when the reading command is engaged, the data will be written
and set, through IC internal circuit, to registers RR6 and RR7.
When using the 8-bit data bus, the user should write data into the high word byte (H), then low word byte (L).
It requires 250 nSEC (maximum) to access the command code when CLK=16MHz. The input signal
BUSYN is on the Low level at this moment. Please don’ t write the next command into WR0 before BUSYN
return to the Hi level.
H L
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
WR0 RESE
www.DataSheet4U.com 0 0 0 U Z Y X 0 0
T
H L
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
WR1 D- C-STA C- P≥C+ P<C+ P<C- P≥C- PULS IN3-E IN3-L IN2-E IN2-L IN1-E IN1-L IN0-E IN0-L
END END E
D7,5,3,1 INm-E The bit for setting enable / disable of driving stop input signal INm 0: disable, 1: enable
D6,4,2,0 INm-L The bit for setting enable logical levels for input signal INm 0: stop on the Low level, 1:
stop on the Hi level
For the following bits, the interrupt is set: 1: enable, 0: disable
D8 PULSE Interrupt occurs when the pulse is up (¡ ô ) (drive pulse is set on the positive logical
level)
D9 P≥C- Interrupt occurs when the value of logical / real position counter is larger than or equal
41
MCX314
to that of COMP- register
D10 P < C- Interrupt occurs when the value of logical / real position counter is smaller than that of
COMP- register
D11 P<C+ Interrupt occurs when the value of logical / real position counter is smaller than that of
COMP+ register
D12 P≥C+ Interrupt occurs when the value of logical / real position counter is larger than or equal
to that of COMP+ register
D13 C - END Interrupt occurs at the start of the constant speed drive during an acceleration /
deceleration driving
D14 C - STA Interrupt occurs at the end of the constant speed drive during an acceleration /
deceleration driving
D15 D - END Interrupt occurs when the driving is finished
D15~D0 will be set to 0 while resetting.
4.5 Mode
www.DataSheet4U.com Register2: WR2
WR2 can be used for setting: (1). external limit inputs, (2). driving pulse types, (3). encoder signal types,
and (4). the feedback signals from servo drivers.
H L
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
WR2 INP-E INP-L ALM-E ALM-L PIND1 PIND0 PINM DIR-L PLS-L PLSM CMPS HLMT- HLMT LMTM SLMT- SLMT
D D L + D +
D0 SLMT + Enable / disable setting for COMP+ register which is used as the + direction software
limit 1: enable, 0: disable
Once it is enabled during the + direction driving, if the value of logical / real position
counter is larger than that of COMP+, the decelerating stop will be performed. The D0
(SLMT+) bit of register RR2 will become 1. Under this situation, further written +
direction driving commends will not be executed.
D1 SLMT - Enable / disable setting for COMP- register which is used as the - direction software
limit 1: enable, 0: disable
Once it is enabled during the - direction driving, if the value of logical / real position
counter is smaller than that of COMP+, the decelerating stop will be performed. The
D1 (SLMT-) bit of register RR2 will become 1. Under this situation, further written -
direction driving commends will not be executed.
D2 LMTMD The bit for controlling stop type when the hardware limits (nLMTP and nLMTM input
signals) are active 0: sudden stop, 1: decelerating stop
D3 HLMT + Setting the logical level of + direction limit input signal (nLMTM) 0: active on the Low
level, 1: active on the Hi level
D4 HLMT - Setting the logical level of - direction limit input signal (nLMTM) 0:active on the Low
level, 1: active on the Hi level
D5 COMPSL Setting if real position counter or logical position counter is going to be compared with
COMP +/- register 0: logical position counter, 1 : real position counter
D6 PLSMD Setting output pulse type 0: independent 2-pulse type, 1: 1-pulse 1-direction type
When independent 2-pulse type is engaged, + direction pulses are output through the
output signal nPP/PLS, and - direction pulses through nPM/DIR.
When 1-pulse 1-direction type is engaged, + and - directions pulses are output through
the output signal nPP/PLS, and nPM/DIR is for direction signals.
[Note] Please refer to Chapter 13.2 and 13.3 for the output timing of pulse signal (nPLS)
and direction signal (nDIR) when 1-pulse 1-direction type is engaged.
D7 PLS-L Setting logical level of driving pulses 0: positive logical level, 1: negative logical level
D8 DIR-L Setting logical level of the direction (nPM/DIR) output signal for 1-pulse mode
D0 MANLD Setting manual / automatic deceleration for the fixed pulse acceleration / deceleration
driving 0: automatic deceleration, 1: manual deceleration
The decelerating point should be set if the manual deceleration mode is engaged.
D1 DSNDE Setting decelerating rate which is in accordance with the rate of the acceleration or an
individual decelerating rate
0: in accordance with the rate of the acceleration
1: individual decelerating rate setting
When 0 is set, the deceleration will follow the acceleration setting. So, 0 must be set for
automatic deceleration. When 1 is set, the rates of acceleration and deceleration
should be different, So, 1 must be set for manual deceleration.
D2 SACC Setting trapezoidal driving / S-curve acceleration / deceleration driving
0: trapezoidal driving, 1: S-curve acceleration / deceleration driving
Before S-curve acceleration / deceleration driving is engaged, jerk (K) should be set.
D4,3 EXOP1,0 Setting the external input signals (nEXPP, nEXPM) for driving
D4 D3
0 0 external signals disabled
0 1 continuous driving mode
1 0 fixed pulse driving mode
1 1 external signals disabled
When the continuous driving mode is engaged, the + direction drive pulses will be
output continuously once the nEXPP signal is on the Low level; the - direction pulses
will be output continuously once the nEXPM signal is on the Low level. When the fixed
pulse driving mode is engaged, the + direction fixed pulse driving starts once the
nEXPP signal is falling to the Low level from the Hi level; the - direction fixed pulse
43
MCX314
driving starts once the nEXPM signal is falling to the Low level from the Hi level.
D7 OUTSL Driving status outputting or used as general purpose output signals (nOUT7~4)
0: nOUT7~4: general purpose output
The levles of D11~8 will be output through nOUT7~4.
1: nOUT4~7: driving status output (see the table below)
Signal Name Output Description
OUT4/CMPP Hi: if logical / real position counter ≥ COMP+ register
Low : if logical / real position counter < COMP+ register
OUT5/CMPM Hi: if logical / real position counter < COMP- register
Low: if logical / real position counter ≥ COMP- register
OUT6/ASND When the driving command is engaged, the level becomes Hi once the driving
status is in acceleration.
OUIT7/DSND When the driving command is engaged, the level becomes Hi once the driving
status is in deceleration.
www.DataSheet4U.com
D11~8 OUTm Level setting for output signals OUT7~4 as general purpose output signals
0: Low level output, 1: Hi level output
D15~D0 will be set to 0 while resetting. D15~12, D5 and D6 should be always set 0.
44
MCX314
4.7 Output Register: WR4
This register is used for setting the general purpose output signals nOUT3~0. This 16-bit register locates 4
output signals of each axis. It can be also used as a 16-bit general purpose output. It is Low level output
when the bit is set 0, and Hi level output when the bit is set 1.
H L
D15 D14 D13 D12 D11 D10 D9 D8 D7
D3 D2 D6D1 D5
D0 D4
WR4 UOUT UOUT UOUT UOUT ZOUT ZOUT ZOUT ZOUT YOUT YOUT YOUT YOUT XOUT XOUT XOUT XOUT
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
D15~D0 will be set to 0 while resetting, and nOUT3~0 signals become Low level.
45
MCX314
4.9 Data Register: WR6/WR7
Data registers are used for setting the written command data. The low-word data-writing 16-bit
(WD15~WD0) is for register RR6 setting, and the high-word data-writing 16-bit (WD31~WD16) is for
register RR7 setting.
H L
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
WR6 WD15 WD14 WD13 WD12 WD11 WD10 WD9 WD8 WD7 WD6 WD5 WD4 WD3 WD2 WD1 WD0
H L
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
WR7 WD31 WD30 WD29 WD28 WD27 WD26 WD25 WD24 WD23 WD22 WD21 WD20 WD19 WD18 wd17 wd16
The user can write command data with a designated data length into the write register. It does not matter to
www.DataSheet4U.com
write WR6 or WR7 first (when 8-bit data bus is used, the registers are WR6L, WR6H, WR7L and WR7H).
The written data is binary formatted; 2’ complement is for negatives.
For command data, the user should use designated data length. For instance, to set the finish point of
circular interpolation is using 4 bytes. Even the calculation range (-8388608 ~ +833607) is 24-bit long, the
user should fill the total 32 bytes.
The contents of WR6 and WR7 are unknown while resetting.
46
MCX314
H L
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
RR0 - BPSCI BPSC ZONE ZONE ZONE CNEX I-DRV U- Z-ERR Y-ERR X-ERR U- Z-DRV Y-DRV X-DRV
0 2 1 0 T ERR DRV
1 0 0 4 5 6
1 0 1 5
1 1 0 6
1 1 1 7
D14, 13 BPSC1, 0 In bit pattern interpolation driving, it displays the value of the stack counter (SC).
In bit pattern interpolation driving, when SC = 3, it shows the stack is full. When SC = 2,
there is one word (16-bit) space for each axis. When SC = 1, there is a 2-word (16-bit
¡ Ñ 2) for each axis. When SC = 0, it shows all the stacks are empty, and the bit-pattern
interpolation is finished.
47
MCX314
H L
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
RR1 EMG ALAR LMT- LMT+ IN3 IN2 IN1 IN0 ADSN ACNS AASN DSND CNST ASND CMP- CMP+
M D T D
Stop Status
www.DataSheet4U.com
D0 CMP + Displaying the comparison result between logical / real position counter and COMP+
register
1: logical / real position counter ≥ COMP+ register
0: logical / real position counter < COMP+ register
D1 CMP - Displaying the comparison result between logical / real position counter and COMP-
register
1: logical / real position counter ≤ COMP- register
0: logical / real position counter > COMP- register
D2 ASND It becomes 1 when in acceleration. Speed
D3 CNST It becomes 1 when in constant
speed driving.
D4 DSND It becomes 1 when in deceleration.
D5 AASND In S-curve, it becomes 1 when
acceleration / deceleration increases. Time
D6 ACNST In S-curve, it becomes 1 when ASND=1 CNST=1 DSND=1
acceleration / deceleration keeps
constant.
Acceleration
D7 ADSND In S-curve, it becomes 1 when Acceleration Deceleration
acceleration / deceleration
decreases.
D11~8 IN3~0 If the driving is stopped by one of
external decelerating stop signals Time
(nIN3 ~ 0), it will become 1. AASND=1 ACNST=1 ADSND=1 AASND=1 ACNST=1 ADSND=1
D12 LMT + If the driving is stopped by
+direction limit signal (nLMTP), it will become 1.
D13 LMT - If the driving is stopped by -direction limit signal (nLMTP), it will become 1.
D14 ALARM If the driving is stopped by nALARM from servo drivers, it will become 1.
D15 EMG If the driving is stopped by external emergency signal (EMGN), it will become 1.
H L
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
RR2 − − − − − − − − − − EMG ALAR HLMT- HLMT SLMT- SLMT
M + +
D0
www.DataSheet4U.com SLMT + During the + direction driving, when logical / real position counter ≥ COMP+ (COMP+
enabled, and used as software limit)
D1 SLMT - During the - direction driving, when logical / real position counter < COMP- (COMP-
enabled, and used as software limit)
D2 HLMT + When external +direction limit signal (nLMTP) is on its active level
D3 HLMT - When external -direction limit signal (nLMTM) is on its active level
D4 ALARM When the alarm signal (nALARM) for servo motor is on its active level
D5 EMG When emergency stop signal (EMGN) becomes Low level.
In driving, when hardware / software limit is active, the decelerating stop or sudden stop will be executed.
Bit SLMT+ / - will not become 1 during the reverse direction driving.
H L
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
RR3 − − − − − − − − D- C-STA C- P≥C+ P<C+ P<C- P≥C- PULS
END END E
When one of the interrupt factors occurs an interrupt, the bit of the register becomes 1, and the interrupt
output signal (INTN) will become the Low level. The host CPU will read register RR3 of the interrupted axis,
the bit of RR3 will be cleared to 0, and the interrupt signal will return to the non-active level. When 8-bit
data bus is used, the reading data of RR3L register is cleared.
49
MCX314
4.14 Input Register: RR4 / RR5
RR4 and RR5 are used for displaying the input signal status. The bit is 0 if the input is on the Low level; the
bit is 1 if the input is on the Hi level.
H L
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
RR4 Y-ALM Y-INP Y-EX- Y-EX+ Y-IN3 Y-IN2 Y-IN1 Y-IN0 X-ALM X-INP X-EX- X-EX+ X-IN3 X-IN2 X-IN1 X-IN0
H L
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
RR5 U-ALM U-INP U-EX- U-EX+ U-IN3 U-IN2 U-IN1 U-IN0 Z-ALM Z-INP Z-EX- Z-EX+ Z-IN3 Z-IN2 Z-IN1 Z-IN0
H L
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
RR6 RD15 RD14 RD13 RD12 RD11 RD10 RD9 RD8 RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0
H L
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
RR7 RD31 RD30 RD29 RD28 RD27 RD26 RD25 RD24 RD23 RD22 RD21 RD20 RD19 RD18 RD17 RD16
50
MCX314
5. Command Lists
n Write Commands
Symbo Data
Code Command Data Range
l Length
00 Range setting R 8,000,000(multiple=1)~16,000(multiple=500) 4 bytes
01 Jerk setting K 1 ~ 65,535 2
02 Acceleration setting A 1 ~ 8,000 2
03 Deceleration setting D 1 ~ 8,000 2
04 Initial speed setting SV 1 ~ 8,000 2
05 Drive speed setting V 1 ~ 8,000 2
06 Output pulse numbers / finish point P Output pulse numbers: 0~268,435,455 / 4
www.DataSheet4U.com of interpolation setting finish point: -8,388,608~+8,388,607
07 Manual deceleration point setting DP 0 ~ 268,435,455 4
08 Circular center point setting C -8,388,608 ~ +8,388,607 4
09 Logical position counter setting LP -2.147,483,648 ~ +2,147,483,647 4
0A Real position counter setting EP -2.147,483,648 ~ +2,147,483,647 4
0B COMP + register setting CP -2.147,483,648 ~ +2,147,483,647 4
0C COMP - register setting CM -2.147,483,648 ~ +2,147,483,647 4
0D Acceleration counter offsetting AO 0 ~ 65,535 2
0F NOP (used for axis switching)
[Note] Data range is shown above. Some parameter data ranges are shouter than data length. When
those parameters are written, the total data length should be completely filled.
62.5×106 8,000,000
Jerk (PPS/SEC2) = ×
K R
Multiple
8,000,000
Acceleration = A × 125 ×
(PPS/SEC) R
Multiple
8,000,000
Deceleration = D× 125 ×
(PPS/SEC) R
Multiple
8,000,000
Drive Speed (PPS)= V ×
R
Multiple
8,000,000
Initial Speed (PPS)= SV ×
R
Multiple
51
MCX314
[Note] Please do not write the codes not mentioned above. The unknown situation could happen due to IC
internal circuit test.
52
MCX314
6. Commands for Data Writing
Data writing is used for setting driving parameters such as acceleration, drive speed, output pulse numbers…
It is possible to write the same data for more than one axis simultaneously if more those axes are assigned.
If the data length is two bytes, WR6 register can be used. If the data is 4 bytes, the high word data can be
written into register WR7 and the low word into register WR6. Then, the axis assignment and command
code will be written into register WR0 for execution.
Writing data for registers WR6 and WR7 is binary and 2’ s complement for negatives. Each data should be
set within the permitted data range. If the setting data out of range, the driving can not be done.
[Note]
l It requires 250 nSEC (maximum) to access the command code when CLK=16MHz. Please don’ t write
the next command or data into WR0 when the present command is written.
l Except acceleration offset (OA), the other parameters are unknown while resetting. So, please per-set
proper values for those driving related parameters before the driving starts.
www.DataSheet4U.com
Data
Code Command Symbol Data Range
Length
00 Range setting R 8,000,000(multiple:1)~16,000(multiple:500) 4 bytes
“ R” is the parameter determining the multiple of drive speed, acceleration / deceleration and jerk. The
multiple calculation is shown in the following formula:
8,000,000
Multiple =
R
For the parameter setting range of drive speed, acceleration / deceleration and jerk is 1~8000, if the higher
value is needed, the user should have a larger multiple. In case of increasing the multiple, although the high
speed driving is possible, the speed resolution will be decreased. So, the user can set the multiple as small
as possible if the setting speed has covered the desired speed.
For example, the maximum value of parameter for setting the drive speed (V) is 8000, and the drive speed
is set 40KPPS. The user can set V=8000 and R=1,600,000. Because 40K is 5 times of 8000, we set the
R=8,000,000/5=1,600,000.
The Range (R) can not be changed during the driving. The speed will be changed discontinuously.
“ K” is the parameter determining the increasing / decreasing rate of acceleration / deceleration, in a time
unit, of S-curve acceleration / deceleration. The jerk calculation is shown in the following formula:
62.5×106 8,000,000
Jerk (PPS/SEC2)= ×
K R
Multiple
Because the setting range of S-curve acceleration is 1 ~ 65,535, the jerk range is shown as follows:
K=65535 K=1
When Multiple = 1, 954 PPS/SEC2 ~ 62.5 x 106 PPS/SEC2
3 2 9 2
When Multiple = 500, 477 x 10 PPS/SEC ~ 31.25 10 PPS/SEC
*In this manual, jerk is defined the increasing / decreasing rate of acceleration / deceleration in a time unit.
However, jerk should cover the decreasing rate of acceleration and increasing rate of acceleration.
53
MCX314
Multiple
www.DataSheet4U.com
For the range of A is from 1 ~ 8,000, the actual acceleration range is shown as follows:
A=1 A=8000
When Multiple = 1 125 PPS/SEC ~ 1 x 106 PPS/SEC.
When Multiple = 500 62.5 x 103 PPS/SEC ~ 500 x 106 PPS/SEC
When acceleration / deceleration is set individually (D1 of register WR3 = 1), “ D” is the parameter
determining the deceleration of the trapezoidal driving. For S-curve acceleration / deceleration, the
designated deceleration can be set (see fig 2.9, page 7) until a specific value (D) is driving. The
deceleration calculation is shown in the following formula:
8,000,000
Deceleration (PPS/SEC)= D × 125 ×
R
Multiple
When acceleration / deceleration is set individually (D1 of register WR3 = 1), the automatic deceleration
cannot be performed. The user should use manual deceleration.
“ SV” is the parameter determining the speed of constant speed period in trapezoidal driving. The initial
speed calculation is shown in the following formula:
8,000,000
Initial Speed (PPS)= SV × 125 ×
R
Multiple
For stepper motors, the user should set the initial speed smaller than the self-starting frequency of stepper
motors.
For servo motors, the recommended setting initial speed is higher than the value of √(acceleration). For
example, if acceleration / deceleration = 125000 PPS/SEC, the speed setting is better larger than √(125000)
= 354 PPS.
54
MCX314
“ V” is the parameter determining the speed of constant speed period in trapezoidal driving. In constant
speed driving, the drive speed is the initial speed. The drive speed calculation is shown in the following
formula:
8,000,000
Drive Speed (PPS)= V ×
R
Multiple
www.DataSheet4U.com
If thesetting drive speed is lower than the initial speed, the acceleration / deceleration will not be performed,
and the driving is constant speed.
During the encoder Z-phase searching (at a low-peed driving), if the user want to perform the sudden stop
once the Z-phase is detected, the drive speed should be set lower than the initial speed.
Drive speed can be altered during the driving. When the drive speed of next constant speed period is set,
the acceleration / deceleration will be performed to reach the new setting drive speed, then a constant
speed driving starts.
[Note]
l In fixed pulse S-curve acceleration / deceleration driving, there is no way to change the drive speed
during the driving. In continuous S-curve acceleration / deceleration driving, the S-curve profile cannot
be exactly tracked if the speed alterations during the acceleration / deceleration. it is better to change
the drive speed in the constant speed period.
l In fixed pulse trapezoidal driving, the frequent changes of drive speed may occur residual pulses in the
ending of deceleration.
“ DP” is the parameter setting the manual deceleration point in fixed pulse acceleration / deceleration
driving when the manual deceleration mode is engaged.
In manual deceleration mode, the user can set the bit D0 of WR3 register to 1. The decelerating point can
be set:
Manual Decelerating Point = Output Pulse Numbers − Pulse Number for Deceleration
55
MCX314
“ C” is the parameter setting the center point in circular interpolation. The coordinates of center point should
be set the relative number related to the current position.
56
MCX314
57
MCX314
The current value of logical position counter will be set in read registers RR6 and RR7.
The current value of real position counter will be set in read registers RR6 and RR7.
The value of current drive speed will be set in read registers RR6 and RR7. When the driving stops, the
value becomes 0. The data unit is as same as the setting value of drive speed(V).
The value of current acceleration / deceleration will be set in read registers RR6 and RR7. When the driving
stops, the read data is random number. The data unit is as same as the setting value of acceleration(A).
58
MCX314
8. Driving Commands
Driving commands include the commands for each axis’ s drive pulse output and other related commands.
After the command code and axis assignment are written in command register WR0, the command will be
executed immediately. It is possible to assign more than one axis with same command at the same time.
In driving, bit n-DRV of each axis’ s main status register RR0 becomes 1. When the driving is finished, the
bit n-DRV will return to 0.
If nINPOS input signal for servo drivers is enabled, bit n-DRV of main status register RR0 will not return to
0 until nINPOS signal is on its active level.
[Note]
l It requires 250 nSEC (maximum) to access the command code when CLK=16MHz. Please write the
next command within this period of time.
8.1 +Direction
www.DataSheet4U.com Fixed Pulse Driving
Code Command
20h +Direction Fixed Pulse Driving
The setting pulse numbers will be output through the output signal nPP.
In driving, real position counter will count-up 1 when one pulse is output.
Before writing the driving command, the user should set the parameters for the outputting speed curve and
the correct output pulse numbers (see the table below).
The setting pulse numbers will be output through the output signal nPM.
In driving, real position counter will count-down 1 when one pulse is output.
Before writing the driving command, the user should set the parameters for the outputting speed curve and
the correct output pulse numbers.
Before the stop command or external signal is active, the pulse numbers will be continuously output through
the output signal nPP.
In driving, real position counter will count-up 1 when one pulse is output.
Before writing the driving command, the user should set the parameters for the outputting speed curve and
the correct output pulse numbers.
59
MCX314
Before the stop command or external signal is active, the pulse numbers will be continuously output through
the output signal nPM.
In driving, real position counter will count-down 1 when one pulse is output.
Before writing the driving command, the user should set the parameters for the outputting speed curve and
the correct output pulse numbers.
This command is to release the drive status holding(24h), and start the driving.
Also, this command can clear the finishing status bits D15 ~ 8 of register RR1.
Code Command
26h Decelerating stop in driving
This command performs the decelerating stop when the drive pulses are outputting.
If the drive speed is lower than the initial speed, the driving will be suddenly stopped when this command is
engaged.
In interpolation driving, for main axis, the decelerating stop and sudden stop commands can be written to
stop the driving.
Once the driving stops, this command will not work.
This command performs the sudden stop when the drive pulses are output. Also, the sudden stop can be
performed in acceleration / deceleration driving.
Once the driving stops, this command will not work.
60
MCX314
9. Interpolation Commands
Interpolation commands consist of the commands for 2 / 3 axes linear interpolation, CW / CCW circular
interpolation, 2 / 3 axes bit pattern interpolation and other related commands. There is no need to make the
axis assignment in setting bits D11~8 of command register WR0. Please set 0 in those bits.
Tow procedures should be follow before the interpolation command is executed:
¬ interpolation accessing axes assignment (set-in bits D5~D0 of register WR5)
- speed parameter setting for master axis
In interpolation driving, bit D8 (I-DRV) of main status register RR0 becomes 1, and will return to 0 when the
driving is finished. In interpolation, the n-DRV bit of interpolating axis becomes 1.
[Note]
l It requires 250 nSEC (maximum) to access the command code when CLK=16MHz. Please write the
next command within this period of time.
9.1 2-Axis
www.DataSheet4U.com Linear Interpolation
Code Command
30h 2-axis linear interpolation
This command performs 2-axis interpolation from present point to finish point.
Before driving, the finish point of the 2 corresponding axes should be set by incremental value.
Code Command
31h 3-axis linear interpolation
This command performs 3-axis interpolation from present point to finish point.
Before driving, the finish point of the 3 corresponding axes should be set by incremental value.
Code Command
32h CW circular interpolation
This command performs 2-axis clockwise circular interpolation, based on center point, from present point to
finish point.
Before driving, the finish point of the 2 corresponding axes should be set by incremental value.
A full circle will come out If the finish position is set (0, 0).
Code Command
33h CCW circulator interpolation
This command performs 2-axis counterclockwise circular interpolation, based on center point, from present
point to finish point.
Before driving, the finish point of the 2 corresponding axes should be set by incremental value.
A full circle will come out If the finish position is set (0, 0).
9.5 2-Axis Bit Pattern Interpolation
61
MCX314
Code Command
34h 2-axis bit pattern interpolation
Code Command
35h 3-axis bit pattern interpolation
www.DataSheet4U.com
Code Command
36h BP register data writing enabling
This command enables the bit pattern data writing registers BP1P/M, BP2P/M and PB3P/M.
After this command is issued, the data writing to register nWR2~nWR5 becomes disabled.
The data written to the bit pattern data writing registers is disabled while resetting.
Code Command
37h BP register data writing disabling
This command disables the bit pattern data writing registers BP1P/M, BP2P/M and PB3P/M.
After this command is issued, the data writing to register nWR2~nWR5 becomes enabled.
Code Command
38h BP data stacking
This command stacks the data of bit pattern data writing registers BP1P/M, BP2P/M, and BP3P/M.
After this command is issued, stack counter (SC) will plus 1. When stack counter (SC) is 3, this command
cannot be issued again.
62
MCX314
Code Command
39h BP data clearing
This command clears all the bit pattern data, and sets the stack counter (SC) to 0.
Code Command
www.DataSheet4U.com
3Ah Single step interpolation
Code Command
3Bh Deceleration enabling
Code Command
3Ch Deceleration disabling
Code Command
3Dh Interpolation interrupt clear
R/W
WRN
UDS
Or LDS pull up resistance
D15~D0 D15~D0
A3 A2
A2 A1
A1 A0
Add. decoder CSN
+5V
www.DataSheet4U.com A23~A4
AS G
O.C +5V
DTACK
74LS348
INTN
IPL2 A2 7
IPL1 A1
IPL0 A0
1
0
E1
74LS138
+5V
G
G
G
+5V
FC2 +5V
C H16L8
FC1 B
FC0 A Y7
O.C
VPA form system reset signal RESETN
D7~D0 D7~D0
Pull up resistance
D15~D8
H16L8
+5V
__
INT INTN
64
MCX314
10.3 Connection Example
The figure shown below illustrates the example of 1-axis driving system. 4 axes can be assigned in the
same way.
Stepper/servo
Encodermotor
EC M
-Limit Home Close to home +Limit
MCX314
Motor Drives
CW+
+
XPP CW -
-
Am26L31
Am26L32
CCW+
+
XPM
CCW - -
GND
Twist Pair Shield Cable
CW -
XPP
+5V
CCW+
CCW -
XPM
72LS06
Twist Pair Shield Cable
GND
For drive pulse output signals, we recommend the user to use twist pair shield cable due to the concern of
EMC.
65
MCX314
10.5 Connection Example for Input Signals
In MCX314, except (D15 ~ D0), all the input signals are internal pull high and buffered by Smith trigger.
MCX314
+5V
0.01µ
TLP121
MCX314
+5V
220
470 ECA+
XECA
1k
ECA-
66
MCX314
#include <stdio.h> ¡ a
#include <conio.h> outpw(adr+wr6, wdata);
// -----mcx314 register address definition ----- outpw(adr+wr0, (axis<<8) + 0x01);
#define adr 0x280 //Basic address ¡ b
#define wr0 0x0 //Command register // acc(axis assignment, data) -----For acceleration/deceleration (A)
#define wr1 0x2 //Mode register 1 setting
#define wr2 0x4 //Mode register 2 void acc(int axis, long wdata)
#define wr3 0x6 //Mode register 3 ¡ a
#define wr4 0x8 //Output register outpw(adr+wr6,wdata);
#define wr5 0xa //Interpolation mode register outpw(adr+wr0, (axis<<8) + 0x02);
#define wr6 0xc //Low word bits data writing register ¡ b
#define wr7 0xe //High word bits data writing register // dec( axis assignment, data) -----For deceleration (D) setting
www.DataSheet4U.com void dec(int axis, long wdata)
#define rr0 0x0 //Main status register ¡ a
#define rr1 0x2 //Status register 1 outpw(adr+wr6, wdata);
#define rr2 0x4 //Status register 2 outpw(adr+wr0, (axis<<8) + 0x03);
#define rr3 0x6 //Status register 3 ¡ b
#define rr4 0x8 //Input register 1
// startv(axis assignment, data) -----For initial speed (SV) setting
#define rr5 0xa //Input register 2
void startv(int axis, long wdata)
#define rr6 0xc //Low word bits data reading register
¡ a
#define rr7 0xe //High word bits data reading register
outpw(adr+wr6, wdata):
outpw(adr+wr0, (axis<<8) + 0x04);
#define bp1p 0x4 //BP + direction data register for the first axis
control ¡ b
#define bp1m 0x6 //BP − direction data register for the first axis // speed(axis assignment, data) -----For drive speed (V) setting
control void speed(int axis, long wdata)
#define bp2p 0x8 //BP + direction data register for the second axis ¡ a
control outpw(adr+wr6, wdata);
#define bp2m 0xa //BP − direction data register for the second axis outpw(adr+wr0, (axis<<8) + 0x05);
control ¡ b
#define bp3p 0xc //BP + direction data register for the third axis // pulse( axis assignment, data) -For output pulse output/finish point (P)
control setting
#define bp3m 0xe //BP − direction data register for the third axis void pulse(int axis, long wdata)
control ¡ a
outpw(adr+wr7, (wdata>>16) & 0xffff);
// wreg 1 (axis assignment, data) ----Write register 1 setting outpw(adr+wr6, wdata & 0xffff);
void wreg1(int axis, int wdata) outpw(adr+wr0, (axis<<8) +0x06);
¡ a ¡ b
outpw(adr+wr0,(axis<<8)+0xf); //axis assignment // decp(axis assignment, data) -----For manual deceleration (DP) setting
outpw(adr+wr1, wdata); void decp(int axis, long wdata)
¡ b ¡ a
// wreg 2 (axis assignment, data) ----Write register 2 setting outpw(adr+wr7, (wdata>>16) & 0xffff);
void wreg2 (int axis, int wdata) outpw(adr+wr6, wdata & 0xffff);
¡ a outpw(adr+wr0, (axis<<8) + 0x07);
outpw(adr+wr0,(axis<<8)+0xf); //axis assignment ¡ b
outpw(adr+wr2, wdata); // center(axis assignment, data) -----For circular center point (C) setting
¡ b void center(int axis, long wdata)
// wreg 3 (axis assignment, data) -----Write register 3 setting ¡ a
void wreg3(int axis, int wdata) outpw(adr+wr7, (wdata>>16) & 0xffff);
¡ a outpw(adr+wr6, wdata & 0xffff);
outpw(adr+wr0, (axis<<8)+0xf); //axis assignment outpw(adr+wr0, (axis<<8) + 0x08);
outpw(adr+wr3, wdata); ¡ b
¡ b // lp(axis assignment, data) -----For logical position counter (LP ) setting
// command (axis assignment, data) -----For writing commands void lp(int axis, long wdata)
void command(int axis, int cmd) ¡ a
¡ a outpw(adr+wr7, (wdata>>16) & 0xffff);
outpw(adr+wr0, (axis<<8)+cmd): outpw(adr+wr6, wdata & 0xffff);
¡ b outpw(adr+wr0, (axis<<8) + 0x09);
// range(axis assignment, data) -----For range (R) setting ¡ b
void range(int axis, long wdata) // ep(axis assignment, data) -----For real position counter (EP) setting
¡ a void ep(int axis, long wdata)
outpw(adr+wr7,(wdata>>16) & 0xffff); ¡ a
outpw(adr+wr6, wdata & 0xffff); outpw(adr+wr7, (wdata>>16) & 0xffff);
outpw(adr+wr0, (axis<<8) + 0x00); outpw(adr+wr6, wdata & 0xffff);
¡ b outpw(adr+wr0, (axis<<8) + 0x0a);
// acac(axis assignment, data) -----For S-curve acceleration (K) setting ¡ b
void acac(int axis, long wdata) // compp(axis assignment, data) -----For COMP+ (CP) setting
67
MCX314
void compp(int axis, long wdata) ¡ b
¡ a if((inpw(adr+rr5) & 0x2)= =0x2
outpw(adr+wr7, (wdata>>16) & 0xffff); ¡ a
outpw(adr+wr6, wdata & 0xffff); command(0x4, 0x23);
outpw(adr+wr0, (axis<<8) + 0x0b); ¡ b
¡ b if((inpw(adr+rr5) & 0x200)= =0x200)
// compm(axis assignment, data) -----For COMP− (CM) setting ¡ a
void compm(int axis, long wdata) command(0x8, 0x23);
¡ a ¡ b
outpw(adr+wr7, (wdata>>16) & 0xffff); wait(0xf);
outpw(adr+wr6, wdata & 0xffff); wreg1(0xf, 0x000c); //(2) + direction motion will be continuously driven at
outpw(adr+wr0, (axis<<8) + 0x0c); a speed of 500 PPS
¡ b speed(0xf, 50); //When IN1 = OFF, it will be suddenly
// accofst(axis assignment, data) ----For acceleration counter shift (AO) stopped
setting command(0xf, 0x21);
void accofst(int axis, long wdata) wait(0xf);
¡ a
www.DataSheet4U.com
outpw(adr+wr7, (wdata>>16) & 0xffff); wreg1(0xf, 0x0000); //(3) - direction motion will be driven at a speed of
outpw(adr+wr6, wdata & 0xffff); 40000 PPS
outpw(adr+wr0, (axis<<8) + 0x0d); speed(0xf, 40000); //100-pulse shift
¡ b pulse(0xf, 100);
// readlp(axis assignment) -----For logical position counter (LP) reading command(0xf, 0x21);
void readlp(int axis) wait(0xf);
¡ a
lp(0xf, 0); //(4) LP = 0 for X, Y, Z, and U axes
long a;long d6;long d7;
wreg2(0xf, 0x0003); //Software limit on X, Y, Z axes: ON
outpw(adr+wr0, (axis<<8) + 0x10);
compp(0x1, 100000); //X: -1000 ~ +100000
d6=inpw(adr+rr6);d7=inpw(adr+rr7);
compm(0x1, -1000);
a=d6 + (d7<<16);
compp(0x2, 50000); //Y: -500 ~ +50000
return(a);
¡ b compm(ox2, -500);
compp(0x4, 10000); //Z: -100 ~ +10000
// readep(axis assignment) -----For real position counter (EP) reading
compm(0x4, -100);
void readep(int axis)
¡ a
//***********<<Main Program>>**************
long a;long d6;long d7;
void main(void)
outpw(adr+wr0, (axis<<8) + 0x11);
¡ a
d6=inpw(adr+rr6);d7=inpw(adr+rr7);
int count;
a=d6 + (d7<<16);
outpw(adr+wr0, 0x8000); //Software reset
return(a);
for(count = 0; count<2; ++count);
¡ b
// wait(axis assignment) -----For waiting for drive stop
command(0xf, 0xf); //-----Whole axis mode setting--------
void wait(int axis)
outpw(adr+wr1, 0x0000); //Mode register 1 :
¡ a
00000000 00000000
while(inpw(adr+rr0) & axis); outpw(adr+wr2, 0x0000); //Mode register 2 :
¡ b 00000000 00000000
// next_wait() -----Next data setting of waiting for continuous interpolation outpw(adr+wr3, 0x0000); //Mode register 3 :
void next_wait(void) 00000000 00000000
¡ a outpw(adr+wr4, 0x0000); //General output register
while((inpw(adr+rr0) & 0x0200)==0x0); 00000000 00000000
¡ b outpw(adr+wr5, 0x0024); //Interpolation mode register
// bp_wait() ----- Next data setting of waiting for BP interpolation 00000000 00100100
void bp_wait(void)
¡ a //-----Initial value settings for whole axis driving
while((inpw(adr+rr0) & 0x06000)= =0x6000); accofst(0xf,0); //AO = 0
¡ b range(0xf, 800000) //R = 800000 (Multiple = 10)
// homesrch()-----for homeal point searching on whole axis acac(0xf, 1010); //K = 1010 (Jerk = 619 KPPS/SEC2)
void homesrch(void) acc(0xf, 100); //A = 100 (Acceleration/deceleration=125
¡ a // [Action] The same for (1) ~ (3) axes KPPS/SEC)
wreg1(0xf, 0x0008); // If homeal signal (in 1) = OFF dec(0xf, 100); //D (Deceleration = 125 KPPS/SEC)
speed(0xf, 2000); // -direction motion will be continuously driven at a startv(0xf, 100); //SV = 100 (Initial Speed = 1000 PPS)
speed of 20000 PPS speed(0xf, 4000); //V = 40000 (Drive Speed = 40000 PPS)
if((inpw(adr+rr4) & 0x2)= =0x2) pulse(0xf, 100000); //P = 100000 (output pulse number = 100000)
// If IN1 signal = ON, deceleration will be stopped. lp(0xf, 0); //LP = 0 (Logical position counter = 0)
¡ a
command(0x1, 0x23); homesrch( ); //-----Home searching on whole axis-----
¡ b
//-----Trapezoidal driving at X and Y axes
if((inpw(adr+rr4) & 0x200)= =0x200)
acc(0x3, 200); (Acceleration/deceleration = 250KPPS/SEC)
¡ a
speed(0x3, 4000); //V = 4000(Drive Speed = 4000 PPS)
command(0x2, 0x23);
68
MCX314
pulse(0x1, 8000); //xP = 8000
pulse(0x2, 40000); //yP = 40000 command(0,0x37); // Bits pattern data writing inhibition
command(0x3, 0x20); //- direction constant drive
wait(0x3); //Wait for drive stop wait(0x3); //Wait for drive stop
wreg3(0x3, 0x0004); //S-curve acceleration/deceleration driving at X and //----- Continuous interpolation at X and Y axes (Example of figure
Y axes 2.29)
acac(0x3, 1010); //K = 1010 (S-curve Acceleration = 619 KPPS/SEC2) speed(0x1, 100); //Drive Speed = 10 PPS constant speed
acc(0x3, 200); //A = 200 (Acceleration/Deceleration = 250 KPPS/SEC)
speed(0x3, 4000); //V = 4000 (Drive Speed = 4000 PPS) pulse(0x1, 4500); // node 1
pulse(0x1, 50000); //xP = 50000 pulse(0x2, 0);
pulse(0x2, 25000); //yP = 25000 command(0, 0x30);
command(0x0, 0x21); //- direction constant drive
wait(0x3); next_wait(); //Wait for next data setting
wreg3(0x3, 0x0000); //S-curve acceleration/deceleration mode clearing center(0x1,0); // node 2
//-----Linear interpolation drive at X and Y axis center(0x2, 1500);
outpw(adr+wr5, 0x0124); //ax1 = x, ax2 = y, ax3 = z, linear speed keeps pulse(0x1, 1500);
w
ww
D
a
S
.a
4
th
U
c
o
e
m
t.
constant pulse(0x2, 1500);
range(0x1, 800000); //ax1/R = 800000 (Multiple = 10) command(0, 0x33);
range(0x2, 1131371); //ax1/R = 800000 x 1.414
speed(0x1, 100); //Drive Speed = 1000 PPS constant speed next_wait();
pulse(0x1, 5000); //xP = +5000 (Finish point X = +5000) pulse(0x1, 0); // node 3
pulse(0x2, -2000); //yP = -2000 (Finish point Y = -2000) pulse(0x2, 1500);
command90x0, 0x30); // 2-axis linear interpolation command(0, 0x30);
wait(0x3) next_wait();
//-----Circular interpolation drive at X and Y axes ----- center(0x1, -1500); // node 4
outpw(adr+wr5, 0x0124); //ax1 = x, ax2 = y, ax3 = z, linear speed keeps center(0x2, 0);
constant pulse(0x1, -1500);
range(0x1, 800000); //ax1/R = 800000 (Multiple = 10) pulse(0x2, 1500);
range(0x2, 1131371); //ax2/R = 800000 x 1.414 command(0, 0x33);
speed(0x1, 100); //Drive Speed = 1000 PPS constant speed next_wait(); // node 5
center(0x1, -5000); //xC = 5000 (Center of X = -5000) pulse(0x1, -4500);
center(0x2, 0); //yC = 0 (Center of Y = 0) pulse(0x2, 0);
pulse(0x1, 0); //xP = 0 (Finish point of X = 0) Circle command(0, 0x30);
pulse(0x2, 0); //yP = 0 (Finish point of Y = 0)
command(0x0, 0x33); //CCW circular interpolation next_wait(); // node 6
wait(0x3); center(0x1, 0);
//----- Bit pattern interpolation at X and Y axes-----//(Example of figure center(0x2, -1500);
2.24) pulse(0x1, -1500);
speed(0x1,1); //Drive Speed = 10 PPS constant pulse(0x2, -1500);
speed command(0, 0x33);
command(0, 0x36); //Bit pattern data writing permission
next_wait(); //node 7
outpw(adr+bp1p, 0x0000); //0 ~ 15 bits data writing pulse(0x1, 0);
outpw(adr+bp1m, 0x2bff); pulse(0x2, -1500);
outpw(adr+bp2p, 0xffd4); command(0, 0x30);
outpw(adr+bp2m, 0x0000);
command(0, 0x38); //Stack next_wait(); //node 8
center(0x1, 1500);
outpw(adr+bp1p, 0xf6fe); //16 ~ 31 bits data writing center(0x2, 0);
outpw(adr+bp1m, 0x0000); pulse(0x1, 1500);
outpw(adr+bp2p, 0x000f); pulse(0x2, -1500);
outpw(adr+bp2m, 0x3fc0); command(0, 0x33);
command(0, 0x38);
wait(0x3);
outpw(adr+bp1p, 0x1fdb); //32 ~ 47 bits data writing ¡ b
outpw(adr+bp1m, 0x0000);
outpw(adr+bp2p, 0x00ff);
outpw(adr+bp2m, 0xfc00);
command(0, 0x38);
69
12. Electrical Characteristics
12.1 DC Characteristics
n Absolute Maximum Rated n Recommend Operation Environment
Item Symbol Value Unit Item Symbol Value Unit
Power Voltage VDD -0.3 ~ +7.0 V Power Voltage VDD 4.75 ~ 5.25 V
Ambient
Input voltage VIN -0.3 ~ VDD+0.3 V Temperature
Ta 0 ~ +85 °C
Input Current IIN ± 10 mA If the user wishes to operate the IC below 0°C,
Reservation please make contact with our R&D engineer.
TSTG -40 ~ +125 °C
Temperature
n DC Characteristics
www.DataSheet4U.com (Ta = 0 ~ +85°C, VDD = 5V ¡ Ó
5%)
Item Mark Condition Min. Typ. Max. Unit Remark
High level input voltage VIH 22 V
Low level input voltage VIL 0.8 V
High level input current IIH VIN=VDD -10 10 µA
VIN=0V -10 10 µA D15~D0 Input signal
IIL
Low level input current VIN=0V -200 -10 µA Input signal besides D15~D0
IOH=-1µA VDD-0.05 V Note 1
High level output IOH=-4 mA 2.4 V Output Signal besides
voltage VOH D15~D0
IOH=-8 mA 2.4 V D15~D0 Output signal
IOL=1µA 0.05 V
Low level output voltage IOL=4 mA 0.4 V Output signal besides D15~D0
VOL
IOL=8 mA 0.4 V D15~D0 output signal
Output leakage current IOZ VOUT=VDD or 0V -10 10 µA D15~D0, BUSYN, INTN
Smith hysteresis voltage VH 0.3 V
Consuming current IDD IIO=0 mA, CLK=16 MHz 52 90 mA
Note1 : BUSYN and INTN output signals have no items for high level output voltage due to the open drain
output.
n Pin Capacity
Item Mark Condition Min. Typ. Max. Unit Remark
Input/ Output capacity CIO Ta=25°C 10 pF D15 ~ D0
Input capacity CI f=1 MHz 10 pF Other input pins
12.2 AC Characteristics (Ta = 0 ~ +85°C, VDD = 5V ± 5%, Output load condition: 85 pF + 1 TTL )
12.2.1 Clock
n CLK Input Pulse n SCLK Output Signal
CLK
The figure shown above is used for 16-bit data bus accessing (H16L8 = Hi). For 8-bit data bus (H16L8 =
Low), the address signals shown in the figure become A3~A0, and data signals become D7~D0.
tDF tWL
It is low when BUSYN is active. And BUSYN is low after 2 SCLK cycles when WRN ↑ active.
Mark Item Min. Max. Unit
tDF WRN ↑ → BUSYN ↓ Delay Time 32 nS
tWL BUSYN Low Level Wavelength tCYC x 4+30 nS
tCYC is a cycle of CLK.
71
MCX314
SCLK
Output signal
tDI
nECB
tDE tDE tDE tDE tDE tDE tDE tDE
www.DataSheet4U.com
nPMIN
tDE tDE tDE tDE
l In A/B quadrature pulse input mode, when nECA and nECB input pulses are changed, the value of real
position counter will be changed to the value of those input pulses changed after the period of longest
SCLK4 is passed.
l In UP/DOWN pulse input mode, the real position counter will become the value of those input pulses
changed, after the period between the beginning of nPPIN, nPMIN ↑ and the time of SCLK 4 cycle is
passed.
Mark Item Min. Max. Unit
tDE nECA and nECB Phase Difference Time tCYC x 2+20 nS
tIH nPPIN and nPMIN Hi Level Wavelength 30 nS
tIL nPPIN and nPMIN Low Level Wavelength 30 nS
tiCYC nPPIN and nPMIN Cycle tCYC x 2+20 nS
tIB nPPIN ↑ ←→ nPMIN ↑ Time tCYC x 2+20 nS
RDN D15~0
D15~0 nOUT7~0
tDI tDO
72
MCX314
VDD
CLK
RESETN
SCLK
BUSYN
INTN
www.DataSheet4U.com
nPP/PLS
nPP/DIR
nDRIVE
nOUT7~0
¬ The reset signal input to pin RESETN will keep on the Low level for at least 4 CLK cycles.
- When RESETN is on the Low level for 4 CLK cycles maximum, the output signals of MCX314 are
decided.
® SCLK will be output after 2 CLK cycles when RESTN return to the Hi level.
¯ BUSYN keeps on the Low level for 8 CLK cycles when RESTN is on the Hi level.
SCLK
BUSYN
nDRIVE
¬ This first driving pulses (nPP, nPM, and nPLS) will be output after 3 SCLK cycles when BUSYN is ↑.
- The nDIR (direction) signal is valid after 1 SCLK cycle when BUSYN is ↑.
® The dDRIVE becomes Hi level when BUSYN is ↑.
¯ The nASND and nDSND are on invalid level after 3 SCLK cycles when BUSYN is ↑.
73
MCX314
13.3 Interpolation
SCLK
WRN
BUSYN
ƒ ƒ
nPP, nPM, •
1st pulse 2nd pulse
nPLS
nDRIVE ‚
www.DataSheet4U.com
¬ The first pulses (nPP, nPM, and nPLS) of interpolation driving will be output after 4 SCLK cycles when
BUSYN is ↑.
- nDRIVE will become Hi level after 1 SCLK cycle when BUSYN is ↑.
® DIR signal keeps the active level in 1 SCLK cycle before and after the Hi level pulse outputting.
WRN
BUSYN
nPP, nPM,
nPLS 1st pulse 2nd pulse
nDRIVE
¬ The pulses (nPP, nPM, and nPLS) of each axis will start outputting after 3 SCLK cycles when BUSYN is
↑.
- nDRIVE will become Hi level when BUSYN is ↑ for each axis.
Decelerating signal
active
Decelerating command write in
nDSND
Decelerating signal
active
Decelerating command write in
nDSND
www.DataSheet4U.com
75
MCX314
14. Pinout
Unit: mm
www.DataSheet4U.com
76
MCX314
15. Specifications
n Control Axis 4 axes
n Data Bus 16/8 bits selectable
Interpolation Functions
n 2-axes / 3-axes Linear Interpolation
Interpolation Range Each axis -8,388,608 ~ +8,388,607
Interpolation Speed 1 ~ 4 MPPS
Interpolation Accuracy ± 0.5 LSB (Within the range of whole interpolation)
n Circular Interpolation
Interpolation Range Each axis -8,388,608 ~ +8,388,607
www.DataSheet4U.com Interpolation Speed 1 ~ 4 MPPS
Interpolation Accuracy ± 1 LSB (Within the range of whole interpolation)
n Encoder Input
A/B quadrature pulse style or Up/Down pulse style selectable
Pulse of 1, 2 and 4 divisions selectable (A/B quadrature pulse style)
n Position Counter
Logic Position Counter (for output pulse t) range -2,147,483,648 ~ +2,147,483,647
Real Position Counter (for feedback pulse) range -2,147,483,648 ~ +2,147,483,647
Data read and write possible
77
MCX314
n Comparison Register
COMP + Register Position comparison range -2,147,483,648 ~ +2,147,483,647
COMP − Register Position comparison range -2,147,483,648 ~ +2,147,483,647
Status and signal outputs for the comparisons of position counters
Software limit functioned
n Electrical Characters
Temperature Range for Driving 0 ~ +45°C (32ºF ~185ºF)
Power Voltage for Driving ± 5V ± 5 % (max. power consumption: 90mA)
Input / Output Signal Level CMOS, TTL connectable
Input Clock Pulse 16,000 MHz (Standard)
78
MCX314
The following curves are based on the test records from MCX314 output drive pulses and speed curve traces.
The complete S-curve acceleration / deceleration is the curve drive, without linear acceleration / deceleration,
before the appointed drive speed is reached. Partial S-curve acceleration / deceleration is with a period of
linear acceleration / deceleration before the appointed drive speed is reached.
n 40KPPS Full S-curve Acceleration / Deceleration n 40KPPS Partial S-curve Acceleration / Deceleration
R=800000 (Rate:10), K=700, A=D=200, SV=100, V=4000, A0=50 R=800000 (Rate:10), K=300, A=D=150, SV=100, V=4000, A0=20
Auto Decelerating Mode Auto Decelerating Mode
2 2
Jerk=893KPPS/ SEC Jerk=2083KPPS/ SEC
Accel. / Decel. =250KPPS/SEC Accel. / Decel. =188KPPS/SEC
Initial Speed=1000PPS Initial Speed=1000PPS
www.DataSheet4U.com
Drive Speed=40KPPS Drive Speed=40KPPS
1
MCX314
n 8000PPS complete S-curve Acceleration / Deceleration n 8000PPS Partial S-curve Acceleration / Deceleration
R=8000000 (Rate:1), K=2000, A=D=500, SV=100, V=8000, A0=0 R=800000 (Rate: 1), K=1000, A=D=100, SV=100, V=8000, A0=0
Auto Decelerating Mode Auto Decelerating Mode
2 2
Jerk=31KPPS/ SEC Jerk=62.5KPPS/ SEC
Accel. / Decel. =62.5KPPS/SEC Accel. / Decel. =12.5KPPS/SEC
Initial Speed=100PPS Initial Speed=100PPS
Drive Speed=8000PPS Drive Speed=8000PPS
www.DataSheet4U.com
n 400KPPS Full S-curve Acceleration / Deceleration n 400KPPS Partial S-curve Acceleration / Deceleration
R=80000(Rate:100),K=2000,A=D=100,SV=10,V=4000, A0=1000 R=80000 (Rate: 100), K=500, A=D=100, SV=10, V=4000, A0=0
Auto Decelerating Mode Auto Decelerating Mode
2 2
Jerk=3.13MPPS/SEC Jerk=12.5MPPS/ SEC
Accel. / Decel. =1.25MPPS/SEC Accel. / Decel. =1.25MPPS/SEC
Initial Speed=1000PPS Initial Speed=1000PPS
Drive Speed=400KPPS Drive Speed=400KPPS
2
MCX314
n Speed Alterations in a Continuous S-curve Acceleration / Deceleration Drive
R=800000 (Rate: 10), K=2000, A=D=100, SV=100, V=1000¡ ÷ 2000¡ ÷ 4000¡ ÷
decelerating stop
2
Jerk=312.5KPPS/ SEC
Jerk(decel.)=125KPPS/SEC
Initial Speed=1000PPS
Drive Speed=10K¡ ÷ 20K¡ ÷
40KPPS
n 40KPPS Linear Acceleration / Deceleration n Triangle wave Avoiding during the Linear Acceleration / Deceleration
When K=1 (Jerk: Maxium) in the S-curve Accel./ Decel. Mode, “ 1/4
www.DataSheet4U.com output pulses” principle can be engaged. Even the output pulses are
few, the drive is a trapezoidal drive.
3
MCX314
n Initial Speed Trailing during the S-curve Accel./ Decel. fixed pulse drive
Try to adjust the volumes of parameters to have a more stable drive.
www.DataSheet4U.com