MC8041A / MCX314 MC8041A / MCX314

Add to my manuals
109 Pages

advertisement

MC8041A / MCX314 MC8041A / MCX314 | Manualzz

Motion Control Card / IC

Ver 2.0

P L E N T Y I S L A N D ( T A I W A N ) C O R P O R A T I O N

MC8041A

Contents

1 . I n t r o d u c t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0

2 . I / O A d d r e s s S e t t i n g a n d R e a d / W r i t e R e g i s t e r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

3 . I / O I n t e r f a c e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3 . 1 . D e s c r i p t i o n s o f I S A B U S S i g n a l s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3 . 2 . P i n D e f i n i t i o n o f I / O C o n n e c t o r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 . 3 . D r i v e P u l s e S i g n a l ( n P + P , n P + N , n P - P , n P - N ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 . 4 . G e n e r a l P u r p o s e O u t p u t S i g n a l ( n O U T 7 ~ n O U T 4 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 . 5 . O v e r L i m i t S i g n a l ( n L M T + , n L M T - ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 . 6 . D e c e l e r a t i n g / S u d d e n S t o p I n p u t S i g n a l ( n I N 1 , n I N 2 , n I N 3 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 . 7 . I n p u t S i g n a l f o r S e r v o D r i v e r ( n I N P O S , n A L A R M ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 . 8 . E n c o d e r I n p u t S i g n a l ( n E C A P , n E C A N , n E C B P , n E C B N , n I N 0 P , n I N 0 N ) . . . . . . . . . . . . . . . . . . . . . . 8

3 . 9 . E x t e r n a l D r i v i n g C o n t r o l I n p u t S i g n a l ( n E X 0 P + , n E X 0 P - ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 . 1 0 E m e r g e n c y S t o p I n p u t S i g n a l ( E M G ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.11 External Power Input (VEX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4 . I n t e r r u p t S e t t i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5 . C o n n e c t i o n E x a m p l e s f o r M o t o r D r i v e r s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5 . 2 C o n n e c t i o n w i t h P u l s e - t y p e S e r v o M o t o r D r i v e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6 . I / O S i g n a l T i m i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

6 . 2 I n d i v i d u a l D r i v i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

6 . 3 I n t e r p o l a t i o n D r i v i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

6 . 4 I n p u t P u l s e T i m i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

6 . 5 S u d d e n S t o p T i m i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

6 . 6 D e c e l e r a t i n g S t o p T i m i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

7. Jumper and Switch Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

8 . S p e c i f i c a t i o n s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1

1. Introduction

ISA

BUS

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.

RESETDRV

AEN

SA15~4

IOCS16*

SA3~1

IOW*

IOR*

Crystal oscillator

16MHz

I/O add.

setting switch

Address decoder

CLK

XP+P/N

XP-P/N

XOUT7~4

RESETN

XLMTP

XLMTM

XIN3~1

XINPOS

XALARM

CSN

XECA

XECB

XINPO

A2~0

WRN

RDN

MCX314

XEXOP+

XEXOP-

Line driver

26LS31

Output buffer

74LS06

(X axis I/O interface)

XP+P/N

XP-P/N

XOUT7~4

Pulse output

General output

Photo coupler &

RC filter

VEX External power(DC12~24V)

XLMT+

XLMT-

+Limit input

-Limit input

XIN3~1

Deceleration input

XINPOS

XALARM

Servo motor signal

Servo alarm

High-speed photo coupler

XECAP/N

XECBP/N

XINPO/N

Encoder signal input

Photo coupler

&

RC filter

XEXOP+

XEXOP-

+ Dir. jog

-Dir. jog

Y Axis Interface identical to the Input / Output interface of X-axis

SD15~0

Bi-direction buffer Z Axis Interface identical to the Input / Output interface of X-axis

IRQ3

IRQ4

IRQ5

IRQ6

IRQ7

IRQ10

IRQ11

IRQ12

IRQ14

IRQ15

Buffer

U Axis Interface identical to the Input / Output interface of X-axis

EMGN

Photo coupler

&

RC filter

Functional Blocks of MC8041A

EMG Emergency stop

MCX314

2. I/O Address Setting and Read / Write Register

I/O Address Setting

The I/O port address of MCX314 includes the higher 12 bits, SA15~SA4, of ISA bus I/O address SA15~SA0.

This address is set by SW1 and SW2 slide dip switches. The lower 3 bits, SA3~SA1, are used for IC internal read / write register codes.

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

ON

SW2

ON

SW1

ON : 0

OFF:1

1 2 3 4 1 2 3 4 5 6 7 8 the setting of I/O address 0280~028Fh

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.

Read / Write Register

The table below lists the I/O mapped read/write registers of MC8041A. All of the registers are accessed by 16bit format. The inside number of ( ) shows the register address when 0280~028Fh of SW1 and SW2 are set.

The address setting needs to use word-access, not byte-access. Please refer to Chapter 4 of MCX314 manual for register setting..

I/O Address

SA3 SA2 SA1 Symbol

WR0 0 0 0

(0280h)

0 0 1

(0282h)

XWR1

Y WR1

Z WR1

U WR1

0 1 0

(0284h)

XWR2

Y WR2

Z WR2

U WR2

BP1P

0 1 1

1

1

(0286h)

0

(0288h)

0

(028Ah)

0

1

1 1 0

(028Ch)

1 1 1

(028Eh)

XWR3

Y WR3

Z WR3

U WR3

BP1M

WR4

BP2P

WR5

BP2M

WR6

BP3P

WR7

BP3M

Write Register

Register Name

Command Register

X axis mode register 1

Y axis mode register 1

Z axis mode register 1

U axis mode register 1

X axis mode register 2

Y axis mode register 2

Z axis mode register 2

U axis mode register 2

BP1P register

X axis mode register 3

Y axis mode register 3

Z axis mode register 3

U axis mode register 3

BP1M register

Output register

BP2P register

Interpolation mode register

BP2M register

Data writing register 1

BP3P register

Data writing register 2

BP3M register

Symbol

RR0

Read Register

Register Name

Main status register

XRR1

YRR1

ZRR1

URR1

XRR2

YRR2

ZRR2

URR2

XRR3

YRR3

ZRR3

URR3

RR4

RR5

RR6

RR7

X axis status register 1

Y axis status register 1

Z axis status register 1

U axis status register 1

X axis status register 2

Y axis status register 2

Z axis status register 2

U axis status register 2

X axis status register 3

Y axis status register 3

Z axis status register 3

U axis status register 3

Input register 1

Input register 2

Data reading register 1

Data reading register 2

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.

3.1. Descriptions of ISA BUS Signals

C1

C2

C3

C4

C5

C6

C7

C8

C9

A27

A28

A29

A30

A31

A13

A14

A15

A16

A17

A18

A19

A20

A21

A22

A23

A24

A25

A26

C10

C11

C12

C13

C14

C15

C16

C17

C18

A6

A7

A8

A9

A10

A11

A12

Pin Signal Name

A1

A2 SD7

A3

A4

A5

SD6

SD5

SD4

SD3

SD2

SD1

SD0

AEN

Data

Data

Data

Data

Data

Data

Data

Data

Descriptions

Address Enable

SA15

SA14

SA13

SA12

SA11

SA10

SA9

SA8

SA7

SA6

SA5

SA4

SA3

SA2

SA1

SA0

SD8

SD9

SD10

SD11

SD12

SD13

SD14

SD15

Address

Address

Address

Address

Address

Address

Address

Address

Address

Address

Address

Address

Address

Address

Address

Address

Data

Data

Data

Data

Data

Data

Data

Data

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

B27

B28

B29

B30

B31

B17

B18

B19

B20

B21

B22

B23

B24

B25

B26

D1

D2

D3

D4

D5

D6

D7

D8

D9

D10

D11

D12

D13

D14

D15

D16

D17

D18

B10

B11

B12

B13

B14

B15

B16

B5

B6

B7

B8

B9

Pin Signal Name

B1 GND Ground

Descriptions

B2 RESTDRV Reset Signal

B3

B4

+ 5V Power

GND

IOW

IOR

Ground

I/O Write

I/O Read

IRQ7

IRQ6

IRQ5

IRQ4

IRQ3

+ 5V

GND

IOCS16

IRQ10

IRQ11

IRQ12

IRQ15

IRQ14

+ 5V

GND

Interrupt Request Signal

Interrupt Request Signal

Interrupt Request Signal

Interrupt Request Signal

Interrupt Request Signal

Power

Ground

16 bits I/O repeating signal

Interrupt Request Signal

Interrupt Request Signal

Interrupt Request Signal

Interrupt Request Signal

Interrupt Request Signal

Power

Ground

I/O

Input

Input

Input

Output

Output

Output

Output

Output

Output

Output

Output

Output

Output

Output

2

MCX314

3.2. Pin Definition of I/O Connector

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

1 st

Pin

A50 A49

A2 A1

A16 XECAN

A17 XECBP

A18 XECBN

A19 XIN0P

A20 XIN0N

A21 YINPOS

A22 YALARM

A23 YECAP

A24 YECAN

A25 YECBP

A26 YECBN

A27 YIN0P

A28 YIN0N

A29 XEXOP+

A30 XEXOP-

A31 YEXOP+

Pin Signal Name

A1 VEX

A2 EMG

A3 XLMT+

A4 XLMT-

A5 XIN1

A6 XIN2

A7 XIN3

A8 YLMT+

A9 YLMT-

A10 YIN1

A11 YIN2

A12 YIN3

A13 XINPOS

A14 XALARM

A15 XECAP

A32 YEXOP-

A33 GND

A34 XOUT4

A35 XOUT5

A36 XOUT6

A37 XOUT7

A38 XP+P

A39 XP+N

A40 XP-P

A41 XP-N

A42 GND

B50 B49 B2 B1

I/O Contents

Input External Power(DC12~24V)

Input Emergency Stop (for all axes)

Input + Direction Limit of X axis

Input - Direction Limit of X axis

Input Decelerating / Sudden Stop of X axis

Input Decelerating / Sudden Stop of X axis

Input Decelerating / Sudden Stop of X axis

Input + Direction Limit of Y axis

Input - Direction Limit of Y axis

Input Decelerating / Sudden Stop of Y axis

Input Decelerating / Sudden Stop of Y axis

Input Decelerating / Sudden Stop of Y axis

Input Servo In-positioning of X axis

Input Servo Error of X axis

Input Encoder Phase A of X axis

Input Encoder Phase A of X axis

Input Encoder Phase B of X axis

Input Encoder Phase B of X axis

Input Encoder Phase Z of X axis

Input Encoder Phase Z of X axis

Input Servo In-positioning of Y axis

Input Servo Error of Y axis

Input Encoder Phase A of Y axis

Input Encoder Phase A of Y axis

Input Encoder Phase B of Y axis

Input Encoder Phase B of Y axis

Input Encoder Phase Z of Y axis

Input Encoder Phase Z of Y axis

Input + Direction Drive Operation of X axis

Input – Direction Drive Operation of X axis

Input + Direction Drive Operation of Y axis

Input – Direction Drive Operation of Y axis

Ground

Output General Purpose Output of X axis

Output General Purpose Output of X axis

Output General Purpose Output of X axis

Output General Purpose Output of X axis

Output + Direction Drive Pulse of X axis

Output + Direction Drive Pulse of X axis

Output - Direction Drive Pulse of X axis

Output - Direction Drive Pulse of X axis

Ground

B16 ZECAN

B17 ZECBP

B18 ZECBN

B19 ZIN0P

B20 ZIN0N

B21 UINPOS

B22 UALARM

B23 UECAP

B24 UECAN

B25 UECBP

B26 UECBN

B27 UIN0P

B28 UIN0N

B29 ZEXOP+

B30 ZEXOP-

B31 UEXOP+

Pin Signal Name

B1 VEX

B2

B3 ZLMT+

B4 ZLMT-

B5 ZIN1

B6 ZIN2

B7 ZIN3

B8 ULMT+

B9 ULMT-

B10 UIN1

B11 UIN2

B12 UIN3

B13 ZINPOS

B14 ZALARM

B15 ZECAP

B32 UEXOP-

B33 GND

B34 ZOUT4

B35 ZOUT5

B36 ZOUT6

B37 ZOUT7

B38 ZP+P

B39 ZP+N

B40 ZP-P

B41 ZP-N

B42 GND

I/O

Input

Contents

External Power (DC12~24V)

Input + Direction Limit of Z axis

Input - Direction Limit of Z axis

Input Decelerating / Sudden Stop of Z axis

Input Decelerating / Sudden Stop of Z axis

Input Decelerating / Sudden Stop of Z axis

Input + Direction Limit of U axis

Input - Direction Limit of U axis

Input Decelerating / Sudden Stop of U axis

Input Decelerating / Sudden Stop of U axis

Input Decelerating / Sudden Stop of U axis

Input Servo In-positioning of Z axis

Input Servo Error of Z axis

Input Encoder Phase A of Z axis

Input Encoder Phase A of Z axis

Input Encoder Phase B of Z axis

Input Encoder Phase B of Z axis

Input Encoder Phase Z of Z axis

Input Encoder Phase Z of Z axis

Input In-positioning of U axis

Input Servo Error of U axis

Input Encoder Phase A of U axis

Input Encoder Phase A of U axis

Input Encoder Phase B of U axis

Input Encoder Phase B of U axis

Input Encoder Phase Z of U axis

Input Encoder Phase Z of U axis

Input + Direction Drive Operation of Z axis

Input – Direction Drive Operation of Z axis

Input + Direction Drive Operation of U axis

Input – Direction Drive Operation of U axis

Ground

Output General Purpose Output of Z axis

Output General Purpose Output of Z axis

Output General Purpose Output of Z axis

Output General Purpose Output of Z axis

Output + Direction Drive Pulse of Z axis

Output + Direction Drive Pulse of Z axis

Output - Direction Drive Pulse of Z axis

Output - Direction Drive Pulse of Z axis

Ground

3

MCX314

Pin Signal Name

A43 YOUT4

A44 YOUT5

A45 YOUT6

A46 YOUT7

A47 YP+P

A48 YP+N

A49 YP-P

A50 YP-N

I/O Contents

Output General Purpose Output of Y axis

Output General Purpose Output of Y axis

Output General Purpose Output of Y axis

Output General Purpose Output of Y axis

Output + Direction Drive Pulse of Y axis

Output + Direction Drive Pulse of Y axis

Output - Direction Drive Pulse of Y axis

Output - Direction Drive Pulse of Y axis

Pin Signal Name

B43 UOUT4

B44 UOUT5

B45 UOUT6

B46 UOUT7

B47 UP+P

B48 UP+N

B49 UP-P

B50 UP-N

I/O Contents

Output General Purpose Output of U axis

Output General Purpose Output of U axis

Output General Purpose Output of U axis

Output General Purpose Output of U axis

Output + Direction Drive Pulse of U axis

Output + Direction Drive Pulse of U axis

Output - Direction Drive Pulse of U axis

Output - Direction Drive Pulse of U axis

4

MCX314

3.3. Drive Pulse Signal (nP+P, nP+N, nP-P, nP-N)

Drive pulse output signal is used for the + / - direction drive pulse output which is through the differential output line-driver (AM26LS31). nP+P is differential from nP+N, and nP-P is differential from nP-N. nP+N and nP-N are on the Low level while resetting. nP+N and nP-N are on the Hi level, It will become independent 2pulse mode while resetting. It is possible to change to 1-pulse 1-direction mode. Please refer to Chapters

2.6.2 and 4.5 of MCX314 manual.

MCX314 nPP/PLS

+5V

2,8,14,20

J3

3,9,15,21

1,7,13,19 nP+P nP+N

Am26LS31, or eq.

+5V

5,11,17,23

J3

6,12,18,24

4,10,16,22 nP-P nPM/DIR nP-N

Output Signal Loop for Drive Pulses

The above circuit shows each axis’ s + / - direction output. J3 jumper can be switched for +5V output when the pulse input specification of motor driver needs the function. However, +5V is the power of internal circuit.

The user should pay attention to the wiring, and prevent from the noise from external devices.

Output Signal

+ 5V Output

Output Pin

Line-driver Output

XP+P XP-P YP+P YP-P ZP+P ZP-P UP+P UP-P

3

2

1

6

5

4

Jumper table of J3

9

8

7

12

11

10

15

14

13

18

17

16

21

20

19

24

23

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.

+5V or

XP+P

XP+N

+5V or

XP-P

XP-N

Photo coupler input interface

CW+

CW-

CCW+

CCW-

Motor Driver Side

Line-driver input interface

CW+

Twist pair with shield

CW-

CCW+

CCW-

GND

+

-

Am26LS32

+

-

Am26LS32

Motor Driver side

XP+P

XP+N

XP-P

XP-N

GND

5

MCX314

3.4. General Purpose Output Signal (nOUT7 ~ nOUT4)

General purpose output signals nOUT7/DSND, nOUT6/ASND, nOUT5/CMPM and nOUT4/CMPP are output through buffer (74LS06). Each output signal is “ OFF” while resetting.

MCX314 nOUT7/DSND nOUT7 nOUT6/ASND nOUT6 nOUT5/CMPM nOUT5 nOUT4/CMPP

74LS06 nOUT4

GND

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

MCX314 nLMTP

+5V

10K

VEX(12~24V) nLMTM

3.3K

0.01

µ

+5V

10K

TLP121 or eq.

3.3K

3.3K

3.3K

0.01

µ nLMT+ nLMT-

Circuit Diagram for Movement Limit Input Signals

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

EE-SX670

(OMRON)

XLMT+

Limit is active when sensor is sheltered.

Example of Photo Sensor and Over Limit Signal Connection

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

10K

VEX(12~24V) 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. nnALARM 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

+5V

10K

TLP121 or eq.

nALARM

3.3K

3.3K

0.01

µ nALARM

Input Signal for Servo Driver

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.

MCX314 nECA/PPIN

+5V

470

1K

220 nECAP

+5V

470 nECAN nECBP nECB/PPIM

1K

220

+5V

470 nECBN

NIN0P nIN0

1K

220

NIN0N

TLP2630 or PC9D10

Circuit Diagram of Encoder Feedback

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

Input signal n***N

H

L

L

H

MCX314 signal n****

L H

XECAP

XECAN

XECBP

XECBN

XINOP

XINON

EC-A

EC-B

EC-Z

Encoder Side

Example of the Connection for Differential Output Line-driver

Am26LS31

8

The following figure shows the connection of encoder input signal and open collector output encoder.

MCX314

-

+

DC Power

VCC

R Encoder

XECAP

XECAN

XECBP

XECBN

XINOP

XINON

R

R

EC-A

EC-B

EC-Z

END

Power Voltage

5

12

24

R(

)

0

820 1/4W

2K 1W

MCX314 nEXPP

Example of the Connection for Open Collector Output

3.9. External Driving Control Input Signal (nEX0P+, nEX0P-)

This signal is for starting the +/- direction drive from external source. When the fixed pulse driving is commanded, the designated pulses will be output when the input signal is triggered. When the continuous driving is commanded, pulses will be output continuously when the input signal is on the Low level. Manual control for each axis can be progressed without the CPU involving.

External DC12~24V power supply is necessary for triggering this signal. The response time of this circuit takes about 10 mSEC because of the delay of RC filter.

+5V

10K

VEX(12~24V) nEXPM

74HC14

100K

0.01

µ

+5V

10K

TLP121 or eq.

3.3K

3.3K

100K

0.01

µ nEXOP+ nEXOP-

Circuit Diagram of External Driving Control Input Signal

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

XEXOP+

XEXOP-

SW ON to Jog

Connection Example of External Driving Control Input

3.10 Emergency Stop Input Signal(EMG)

When emergency stop input signal is on its active level, the drive pulse output for all axes will be stopped. J4 jumper terminal on the board is used for switching the active level. When this signal is active during the driving, the driving axis will be stopped, and each axis’ s error bit of main status register will become 1. Please refer to Chapters 2.6.6 and 4.1.2 of MCX314 manual for information in details.

+5V

10K

VEX(12~24V)

MCX314

EMGN

J4

1

3

2

4

74HC14

J4 :EMG logical setting

(factory setting is J1-J2 short )

3.3K

0.01

µ

3.3K

EMG

TLP121 or eq.

Circuit diagram for emergency stop input signal

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.

The figure below shows the display of J4 jumper:

2

1

J4

4

3

Short between pins 1 and 2: active when the emergent stop signal (EMG) and external GND are short

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.

3.11 External Power Input (VEX)

External power input is for the operation of over limit input signals (nLMT+, nLMT-), decelerating / sudden stop input signals (nIN1~3), external driving command input signals (nINP0S, nALARM) and emergency stop input signal (EMG) for each axis. The proper power supply is DC12V~24V. Current consumption of 1 input signal is: 3.3mA at DC12V, 7mA at DC24V = 7.

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

IRQ3

IRQ4

IRQ5

IRQ6

IRQ7

IRQ10

IRQ11

IRQ12

IRQ14

IRQ15

1

3

5

7

9

11

113

15

17

19

J2

2

4

6

8

10

12

14

16

18

20

74LS04

MCX314

INTN

The table below shows the shorted pins at J2 jumper corresponding to the interrupt request signals at ISA bus:

Interrupt Request Signal

IRQ3

IRQ4

IRQ5

IRQ6

IRQ7

IRQ10

IRQ11

IRQ12

IRQ14

IRQ15

Short at J2 Jumper between pins 1-2 between pins 3-4 between pins 5-6 between pins 7-8 between pins 9-10 between pins 11-12 between pins 13-14 between pins 15-16 between pins 17-18 between pins 19-20

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.

1 1

MCX314

5. Connection Examples for Motor Drivers

5.1. Connection with Stepper Motor Drivers

The figure below is the example of MC8041A connected to a 5-phase micro-step driver, KR515M, manufactured by TECHNO DRIVE.

MC8041A

XP+P

XP+N

XP-P

XP-N

XOUT4

XOUT5

XINOP

XINON

GND

CW Pulse

CCW Pulse

Hold Off

M1/M2 select

Timing Output

KR515M

F+

F-

R+

R-

H.O.+

H.O.-

D.S.+

D.S.-

Z.P.+

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.

MC8041A

XP+P

XP+N

XP-P

XP-N

XOUT4

GND

VEX

XIN1

XALARM

-

+

CW Pulse

CCW Pulse

Hold Off

2K

/1w

UPK series

CW+

CW-

CCW+

CCW-

H.OFF+

H.OFF-

DC24V

Timing Output

Over Heat

TIMMING

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

5.2 Connection with Pulse-type Servo Motor Drives

The figure below is the example of MC8041A connected to MINAS XX series AC servo driver manufactured by PANASONIC.

MC8041A

I/O Connector

XP+P

XP+N

XP-P

XP-N

CW Pulse

CCW Pulse

MINAS XX series CNI/F

CW+

CW-

CCW+

CCW-

XECAP

XECAN

XECBP

XECBN

XINOP

XINON

GND

XOUT4

XOUT5

XOUT6

GND

Encoder Phase A

Encoder Phase B

Encoder Phase Z

Servo On

Error Counter Clear

Alarm Clear

-

+

DC24V

Servo Ready

Servo Alarm

Completing Position

OA+

OA-

OB+

OB-

OZ+

OZ-

GND

COM+

SRV-ON

CL

A-CLR

COM-

VEX

XIN3

XALARM

XINPOS

XLMT+

XLMT-

XIN1

XIN2

S-RDY

ALM

COIN

CW DIR. LIMIT

CCW DIR. LIMIT

HOME

Near by 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.

1 3

MCX314

6. I/O Signal Timing

6.1 Power-on Reset

+5V

RESDRV nP

±

P nP

±

N nOUT4~7

Low

Hi

• OFF

Read/Write

Invalid

Valid

¬ Drive pulse output signals (nP

±

P, nP

±

N) and general purpose output signals (nOUT4 ~ 7) will be determined after 250 nSEC from the reset signal of ISA bus (RESDRV) rising.

6.2 Individual Driving

BUSYN nPP

±

P

Interpolation drive command write in

1st pulse

Pre state

ƒ

Valid level nPP-P direction signal

2nd pulse

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

6.3 Interpolation Driving

BUSYN nPP

±

P nPP-P direction signal

Not stable

Interpolation drive command write in

1st pulse

‚ ‚

Valid level Not stable

2nd pulse

Valid level

Not stable

¬ 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

6.4 Input Pulse Timing

n A/B Quadrature Pulse Input

Counting up nECAP nECAN nECBP nECBN

• • • •

¬ Minimum time difference between EC-A and EC-B: 200 nSEC.

n Up / Down Pulse Input

nECAP nECAN nECBP nECBN

ƒ

¬ Minimum Up / Down pulse width: 130 nSEC

- Minimum UpÖDown pulse Interval: 260nSEC

® Minimum Up / Down pulse cycle: 260 nSEC

Counting down

• • • •

ƒ

MCX314

1 5

MCX314

6.5 Sudden Stop Timing

n External Sudden Stop Signal

EMG, nLMT

± nIN3,2,1,0

Valid level nP

±

P

¬ When external stop signal is enabled during the driving, up to 400

µ

SEC, + 1 pulse will be output, then stopped.

n Sudden Stop Command

IOW*

Stop command write in nP

±

P

- When the stop command issued during the driving, at most one pulse will be output, then the driving is stopped.

6.6 Decelerating Stop Timing

n External Decelerating Stop Signal nLMT

± nIN3,2,1,0

Valid level nP

±

P

¬ When the external decelerating stop signal is enabled during the driving, up to 400

µ

SEC, + 2 pules will be output, then stopped.

n Decelerating Stop Command

IOW* active

Decelerating command write in 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

7. Jumper and Switch Layout

163

161

11

J2

2 4

1 3

SW2 SW1

1820 2 4 2

4

17 19 1 3 1 3

J1 J4

ISA BUS

3 6

J3

1 4 16

+5V 24

22

69.85

2.54 X 17

48

2.54 X 30

81

63.4

SW1,2

J1

J2

J3

J4

: I/O address setting switches (see Chapter 2).

: J1-2 short circuit (initial setting) -- Please don’ t change.

: jumper for interrupt request signal setting

: jumper for drive pulse / +5V switching (see Chapter 3.3)

: jumper for selecting EMG signal active level (see Chapter 3.9)

3.2

10

18.6

3

1

MCX314

1 7

MCX314

8. Specifications

< Axial Control

4 axes

<ISA Bus Interface

Data Bus 16 bytes

I/O Address

Interrupt

16 bytes

IRQ3, 4, 5, 6, 7, 10, 11, 12, 14, 15 connectable

<Interpolation

Linear Interpolation -- any 2 / 3 of 4 axes

Circular Interpolation -- any 2 of 4 axes

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

for each axis…

<Drive-pulse Output

Pulse Output Interface

Pulse Output Speed Range

Pulse Output Accuracy

Jerk

Accelerating / Decelerating Speed

Drive Speed line driver (26LS31) output

1PPS ~ 4MPPS within

±

0.1% (according to the setting speed)

10

9

PPS/S

2

10

6

PPS/S

10

6

PPS

Output-pulse Number

Speed Profile

0 ~ 268435455 / unlimited quadrature / trapezoidal / parabolic S-curve

Index Drive Deceleration Mode auto / manual

Output-pulse numbers and drive speeds changeable during the driving

Independent 2-pulse system or 1-pulse 1-direction system selectable

Logical levels of pulse selectable

<Encoder A / B / Z Phase Input

Pulse Input Interface: high-speed photo-coupler input; line driver connectable

A/B quadrature pulse style or Up/Down pulse style selectable

Pulse of 1, 2 and 4 divisions selectable (A/B quadrature pulse style)

<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

<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

MCX314

Enable / disable for these factors selectable

<External Signal for Driving

EXPP and EXPM signals for fixed pulse / continuous drive

Input Interface: photo-coupler + CR filter loop (mechanical connector connectable)

<External Decelerating / Sudden Stop Signal

4 points (IN0 ~ 3) for each axis (IN0 for encoder Z phase)

Input Interface: photo-coupler + CR filter loop (IN0: high-speed photo-coupler input)

Enable / disable and logical levels selectable

<Servo Motor Input Signal

ALARM (alarm), INPOS (in-position)

Input Interface: photo-coupler + CR filter loop

Enable / disable and logical levels selectable

<General Output Signal

4 points (OUT4 ~ 7) for each axis (or used for Drive Status Signals)

Output Interface: 74LS06 open collector output

<Drive Status Signal Output

ASND (speed accelerating), DSND (speed decelerating),

Drive status and status registers readable

<Limit Signal Input

2 points, for each + and - side

Input Interface: photo-coupler + CR filter loop

Logical levels and decelerating / sudden stop selectable

<Emergency Stop Signal Input

EMG, 1 point for 4 axes

Input Interface: photo-coupler + CR filter loop

Jumper logical levels selectable

Operating Temperature

Voltage

External Power Supply

Board Size

I/O Connector Style

Attachment

0°C ~ +45°C (30°F ~120°F)

+5V

±

5% (max. power consumption: 700mA)

DC12V ~ 24V

FX2B-100PA-1.27DS (HIROSE)

1.2m cable, connector: FX2B-100SA-1.2R (HIROSE)

1 9

MCX314

MCX314

4-Axis Motion Control IC

20

MCX314

Contents

1 . O U T L I N E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2. The Descriptions of Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1 Pulse Output Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 . 1 . 1 F i x e d P u l s e D r i v i n g O u t p u t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 . 1 . 2 C o n t i n u o u s P u l s e D r i v i n g O u t p u t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Speed Curve. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 . 2 . 1 C o n s t a n t S p e e d D r i v i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 . 2 . 2 T r a p e z o i d a l D r i v i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 . 2 . 3 S - c u r v e A c c e l e r a t i o n / D e c e l e r a t i o n D r i v i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 . 2 . 4 P u l s e W i d t h a n d S p e e d A c c u r a c y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 . 3 P o s i t i o n C o n t r o l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3.1 Logic Position Counter and Real position Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 . 3 . 2 C o m p a r e R e g i s t e r a n d S o f t w a r e L i m i t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 . 4 I n t e r p o l a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2 . 4 . 1 L i n e a r I n t e r p o l a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2 . 4 . 2 C i r c u l a r I n t e r p o l a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2 . 4 . 3 T h e B i t P a t t e r n I n t e r p o l a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.4.4 Constant Vector Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 . 4 . 5 C o n t i n u o u s I n t e r p o l a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2 . 4 . 6 T h e A c c e l e r a t i o n / D e c e l e r a t i o n C o n t r o l i n I n t e r p o l a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2 . 4 . 6 S i n g l e - s t e p i n t e r p o l a t i o n ( f r o m C o m m a n d o r E x t e r n a l S i g n a l ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2 . 5 I n t e r r u p t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2 . 6 O t h e r F u n c t i o n s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2 . 6 . 1 D r i v i n g B y E x t e r n a l P u l s e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2 . 6 . 2 P u l s e O u t p u t T y p e S e l e c t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2 . 6 . 3 P u l s e I n p u t T y p e S e l e c t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2 . 6 . 4 H a r d w a r e L i m i t S i g n a l s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2 . 6 . 5 I n t e r f a c e t o S e r v o M o t o r D r i v e r s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2 . 6 . 6 E m e r g e n c y S t o p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2 . 6 . 7 S t a t u s O u t p u t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.6.8 General Purpose Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3 . P i n A s s i g n m e n t s a n d S i g n a l D e s c r i p t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

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 C o m m a n d R e g i s t e r : W R 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4 . 4 M o d e R e g i s t e r 1 : W R 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4 . 5 M o d e R e g i s t e r 2 : W R 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4 . 6 M o d e R e g i s t e r 3 : W R 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4 . 7 O u t p u t R e g i s t e r : W R 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4 . 8 I n t e r p o l a t i o n M o d e R e g i s t e r : W R 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4 . 9 D a t a R e g i s t e r : W R 6 / W R 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . C o m m a n d L i s t s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6 . C o m m a n d s f o r D a t a W r i t i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6.1 Range Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6 . 2 S - c u r v e A c c e l e r a t i o n R a t e S e t t i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6 . 3 A c c e l e r a t i o n S e t t i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

6. 4 D e c e l e r a t i o n S e t t i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

6 . 5 I n i t i a l S p e e d S e t t i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

6 . 6 D r i v e S p e e d S e t t i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

2 1

MCX314

6 . 7 O u t p u t P u l s e N u m b e r / I n t e r p o l a t i o n F i n i s h P o i n t S e t t i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6 . 8 M a n u a l D e c e l e r a t i n g P o i n t S e t t i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6 . 9 C i r c u l a r C e n t e r S e t t i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6 . 1 0 L o g i c a l P o s i t i o n C o u n t e r S e t t i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6 . 1 1 R e a l p o s i t i o n C o u n t e r S e t t i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6 . 1 2 C O M P + R e g i s t e r S e t t i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6 . 1 3 C O M P

R e g i s t e r S e t t i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6 . 1 4 A c c e l e r a t i o n C o u n t e r O f f s e t t i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6 . 1 5 N O P ( U s e d f o r A x i s S w i t c h i n g ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

7 . C o m m a n d s f o r R e a d i n g D a t a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

7 . 1 L o g i c a l P o s i t i o n C o u n t e r R e a d i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

7.2 Real position Counter Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

7 . 3 C u r r e n t D r i v e S p e e d R e a d i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

7 . 4 C u r r e n t A c c e l e r a t i o n / D e c e l e r a t i o n R e a d i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

8 . D r i v i n g C o m m a n d s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

8 . 1 + D i r e c t i o n F i x e d P u l s e D r i v i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

8 . 2 - D i r e c t i o n F i x e d P u l s e D r i v i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

8 . 3 + D i r e c t i o n C o n t i n u o u s D r i v i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

8 . 4 - D i r e c t i o n C o n t i n u o u s D r i v i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

8 . 5 D r i v e S t a t u s H o l d i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

8 . 6 D r i v e S t a t u s H o l d i n g R e l e a s e / F i n i s h i n g S t a t u s C l e a r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

8 . 7 D e c e l e r a t i n g S t o p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

8.8 Sudden Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

9 . I n t e r p o l a t i o n C o m m a n d s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

9 . 1 2 - A x i s L i n e a r I n t e r p o l a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

9 . 2 3 - A x i s L i n e a r I n t e r p o l a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

9 . 3 C W C i r c u l a r I n t e r p o l a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

9 . 4 C C W C i r c u l a r I n t e r p o l a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

9 . 5 2 - A x i s B i t P a t t e r n I n t e r p o l a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

9 . 6 3 - A x i s B i t P a t t e r n I n t e r p o l a t i o n D r i v e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

9 . 7 B P R e g i s t e r D a t a W r i t i n g E n a b l i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

9 . 8 B P R e g i s t e r D a t a W r i t i n g D i s a b l i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

9 . 9 B P D a t a S t a c k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

9.10 BP Data Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

9 . 1 1 S i n g l e S t e p I n t e r p o l a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

9 . 1 2 D e c e l e r a t i o n E n a b l i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

9 . 1 3 D e c e l e r a t i o n D i s a b l i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

9 . 1 4 I n t e r p o l a t i o n I n t e r r u p t C l e a r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

1 0 . C o n n e c t i o n E x a m p l e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

1 0 . 1 C o n n e c t i o n E x a m p l e f o r 6 8 0 0 0 C P U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

1 0 . 2 C o n n e c t i o n E x a m p l e f o r Z 8 0 C P U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

1 0 . 3 C o n n e c t i o n E x a m p l e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

1 0 . 4 P u l s e O u t p u t I n t e r f a c e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

1 0 . 5 C o n n e c t i o n E x a m p l e f o r I n p u t S i g n a l s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

1 0 . 6 C o n n e c t i o n E x a m p l e f o r E n c o d e r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

1 1 . E x a m p l e P r o g r a m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

1 2 . E l e c t r i c a l C h a r a c t e r i s t i c s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

12.1 DC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

1 2 . 2 A C C h a r a c t e r i s t i c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

1 2 . 2 . 1 C l o c k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

1 2 . 2 . 2 R e a d / W r i t e C y c l e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

1 2 . 2 . 3 B U S Y N S i g n a l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

1 2 . 2 . 4 S C L K / O u t p u t S i g n a l T i m i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

12.2.5 Input Pulses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

1 2 . 2 . 6 G e n e r a l P u r p o s e I n p u t / O u t p u t S i g n a l s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

1 3 . T i m i n g o f I n p u t / O u t p u t S i g n a l s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

13.1 Power-On Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

1 3 . 2 F i x e d P u l s e o r C o n t i n u o u s D r i v i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

22

MCX314

1 3 . 3 I n t e r p o l a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

1 3 . 4 S t a r t D r i v i n g a f t e r H o l d C o m m a n d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

13.5 Sudden Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

1 3 . 6 D e c e l e r a t i n g S t o p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

1 4 . P i n o u t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

1 5 . S p e c i f i c a t i o n s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

A p p e n d i x A : S p e e d C u r v e P r o f i l e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 3

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

n Servo Motor Feedback Signals

Each axis includes input pins for servo feedback signals such as in-positioning, close loop positioning control and servo alarm.

n Interrupt Signals

Interrupt signals can be generated when: (1). the start / finish of a constant speed drive during the trapezoidal driving, (2). the end of driving, and (3). the compare result once higher / lower the border-lines of the position counter range. An interrupt signal can be also generated during the interpolation driving

.

n

Real Time Monitoring

During the driving, the present status such as logical position, real position, drive speed, acceleration / deceleration, status of accelerating / decelerating and constant driving can be read.

n 8 or 16 Bits Data Bus Selectable

MCX314 can be connected to either

8-bit or 16-bit CPU

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

RDN

WRN

A3~A0

D15~D0

BUSYN

Command/Data

Interpretation/

Process

Section

INT

Interpolation Control

Section.

Leaner Interpolation

Counting Section

2 axes/3 axes

Circle Interpolation

Counting Section

2 axes

Bit Interpolation

Counting Section

2 axes/3 axes

Main axis pulse

X Axis Control Section

INT

Main axis pulse

Y Axis Control Section

INT

Main axis pulse

Z Axis Control Section

INT

Main axis pulse

U Axis Control Section

INT

AX1P+

AX1P-

AX2P+

AX2P-

AX3P+

AX3P-

AX1P+

AX1P-

AX2P+

AX2P-

AX1P+

AX1P-

AX2P+

AX2P-

AX3P+

AX3P-

XP+

XP-

Pulse separate

YP+

YP-

ZP+

ZP-

UP+

UP-

XP+

XP-

YP+

YP-

ZP+

ZP-

UP+

UP-

X AXIS

I/O

Y AXIS

I/O

Z AXIS

I/O

U AXIS

I/O

INTN

Interrupt Generator

Figure 1.1 MCX314 Functional Block Diagram

2

MCX314

Command

/Data

External

Signal

EXPP

EXPM

Command

Operating

Section

External

Operation

Section.

INT

Interrupt

Generator

Compare Register

COMP+

Compare Register

COMP-

Action

Managing

Section

Jerk Generator

Acceleration/Deceleration

Generator

Speed Generator

Pulse Generator

P+

P-

UP

Logical Position

Counter(32bit)

DOWN

UP

Real Position Counter

DOWN

P+

P-

Main Axis Pulse

To

Interpolate

Section

Wave

Change

External

Signal

PP/PLS

PM/DIR

Input Signal

Management

Section

Wave

Change

EC-A

EC-B

LMTP

LMTM

INPOS

ALARM

EMGN

IN3~0

General output

OUT3~0

General output

OUT7~4

OUT3~0

OUT7~4

Note 1: EMGN is for all axes use.

Fig.1.2 Control Block Diagram

3

MCX314

2. The Descriptions of Functions

2.1 Pulse Output Command

There are two kinds of pulse output commands: fixed pulse driving output and continuous pulse driving output.

2.1.1 Fixed Pulse Driving Output

When host CPU writes a pulse numbers into MCX314 for fixed pulse driving, and configures the performance such as acceleration / deceleration, speed. MCX314 will generate the pulses and output them automatically. When output pulse numbers are equal to the command pulse numbers, MCX314 stops the output. The profile is showing in Fig.2-1.

Concerning the execution of fixed pulse driving in acceleration / deceleration, it is necessary to set the following parameters:

Driving Speed z Range

z Acceleration/Deceleration

z Initial Speed

z Driving Speed

zOutput Pulse Numbers

R

A/D

SV

V

P

Initial Speed

Auto Deceleration

Specific Output Pulse Finished

Fig. 2.1 Fixed Pulse Driving Time

nChanging Output Pulse Numbers in Driving

The output pulse numbers can be changed in the fixed pulse driving. If the command is for increasing the output pulse, the pulse output profile is shown as Fig. 2.2 or 2.3.

If the command is for decreasing the output pulses, the output pulse will be stopped immediately as shown in Fig.

2.4.

Furthermore, when in the S-curve acceleration

/deceleration driving mode, the output pulse number change will occur to an incomplete deceleration S-curve.

Driving Speed

Initial Speed

Change of Output Pulse

Time

Fig. 2.2 Changing The Output Pulse Numbers in Driving deceleration

Driving Speed

Initial Speed

Change of Output Pulse

Initial Speed

Change of Output Pulse

Time

Fig. 2.3 Changing Command During Deceleration

Time

Fig.2.4 Changing The Lesser Pulse Numbers Than Output Pulse Stop

nManual Setting Deceleration for fixed pulse Acceleration/Deceleration Driving

As shown in Fig. 2.1, generally the deceleration of fixed pulse acceleration /deceleration driving is controlled automatically by MCX314. However, in the following situations, it should be preset the deceleration point by the users.

l The change of speed is too often in the trapezoidal fixed pulse acceleration/deceleration driving.

l When use circular interpolation, bit pattern interpolation and continuous interpolation for acceleration and deceleration.

In case of manual deceleration, please set D0 bit of register WR3 to 1, and use command (07h) for presetting deceleration point. As to the other operation, the setting is as same as that of fixed pulse driving.

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.

MCX314 will calculate the acceleration / deceleration point automatically, and will arrange the pulse numbers in

Driving Speed

Shift Pulse 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 start deceleration early for the offset. The remaining

Fig.2.5 Remaining Pulse in Acc. / Dec. Fixed Pulse

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.

2.1.2 Continuous Pulse Driving Output

When the continuous driving is performed, MCX314 will drive pulse output in a specific speed until stop command or external stop signal is happened.

The main application of continuous driving is: home searching, teaching or speed control.

Two stop commands are for stopping the continuous driving. One is “ decelerating stop” , and the other is

“ sudden stop” .

Four input pins, IN3~IN0, of each axis can be connected for external decelerating and sudden stop signals. Enable

/ disable, active levels and mode setting are possible.

Driving Speed

Initial Speed

Stop Command or

External Stop Signal

Fig.2.6 Continuos Driving

Time

nStop Condition for External Input IN3~IN0 in Continuous Driving

The input pins IN3~IN0 can be used for home searching, near-by home searching and Z-phase searching .

Enable / disable and logical levels can be set at WR1 of each axis.

For the application of high-speed searching, the user can set MCX314 in the acceleration/deceleration continuous driving mode and enable IN1 in WR1. And then, MCX314 will perform the decelerating stop when the external signal IN1 is active.

For the application of low-speed searching, the user can set MCX314 in the constant-speed continuous driving and enable IN1. Then, MCX314 will perform the sudden stop when IN1 is active.

2.2 Speed Curve

The speed driving profile in MCX314 can be configured as constant speed driving, trapezoidal driving or Scurve acceleration/deceleration.

2.2.1 Constant Speed Driving

When the driving speed set in MCX314 is lower than the initial speed, the acceleration / deceleration will not be performed, instead, a constant speed driving starts.

If the user wants to perform the sudden stop when the home sensor or encoder Z-phase signal is active, it is better not to perform the acceleration / deceleration driving, but the low-speed constant driving from the beginning.

For processing constant speed driving, the following parameters will be preset accordingly.

Initial Speed

Driving Speed

Speed

Fig.2.7 Constant Speed Driving

z Range

z Initial Speed

R

SV

z Drive Speed

; Output Pulse Numbers

V

P (Only applicable for the fixed pulse driving)

The items should be preset in accordance with the requirement.

Time

5

MCX314

nExample for Parameter Setting of Constant Speed

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

Please refer each parameter in Chapter 6.

980

Speed(PPS)

Time(SEC)

2.2.2 Trapezoidal Driving

Trapezoidal driving is starting from the initial speed to the designated drive speed. The accelerating pulses will be counted, and the deceleration (automatic deceleration) starts from the drive speed to initial speed once the remaining pulse numbers are less than the accelerating pulse numbers.

When the decelerating stop command is performed during the acceleration, or when the pulse numbers of the fixed pulse drive do not reach the designated drive speed, the driving will be decelerating during acceleration, as show in Fig. 2.8. (triangle driving profile prevention, see appendix A3)

Drive Speed

Initial Speed

Acceleration(slope) output pulse is too low, not suitable for the requirement of drive speed

Fig.2.8 Trapezoidal Driving

Acceleration

Time

Usually, the user should set the same acceleration and deceleration rates. For some cases, the acceleration and deceleration can be set individually by setting the D1 of WR3 to 1. When the deceleration is set individually in fixed pulse driving, the automatic deceleration will not be performed, but the manual deceleration is required. The user should set the bit D1 of Register WR3 as 1, then use decelerating command (03h) to set the deceleration.

When performing the trapezoidal driving, the following parameters should be preset.

z Range R

z Acceleration

; Deceleration

z Initial Speed

A

D

SV

: Acceleration and deceleration

: Option for individual deceleration.

z Driving Speed V

; Output Pulse Number P

: Only for fixed pulse driving

The

; items should be preset in accordance with the requirement.

nThe example of setting Trapezoidal Driving

Shown in the figure right hand side, acceleration is form the initial speed 500 PPS to 15,000 PPS in 0.3 sec.

15,000

Speed(PPS)

z Range R = 4,000,000;

z Acceleration A=193

Multiple(M)= 2

(15,000-500/0.3 =48,333

z Initial Speed

z Drive Speed

SV = 250

V = 7,500

48,333/125/M = 193)

(500/M = 250)

(15,000/M = 7,500)

Please refer Chapter 6.

500

0.3

Time(SEC)

6

MCX314

2.2.3 S-curve Acceleration/Deceleration Driving

In case of S-curve acceleration / deceleration driving, the acceleration profile is not linear. The value of acceleration / deceleration is shaped as the trapezoid; see Fig. 2.9.

In acceleration, there are three regions with different acceleration values. At the beginning, the acceleration increase linearly from 0 to the specific value A with a specific rate of acceleration K, which shows the driving speed increase parabolically in this region.

Then, the driving speed increases in a constant acceleration in region b. And, in section c, the acceleration decelerates linearly to 0 with the rate of deceleration K. So the acceleration of S-curve includes regions a, b and c.

In deceleration, as same as acceleration, the driving speed decelerate parabolically in three regions d, e and f.

Speed

Desired Drive

Speed (V)

Initial Speed

Specific value

(A) a

Acceleration/ Deceleration b c d e

Acceleratio Deceleration

Fig.2.9 S-Curve Acceleration/Deceleration Driving f

Time

Time

nComplete S-curve and Partial S-curve

The desired driving speed is V. When V (speed in region a)

speed in region a, the region b will disappear.

This condition is called complete S-curve. Otherwise, it is called partial S-curve. Please check the parameters and examples in Appendix A.

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

z Jerk

z Acceleration

; Deceleration

z Initial Speed

z Drive Speed

; Output Pulse Number

R

K

A : The designated value of acceleration and deceleration

D

SV

V

P

: The designated deceleration value of individual setting

: Used for fixed pulse driving

nThe Prevention of Triangle Driving Profile

When the fixed pulse trapezoidal driving is performed, and also when the deceleration is performed before the acceleration stops, the triangle driving profile is coming out. The prevention of triangle driving profile in

S-curve acceleration / deceleration driving will be discussed as follows.

If the initial speed is 0, and if the rate of acceleration is a, then the speed at time t in acceleration region can be described as following.

Speed

v(t) = at

2

2/3 2/3

Therefore, the total output pulse number p(t) from time

0 to t is the integrated of speed.

at

2

p(t)

1 1

p(t) = 1/3 x at

3

Initial Speed

Acceleration

1/3

1/3

Time

The total output pulse is

(1/3+2/3+1+2/3+1+1/3) x at

3

= 4 at

3

so

Acc.

Dec.

Time

Fig. 2.10 The rule of 1/12 of Parabolic Acceleration/Deceleration

p(t) = 1/12 (total pulse output)

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 Scurve acceleration / deceleration driving, the acceleration rate is decreasing, then the deceleration starts when the acceleration rate reaches 0.

Speed

Acceleration

Time

‚Decrease the Acceleration value

Time

ƒ Acc. become zero, Dec. begins

Request for Decelerating Stop

Fig. 2.11 Decelerating Stop During S-curve Acc./ Dec. Driving

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, Scurve 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 get

40000

20000

so,

20000PPS = 0.2sec x acc. /2

acc. = 200K PPS/sec

To calculate the jerk, we get

200KPPS/0.2sec=1000KPPS/sec

2

0

Acceleration

PPS/SEC acc.

=200K

0.2

0.4

SEC

20000PPS

In a complete S-curve acceleration/deceleration, the speed curve is depended on the jerk. Since the acceleration /

0

0.2

deceleration does not exit in the partial S-curve, it should be preset over than 200KPPS/SEC.

0.4

SEC

z

Range

z

Jerk

z

Acceleration

z

Initial Speed

z

Drive Speed

R = 800,000 ;

K = 625

A = 160

SV = 100

V = 4000

multiple(M)

= 10

; ((62.5 x 10

6

)/625) x 10 = 1,000KPPS/SEC

2

; 125 x 160 x 10 = 200KPPS

; 100 x 10 = 1000KPPS

; 4000x 10 = 40,000PPS

Please refer each parameter in Chapter 6.

8

MCX314

nExample of Parameter Setting (Partial S-curve Acceleration / Deceleration)

*Setting a partial S-curve acceleration to output the drive speed from 0 to 40K PPS in 0.6 sec.

At first, a parabolic accelerating is executed to 10KPPS in

0.2 sec., then the linear acceleration goes up to 30KPPS, and then the parabolic acceleration reaches to 40KPPS.

Speed PPS

40000

30000

We get

10K PPS = Acceleration x 0.2sec / 2

Acceleration = 100K PPS/sec

And, the jerk is

100KPPS/sec/0.2sec=500KPPS/sec

2

10000

0

0.2

Acceleration

PPS/SEC

z

z

z

Range

Jerk

Acceleration

R = 800,000 : multiple

= 10

K = 1250

A = 80

: ((62.5 x 10

6

=500 x 10

3

)/1250) x 10

PPS/SEC

2

: 125x80x10 =100x10

3

PPS/SEC

z

Initial Speed

z

Drive Speed

SV = 100 : 100 x 10 = 1000 PPS

V = 4,000 : 4,000 x 10 = 40,000 PPS

Please refer each parameter in Chapter 6.

100K

0

10000PPS

0.2

0.4

0.4

0.6

SEC

0.6

SEC

2 . 2 . 4 P u l s e W i d t h a n d S p e e d A c c u r a c y nDuty Ratio of Driving Pulse

The period time of + /- direction pulse driving of each axis is decided by system clock CLK. The tolerance is within

±

1SCLK (For CLK=16MHz, the tolerance is

±

125nSEC).

Basically, the duty ratio of each pulse is 50% as show in Fig. 2.12. When the parameter setting is

R=8,000,000 and V=1000 (Multiple=1, V=1000PPS), the driving pulse is 500uSEC on its Hi level and

50uSEC on its Low level and the period is 1mSEC.

500

µ

S 500

µ

S

1.00mS

R = 8000000

SV = 1000

V = 1000

Fig. 2.12 Output of Drive Pulse (1000PPS)

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.

Acceleration Area Constant speed Area Deceleration Area tHA tLA tHA>tLA tHC tHC=tLC tLC tHD tLD tHD<tLD

Fig. 2.13 Comparison of Drive Pulse Length in Acceleration / Deceleration

9

MCX314

nThe Accuracy of Drive Speed

The clock(SCLK) running in MCX14 is half of external input clock(CLK). If CLK input is standard 16MHz,

SCLK will be 8MHz.

Therefore, the user had better driving the pulse speed in a exact multiple of SCLK period(125nSEC).

Otherwise, the driving pulse will not very stable. The following table shows the frequency (speed) of driving pulse of MCX314 can be, there are all exact the multiple of 125nSEC.

Multiple Drive Speed (PPS) Multiple Drive Speed (PPS) Multiple Drive Speed (PPS) Multiple Drive Speed (PPS)

2

7

8

9

5

6

3

4

10

4.000 M

2.667 M

2.000 M

1.600 M

1.333 M

1.143 M

1.000 M

889 K

880K

11

12

13

14

15

16

17

18

19

20

727 K

667 K

615 K

571 K

533 K

500 K

471 K

444 K

421 K

400 K

95

96

97

98

99

100

101

102

103

104

84,211

83,333

82,474

81,632

80,808

80,000

79,208

78,431

77,670

76,923

995

996

997

998

999

1000

1001

1002

1003

1004

8040

8032

8024

8016

8008

8000

7992

7984

7976

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

Fig. 2.14 The driving pulse of 490KPPS when SCLK is 8MHz

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

2.3 Position Control

Fig 2.15 is 1-axis position control block diagram. For each axis, there are two 32 bit up-and-down counters for counting present positions and two comparison registers for comparing the present positions.

PP +direction pulse

PM -direction pulse

W/R

UP

Logical Position Counter

(32bit)

DOWN

W/R

UP

Real Position Counter

(32bit)

DOWN

Waveform

Transformation

ECA/PPIN

ECB/PMIN encoder feedback pulse

Selector WR2 Register/D5

W

W

COMP+ Register

32Bit

RR1 register/D0

CMPP

COMP- Register

32Bit

Fig. 2.15 Position Control Block Diagram

RR1 register/D1

CMPM

2.3.1 Logic Position Counter and Real position Counter

The logic position counter is counting the driving pulses in MCX314. When one + direction plus is outputting, the counter will count-up 1; when one - direction pulse is outputting, the counter will count-down 1.

The real position counter will count input pulse numbers from external encoder. The type of input pulse can be either A/B quadrature pulse type or Up / Down pulse(CW/CCW) type (See Chapter 2.6.3).

Host CPU can read or write these two counters any time. The counters are signed 32 bits, and the counting range is between -2,147,483,648 ~ + 2,147,483,647. The negative is in 2’ s complement format. The counter value is random while resetting.

2.3.2 Compare Register and Software Limit

Each axis has, as shown in Fig, 2.15, two 32-bit registers which can compare the logical positions with the real positions. The logical position and real position counters are selected by bit D5 (CMPSL) of register

WR2. The main function of COMP+ Register is to check out the upper limit of logical / real position counter.

When the value in the logical / real position counters are larger than that of COMP+ Register, bit D0 (CMP+) of register RR1 will become 1. On the other hand, COMP- Register is used for the lower limit of logical / real position counter. When the value of logical / real position counter become smaller than hat of COMP+

Register, bit D1 (CMP-) of register RR1 will become 1. Fig. 2.16 is an example for COMP+ = 10000,

COMP- = -10000.

RR1/D0=0

RR1/D1=1

CM

RR1/D0=0

RR1/D1=0

CP

RR1/D0=1

RR1/D1=0

COMP+ register CP=10000

COMP- register CM=-1000

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

1 1

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.

When the hardware limit or the software limit of each axis is active during the interpolation driving, the interpolation will stop. It the stop is occurred by errors, RR0 (main status register) will confirm the error bit of the designated interpolating axis. PR0 will become 1, and RR2 (error register) of this axis will be read out.

Note: In case of circular or bit patter interpolation, the “ active” of hardware or software limit, in either + or direction, will stop the interpolation driving.

During the interpolation driving, when the in-position signal (nINP0S) of each driving axis is active, and also when the interpolation is finished, the INP0S signal of the axis is stand-by at its active level, and D8 (I-DRV) of RR0 register returns to 0.

2.4.1 Linear Interpolation

Any 2 or 3 axes of the 4 axes can be set for linear interpolation. To execute the linear interpolation, the user can, according to the present point coordinates, set the finish point coordinates and the interpolation command(s) for 2 or 3 axes.

As shows in Fig. 2.17 the proceeding for linear interpolation is performing from the start point to the finish point.

For individual axis control, the command pulse number is unsigned, and it is controlled by + direction command or - direction command. For interpolation control, the command pulse number is signed.

The resolution of linear interpolation is within

±

0.5 LSB, as showen in Fig. 2.17.

Y Short axis

10

5

±

0.5LSB

(20,9)

0

5 10 15 20

X

Long axis

Fig. 2.17 The Position Accuracy for Linear Interpolation

As shown in Fig. 2.18, it is an example for pulse output of the linear interpolation driving. We define the longest distance movement in interpolation is the “ long axis” . And the other is

“ short axis” . The long axis outputs an average pulse train. The driving pulse of the short axis depends on the long axis and the relationship of the two axes.

The range for each axis is a 24-bit signed counter, from -8,388,607 ~ +8,386,807.

Note: The user cannot set -8,388,608.

Long axis

XPP

XPM

Short axis

YPP

YPM

Fig. 2.18 The Example for Pulse Output at Finish Point (X=20, Y=9)

12

MCX314

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.

WR5

0004h write ; map ax1 to X axis, ax2 to Y axis

Y

0

WR6

1200h write ; range: 8,000,000 (Multiple = 1)

WR7

007Ah write

WR0

0100h write

WR6

03E8h write ; initial speed :1,000PPS

WR0

0104h write

WR6

03E8h write ; drive speed: 1,000PPS

WR0

0105h write

-100

-200

WR6

012Ch write ; finish point of X axis: 300

WR7

0000h write

WR0

0106h write

WR6

FF38h write ; finish point of Y axis: -200

WR7

0000h write

WR0

0206h write

WR0

0030h write ; linear interpolation driving for 2 axes enabling

100 200 300 X

(300,-200)

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

WR6

1200h write ; range: 8,000,000 (Multiple = 1)

WR7

007Ah write

WR0

0100h write

WR6

0140h write ; accel./decel. speed: 40,000/SEC

WR0

0102h write ; 40,000 / 125 / 1 = 320=140h

WR6

01F4h write ; initial speed : 500PPS

WR0

0104h write

WR6

1388h write ; drive speed : 5,000PPS

WR0

0105h write

WR6

3A98h write ; finish point of X axis:15,000

WR7

0000h write

WR0

0106h write

Z

20,000

0

WR6

3E80h write ; finish point of Y axis:; -16,000

WR7

0000h write

WR0

0206h write

WR6

4E20h write ; finish point of Z axis; 20,000

WR7

0000h write

WR0

0406h write

WR0

003Bh write ; deceleration enabling

WR0

0031h write ; linear interpolation driving for 3 axes enabling

16,000

15,000

Y

X

1 3

MCX314

2.4.2 Circular Interpolation

Any 2 axes of the 4 axes can be selected for circular interpolation.

ax2

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 start point coordinates.

Finish point

Center point

Start point ax1

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.

Finish point Start point

CW circular interpolation

When the finish point is set to (0, 0), a circle will come out.

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

Fig. 2.19 CW/CCW Circular Interpolation

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.

Y

¡

:start point/finish point

Ÿ

:track of interpolation solid line : circle with radium 11 ax2 ax1 ax1 ax2 ax2

3

4

2 1

0

7 ax2 ax2

(ax1,ax2) ax1

5 6 ax1 ax1

3

4

2 1

5 6

0

7

X

Fig. 2.20 The 0~7Quadrants And Short

Axes in Circular Interpolation Calculation

Fig. 2.21 The Example of Circular Interpolation

XPP

XPM

YPP

YPM

Quadrant

0 1 2 3 4 5

Fig. 2.22 The Example of Pulse Output in Circular Interpolation Driving

6 7

14

MCX314

In the circular interpolation, it assumes that the current position (start point) is (0,0). After the coordinates of the center point is set, the radium will be decided, and the circular tracking will start. The maximum error range of ax2 point may not on the circular track. The IC will make an inposition checking by the short axis. If the value of finish point is as same as that of short axis, this circular interpolation is finished.

Fig. 2.23 shows an example of CCW interpolation with the start point (0,0), center point (-200,500) and finish point (-

702, 299). The finish point is in quadrant 4, and ax2 is the short axis in quadrant 4. So the interpolation is finished when the ax2 is 299.

The range of interpolation coordinate is from the start point to -8,388,608 ~ +8,388,607, and the interpolation interpolation driving is 1PPS ~ 4MPPS.

3

2 1

0

Center point (-200,500) ax1

Finish point (-720,299)

4

5

Interpolation will be finished when ax2=299 in the 4 th quadrant

6

7

Start point (0,0)

Fig. 2.23 Example of In-position Check in

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)

WR7

003Dh write

WR0

0100h write

Y

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

WR0

01F4h write ; initial speed : 500 x 2 = 1000PPS

WR0

0104h write

Start point (0,0)

Center point(5000,0)

WR6

01F4h write ; drive speed : 500 x 2 = 1000PPS

WR0

0105h write

WR6

1388h write ; center point of X :5,000

WR7

0000h write

WR0

0108h write

WR6

0000h write ; center point of Y :0

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

End point

(5000,-5000)

X

Fig. EX.2 CW Circular Interpolation in

Constant Vector Speed

1 5

MCX314

2.4.3 The Bit Pattern Interpolation

MCX314 is able to receive the interpolation data from the host CPU, and output pulses at a specific speed.

The host CPU executes the interpolation for 2 or 3 axes, generates a set of pulse data, then writes the commands into MCX314. MCX314 will output the pulses at a specific speed.

Every axis has 2 bit-data buffers for host CPU: one for

+ direction and the other for - direction. When performing the bit pattern interpolation, the host CPU will write the designated interpolation data, for 2 or 3 axes, into MCX314.

If a bit in the bit pattern data from CPU is “ 1” , MCX314 will output a pulse at the time unit; if it is “ 0” , MCX314 will not output any pulse at the time unit.

16

8

24

0

62

32

40

56

Fig. 2.24 Example for Bit Pattern Interpolation

48

X

For example, if the user want to generate the X-Y profile (see Fig. 2.24), the host CPU must write a set of pattern into those specific registers ---- XPP: the + direction register for X axis, XPM: the - direction register for X axis, YPP and YPM: the + and - directions registers. With in the time unit, MCX314 will check the registers once and decide to output a pulse or not depending on the bit pattern.

56

48

40

32

24

16

8

0

01000000 00000000 00011111 11011011 11110110 11111110 00000000 00000000 : XPP (X + direction)

01111111 11110101 00000000 00000000 00000000 00000000 00101011 11111111 : XPM (X -direction )

00000000 00000000 00000000 11111111 00000000 00001111 11111111 11010100 : YPP (Y + direction)

00001010 11111111 11111100 00000000 00111111 11000000 00000000 00000000 : YPM (Y - direction)

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

0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0

Sys. CPU

BP1P

0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1

1

REG1

0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0

0

D15 D0

1 0 0 1 1 0 1 0 0 1 1 1 0 1 0 1

SREG

1 1 1 0 1 0 1 ax1-PP

Sys. CPU

BP1M

0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0

SC: Stack counter (RR0/D14,13)

BP1P: Data register (ax1 + direction)

BP1M: Data register (ax1 - direction)

SREG: 16 bit shift register

REG1: 16 bit buffer register 1

REG2:16 bit buffer register 2

SC=2

1

REG2

0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0

REG1

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0

SC

0~3

0

D15 D0

0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0

SREG

0 0 0 1 0 1 0

Fig. 2.25 The Structure of Register for The Bit Pattern Interpolation ( for 1 axis) ax1-PM

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

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.

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

The Interpolation Stops Once The + And - Directions Are “1”.

When the ending code is executed, the SC will become 0 automatically.

‚ The host CPU stops writing any command into MCX314.

When SC=0, and when no other data is updated, MCX314 will stop outputting pulse. Then, the bit pattern interpolation is finished.

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

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.

1 7

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

A2 A1 A0

Name of register Content

The register with the same address

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

BP1P

BP1M

BP2P

BP2M

BP3P

BP3M

ax1 +direction data

ax1 -direction data

ax2 +direction data

ax2 -direction data

ax3 +direction data

ax3 -direction data

WR0

nWR1

nWR2

nWR3

WR4

WR5

WR6

WR7

Note: BP3P and BP3M share the same registers: WR6 and 7.

0

0

0

0

0

0

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

0

0

0

1

1

1

0

0

0

0

0

1

BP2PL

BP2PH

1

1

1

0

0

1

0

0

1

1

1

1

0

1

0

0

1

1

BP1PL

BP1PH

BP1ML

BP1MH

1

1

1

1

1

1

1

1

1

0

0

1

0

0

1

1

1

1

0

1

0

0

1

1

BP2ML

BP2MH

BP3PL

BP3PH

BP3ML

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.

Write bit pattern(BP) enable command(36h) into command register

Write bit pattern data

Write BP disable command(37h) into command register

Note : If the host CPU doesn’ t disable the BP data register, the data in nWR2 ~ nWR5 registers

cannot be assessed.

The bit interpolation example is shown in Fig. 2.24. We set X axis as ax1, Y axis as ax2 and a constant

18

WR0

0036h write ;enable to write into BP register

MCX314 speed: 1000PPS in a constant vector speed interpolation driving.

WR5

0104h

WR6

0900h write ;Define ax1: X , ax2:Y write ;setting the master axis speed

BP2M

3FC0h write ;Y axis –direction command

WR0

0038h write ;BP data stacking, SC=2

parameter

WR7

003Dh write ;range: 4,000,000 (multiple rate:2)

WR0

0100h write

; command of bit 32~47th

WR6

4DC0h write ;range of constant line speed

WR7

0056h write ;4,000,000x1.414=5,656,000

WR0

0200h write

WR6

01F4h

WR0

0104h write ;Initial speed:500x2=1000PPS write

BP1P

1FDBh write ;X axis +direction command

BP1M

0000h write ;X axis –direction command

BP2P

00FFh write ;Y axis +direction command

BP2M

FC00h write ;Y axis –direction command

WR0

0038h write ;BP data stacking, SC=3

WR0

0034h write ;enable 2 axis bit pattern

WR6

01F4h

WR0

0105h

WR0

0039h write ;drive speed: 500x2=1000PPS write write ;clear BP data

;interpolation, because SC=3

J1 RR0/D14,13 read ;until the SC is less than 2

If D14=D13=1 Jump to J1

; command of bit 48~63th

; command of bit 0~15th

BP1P

0000h write ;X axis +direction command

BP1M

2BFFh write ;X axis –direction command

BP2P

FFD4h write ;Y axis +direction command

BP2M

0000h write ;Y axis –direction command

WR0

0038h write ;BP data stacking, SC=1

BP1P

4000h write ;X axis +direction command

BP1M

7FF5h write ;X axis –direction command

BP2P

0000h write ;Y axis +direction command

BP2M

0AFFh write ;Y axis –direction command

WR0

0038h write ;BP data stacking, SC=3

WR0

0037h write ;disable to write into BP register

; command of bit 16~31th

J2 RR0/D8

If D8=1 Jump to J2 read ;until ending interpolation drive

BP1P

BP1M

BP2P

F6FEhwrite ;X axis +direction command

0000h write ;X axis –direction command

000Fh write ;Y axis +direction command

(Note 1: If there is more BP data coming then repeat this process)

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.

2 . 4 . 4 C o n s t a n t V e c t o r S p e e d

MCX314 is with the constant vector speed control function which can control the resultant speed of two axes to keep the speed in constant.

Fig. 2.26 shows the profile of 2 axes interpolation driving. The vector speed reflects 1.414 times of the individual axis driving speed. So, we have to set the speed of 1.414 times to keep the vector speed for 2-axis driving.

Y

X

Fig. 2.26 Example of 2 axis interpolation

The user should first set the values of D9 and D8 of register

WR5to 0 and 1.Then, set the range R of salve-axis (ax2) to be 1.414 times of the value of the master-axis

(ax1). Therefore, MCX314 will use the range parameter of master-axis if only 1 axis outputs pulses.

However, when 2 axes output pulses simultaneously, MCX314 will use the range parameter of slave-axis to implement the pulse period to 1.414 times.

As shown below, the master-axis (ax1) = X axis, the slave-axis (ax2) = Y axis, and the interpolation is at a constant vector speed: 1000PPS. The result of driving pulse output is shown in Fig. 2.27.

1 9

MCX314

WR5

0104h write ; define ax1: X axis, ax2:Y axis

; constant vector speed

WR6

0900h write

WR7

003Dh write

WR0

0100h write

WR6

4DC0h write

WR7

0056h write

WR0

0200h write

WR6

01F4h

WR0

0104h

WR6

01F4h write write

; setting parameter of the master axis

; range: 4,000,000 (multiple=2)

; range of 2-axis constant vector speed

; 4,000,000x1.414=5,656,000

; initial speed: 500x2=1000PPS write ; drive speed: 500x2=1000PPS

WR0

0105h write

WR6

03E8h write

WR7

0000h write

WR0

0106h write

WR6

0190h write

WR7

0000h

WR0

0206h

WR0

0030h write write write

;

;

; finish point of X

; finish point of Y

; 2-axis linear interpolation starting

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)

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.

1.000ms

1.414ms

1.000ms

1.732ms

1.414ms

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

2.4.5 Continuous Interpolation

The continuous interpolation is executing a series of

The 1 st

node data write in interpolation cmd. write in interpolation, the driving will not stop; contrarily, The pulses are outputcontinuously.

When executing the continuous interpolation, the host CPU has to write the next interpolation command into MCX314 before the previous interpolation command is finished.

errors occurred?

yes

If D9 (CNEXT) of register RR0 is 1, MCX314 is ready to accept the next interpolation command. If D9 is 0, the host CPU is not able to write the next interpolation command into MCX314.

The D9 will become 1 only when the present command is executed. MCX314 will not accept the next command, and the

D9 is 0 if the present command has not been executed.

So, the standard procedure of continuous interpolation is first to write, and enable the interpolation data and command, then check if D9 of RR0 is 1 or 0. And then, repeat writing commands and checking D9. The flow chart is shown at the right side.

no allow to write in the next data?

RR0/D9=1?

The 2 nd

node data write in interpolation cmd. write in errors occurred?

yes

MCX314

D14 of register WR5 is used for enable or disable the interrupt during the continuous interpolation. After setting D14 of register

WR5 to 1, the interrupt occurs. Pin INTN of MCX314 will be on the Low level to interrupt the host CPU when D9 of register RR0 become 1. The INTN will be on the Hi level if the host CPU writes the next interpolation command to MCX314.

If the interrupt clear command (3Dh) is written to command register, the INTN signal will return to high-Z level from the Low level.

During the ending of the interpolation, it is forced to be “ interrupt disable” , and the INTN signal will return to the high-Z level.

no allow to write in the next data?

RR0/D9=1?

Ending the interpolation drive

Processing the errors

The 3 rd

node data write in interpolation cmd. write in

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.

l Before setting the interpolation command, the user should first set other data such as center point, finish 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.

2 1

MCX314

Fig. 2.29 shows an example of executing continuous interpolation beginning at point (0,0) from node 1, 2, 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)

WR0

0100h write

4500

WR6

4DC0h write ; 2-axis constant vector speed

WR7

0056h write ; 4,000,000x1.414=5,656,000

WR0

0200h write

WR6

01F4h write ; Initial speed: 500x2=1000PPS

WR0

0104h write

WR6

01F4h write ; drive speed: 500x2=1000PPS

WR0

0105h write node6 node7 node8

3000

1500

-1500 (0,0)

WR6

1194h write ; finish point X: 4500

WR7

0000h write

WR0

0106h write node5 node1

WR6

0000h write ; finish point Y: 0

WR7

0000h write

WR0

0206h write

WR0

0030h write ; 2-axis linear interpolation enabling

Node1

J1 RR0(D4, D5) read ; if error occurs

If D4 or D5=1 Jump to Error; jump to handle error

A

RR0(D9)

If D9=0 Jump to J1 read

;

; waiting for next node’ s enable signal

WR6

0000h write ; center X: 0

WR7

0000h write

WR0

0108h write

WR6

05DCh write ; center Y: 1500

WR7

0000h write

WR0

0208h write

WR6

05DCh write ; finish point X:1500

WR7

0000h write

WR0

0106h write

WR6

05DCh write ; finish point Y:1500

WR7

0000h write

WR0

0206h write

WR0

0033h write ; CCW circular interpolation enabling

Node2

Procedure A

WR6

0000h write ; finish point X: 0

WR7

0000h write

WR0

0106h write

WR6

05DCh write ; finish point Y: 1500

WR7

0000h write

WR0

0206h write

WR0

0030h write ; 2-axis linear interpolation enabling

Node3 node4 node3 node2

4500 6000

Procedure A

22

(same procedure for nodes 4 ~ 8.)

MCX314

2 3

MCX314

2.4.6 The Acceleration / Deceleration Control in Interpolation

Different from other IC chips only allowing constant speed for executing the interpolations, MCX314 supports the user to use trapezoidal and S-curve driving ( for linear interpolation only ).

In the process of interpolation, for executing acceleration / deceleration in continuous interpolation process, the user can enable the deceleration by command (3Bh), or disable deceleration by command (3Ch). The purpose for the deceleration command is to enable the automatic deceleration or manual deceleration function; the purpose of the disable deceleration command is to disable both of them. It will be disable while power-on reset. During the driving, the deceleration enable command cannot be executed.

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

In circular interpolation and bit pattern interpolation, only manual deceleration in trapezoidal driving is available; the automatic deceleration in S-curve driving is not available.

The Figure on the right side shows the circular interpolation of a real circle with radius 1000 in a trapezoidal driving. The user should calculate the decelerating point before driving because the automatic deceleration will not be active.

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

3

4

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 =

65000PPS/SEC. And the output pulses during acceleration will be

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

3075=53493.

Note: this formula cannot be used in the constant vector speed driving.

Speed

PPS

20k

2

5

WR3

0001hwrite

WR5

0004hwrite

WR6

8480hwrite

WR7

001Eh write

WR0

0100hwrite

WR6

0082hwrite

WR0

0102hwrite

WR6

007Dh write

WR0

0104hwrite

WR6

1388hwrite

WR0

0105hwrite

WR6

D8F0h write

WR7

FFFFh write

WR0

0108hwrite

WR6

0000hwrite

WR7

0000hwrite

WR0

0208hwrite

WR6

0000hwrite

WR7

0000hwrite

WR0

0106hwrite

WR6

0000hwrite

WR7

0000hwrite

WR0

0206hwrite

WR6

D0F5h write

WR7

0000hwrite

WR0

0107hwrite

WR0

003Bh write

WR0

0033hwrite

; manual deceleration enabling

; define ax1: X , ax2: Y

;

; range: 2,000,000; (multiple: 4)

; acceleration :

; 130x125x4=65000 PPS/SEC

; Initial speed:125x4=500PPS

; drive speed: 5000x4=20000PPS

;

; center point X : -10000

;

; center point Y : 0

;

; finish point X : 0

;

; finish point Y : 0

;

; manual deceleration point setting : 53493

; deceleration enabling

; CCW circular interpolation starting

500

Y

1

10000

Short Axis

0

7071

X

6

Output Pulse During

Acceleration

0.3

Time(sec)

7

2 5

MCX314

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:

Setting mode, acceleration / deceleration for master axis

Writing manual deceleration point

Deceleration disabling (command: 3Ch)

Writing node 1 data, interpolation command

Error checking, waiting for the allowance to write the next data

Writing node 2 data, interpolation command

.

.

.

Error checking, waiting for the allowance to write in the next data

Deceleration enabling (command: 3Bh)

Writing node 5 data, interpolation command

:Starting continuous

interpolation driving

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.

26

MCX314

2.4.6 Single-step interpolation (from Command or External Signal)

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

XPP

YPM

Fig. 2.30 Example of single step interpolation (500PPS) by external signal(EXPLSN)

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.

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.

2 7

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.

X Axis

INT

YAxis

INT

Z Axis

INT

U Axis

INT

Interpolation control unit

INT

INTN(33)

Figure 2.31 Interrupt Signal Path in IC

Every interrupt can be enabled or disabled individually. During the power resetting, all interrupt signals are disabled.

n Interrupt of X, Y, Z, and U Axes

The following table shows the interrupt factors generated by X, Y, Z, and U axes.

Enable / Disable nWR1 Register

D8(PULSE)

D9(P

C-)

D10(P<C-)

D11(P<C+)

D12(P

C+)

D13(C-END)

D14(C-STA)

D15(D-END)

Status nRR3 Register

The Factors of Interrupt Happening

D0(PULSE) when one pulse outputs... (The interrupt will be generated at the rising edge of pulse output for + direction driving.)

D1(P

C-) once the value of logical / real position counter is larger than or equal to the value of COMP- register (CM)...

D2(P<C-)

D3(P<C+)

D4(P

C+) once the value of logical/real position counter is smaller than the value of COMP- register (CM)...

once the value of logical / real position counter is larger than the value of COMP+ register (CM)… once the value of logical / real position counter is smaller than or equal to the value of COMP+ register (CM)...

D5(C-END) in the acceleration / deceleration driving, when the driving changes from the constant speed region into the decelerating region...

D6(C-STA) in the acceleration / deceleration driving, when the driving changes from the accelerating region into the constant speed region…

D7(D-END) when the driving is finished...

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

nInterrupt from Interpolations

Enable / Disable

WR5 Register

D14(CIINT)

Status Check

RR0 Register

D9(CNEXT)

D15(BPINT) D14,13(BPS1,0)

The Factors of Interrupt Happening

*Interrupt Clearing in continuous interpolation, when MCX314 is available for the interpolation data of next node...

*after next interpolation command is written, the interrupt will be cleared.

In bit pattern interpolation, when the value of stack connector (SC) is changed from 2 to 1, and the stack is available for next BP command writing...

*after a BP command for the stack is written, the interrupt will be cleared.

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.

2.6 Other Functions

2.6.1 Driving By External Pulses

Fixed pulse driving and continuous pulse driving can be controlled by either commands or external signals, which can reduce the load of host CPU.

Each axis has two input signals, nEXPP and nEXPM. nEXPP controls + direction pulse output, and nEXPM controls – direction command. D3 and D4 bits of register WR3 are for the setting in driving. The user should preset the parameters and commands. The default level of nEXPP and nEXPM is normally set on Hi.

nFixed Pulse Driving Mode

Set bits D4 and D3 of register WR3 to 1 and 0 respectively, and set all the parameters of fixed pulse driving.

be larger than 4 CLK-cycle. Before this driving is finished, a new Hi-to-Low level falling down of the signal is invalid.

XEXPP

XEXPM

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.

nContinuous Pulse Driving Mode

Set bits D4 and D3 of WR3 register to be 1 and 0 respectively, and set all the parameters of continuous nEXPP returns to the Hi level from the Low level, the decelerating stop will be performed in trapezoidal driving, and the sudden stop in constant speed driving.

Low period

XEXPP

XEXPM

XPP

XPM

Low period

Figure 2.33 Example of Continuous Driving by External Signal

2 9

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 1direction 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 Type Drive Direction

Pulse Output Waveform nPP/PLS Signal NPM/DIR Signal

+Direction

Low level

Independent 2-pulse

- Direction

Low level

+Direction

Low level

1-pulse 1-direction

- Direction

Hi level

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 1pulse 1-direction pulse outputting.

2.6.3 Pulse Input Type Selection

For real position counter, A/B quadrature pulse type and Up / Down pulse type can be selected for pulse input. When A/B quadrature pulse type is selected, the position counter will count up if phase A leads phase B; the position counter will count down if phase B leads phase A. The pulse cycle can be set 1/2 or

1/4.

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 countnECA/ PPIN nECB/ PMIN

Counting Up Counting Down

2.6.4 Hardware Limit Signals

Hardware limit signals, nLMTP and nLMTM, are used for stopping the pulse output if the limit sensors of + and - directions are triggered. When the limit signal and also the logical level are active, the command of sudden stop or decelerating stop can be set by bits D3 and D4 (HLMT+, HLMT-), and D2 (LMTMD) of register WR2.

30

MCX314

2.6.5 Interface to Servo Motor Drivers

Enable / Disable and logical levels of the input signals for connecting servo motor drivers such as nINPOS

(in-position input signal) and nALARM (alarm input signal) can be set by D15~12 bits of register WR2.

nINPOS input signal responds to the in-position signal of servo motor driver. When “ enable” is set, and when the driving is finished, nINPOS will wait for the “ active” . Then, the n-DRV bit of main status register

PRO will return to 0.

nALARM input signal receives the alarm signal from servo motor drivers. When “ enable” is set, nALARM signal will be monitored, and the D4 (alarm) bit of RR2 register is 1 when nALARM is active. The sudden stop will occur in the driving when this signal is active.

These input signals from servo motor drivers can be read by RR5 and RR6 registers

The user can use general output signals nOUT7~4 or nOUT3~0 to clear and/or reset the out put signals such as deviation counter and alarm reset of servo motor drivers.

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.

2 . 6 . 7 S t a t u s O u t p u t

nDRIVE output signals and bits D3~0 (n-DRV) of register

RR0 can be used for drive / stop status output of each axis.

The driving status of acceleration / constant speed / deceleration will be output to bits D2 (ASND), D3 (CNST) and D4 (DSDN), and also the signals nOUT6 / ASND and nOUT7 / DSND will show the levels. However, these output signals and general purpose output signals share the same terminal, D7 (OUTSL) bit of register WR3 should be set 1 for drive status output.

Speed

Stop Acceleration Constant speed Deceleration Stop

Time

Status Register

Drive Status

RR0/n-DRV nRR1/ASN

D nRR1/CNS

T

Stop

Acceleration

Constant Speed

0

1

1

0

1

0

0

0

1 nRR1/DSN

D

0

0

0

Output Signal nDRIVE nOUT6/AS

ND

Low

Hi

Hi

Low

Hi

Low nOUT7/DS

ND

Low

Low

Low

Deceleration 1 0 0 1 Hi Low

Moreover, in S-curve accelerating/decelerating driving, the state of acceleration /constant speed/ deceleration will be also shown to bits D5 (AASND), D6 (ACNST), and D7 (ADSND) of register RR1.

Hi

2 . 6 . 8 G e n e r a l P u r p o s e O u t p u t

In MCX314, there are 8 general purpose output pins, nOUT3~0 & nOUT7~4, for each axis. However, during the outputting, nOUT7~4 cannot be used cause they share the same terminals with the position comparison output and drive status output. NOUT3~0 can be output when the output levels of register WR4 have been set. If the user wants to use nOUT7~4 signals, D7(OUTSL) of register WR3 should be set in the “ general purpose output mode” , then the output levels of D11~8(OUT7~4) of register WR3 can be set for outputting.

It is possible to use the general purpose output signal for motor driver current-OFF, deviation counting clear and alarm reset…

When resetting, each bit of WR4 and nWR3 registers will be cleared, then, their output levels will be kept

3 1

MCX314 on the Low level.

32

MCX314

3. Pin Assignments and Signal Description

126

127

128

129

130

119

120

121

122

123

124

125

131

132

133

109

110

111

112

113

114

115

116

117

118

134

135

136

137

138

139

140

141

142

143

144

VDD

ZOUT3

ZOUT2

ZOUT1

ZOUT0

UINPOS

UALARM

ULMTP

ULMTM

UIN3

UIN2

UIN1

UIN0

UDRIVE

UOUT7/DSND

UOUT6/ASND

UOUT5/CMPM

VDD

GND

UOUT4/CMPP

UOUT3

UOUT2

UOUT1

UOUT0

GND

XEXPP

XEXPM

YEXPP

YEXPM

ZEXPP

ZEXPM

UEXPP

UEXPM

EMGN

GND

VDD

NOVA elec.

Pin 1 Mask

MCX314

144pinQFP, Dimension: 30.9x30.9 mm, Pitch: 0.65mm

55

54

53

52

51

62

61

60

59

58

57

56

50

49

48

72

71

70

69

68

67

66

65

64

63

40

39

38

37

47

46

45

44

43

42

41

XIN2

XIN3

XLMTM

XLMTP

XALARM

XINPOS

GMD

VDD

XOUT0

XOUT1

XOUT2

XOUT3

XOUT4/CMPP

XOUT5/CMPM

XOUT6/ASND

XOUT7/DSND

XDRIVE

GND

VDD

CLK

GND

UECB/PMIN

UECA/PPIN

ZECB/PMIN

ZECA/PPIN

YECB/PMIN

YECA/PPIN

XECB/PMIN

XECA/PPIN

UPM/DIR

UPP/PLS

ZPM/DIR

ZPP/PLS

YPM/DIR

YPP/PLS

GND

3 3

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.

Signal Name Pin No.

Input

/Output

Signal Description

CLK 53

D15-D0

A3-A0

CSN

1~8,

10~17

21~24

25

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.

Bidirectional A

DATA BUS: 3-state bi-direction 16-bit data bus

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

)

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.

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

RDN

RESETN

EXPLSN

H16L8

TESTN

BUSYN

INTN

SCLK

XPP/PLS

YPP/PLS

ZPP/PLS

UPP/PLS

31

32

33

34

27

28

29

30

35

38

40

42

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.

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.

Input A External Pulse: pulse input signal for external pulse interpolation

The normal setting is Hi level. When the external pulse interpolation occurs, each axis interpolation is output. The width of EXPLSN on the Low level must be more than 4 CLK.

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.

Input A Test: terminal for internal-circuit test

Please open, or connect it to + 5V.

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.

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.

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.

Output A

Pulse +/Pulse: + direction dive pulse outputting

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.

+ or - pulse mode is selectable.

When the 1-pulse 1-direction mode is selected, this terminal is for drive output.

34

Signal Name Pin No.

XPM/DIR

YPM/DIR

ZPM/DIR

UPM/DIR

36

39

41

43

Input

/Output

Output A

MCX314

Signal Description

Pulse -/Pulse: - direction dive pulse outputting

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.

+ or - pulse mode is selectable.

When the 1-pulse 1-direction mode is selected, this terminal is direction signal.

XECA/PPIN

YECA/PPIN

ZECA/PPIN

UECA/PPIN

XECB/PMIN

YECB/PMIN

ZECB/PMIN

UECB/PMIN

44

46

48

50

45

47

49

51

Input A

Input A

Encoder-A/Pulse +in: signal for encoder phase-A input

This input signal, together with phase-B signal, will make the Up / Down pulse transformation to be the input count of real position counter.

When the Up / Down pulse input mode is selected, this terminal is for UP counting up.

Encoder-B/Pulse -in: signal for encoder phase-B input

This input signal, together with phase-A signal, will make the Up / Down pulse transformation to be the input count of real position counter.

When the Up / Down pulse input mode is selected, this terminal is for

XDRIVE

YDRIVE

ZDRIVE

UDRIVE

XOUT7/DSND

YOUT7/DSND

ZOUT7/DSND

UOUT7/DSND

56

76

104

122

57

77

105

123

XOUT6/ASND

YOUT6/ASND

ZOUT6/ASND

UOUT6/ASND

XOUT5/CMPM

YOUT5/CMPM

ZOUT5/CMPM

UOUT5/CMPM

XOUT4/CMPP

YOUT4/CMPP

ZOUT4/CMPP

UOUT4/CMPP

XOUT3-0

YOUT3-0

ZOUT3-0

UOUT3-0

60

80

108

128

61~64

81~84

110~113

129~132

58

78

106

124

59

79

107

125

Output A

Output A

Output A counter is counting down.

Drive: output signal of driving

It will become Hi level when the driving command of +/- direction pulse output is executed.

When the nINPOS signal of servo motor is enabled, nINPOS will be active, and the Drive will become Hi.

General Output 7 / Descend: general purpose output signals

After the axis is appointed by WR0 register, nOUT7~4 can output the 1/0 data of D11~8 in WR3 register to Hi / Low. They become Low when the IC is reset . When the drive status output mode is engaged, this signal can be used for reflecting the status of deceleration. While the driving command is executed and during the deceleration, it becomes Hi.

General Output 6 / Ascend: general purpose output signals

(the operation is as same as nOUT7)

When the drive status output mode is engaged, this signal can be used for reflecting the status of acceleration. While the driving command is executed and during the acceleration, it becomes Hi.

Output A

General Output 5 / Compare-: general purpose output signals

(the operation is as same as nOUT7)

When the drive status output mode is engaged, it becomes Hi if the value of logical / real position counter is smaller than that of COMP-; it becomes Low if the value of logical / real position counter is larger than that of COMP-.

Output A

General Output 4 / Compare+: general purpose output signals

(the operation is as same as nOUT7)

When the drive status output mode is engaged, it becomes Hi if the value of logical / real position counter is larger than that of COMP+; it becomes Low if the value of logical / real position counter is smaller than that of COMP+.

Output A General Output 3~0: 4 general output signals for each axis nOUT3~0 can output the 1/0 data of D15~0 in WR4 register to Hi / Low.

They become Low when the IC is reset. Compared with the setting of nOUT7~4, it is easier cause there is no need to have the appointed axis.

3 5

MCX314

Signal Name Pin No.

XINPOS

YINPOS

ZINPOS

UINPOS

67

85

95

114

Input

/Output

Signal Description

Input A In-position: input signal for servo driver in-position

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-

DVR bit of main status register returns to 0.

XIN3-0

Y IN3-0

Z IN3-0

U IN3-0

XEXPP

YEXPP

ZEXPP

UEXPP

XEXPM

YEXPM

ZEXPM

UEXPM

EMGN

XALARM

YALARM

ZALARM

UALARM

XLMTP

YLMTP

ZLMTP

ULMTP

XLMTM

YLMTM

ZLMTM

ULMTM

GND

VDD

68

86

96

115

69

87

97

116

70

88

98

117

71~74

89,92~94

99~102

118~121

134

136

138

140

135

137

139

141

142

Input A Servo Alarm: input signal for servo driver alarm

Enable / disable and logical levels can be set as commands. When it is enable and when this signal is in its active level, the ALARM bit of RR2 register becomes 1.

Input A OVER Limit +: signal of + direction over limit

During the + direction drive pulse outputting, decelerating stop or sudden stop will be performed once this signal is active. The active pulse width should be more than 2CLK. Decelerating stop / sudden stop and logical 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.

Input A OVER Limit -: signal of - direction over limit

During the - direction drive pulse outputting, decelerating stop or sudden stop will be performed once this signal is active. The active pulse width should be more than 2CLK. Decelerating stop / sudden stop and logical 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.

Input A

Input 3~0: input signal to perform decelerating / sudden stop for each axis

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

IN3~IN0. The signal status can be read from register RR4 / RR5.

Input A

External Operation +: + direction drive starting signal from external source

When the fixed pulse driving is commanded from an external source, +

Otherwise, when the continuous pulse driving is commanded from an external source, + driving will start if this signal is on the Low level.

External Operation -: - direction drive starting signal from external source

When the fixed pulse driving is commanded from an external source, -

Input A

Otherwise, when the continuous pulse driving is commanded from an external source, - direction driving will start if this signal is on the Low level.

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.

Ground (0V) Terminal

All of the 13 pins must be connected to 0V.

9,19,20,

37,52,55,

66,75,91,

103,127,

133,143

18,54,65,

90,109,

126,144

+ 5V Power Terminal.

All of the 7 pins must be connected to +5V.

n Input/ Output Loop

36

Input A

Output A

Output B

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.

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.

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.

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

MCX314

n Notes for the Design of Circuitry

(1) De-coupling Capacitor

Please connect VDD and GND with one or two De-coupling capacitors (about 0.1

µ

F).

(2) Noise Generated by Terminal Induction

The noise will exist because the inductance is in these pins. Th user can add a capacitor (10-100pF) to pins to reduce the noise.

(3) Reflection on Transfer Path

The load capacity for outputting types A, B, and bi-direction type A is 20-50pf. So, the reflection will happen if the PCB wiring is more than 60cm.

3 7

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.

4.1 Register Address by 16-bit Data Bus

As shown is the table below, when 16-bit data bus is used, the access address of read / write register is 8-bit n Write Register in 16-bit Data Bus

All registers are 16-bit length.

Address

A2 A1 A0

Symbol

0 0 0 WR0

0 0 1 XWR1

0 1 0

YWR1

ZWR1

UWR1

XWR2

YWR2

ZWR2

UWR2

BP1P

Register Name

Command Register

X axis mode register 1

Y axis mode register 1

Z axis mode register 1

U axis mode register 1

X axis mode register 2

Y axis mode register 2

Z axis mode register 2

U axis mode register 2

BP1P register

Contents for setting axis assignment and command for setting the logical levels of external decelerating stop, enable / disable, and the valid / invalid of interrupt for each axis for each axis for setting the limit signal mode, driving pulse mode, encoder input signal mode, and the logical levels and enable / disable of servo motor signal for each axis

0

1

1

1

1

0

0

1

1

0

1

0

XWR3

YWR3

ZWR3

UWR3

BP1M

WR4

BP2P

WR5

BP2M

WR6

X axis mode register 3

Y axis mode register 3

Z axis mode register 3

U axis mode register 3

BP1M register

Output register

BP2P register

Interpolation mode register

BP2M register

Data writing register 1 for setting the + direction bit data of the first axis in bit pattern interpolation for setting the manual deceleration, individually decelerating, and S-curve acceleration/ deceleration mode for each axis, external operation mode, and general purpose output OUT7~4 for setting the - direction bit data of the first axis in bit pattern interpolation for setting the general output OUT3 ~ 0.

for setting the + direction bit data of the second axis in bit pattern interpolation axis assignment for settings the constant speed driving mode, step output mode and interrupt for setting the - direction bit data of the second axis in bit pattern interpolation for setting the low word 16-bit (D15-D0) for data writing.

1 1 1

BP3P

WR7

BP3P register

Data writing register 2 for setting the + direction bit data of the third axis in bit pattern interpolation for setting the high word 16-bit (D31-D16) for data writing.

BP3M BP3M register for setting the - direction bit data of the third axis in bit pattern interpolation 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.

l The register for bit pattern interpolation are BP1P~3P and BP1M~3M. After the resetting, the data writing cannot be performed, until the enable command (36h) is engaged by BP register. After the command 36h is enabled, the data writing cannot be performed in nWR2~3. So, the disable command (37h) should be engaged after the bit pattern interpolation data is written.

l Please be noted that registers WR6 and BP3P / WR7 and BP3M share the same register hardware.

l The bits of nWR1, nWR2, nWR3, nWR4 and nWR5 will be cleared to 0 after the resetting. It will be unknown for other registers.

38

MCX314 n Read Register in 16-bit Data Bus

All registers are 16-bit length.

Address

Symbol

A2 A1 A0

0 0 0 RR0

Register Name Contents

0 0 1 XRR1

YRR1

ZRR1

URR1

0 1 0 XRR2

YRR2

ZRR2

URR2

0 1 1 XRR3

YRR3

ZRR3

1

1

1

0

0

1

0

1

0

URR3

RR4

RR5

RR6

Main status register

X axis status register 1

Y axis status register 1

Z axis status register 1

U axis status register 1

X axis status register 2

Y axis status register 2

Z axis status register 2

U axis status register 2

X axis status register 3

Y axis status register 3

Z axis status register 3

U axis status register 3

Input register 1

Input register 2

Data reading register 1 error status, driving status, ready for interpolation, quadrant for circle interpolation and the stack of BP comparison result, acceleration status and finishing status error message interrupt message

I/O input for X and Y axes

I/O input for Z and U axes 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.

3 9

MCX314

4.2 Register Address by 8-bit Data Bus

In case of the 8-bit data bus access, the 16-bit data bus can be divided into high and low word byte. As shown in the table below, xxxxL is the low word byte (D7~D0) of 16-bit register xxxx; xxxxH is the high word byte (D15~8) of 16-bit register xxxx. Only for the command register (WR0L, WR0H), the user must write to the high word byte (WR0L), then to the low word byte (WR0H).

n Write Register in 8-bit Data Bus

Address

Write Register

A3 A2 A1 A0

0 0 0 0 WROL

0 0 0 1 WROH

0 0 1 0 XWR1L, YWR1L, ZWR1L,

UWR1L

0 0 1 1 XWR1H, YWR1H, ZWR1H,

UWR1H

0 1 0 0 XWR2L, YWR2L, ZWR2L,

UWR2L

0 1 0 1 XWR2H, YWR2H, ZWR2H,

UWR2H

0 1 1 0 XWR3L, YWR3L, ZWR3L,

UWR3L

0 1 1 1 XWR3H, YWR3H, ZWR3H,

UWR3H

1 0 0 0 WR4L, BP2PL

1 0 0 1 WR4H, BP2PH

1 0 1 0 WR5L, BP2ML

1 0 1 1 WR5H, BP2MH

1 1 0 0 WR6L, BP3PL

1 1 0 1 WR6H, BP3PH

1 1 1 0 WR7L, BP3ML

1 1 1 1 WR7H, BP3MH n Read Register in 8-bit Data Bus

Address

Read Register

A3 A2 A1 A0

0 0 0 0 RROL

0 0 0 1 RROH

0 0 1 0 XRR1L, YRR1L, ZRR1L,

URR1L

0 0 1 1 XRR1H, YRR1H, ZRR1H,

URR1H

0 1 0 0 XRR2L, YRR2L, ZRR2L,

URR2L

0 1 0 1 XRR2H, YRR2H, ZRR2H,

URR2H

0 1 1 0 XRR3L, YRR3L, ZRR3L,

URR3L

0 1 1 1 XRR3H, YRR3H, ZRR3H,

URR3H

1 0 0 0 RR4L, BP2PL

1 0 0 1 RR4H, BP2PH

1 0 1 0 RR5L, BP2ML

1 0 1 1 RR5H, BP2MH

1 1 0 0 RR6L, BP3PL

1 1 0 1 RR6H, BP3PH

1 1 1 0 RR7L, BP3ML

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

T

0 0 0 U Z Y X 0 0

Axis Assignment

Command Code

D5 ~ 0 Command code setting

Please refer to chapter 5 and the chapters following for further description of command codes.

D11 ~ 8 Axis assignment

When the bits of the axis are set to 1, the axis is assigned. The assignment is not limited only for one axis, but for multi-axes simultaneously. It is possible to write the same parameters also. However, the data reading is only for one assigned axis. Whenever the interpolation is commanded, the bits of the assigned axis (axes) should be set 0.

D15 RESET IC command resetting

When this bit is set to 1, but others are 0, the IC will be reset after command writing.

After command writing, the BUSYN signal will be on the Low level within 875 nSEC

(When CLK=16 MHz) maximum.

When 8-bit data bus is used, the reset is activated when the command (80h) is written to register WR0H.

RESET bit should be set to 0 when the other commands are written.

4.4 Mode Register1: WR1

Each axis is with mode register WR1. The axis specified by NOP command or the condition before decide which axis’ s register will be written.

The register consists of the bit for setting enable / disable and enable logical levels of input signal IN3~IN0

(decelerating stop / sudden stop during the driving) and bit for occurring the interrupt enable / disable.

Once IN3~IN1 are active, when the fixed pulse / continuous pulse driving starts, and also when IN signal becomes the setting logical level, the decelerating stop will be performed during the acceleration / deceleration driving and the sudden stop will be performed during the constant speed driving .

H L

WR1

D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

D-

END

C-STA C-

END

P

C+ P<C+

P<C-

P

C- PULS

E

IN3-E IN3-L IN2-E IN2-L IN1-E IN1-L IN0-E IN0-L

Interrupt Enable / Disable

Driving Stop Input Signal Enable / Disable

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

D9

PULSE Interrupt occurs when the pulse is up (¡ ô level)

P

C Interrupt occurs when the value of logical / real position counter is larger than or equal

4 1

MCX314

D10

D11

D12

P < Cto that of COMP- register

Interrupt occurs when the value of logical / real position counter is smaller than that of

COMP- register

P < C + Interrupt occurs when the value of logical / real position counter is smaller than that of

COMP+ register

P

C + Interrupt occurs when the value of logical / real position counter is larger than or equal to that of COMP+ register

D13

D14

D15

C - END Interrupt occurs at the start of the constant speed drive during an acceleration / deceleration driving

C - STA Interrupt occurs at the end of the constant speed drive during an acceleration / deceleration driving

D - END Interrupt occurs when the driving is finished

D15~D0 will be set to 0 while resetting.

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

D

DIR-L PLS-L PLSM

D

CMPS

L

HLMT- HLMT

+

LMTM

D

SLMT- SLMT

+

D0

D1

D2

D3

D4

D5

D6

D7

D8

D9

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.

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.

LMTMD The bit for controlling stop type when the hardware limits (nLMTP and nLMTM input signals) are active 0: sudden stop, 1: decelerating stop

HLMT + Setting the logical level of + direction limit input signal (nLMTM) 0: active on the Low level, 1: active on the Hi level

HLMT Setting the logical level of - direction limit input signal (nLMTM) 0:active on the Low level, 1: active on the Hi level

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

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.

PLS-L

DIR-L

Setting logical level of driving pulses 0: positive logical level, 1: negative logical level

Setting logical level of the direction (nPM/DIR) output signal for 1-pulse mode

DIR-L

0

+ direction

Low

- direction

Hi

1 Hi Low

PINMD Setting the type of encoder input signals (nECA/PPIN and nECB/PMIN)

0: quadrature pulse input type 1: Up / Down pulse input type

Real position counter will count up or down when encoder input signal is triggered.

When quadrature pulse input type is engaged, the “ count up” will happen if the positive

42

MCX314 logical level pulses are input to phase A; the “ count down” will happen if the positive logical level pulses are input to phase B. So, it will count up and down when these 2

When Up / Down pulse input type is engaged, nECA/PPIN is for “ count up” input, and nECB/PMIN is for “ count down” input. So, it will count up when the positive pulses go

D11,10 PIND 1,0 The division setting for quadrature encoder input.

D11 D10

0

0

0

1

Division

1/1

1/2

Up / down pulse input is not available.

1

1

0

1

1/4

Invalid

D12

D13

D14

ALM-L Setting active level of input signal nALARM 0: active on the Low level, 1: active on the Hi level

ALM-E Setting enable / disable of servo alarm input signal nALARM 0: disable, 1: enable

When it is enabled, MCX314 will check the input signal. If it is active, D14(ALARM) bit of RR2 register will become 1. The driving stops.

INP-L Setting logical level of nINPOS input signal 0: active on the Low level, 1: active on the

Hi level

D15 INP-E Setting enable/disable of in-position input signal nINPOS from servo driver 0: disable,

1: enable

When it is enabled, bit n-DRV of RR0 (main status) register doesn’ t return to 0 until nINPOS signal is active after the driving is finished.

D15~D0 will be set to 0 while resetting.

4.6 Mode Register3: WR3

WR3

Each axis is with mode register WR3. The axis specified by NOP command or the condition before decides which axis’ s register will be written.

WR3 can be used for manual deceleration, individual deceleration, S-curve acceleration / deceleration, the setting of external operation mode, and the setting of general purpose output OUT7~4.

H L

D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

0 0 0 0 OUT7 OUT6 OUT5 OUT4 OUTS

L

0 0 EXOP

1

EXOP

0

SACC DSND

E

MANL

D

D0

D1

D2

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.

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.

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

1

1

0

0

0

1

0

1 external signals disabled continuous driving mode fixed pulse driving mode 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

4 3

MCX314

D7 driving starts once the nEXPM signal is falling to the Low level from the Hi level.

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.

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 D6 D5 D4 D3 D2 D1 D0

WR4

UOUT

3

UOUT

2

UOUT

1

UOUT

0

ZOUT

3

ZOUT

2

ZOUT

1

ZOUT

0

YOUT

3

YOUT

2

YOUT

1

YOUT

0

XOUT

3

XOUT

2

XOUT

1

XOUT

0

D15~D0 will be set to 0 while resetting, and nOUT3~0 signals become Low level.

4.8 Interpolation Mode Register: WR5

This register is used for setting axis assignment, constant vector speed mode, 1-step interpolation mode and interrupt during the interpolation.

H L

D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

WR5 BPINT CIINT 0 CMPL

S

EXPL

S

0 LSPD

1

LSPD

0

0 0 AX31 AX30 AX21 AX20 AX11 AX10

Interrupt Step output Constant Vector Speed

D1, 0 AX11, 10 ax1 (master axis) assignment for interpolation

Axis codes are shown as follows.

ax3 ax2 Ax1

Axis Code (Binary) 1st axis: X, 2nd axis: Y, 3rd axis: Z

X 0 0

Y

Z

0

1

1

0

D5 D4 D3 D2 D1 D0

1 0 0 1 0 0

U 1 1

D9,8

For ax1 (master axis) will have the basic pulses of starting interpolation calculation, the speed parameter which is for constant / acceleration / deceleration driving should be set before the driving.

D3, 2 AX21, 20 ax2 assignment according to the codes shown in the table above

D5,4 AX31, 30 ax3 assignment for 3-axis interpolation, according to the codes shown in the table above

Setting any value if it is only 2-axis interpolation.

LSPD1,0 Constant vector speed mode setting of interpolation driving

D9

0

D8 Code (Binary)

0 constant vector speed invalid

0

1

1

1

0

1

2-axis constant vector speed

(setting not available)

3-axis constant vector speed

When 2-axis constant vector speed mode is engaged, the user should set the range (R) of ax2 to be 1.414 times of the range (R) of master axis (ax1).

D11

When 3-axis constant vector speed mode is engaged, the user should set the range (R) of ax2 to be 1.414 times and the range (R) of ax3 to be 1.732 times of the range (R) of master axis (ax1).

EXPLS When it is 1, the external (EXPLSN) controlled single step interpolation mode is engaged.

D12

D14

CMPLS When it is 1, the command controlled single step interpolation mode is engaged.

CIINT Interrupt enable / disable setting during interpolation 0: disable 1: enable

D15 BPINT interrupt enable / disable setting during bit-pattern interpolation 0: disable 1: enable

D15~D0 will be set to 0 while resetting.

4 5

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

4.10 Main Status Register: RR0

This register is used for displaying the driving and error status of each axis. It also displays interpolation driving, ready signal for continuous interpolation, quadrant of circular interpolation and stack counter of bitpattern interpolation.

RR0

H L

D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

BPSCI BPSC

0

ZONE

2

ZONE

1

ZONE

0

CNEX

T

I-DRV U-

ERR

Z-ERR Y-ERR X-ERR U-

DRV

Z-DRV Y-DRV X-DRV

Error Status of Each Axis Driving Status of Each Axis

D3~0 n-DRV Displaying driving status of each axis

When the bit is 1, the axis is outputting drive pules; when the bit is 0, the driving of the axis is finished.

Once the in-position input signal nINPOS for servo motor is active, nINPOS will return to 0 after the drive pulse output is finished.

D7~4 n-ERR Displaying error status of each axis

If any of the error bits (D5~D0) of each axis’ s RR2 register and any of the error-finish bits (D15~D12) of each axis’ s RR1 register becomes 1, this bit will become 1.

D8 I-DRV Displaying interpolation driving status

While the interpolation drive pulses are outputting, the bit is 1.

D9 CNEXT Displaying the possibility of continuous interpolation data writing

When the bit is 1, it is ready for inputting parameters for next node and also ready for writing interpolation command data.

D12~10 ZONE0 Displaying the quadrant of the current position in circular interpolation

ZONE1

ZONE2

D12 D11 D10

0

0

0

0

0

1

1

1

0

0

1

1

0

0

1

1

1

1

0

1

0

1

0

1

Quadrant

0

1

4

5

2

3

6

7

3

4

2

5

Y

1

6

0

7

X

D14, 13 BPSC1, 0 In bit pattern interpolation driving, it displays the value of the stack counter (SC).

D14

0

0

1

1

D13

0

1

0

1

Stack Counter (SC)

Value

0

1

2

3

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 interpolation is finished.

4 7

MCX314

4.11 Status Register 1: RR1

Each axis is with status register 1. The axis specified by NOP command or the condition before decide which axis’ s register will be read.

The register can display the comparison result between logical / real position counter and COMP +/- , the acceleration status of acceleration / deceleration driving, jerk of S-curve acceleration / deceleration and the status of driving finishing.

H L

D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

RR1

EMG ALAR

M

LMTLMT+ IN3 IN2 IN1 IN0 ADSN

D

ACNS

T

AASN

D

DSND CNST ASND CMP- CMP+

Stop Status

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 COMPregister

1: logical / real position counter

COMP- register

0: logical / real position counter > COMP- register

D2

D3

D4

D5

D6

ASND

CNST

It becomes 1 when in acceleration.

It becomes 1 when in constant speed driving.

It becomes 1 when in deceleration.

DSND

AASND In S-curve, it becomes 1 when acceleration / deceleration increases.

ACNST In S-curve, it becomes 1 when acceleration / deceleration keeps constant.

Speed

ASND=1 CNST=1 DSND=1

Time

D7 ADSND In S-curve, it becomes 1 when acceleration / deceleration decreases.

Acceleration

Acceleration Deceleration

D11~8 IN3~0 If the driving is stopped by one of external decelerating stop signals

(nIN3 ~ 0), it will become 1.

D13 LMT -

AASND=1 ACNST=1 ADSND=1

D12 LMT + If the driving is stopped by

+direction limit signal (nLMTP), it will become 1.

AASND=1 ACNST=1 ADSND=1

If the driving is stopped by -direction limit signal (nLMTP), it will become 1.

Time

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.

n The Status Bits of Driving Finishing

These bits are keeping the factor information of driving finishing. The factors for driving finishing in fixed pulse driving and continuous driving are shown as follows:

¬ when all the drive pulses are output in fixed-pulse driving,

- when deceleration stop or sudden stop command is written,

® when software limit is enabled, and is active,

¯ when external deceleration signal is enabled, and active,

° when external limit switch signals (nLMTP, nLMTM) become active,

± when nALARM signal is enabled, and active, and

² when EMGN signal is on the Low level.

Above factors ¬ and - can be controlled by the host CPU, and factor ® can be confirmed by register RR2 even the driving is finished. As for factors ¯ ~ ², the error status is latched in RR2 until next driving command or a clear command (25h) is written.

After the driving is finished, if the error factor bits D15~D12 become 1, n-ERR bit of main status register

RRO will become 1.

48

MCX314

Status bit of driving finishing can be cleared when next driving command is written, or when the finishing status clear command (25h) is used.

4.12 Status Register 2: RR2

Each axis is with status register 2. The axis specified by NOP command or the condition before decids which axis’ s register will be read.

This register is for reflecting the error information. Once the bit becomes 1, it reflects an error occurs. When one or more of D5~D0 bits of RR2 register are 1, n-ERR bits of main status register RR0 become 1.

RR2

H L

D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

− − − − − − − − − −

EMG ALAR

M

HLMT- HLMT

+

SLMT- SLMT

+

D0

D1

D2

D3

SLMT + During the + direction driving, when logical / real position counter

COMP+ (COMP+ enabled, and used as software limit)

SLMT During the - direction driving, when logical / real position counter

<

COMP- (COMPenabled, and used as software limit)

HLMT + When external +direction limit signal (nLMTP) is on its active level

HLMT When external -direction limit signal (nLMTM) is on its active level

D4

D5

ALARM

EMG

When the alarm signal (nALARM) for servo motor is on its active level

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.

4.13 Status Register 3: RR3

Each axis is with status register 3. The axis specified by NOP command or the condition before decids which axis’ s register will be read.

This register is for reflecting the interrupt factor. When interrupt happens, the bit which is with the interrupt factor becomes 1. The user should set the interrupt factor through register WR1 to perform the interrupt.

RR3

H L

D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

− − − − − − − −

D-

END

C-STA C-

END

P

C+ P<C+

P<C-

P

C- PULS

E

D0

D1

D2

D3

D4

D5

D6

D7

PULSE When the drive pulse is up (¡ ô

P

COnce the value of logical / real position counter is larger than that of COMP- register

P < COnce the value of logical / real position counter is smaller than that of COMP- register

P < C + Once the value of logical / real position counter is smaller than that of COMP+ register

P

C + Once the value of logical / real position counter is larger than that of COMP+ register

C-END When the pulse output is finished in the constant speed drive during an acceleration / deceleration driving

C-STA When the pulse output is started in the constant speed drive during an acceleration / deceleration driving

D-END When the driving is finished

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.

4 9

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

Bit Name n-IN0 n-IN1 n-IN2 n-IN3

Input Signal nIN0 nIN1 nIN2 nIN3

Bit Name n-EX+ n-EXn-INP n-ALM

Input Signal nEXPP nEXPM nINPOS nALARM

4.15 Data-Read Register: RR6 / RR7

According to the data-read command, the data of internal registers will be set into registers RR6 and RR7.

The low word 16 bits (D15 ~ D0) is set in RR6 register, and the high word 16 bits (D31 ~ D16) is set in RR7 register for data reading.

The data is binary formatted; 2’ s complement is for negatives.

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

Code

00

01

02

03

04

05

06

07

08

09

0A

0B

Jerk setting

Command

Range setting

Acceleration setting

Deceleration setting

Initial speed setting

Drive speed setting

Output pulse numbers / finish point of interpolation setting

Manual deceleration point setting

Circular center point setting

Logical position counter setting

Real position counter setting

COMP + register setting

0C COMP - register setting

0D Acceleration counter offsetting

Symbo l

Data Range

Data

Length

R 8,000,000(multiple=1)~16,000(multiple=500) 4 bytes

K 1 ~ 65,535

A 1 ~ 8,000

2

2

D 1 ~ 8,000

SV 1 ~ 8,000

V 1 ~ 8,000

2

2

2

4 P Output pulse numbers: 0~268,435,455 / finish point: -8,388,608~+8,388,607

DP 0 ~ 268,435,455

C -8,388,608 ~ +8,388,607

LP -2.147,483,648 ~ +2,147,483,647

EP -2.147,483,648 ~ +2,147,483,647

CP -2.147,483,648 ~ +2,147,483,647

CM

AO

-2.147,483,648 ~ +2,147,483,647

0 ~ 65,535

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.

4

4

4

4

4

4

2 n Formula Calculation for Parameters

Multiple =

8,000,000

R

Jerk

(PPS/SEC

2

)

=

Acceleration = A

(PPS/SEC)

×

62.5

×

10

6

K

125

×

×

8,000,000

R

Multiple

8,000,000

R

Multiple

Deceleration = D

×

125

×

(PPS/SEC)

Drive Speed

(PPS)

= V

×

8,000,000

R

Multiple

8,000,000

R

Multiple

Initial Speed

(PPS)

= SV

×

8,000,000

R

Multiple

5 1

MCX314 n Data Reading Commands

Code Command

10 Logical position counter reading

11 Real position counter reading

12 Current drive speed reading

13 Acceleration / deceleration reading

Symbol Data Range

LP -2,147,483,648 ~ +2,147,483,647

EP -2,147,483,648 ~ +2,147,483,647

CV 1~8,000

CA 1~8,000 n Driving Commands

Code Command

20h + direction fixed pulse driving

21h

direction fixed pulse driving

22h + direction continuous driving

23h

direction continuous driving

24h Drive start holding

25h Drive start holding release / stop status clear

26h Decelerating stop

27h Sudden stop n Interpolation Commands

Code Command

30h 2-axis leaner interpolation

31h 3-axis leaner interpolation

32h CW circular interpolation

33h CCW circular interpolation

34h 2-axis bit pattern interpolation

35h 3-axis bit pattern interpolation

36h BP register writing enabled*

37h BP register writing disabled

38h BP data stack

39h BP data clear

3Ah 1-step interpolation

3Bh Deceleration valid

3Ch Deceleration invalid

3Dh Interpolation interrupt clear

*BP = bit pattern

[Note] Please do not write the codes not mentioned above. The unknown situation could happen due to IC internal circuit test.

Data

Length

4 bytes

4

2

2

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.

6.1 Range Setting

Code Command

00 Range setting

Symbol

R

Data Range

Data

Length

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:

Multiple =

8,000,000

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.

6.2 S-curve Acceleration Rate Setting

Code

01h Jerk* setting

Command Symbol

K 1 ~ 65,535

Data Range

Data

Length

2

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

Jerk (PPS/SEC

2

)=

62.5

×

10

6

K

×

8,000,000

R

Multiple

Because the setting range of S-curve acceleration is 1 ~ 65,535, the jerk range is shown as follows:

When Multiple = 1,

K=65535

954 PPS/SEC

2

K=1

~ 62.5 x 10

6

PPS/SEC

2

477 x 10

3

PPS/SEC

2

~ 31.25 10

9

PPS/SEC

2

When Multiple = 500,

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

5 3

MCX314

6.3 Acceleration Setting

Code Command Symbol Data Range

Data

Length

2 bytes 02h

Acceleration setting

A

1 ~ 8,000

“ A” is the parameter determining the acceleration or deceleration of the trapezoidal driving. For S-curve acceleration / deceleration (see fig. 2.9, page 7), it shows the linear acceleration until a specific value (A) driving. The acceleration calculation is shown in the following formula:

Acceleration (PPS/SEC)= A

×

125

×

8,000,000

R

Multiple

For the range of A is from 1 ~ 8,000, the actual acceleration range is shown as follows:

When Multiple = 1

When Multiple = 500

A=1 A=8000

125 PPS/SEC ~ 1 x 10

6

PPS/SEC.

62.5 x 103 PPS/SEC ~ 500 x 10

6

PPS/SEC

6.4 Deceleration Setting

Code Command

03h

Deceleration setting

Symbol

D

1 ~ 8,000

Data Range

Data

Length

2 bytes

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:

Deceleration (PPS/SEC)= D

×

125

×

8,000,000

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.

6.5 Initial Speed Setting

Code Command

04h

Initial speed setting

Symbol

SV

1 ~ 8,000

Data Range

Data

Length

2 bytes

“ SV” is the parameter determining the speed of constant speed period in trapezoidal driving. The initial speed calculation is shown in the following formula:

Initial Speed (PPS)= SV

×

125

×

8,000,000

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

6.6 Drive Speed Setting

Code Command

05h

Drive speed setting

Symbol

V

1 ~ 8,000

Data Range

Data

Length

2 bytes

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

Drive Speed (PPS)= V

×

8,000,000

R

Multiple

If the setting 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.

6.7 Output Pulse Number / Interpolation Finish Point Setting

Code Command

06h

Output pulse number / interpolation finish point setting

Symbol

P

Data Range

Output pulse numbers: 0 ~ 268,435,455

Finish point: -8,388,608~+8,388,607

Data

Length

2 bytes

Output pulse number setting:

The parameter “ P” is setting total output pulse numbers in fixed pulse driving. The value is absolute, unsigned number. The output pulse numbers can be changed during the driving.

Interpolation finish point setting:

This parameter is also setting the finish point of each axis in linear and circular interpolations. The finish points of these axes should be set by relative numbers in 24- bit data length.

Output pulse number setting and interpolation finish point setting should be set for 32-bit data length.

6.8 Manual Decelerating Point Setting

Code Command

07h

Manual decelerating point setting

Symbol Data Range

DP

0 ~26 8,435,455

Data

Length

4 bytes

“ 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

5 5

MCX314

6.9 Circular Center Setting

Code Command

08h

Circular Center setting

Symbol

C

Data Range

-8,388,608 ~ +8,388,607

Data

Length

4 bytes

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

6.10 Logical Position Counter Setting

Code Command

09h

Logical position counter setting

Symbol Data Range

LP

-2,147,483,648 ~ +2,147,483,647

Data

Length

4 bytes

“ LP” is the parameter setting the value of logic position counter.

Logical position counter counts Up / Down according to the +/- direction pulse output.

The data writing and reading of logical position counter is possible anytime.

6.11 Real position Counter Setting

Code Command

0Ah

Real position counter setting

Symbol Data Range

EP

-2,147,483,648 ~ +2,147,483,647

“ EP” is the parameter setting the value of real position counter.

Real position counter counts Up / Down according to encoder pulse input.

The data writing and reading of real position counter is possible anytime.

6.12 COMP+ Register Setting

Code Command

0Bh

COMP+ register setting

Symbol Data Range

CP

-2,147,483,648 ~ +2,147,483,647

Data

Length

4 bytes

Data

Length

4 bytes

“ CP” is the parameter setting the value of COM+ register.

COMP+ register is used to compare with logical / real position counter, and the comparison result will be output to bit D0 of register RR1 or nOUT4/CMPP signal. Also, it can be used as the + direction software limit.

The value of COMP+ register can be written anytime.

6.13 COMP

− Register Setting

Code Command

0Ch

COMP- register setting

Symbol Data Range

CM

-2,147,483,648 ~ +2,147,483,647

Data

Length

4 bytes

“ CM” is the parameter setting the value of COMP

register.

COMP- register is used to compare with logical / real position counter, and the comparison result will be output to bit D0 of RR1 register or nOUT5/CMPM signal. Also, it can be used as the

direction software limit.

The value of COMP- register can be written anytime.

56

MCX314

6.14 Acceleration Counter Offsetting

Code Command

0Dh

Acceleration Counter Offsetting

Symbol

AO

0 ~ 65,535

Data Range

“ AO” is the parameter executing acceleration counter offset.

The offset value of acceleration counter will be set 8 while resetting.

6.15 NOP (Used for Axis Switching)

Code Command

0Fh

NOP (Used for axis switching)

Symbol Data Range

This command doesn’ t execute anything.

However, it can be used to assign the accessing axis(axes) according to WR1~3 registers of each axis.

Data

Length

4 bytes

Data

Length

5 7

MCX314

7. Commands for Reading Data

Data reading commands are used to read the register contents of each axis.

After a data reading command is written into register WR0, this data will be set in registers RR6 and RR7.

The host CPU can reach the data through reading registers RR6 and RR7.

Reading data for registers WR6 and WR7 is binary and 2’ s complement for negatives.

[Note] l It requires 250 nSEC (maximum) to access the command code when CLK=16MHz. Please read registers RR6 and 7 within this period of time after the present command is written.

l The axis assignment is for one axis. If more than one axes are assigned, the data reading priority is X

> Y > Z > U.

7.1 Logical Position Counter Reading

Code Command

10h

Logical position counter reading

Symbol Data Range

LP

-2,147,483,648 ~ +2,147,483,647

The current value of logical position counter will be set in read registers RR6 and RR7.

7.2 Real position Counter Reading

Code Command

11h

Real position counter reading

Symbol Data Range

EP

-2,147,483,648 ~ +2,147,483,647

The current value of real position counter will be set in read registers RR6 and RR7.

Data

Length

4 bytes

Data

Length

4 bytes

7.3 Current Drive Speed Reading

Code Command

12h

Current drive speed reading

Symbol

CV

1 ~ 8,000

Data Range

Data

Length

2 bytes

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

7.4 Current Acceleration / Deceleration Reading

Code Command

13h

Current acceleration / deceleration reading

Symbol

CA

1 ~ 8,000

Data Range

Data

Length

2 bytes

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

Constant speed

Trapezoidal driving

S-curve Acc./Dec.

Multiple

(R)

¡

¡

¡

Jerk

(K)

X

X

¡

Acceleration

(A)

X

¡

¡

Initial Speed Drive Speed Output Pulse

(SV)

¡

¡

¡

(V)

¡

¡

¡

(P)

¡

¡

¡

8.2 - Direction Fixed Pulse Driving

Code Command

21h -Direction Fixed pulse Driving

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.

8.3 +Direction Continuous Driving

Code Command

22h +Direction Continuous Driving

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.

5 9

MCX314

8.4 - Direction Continuous Driving

Code Command

23h -Direction Continuous Driving

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.

8.5 Drive Status Holding

Code Command

24h Holding for driving starting

This command is to hold-on the start of driving.

When this command is used for starting multi-axis driving simultaneously, the user may write other commands after the drive status holding command is registered. The drive start holding release command

(25h) can be written to start the driving.

In driving, even this command is written, the driving will not be stopped. The next command will be held.

8.6 Drive Status Holding Release / Finishing Status Clear

Code Command

25h Drive status holding release / finishing status clearing

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.

8.7 Decelerating Stop

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.

8.8 Sudden Stop

Code Command

27h Sudden stop in driving

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

9.2 3-Axis Linear Interpolation

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.

9.3 CW Circular Interpolation

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

9.4 CCW Circular Interpolation

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

6 1

MCX314

Code Command

34h 2-axis bit pattern interpolation

This command performs 2-axis bit pattern interpolation.

Before driving, the +/- direction bit data of the two interpolating axes should be set, and the setting bit data data can be filled during the driving.

9.6 3-Axis Bit Pattern Interpolation Drive

Code Command

35h 3-axis bit pattern interpolation

This command performs 3-axis bit pattern interpolation.

Before driving, the +/- direction bit data of the two interpolating axes should be set, and the setting bit data data can be filled during the driving.

9.7 BP Register Data Writing Enabling

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.

9.8 BP Register Data Writing Disabling

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.

9.9 BP Data Stack

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

9.10 BP Data Clear

Code Command

39h BP data clearing

This command clears all the bit pattern data, and sets the stack counter (SC) to 0.

9.11 Single Step Interpolation

Code Command

3Ah Single step interpolation

This command performs 1-pulse (each step) output in interpolation driving.

When D12 bit of register WR5 is set 1, the single step interpolation can be performed. After this command is issued, single step interpolation starts.

9.12 Deceleration Enabling

Code Command

3Bh Deceleration enabling

This command enables the automatic and manual decelerations.

In case of the individual interpolation, the user can issue this command before the driving. However, in continuous interpolation, the user should disable the deceleration than start the driving. This command should be put in the final node, and written before the interpolation command of the final node is written. If each axis has to decelerate individually, execute this command before driving. But for continuous interpolation, disable the deceleration first and enable it until the last node.

The deceleration is disabled while resetting. When the deceleration enabling command is issued, the enabling status is kept until the deceleration disabling command (3C) is written, or the reset happens.

Deceleration enabling / disabling is active in interpolation; automatic and manual decelerations are always active when individual axis is in driving.

9.13 Deceleration Disabling

Code Command

3Ch Deceleration disabling

This command disables the automatic or manual deceleration in interpolation.

9.14 Interpolation Interrupt Clear

Code Command

3Dh Interpolation interrupt clear

This command clears the interrupt in bit pattern or continuous interpolation.

After the bit D15 of WR5 is set to 1 in bit pattern interpolation, the stack counter (SC) is changed from 2 to

1, and the interrupt will be generated. In continuous interpolation, when the bit D14 of WR5 is set to 1, the interrupt will be generated when it is ready to write the interpolation data for next node.

6 3

MCX314

10. Connection Examples

10.1 Connection Example for 68000 CPU

68000

Clock generator

16MHz

R/W

UDS

Or LDS

D15~D0

A3

A2

A1

A23~A4

AS

DTACK

IPL2

IPL1

IPL0

FC2

FC1

FC0

VPA

+5V

Add. decoder

G

74LS348

A2

A1

A0

7

1

0

E1

74LS138

G

G

G

C

B

A Y7

+5V

O.C

O.C

pull up resistance

+5V

+5V form system reset signal

+5V

10.2 Connection Example for Z80 CPU

Z80

Clock generator

__

16MHz

10RQ

A7

A6

A5

A4

A3

A2

A1

A0

D7~D0

_ a

_

B

A

_

_

Y3

Pull up resistance

MCX314

CLK

RDN

WRN

D15~D0

A2

A1

A0

CSN

INTN

H16L8

RESETN

MCX314

CLK

RDN

WRN

CSN

__

INT

+5V from system reset signal

A3

A2

A1

A0

D7~D0

D15~D8

H16L8

INTN

RESETN

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.

Encoder

Stepper/servo motor

EC

M

-Limit Home Close to home +Limit

EC-A,B,Z

Motor drives

CW pulse

CCW pulse

Error counter clear

Servo on

I/F

SERVO READY

Positining complete

Alarm

EC-A/B,Z

I/F

XPP

XPW

XOUT0

XOUT1

XIN3

XINPOS

XALARM

XECA/B,XIN2

MCX 314

1 / 4

XLMTP

XLMTM

XIN0

XIN1

I/F

XEXPP

I/F

XEXPW

10.4 Pulse Output Interface

n Output to Motor Drivers in Differential Circuit

MCX314

XPP

Am26L31

XPM

Twist Pair Shield Cable

CW+

CW -

CCW+

CCW -

GND

Motor Drives

+

-

Am26L32

+

n Open Collector TTL Output

MCX314

+5V

XPP

+5V

XPM

72LS06

GND

Twist Pair Shield Cable

CW+

CW -

CCW+

CCW -

Motor Drives

For drive pulse output signals, we recommend the user to use twist pair shield cable due to the concern of

EMC.

6 5

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

10k

3.3k

+12~24V

3.3k

0.01

µ

TLP121

The response time of this loop is about 0.2 ~ 0.4 mSEC.

10.6 Connection Example for Encoder

The following diagram is the example for the encoder signal which is differential line-drive output, Then, this signal can be received through the high speed photo coupler IC which can direct it to MCX314.

MCX314

+5V

XECA

470

220

1k

ECA+

ECA-

66

MCX314

11. Example Program

The example C program for MCX314 can complied by Turbo C++ 4.0 and the operation system DOS/V.

#include

#include

<stdio.h>

<conio.h>

// -----mcx314 register address definition -----

#define adr 0x280 //Basic address

#define wr0 0x0

#define wr1 0x2

#define wr2 0x4

#define wr3 0x6

//Command register

//Mode register 1

//Mode register 2

//Mode register 3

#define wr4 0x8

#define wr5 0xa

#define wr6 0xc

#define wr7 0xe

//Output register

//Interpolation mode register

//Low word bits data writing register

//High word bits data writing register

#define rr0 0x0

#define rr1 0x2

#define rr2 0x4

#define rr3 0x6

#define rr4 0x8

#define rr5 0xa

#define rr6 0xc

#define rr7 0xe

#define bp1p 0x4 control

#define bp1m 0x6 control

#define bp2p 0x8 control

#define bp2m 0xa control

#define bp3p 0xc control

#define bp3m 0xe control

//Main status register

//Status register 1

//Status register 2

//Status register 3

//Input register 1

//Input register 2

//Low word bits data reading register

//High word bits data reading register

//BP + direction data register for the first axis

//BP

direction data register for the first axis

//BP + direction data register for the second axis

//BP

direction data register for the second axis

//BP + direction data register for the third axis

//BP

direction data register for the third axis

// wreg 1 (axis assignment, data) ----Write register 1 setting void wreg1(int axis, int wdata)

¡ a

//axis assignment outpw(adr+wr0,(axis<<8)+0xf); outpw(adr+wr1, wdata);

¡ b

// wreg 2 (axis assignment, data) ----Write register 2 setting void wreg2 (int axis, int wdata)

¡ a

//axis assignment outpw(adr+wr0,(axis<<8)+0xf); outpw(adr+wr2, wdata);

¡ b

// wreg 3 (axis assignment, data) -----Write register 3 setting void wreg3(int axis, int wdata)

¡ a outpw(adr+wr0, (axis<<8)+0xf); //axis assignment outpw(adr+wr3, wdata);

¡ b

// command (axis assignment, data) -----For writing commands void command(int axis, int cmd)

¡ a outpw(adr+wr0, (axis<<8)+cmd):

¡ b

// range(axis assignment, data) -----For range (R) setting void range(int axis, long wdata)

¡ a outpw(adr+wr7,(wdata>>16) & 0xffff); outpw(adr+wr6, wdata & 0xffff); outpw(adr+wr0, (axis<<8) + 0x00);

¡ b

// acac(axis assignment, data) -----For S-curve acceleration (K) setting void acac(int axis, long wdata)

¡ a outpw(adr+wr6, wdata); outpw(adr+wr0, (axis<<8) + 0x01);

¡ b

// acc(axis assignment, data) -----For acceleration/deceleration (A) setting void acc(int axis, long wdata)

¡ a outpw(adr+wr6,wdata); outpw(adr+wr0, (axis<<8) + 0x02);

¡ b

// dec( axis assignment, data) -----For deceleration (D) setting void dec(int axis, long wdata)

¡ a outpw(adr+wr6, wdata); outpw(adr+wr0, (axis<<8) + 0x03);

¡ b

// startv(axis assignment, data) -----For initial speed (SV) setting void startv(int axis, long wdata)

¡ a outpw(adr+wr6, wdata): outpw(adr+wr0, (axis<<8) + 0x04);

¡ b

// speed(axis assignment, data) -----For drive speed (V) setting void speed(int axis, long wdata)

¡ a outpw(adr+wr6, wdata); outpw(adr+wr0, (axis<<8) + 0x05);

¡ b

// pulse( axis assignment, data) -For output pulse output/finish point (P) setting void pulse(int axis, long wdata)

¡ a outpw(adr+wr7, (wdata>>16) & 0xffff); outpw(adr+wr6, wdata & 0xffff); outpw(adr+wr0, (axis<<8) +0x06);

¡ b

// decp(axis assignment, data) -----For manual deceleration (DP) setting void decp(int axis, long wdata)

¡ a outpw(adr+wr7, (wdata>>16) & 0xffff); outpw(adr+wr6, wdata & 0xffff); outpw(adr+wr0, (axis<<8) + 0x07);

¡ b

// center(axis assignment, data) -----For circular center point (C) setting void center(int axis, long wdata)

¡ a outpw(adr+wr7, (wdata>>16) & 0xffff); outpw(adr+wr6, wdata & 0xffff); outpw(adr+wr0, (axis<<8) + 0x08);

¡ b

// lp(axis assignment, data) -----For logical position counter (LP ) setting void lp(int axis, long wdata)

¡ a outpw(adr+wr7, (wdata>>16) & 0xffff); outpw(adr+wr6, wdata & 0xffff); outpw(adr+wr0, (axis<<8) + 0x09);

¡ b

// ep(axis assignment, data) -----For real position counter (EP) setting void ep(int axis, long wdata)

¡ a outpw(adr+wr7, (wdata>>16) & 0xffff); outpw(adr+wr6, wdata & 0xffff); outpw(adr+wr0, (axis<<8) + 0x0a);

¡ b

// compp(axis assignment, data) -----For COMP+ (CP) setting

6 7

MCX314 void compp(int axis, long wdata)

¡ a outpw(adr+wr7, (wdata>>16) & 0xffff); outpw(adr+wr6, wdata & 0xffff); outpw(adr+wr0, (axis<<8) + 0x0b);

¡ b

// compm(axis assignment, data) -----For COMP

(CM) setting void compm(int axis, long wdata)

¡ a outpw(adr+wr7, (wdata>>16) & 0xffff); outpw(adr+wr6, wdata & 0xffff); outpw(adr+wr0, (axis<<8) + 0x0c);

¡ b

// accofst(axis assignment, data) ----For acceleration counter shift (AO) setting void accofst(int axis, long wdata)

¡ a outpw(adr+wr7, (wdata>>16) & 0xffff); outpw(adr+wr6, wdata & 0xffff); outpw(adr+wr0, (axis<<8) + 0x0d);

¡ b

// readlp(axis assignment) -----For logical position counter (LP) reading void readlp(int axis)

¡ a long a;long d6;long d7; outpw(adr+wr0, (axis<<8) + 0x10); d6=inpw(adr+rr6);d7=inpw(adr+rr7); a=d6 + (d7<<16); return(a);

¡ b

// readep(axis assignment) -----For real position counter (EP) reading void readep(int axis)

¡ a long a;long d6;long d7; outpw(adr+wr0, (axis<<8) + 0x11); d6=inpw(adr+rr6);d7=inpw(adr+rr7); a=d6 + (d7<<16); return(a);

¡ b

// wait(axis assignment) -----For waiting for drive stop void wait(int axis)

¡ a while(inpw(adr+rr0) & axis);

¡ b

// next_wait() -----Next data setting of waiting for continuous interpolation void next_wait(void)

¡ a while((inpw(adr+rr0) & 0x0200)==0x0);

¡ b

// bp_wait() ----- Next data setting of waiting for BP interpolation void bp_wait(void)

¡ a while((inpw(adr+rr0) & 0x06000)= =0x6000);

¡ b

// homesrch()-----for homeal point searching on whole axis void homesrch(void)

¡ a

// [Action] The same for (1) ~ (3) axes wreg1(0xf, 0x0008); // If homeal signal (in 1) = OFF speed(0xf, 2000); // -direction motion will be continuously driven at a speed of 20000 PPS if((inpw(adr+rr4) & 0x2)= =0x2)

// If IN1 signal = ON, deceleration will be stopped.

¡ a command(0x1, 0x23);

¡ b if((inpw(adr+rr4) & 0x200)= =0x200)

¡ a command(0x2, 0x23);

¡ b if((inpw(adr+rr5) & 0x2)= =0x2

¡ a command(0x4, 0x23);

¡ b if((inpw(adr+rr5) & 0x200)= =0x200)

¡ a command(0x8, 0x23);

¡ b wait(0xf); wreg1(0xf, 0x000c); //(2) + direction motion will be continuously driven at a speed of 500 PPS speed(0xf, 50); stopped

//When IN1 = OFF, it will be suddenly command(0xf, 0x21); wait(0xf); wreg1(0xf, 0x0000); //(3) - direction motion will be driven at a speed of

40000 PPS speed(0xf, 40000); pulse(0xf, 100);

//100-pulse shift command(0xf, 0x21); wait(0xf); lp(0xf, 0); //(4) LP = 0 for X, Y, Z, and U axes wreg2(0xf, 0x0003); //Software limit on X, Y, Z axes: ON compp(0x1, 100000); //X: -1000 ~ +100000 compm(0x1, -1000); compp(0x2, 50000); //Y: -500 ~ +50000 compm(ox2, -500); compp(0x4, 10000); //Z: -100 ~ +10000 compm(0x4, -100);

//***********<<Main Program>>************** void main(void)

¡ a int count; outpw(adr+wr0, 0x8000); for(count = 0; count<2; ++count);

//Software reset command(0xf, 0xf); outpw(adr+wr1, 0x0000);

00000000 00000000 outpw(adr+wr2, 0x0000);

00000000 00000000 outpw(adr+wr3, 0x0000);

00000000 00000000 outpw(adr+wr4, 0x0000);

00000000 00000000 outpw(adr+wr5, 0x0024);

00000000 00100100 homesrch( );

//-----Whole axis mode setting--------

//Mode register 1 :

//Mode register 2 :

//Mode register 3 :

//General output register

//Interpolation mode register

//-----Initial value settings for whole axis driving accofst(0xf,0); //AO = 0 range(0xf, 800000) acac(0xf, 1010);

//R = 800000 (Multiple = 10)

//K = 1010 (Jerk = 619 KPPS/SEC2) acc(0xf, 100);

KPPS/SEC) dec(0xf, 100);

//A = 100 (Acceleration/deceleration=125 startv(0xf, 100); speed(0xf, 4000); pulse(0xf, 100000); lp(0xf, 0);

//D (Deceleration = 125 KPPS/SEC)

//SV = 100 (Initial Speed = 1000 PPS)

//V = 40000 (Drive Speed = 40000 PPS)

//P = 100000 (output pulse number = 100000)

//LP = 0 (Logical position counter = 0)

//-----Home searching on whole axis-----

//-----Trapezoidal driving at X and Y axes acc(0x3, 200); (Acceleration/deceleration = 250KPPS/SEC) speed(0x3, 4000); //V = 4000(Drive Speed = 4000 PPS)

68

pulse(0x1, 8000); //xP = 8000 pulse(0x2, 40000); //yP = 40000 command(0x3, 0x20); //- direction constant drive wait(0x3); //Wait for drive stop wreg3(0x3, 0x0004); //S-curve acceleration/deceleration driving at X and

Y axes acac(0x3, 1010); //K = 1010 (S-curve Acceleration = 619 KPPS/SEC2) acc(0x3, 200); //A = 200 (Acceleration/Deceleration = 250 KPPS/SEC) speed(0x3, 4000); //V = 4000 (Drive Speed = 4000 PPS) pulse(0x1, 50000); //xP = 50000 pulse(0x2, 25000); //yP = 25000 command(0x0, 0x21); //- direction constant drive wait(0x3); wreg3(0x3, 0x0000); //S-curve acceleration/deceleration mode clearing

//-----Linear interpolation drive at X and Y axis outpw(adr+wr5, 0x0124); //ax1 = x, ax2 = y, ax3 = z, linear speed keeps constant range(0x1, 800000); //ax1/R = 800000 (Multiple = 10) range(0x2, 1131371); speed(0x1, 100); pulse(0x1, 5000); pulse(0x2, -2000);

//ax1/R = 800000 x 1.414

//Drive Speed = 1000 PPS constant speed

//xP = +5000 (Finish point X = +5000)

//yP = -2000 (Finish point Y = -2000)

// 2-axis linear interpolation command90x0, 0x30); wait(0x3)

//-----Circular interpolation drive at X and Y axes ----outpw(adr+wr5, 0x0124); //ax1 = x, ax2 = y, ax3 = z, linear speed keeps constant range(0x1, 800000); range(0x2, 1131371); speed(0x1, 100); center(0x1, -5000); center(0x2, 0); pulse(0x1, 0); pulse(0x2, 0); command(0x0, 0x33);

//ax1/R = 800000 (Multiple = 10)

//ax2/R = 800000 x 1.414

//Drive Speed = 1000 PPS constant speed

//xC = 5000 (Center of X = -5000)

//yC = 0 (Center of Y = 0)

//xP = 0 (Finish point of X = 0) Circle

//yP = 0 (Finish point of Y = 0)

//CCW circular interpolation wait(0x3);

//----- Bit pattern interpolation at X and Y axes-----//(Example of figure

2.24)

//Drive Speed = 10 PPS constant speed(0x1,1); speed command(0, 0x36); //Bit pattern data writing permission outpw(adr+bp1p, 0x0000); //0 ~ 15 bits data writing outpw(adr+bp1m, 0x2bff); outpw(adr+bp2p, 0xffd4); outpw(adr+bp2m, 0x0000); command(0, 0x38); //Stack outpw(adr+bp1p, 0xf6fe); //16 ~ 31 bits data writing outpw(adr+bp1m, 0x0000); outpw(adr+bp2p, 0x000f); outpw(adr+bp2m, 0x3fc0); command(0, 0x38); outpw(adr+bp1p, 0x1fdb); //32 ~ 47 bits data writing outpw(adr+bp1m, 0x0000); outpw(adr+bp2p, 0x00ff); outpw(adr+bp2m, 0xfc00); command(0, 0x38); command(0, 0x38); bp_wait( );

//2-axis BP interpolation drive starting

//Wait for data writing outpw(adr+bp1p, 0x1fdb); //48 ~ 63 bit3 data writing outpw(adr+bp1m, 0x0000); outpw(adr+bp2p, 0x00ff); outpw(adr+bp2m, 0xfc00); command(0, 0x38);

// Bits pattern data writing inhibition

MCX314 command(0,0x37); wait(0x3); //Wait for drive stop

//----- Continuous interpolation at X and Y axes (Example of figure

2.29) speed(0x1, 100); //Drive Speed = 10 PPS constant speed

// node 1 pulse(0x1, 4500); pulse(0x2, 0); command(0, 0x30);

//Wait for next data setting

// node 2 next_wait(); center(0x1,0); center(0x2, 1500); pulse(0x1, 1500); pulse(0x2, 1500); command(0, 0x33); next_wait(); pulse(0x1, 0); pulse(0x2, 1500); command(0, 0x30); next_wait(); center(0x1, -1500); center(0x2, 0); pulse(0x1, -1500); pulse(0x2, 1500); command(0, 0x33); next_wait(); pulse(0x1, -4500); pulse(0x2, 0); command(0, 0x30); next_wait(); center(0x1, 0); center(0x2, -1500); pulse(0x1, -1500); pulse(0x2, -1500); command(0, 0x33); next_wait(); pulse(0x1, 0); pulse(0x2, -1500); command(0, 0x30); next_wait(); center(0x1, 1500); center(0x2, 0); pulse(0x1, 1500); pulse(0x2, -1500); command(0, 0x33); wait(0x3);

¡ b

// node 3

// node 4

// node 5

// node 6

//node 7

//node 8

6 9

12. Electrical Characteristics

12.1 DC Characteristics

n Absolute Maximum Rated

Item Symbol

Power Voltage VDD

Value

-0.3 ~ +7.0

Unit

V

Input voltage VIN -0.3 ~ V

DD

+0.3

V

Input Current

Reservation

Temperature

IIN

TSTG

±

10

-40 ~ +125 mA

°

C n Recommend Operation Environment

Item Symbol Value Unit

Power Voltage VDD 4.75 ~ 5.25

V

Ambient

Temperature

Ta 0 ~ +85

°

C

If the user wishes to operate the IC below 0

°

C, please make contact with our R&D engineer.

n DC Characteristics

(Ta = 0 ~ +85

°

C,

V

DD

5%)

Item Mark

High level input voltage V

IH

Low level input voltage V

IL

High level input current

I

IH

I

IL

Condition

V

IN

=V

DD

V

IN

=0V

V

Min.

Typ.

Max.

Unit

22 V

-10

-10

-200

DD

-0.05

0.8

10

10

-10

Remark

V

µ

A

µ

A

D15~D0 Input signal

µ

A

Input signal besides D15~D0

V Note 1

Low level input current

V

IN

=0V

I

OH

=-1

µ

A

I

OH

=-4 mA

High level output voltage

Low level output voltage

V

OH

V

OL

Output leakage current I

OZ

I

OH

=-8 mA

I

OL

=1

µ

A

I

OL

=4 mA

I

OL

=8 mA

V

OUT

=V

DD

or 0V

Smith hysteresis voltage V

H

Consuming current I

DD

I

IO

=0 mA, CLK=16 MHz

2.4

2.4

-10

0.3

52

0.05

0.4

0.4

10

90

V Output Signal besides

D15~D0

V D15~D0 Output signal

V

V Output signal besides D15~D0

V D15~D0 output signal

µ

A

D15~D0, BUSYN, INTN

V 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

Input/ Output capacity

Input capacity

Mark

C

IO

C

I

Condition

Ta=25

°

C f=1 MHz

Min.

Typ.

Max.

Unit

10

10 pF pF

Remark

D15 ~ D0

Other input pins

(Ta = 0 ~ +85

°

C

, VDD = 5V

±

5%, Output load condition: 85 pF + 1 TTL )

12.2 AC Characteristics

12.2.1 Clock

n CLK Input Pulse n SCLK Output Signal

CLK tWH tCYC tWL

Symbol tCYC tWH tWL tDR tDF

Item

CLK Cycle

CLK Hi Level Wavelength

CLK Low Level Wavelength

CLK

↑ →

SCLK

Delay Time

CLK

↑→

SCLK

Delay Time

CLK

SCLK tDR tDF

SCLK will not be output during reset.

Min.

62.5

20

20

Max.

21

23

Unit nS nS nS nS nS

MCX314

1 2 . 2 . 2 R e a d / W r i t e C y c l e

Read cycle

Valid Address

Write cycle

Valid Address tCR tAR tRD

Data output.

tDF tRC tRA tAW tCW tWW

Data input.

tDW tDH tWC tWA

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.

Symbol tAR tCR tRD tDF tRC tRA tAW tCW

Item

Address SETUP Time

CSN SETUP Time

Output Data Delay Time

(to RDN

)

(to RDN

)

(from RDN

)

Output Data Reservation Time

(from RDN

)

CSN Reservation Time

(from RDN

)

Address Reservation Time

Address SETUP Time

Established Time for CSN

(from RDN

)

(to WRN

)

(to WRN

) tWW WRN Low Level Wavelength tDW tDH tWC tWA

Established Time for Input Data (to WRN

)

Reservation Time for Input Data (from WRN

)

CSN Reservation Time

Address Reservation Time

(from WRN

)

(from WRN

)

12.2.3 BUSYN Signal

Min.

0

0

0

50

30

10

5

5

0

0

0

0

Max.

29

30 nS nS nS nS

Unit nS nS nS nS nS nS nS nS nS tDF tWL

It is low when BUSYN is active. And BUSYN is low after 2 SCLK cycles when WRN

active.

Mark tDF tWL

Item

WRN

↑ →

BUSYN

Delay Time

BUSYN Low Level Wavelength

Min.

Max.

32

Unit nS tCYC x 4+30 nS tCYC is a cycle of CLK.

12.2.4 SCLK/Output Signal Timing

The following output single is synchronized with SCLK output signal. The level at ACLK

will be changed.

Output signals : nPP/PLS, nPM/DIR, nDRIVE, nASND, nDSND, nCMPP, and nCMPM.

7 1

MCX314

Mark tDD

SCLK

Output signal tDI

Item

SCLK

↑ →

Output Signal

↑ ↓

Delay Time

12.2.5 Input Pulses

n Quadrature Pulses Input Mode (A/B phases)

Counting up nECA nECB tDE tDE tDE tDE

Min.

0

Counting down tDE tDE tDE tDE

Max.

20

Unit nS n Up/Down Pules Input Mode nPPIN nPMIN tDE tDE tDE tDE tICYC tIB tICYC 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.

Max.

Mark tDE tIH tIL

Item nECA and nECB Phase Difference Time nPPIN and nPMIN Hi Level Wavelength nPPIN and nPMIN Low Level Wavelength tiCYC nPPIN and nPMIN Cycle tIB nPPIN

↑ ←→

nPMIN

Time

Min.

tCYC x 2+20

30

30 tCYC x 2+20 tCYC x 2+20

Unit nS nS nS nS nS

12.2.6 General Purpose Input / Output Signals

The figure shown at the lower left hand side illustrates the delay time when input signals nIN3 ~ 0, nEXPP, nEXPM, nINPOS, and nALARM are read through RR4 and RR5 registers.

The figure shown at the lower right hand side illustrates the delay time when writing general output signal data into nWR3 and nWR4.

Input signal

RDN

D15~0

Mark tDI tDO

WRN

D15~0 tDI

Item

Input Signal

Data Delay Time

WRN

↑ →

nOUT7~0 Established Time nOUT7~0

Min.

Max.

32

32 tDO

Unit nS nS

72

13. Timing of Input / Output Signals

13.1 Power-On Reset

VDD

CLK

RESETN

SCLK

BUSYN

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

MCX314

13.2 Fixed Pulse or Continuous Driving

SCLK

WRN

BUSYN nPP, nPM, nPLS nDIR

Pre-state nDRIVE nASND, nDSND

Drive command write in

1st pulse valid level valid level

2nd pulse

The final pulse

¬ 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

.

7 3

MCX314

13.3 Interpolation

SCLK

WRN

BUSYN nPP, nPM, nPLS nDIR nDRIVE

ƒ invalid

1st pulse valid level

ƒ invalid

2nd pulse valid level invalid

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

13.4 Start Driving after Hold Command

SCLK

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.

13.5 Sudden Stop

The following figure illustrates the timing of sudden stop. The sudden stop input signals are EMGN, nLMTP/M (When the sudden stop mode is engaged), and nALARM.

When sudden stop input signal becomes active, or the sudden stop command is written, it will stop the output of pulses immediately.

The width of external signals input for sudden stop must be more than 1 SCLK cycle. The stop function will not be active if the width is less 1 SCLK cycle.

SCLK

Decelerating signal

Decelerating command write in active nPP, nPM, nPLS nDSND

13.6 Decelerating Stop

The following figure illustrates the timing of decelerating stop input signal and decelerating commands. The decelerating stop signal are nIN3 ~ 0 and nLMTP/M (When the decelerating mode is engaged)

74

When speed decelerating signals become active, or the decelerating stop command is written, the decelerating stop function will be performed.

MCX314

Decelerating signal

Decelerating command write in active nPP, nPM, nPLS nDSND

7 5

MCX314

14. Pinout

U n i t : m m

76

MCX314

15. Specifications

n Control Axis n Data Bus

4 axes

16/8 bits selectable

Interpolation Functions

n 2-axes / 3-axes Linear Interpolation

Interpolation Range

Interpolation Speed

Interpolation Accuracy

Each axis -8,388,608 ~ +8,388,607

1 ~ 4 MPPS

±

0.5 LSB (Within the range of whole interpolation) n Circular Interpolation

Interpolation Range

Interpolation Speed

Interpolation Accuracy

Each axis -8,388,608 ~ +8,388,607

1 ~ 4 MPPS

±

1 LSB (Within the range of whole interpolation) n 2 axes / 3 axes Bit Pattern Interpolation

Interpolation Speed 1 ~ 4 MPPS (Dependent on CPU data writing time) n Related Functions of Interpolation lCan select any axis lConstant vector speed lContinuous interpolation lSingle step interpolation (Command/external signals)

Common Specifications of Each Axis

n Drive Pulses Output (When CLK = 16 MHz)

Pulse Output Speed Range

Pulse Output Accuracy

S-curve Jerk

Accelerating / Decelerating Speed

Drive Speed

1PPS ~ 4MPPS within

±

0.1% (according to the setting speed)

10

9

PPS/S

2

10

6

PPS/S

10

6

PPS

Output-pulse Number

Speed Curve

0 ~ 268435455 / unlimited quadrature / trapezoidal / parabolic S-curve

Index Drive Deceleration Mode auto / manual

Output-pulse numbers and drive speeds changeable during the driving

Independent 2-pulse system or 1-pulse 1-direction system selectable

Logical levels of pulse selectable 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

Real Position Counter (for feedback pulse) range

Data read and write possible

-2,147,483,648 ~ +2,147,483,647

-2,147,483,648 ~ +2,147,483,647

7 7

MCX314 n Comparison Register

COMP + Register

COMP

Register

Position comparison range -2,147,483,648 ~ +2,147,483,647

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 Interrupt (Interpolations Excluded)

The factors of occurring interrupt:

..the drive-pulse outputting

..the start / finish of a constant-speed drive during the acceleration / deceleration driving

..the end of the driving

Enable / disable for these factors selectable n External Signal for Driving

EXPP and EXPM signals for fixed pulse / continuous drive n External Deceleration / Sudden Stop Signal

IN0 ~ 3 4 points for each axis

Enable / disable and logical levels selectable n Servo Motor Input Signal

ALARM (Alarm)

INPOS (In Position Check)

Enable / disable and logical levels selectable n General Output Signal

OUT0 ~ 7 8 points for each axis (wherein 4 points use with drive status output signal pin) n Driving Status Signal Output

ASND (speed accelerating), DSND (speed decelerating),

Drive status and status registers readable n Limit Signals Input

2 points, for each + and - side

Logical levels and decelerating / sudden stop selectable n Emergency Stop Signal Input

EMG, 1 point for 4 axes n Electrical Characters

Temperature Range for Driving

Power Voltage for Driving

Input / Output Signal Level

Input Clock Pulse n Package

0 ~ +45

°

C

(32ºF ~185ºF)

±

5V

±

5 % (max. power consumption: 90mA)

CMOS, TTL connectable

16,000 MHz (Standard)

144-pin plastic QFP, pitch = 0.65mm

Dimension : 30.9 x 30.9 x 4.36 mm

78

MCX314

Appendix A: Speed Curve Profile

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

R=800000 (Rate:10), K=700, A=D=200, SV=100, V=4000, A0=50

Auto Decelerating Mode

Jerk=893KPPS/ SEC

2

Accel. / Decel. =250KPPS/SEC

Initial Speed=1000PPS

Drive Speed=40KPPS

Output Pulse P=50000 n 40KPPS Partial S-curve Acceleration / Deceleration

R=800000 (Rate:10), K=300, A=D=150, SV=100, V=4000, A0=20

Auto Decelerating Mode

Jerk=2083KPPS/ SEC

2

Accel. / Decel. =188KPPS/SEC

Initial Speed=1000PPS

Drive Speed=40KPPS

Output Pulse P=50000

1

MCX314 n 8000PPS complete S-curve Acceleration / Deceleration

R=8000000 (Rate:1), K=2000, A=D=500, SV=100, V=8000, A0=0

Auto Decelerating Mode

Jerk=31KPPS/ SEC

2

Accel. / Decel. =62.5KPPS/SEC

Initial Speed=100PPS

Drive Speed=8000PPS

Output Pulse P=20000 n 8000PPS Partial S-curve Acceleration / Deceleration

R=800000 (Rate: 1), K=1000, A=D=100, SV=100, V=8000, A0=0

Auto Decelerating Mode

Jerk=62.5KPPS/ SEC

2

Accel. / Decel. =12.5KPPS/SEC

Initial Speed=100PPS

Drive Speed=8000PPS

Output Pulse P=20000 n 400KPPS Full S-curve Acceleration / Deceleration

R=80000(Rate:100),K=2000,A=D=100,SV=10,V=4000, A0=1000

Auto Decelerating Mode

Jerk=3.13MPPS/SEC

2

Accel. / Decel. =1.25MPPS/SEC

Initial Speed=1000PPS

Drive Speed=400KPPS

Output Pulse P=400000 n 400KPPS Partial S-curve Acceleration / Deceleration

R=80000 (Rate: 100), K=500, A=D=100, SV=10, V=4000, A0=0

Auto Decelerating Mode

Jerk=12.5MPPS/ SEC

2

Accel. / Decel. =1.25MPPS/SEC

Initial Speed=1000PPS

Drive Speed=400KPPS

Output Pulse P=400000

2

MCX314 n Speed Alterations in a Continuous S-curve Acceleration / Deceleration Drive

Jerk=312.5KPPS/ SEC

2

Jerk(decel.)=125KPPS/SEC

Initial Speed=1000PPS n 40KPPS Linear Acceleration / Deceleration

R=800000 (Rate: 10), A=D=100, SV=100, V=4000

WR3/D2, D1, D0=0, 0, 0

Trapezoidal Mode, Auto Decelerating Mode

Accel./ Decel. =125KPPS/ SEC

Initial Speed=100PPS

Drive Speed=40000PPS

Output Pulse P=40000 n Triangle wave Avoiding during the Linear Acceleration / Deceleration

When K=1 (Jerk: Maxium) in the S-curve Accel./ Decel. Mode, “ 1/4 output pulses” principle can be engaged. Even the output pulses are few, the drive is a trapezoidal drive.

R=800000 (Rate: 10), K=1, A=D=100, SV=100, V=4000

WR3/D2, D1, D0=1, 0, 0 S-curve Mode, Auto Decelerating Mode

Jerk =625MPPS/ SEC

2

Accel./ Decel. =125KPPS/SEC

Initial Speed=1000PPS

Drive Speed=40000PPS

Output Pulse P=40000

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.

R=800000 (Rate: 10), K=1000, A=D=8000, SV=100, V=2000, P=50000

Auto Decelerating Mode

R=800000 (Rate: 10), K+50, A=D=8000, SV=200, V=4000, A0=0, P=50000

Auto Decelerating Mode

4

advertisement

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Related manuals

Download PDF

advertisement

Table of contents