Home

MCX312 User`s Manual

image

Contents

1. 70 7 Commands for Reading Data 71 7 1 Logical Position Counter Reading 71 7 2 Real position Counter Reading 71 7 3 Current Drive Speed Reading 71 7 4 Current Acceleration Deceleration Reading 72 7 5 Maximum Finish Point Reading For Multichip Linear Interpolation 72 8 Driving Commands 73 8 1 Direction Fixed Driving 73 8 2 Direction Fixed Driving 74 8 3 Direction Continuous Driving 74 8 4 Direction Continuous Driving 74 8 5 Drive Status Holding 75 8 6 Drive Status Holding Release Finishing Status Clear 75 8 7 Decelerating Stop 75 8 8 Sudd niStop 2 Haters ce ae pers a Se MITT ETT 75 9 Interpolation Commands 76 9 1 2 Axis Linear Interpolation 76 9 2 CW Circular Interpolation
2. 76 9 3 CCW Circular Interpolation 77 9 4 2 Axis Bit Pattern Interpolation 77 9 5 BP Register Data Writing Enabling 77 9 6 BP Register Data Writing Disabling 77 9 BPD ataSiack e ercefcos ue9eccepeeteofogeeBssreeeceosoececcoueeeeccccc 78 9 8 BP Data Clear o coccoccc000 0000 0 78 9 9 Single Step Interpolation 78 NOVA electronics Inc MCX312 v 9 10 Deceleration Enabling 78 9 11 Deceleration Disabling 79 9 12 Interpolation Interrupt Clear 7 79 9 13 Maximum Finish Point Clear For Multichip Linear Interpolation 7 79 10 Connection Examples 80 10 1 Connection Example for 68000 CPU 80 10 2 Connection Example for Za0 CPU 80 10 3 Connection Example for H8 CPU 81 10 4 Connection Example 82 10 5 Pulse Output Interface 82 10 6 Co
3. 45V MCX312 24V We nLMTP Mr x 4 v Z LIMIT e zz Built in Filter E Driving by External Signal It is possible to control each axis by external signals The direction fixed driving continuous driving or in manual pulsar mode can be also performed through the external signals This function is used for JOG or teaching modes and will share the CPU load E Input for Home Search Each axis has three external input signals to deceleration stop during driving Applying those input signals can perform high speed near home search home search and encoder Z signal search E Servo Motor Feedback Signals Each axis includes input pins for servo feedback signals such as in positioning Bi Interrupt Signals Interrupt signals can be generated when 1 the start finish of a constant speed drive during the acceleration deceleration 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 E 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 NOVA electronics Inc MCX312 M4 ll 8 or 16 Bits Data Bus Selectable MCX312 can be connected to either 8 bit or 16 bit CPU Fig 1 1 is the IC functional block diagram I
4. BP register data writing disabling This command disables the bit pattern data writing registers BP1P M and BP2P M After this command is issued the data writing to register nWR2 nWRS becomes enabled 77 NOVA electronics Inc MCX312 M78 9 7 BP Data Stack Command BP data stacking This command stacks the data of bit pattern data writing registers BP1P M and BP2P M After this command is issued stack counter SC will plus 1 When stack counter SC is 3 this command cannot be issued again 9 8 BP Data Clear Command BP data clearing This command clears all the bit pattern data and sets the stack counter SC to 0 9 9 Single Step Interpolation Command Single step interpolation This command performs 1 pulse each step output in interpolation driving When D13 bit of register WRS is set 1 the single step interpolation can be performed After this command is issued single step interpolation starts 9 10 Deceleration Enabling Command 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
5. M80 10 Connection Examples 10 1 Connection Example for 68000 CPU OOUUU IVIGLA S 12 Clock Generator 16MHz LL R W ed lt P indicates high resistance pull up 5V v _ Add Decoder s G O C 5V 74LS348 45V 74LS138 5 UO AAO O C From the reset circuit of the system 10 2 Connection Example for Z80 CPU Z80 MCX312 Clock Generator ulate CLK RDN WRN 74LS139 CSN gt w A lt NI indicates high resistance pul up E 7 From the reset circuit of the system 80 NOVA electronics Inc 10 3 Example of Connection with H8 CPU H8 3048 Crystal Ceramic XTAL EXTAL H8 3048 XTAL Oscillator Example of 16 bit Bus Mode Connection 16MHz indicates high resistance pul up Address Assignment in Mode 5 5V From the reset circuit of the system Low order data D15 D0 High order data D31 D16 Example of 8 bit Bus Mode Connection Address Write Register Read Register 80000 WRO RRO 80002 WR1 RR1 80004 WR2 RR2 80006 WR3 RR3 80008 WR4 RR4 8000A WR5 RR5 8000C WR6 RR6 8000E WR7 RR c 16MHz 7z indicates high resistance pul up From the reset circuit of the system egt MCX312 M81 MCX312 CLK RDN WRN CSN A2 A1 AO D15 DO IN
6. NOVA electronics Inc MCX302 B6 GOES OUT CONSTANT SPEED AREA DECELERATING AREA DRIVING FINISHES FORWARD LIMIT IS ON ASND CNST DSND 0 JUDGED AS TROUBLE HAPPENS SUDDEN STOP COMMAND 27h 00 INTERRUPTION PROCESSING nO OTHER INTERRUPTION FACTORS nRR3 D5 C END 1 This shows the interruption when driving goes into decelerating area c from constant speed area b is normal Make driving finished as it goes nRR1 DA DSND 1 This shows the interruption when driving has finished normally in area d Make driving finished as it goes RRO DO X AXIS 0 During driving backward limit never be on So RR1 D12 D13 won t be 1 due to backward limit nRR D12orD13 1 nRR1 D2 D3 D4 0 C PROCESSING FINISHED D Check if driving goes out constant speed area or not If RR3 D5 C END bit of driving axis is 0 there are other interruption factors Execute those interruption processing Check if driving goes into decelerating area or not If its RR1 D4 DSND 1 make it finished as it goes because driving goes into c area from b area on Figure 3 If it s RR1 D4 DSND 0 move it to processing because driving has gone out d area Check if driving has finished or not If it s finished make it finished as it goes because driving has finished normally But if it s not finished yet surely trouble have happened because stat
7. 16 2 3 4 Clearing a Real Position Counter Using an External Signal 16 2 4 Interpolation dA 592 20502 5 p065s e6e H8scBnDHO Ds neasesIBuc te amp cecenesr 18 2 4 1 Linear Interpolation 18 2 4 2 Circular Interpolation 7 7 7 19 2 4 3 The Bit Pattern Interpolation 21 2 4 4 Constant Vector Speed 25 2 4 5 Continuous Interpolation 25 2 4 6 The Acceleration Deceleration Control in Interpolation 28 2 4 7 Single step interpolation from Command or External Signal 31 2 4 8 Multichip Axes Interpolation 33 2 5 Interrupt 37 2 6 Other Functions Sass sssessssesSrstocsssecsSsertesssSeete sss cesses scss 39 2 6 1 Driving By External Pulses 39 2 6 2 Pulse Output Type Selection 40 2 6 3 Pulse Input Type Selection 41 2 6 4 Hardware Limit Signals 41 2 6 5 Interface to Servo Motor Drivers 41 2 6 0 Emergency Stop 2 2 r27 56c acoccoEococepec esr sass 42 2 6 7 Status Output 2 29 3 5 5 c ors03 es c UOpET
8. 97 15 Specifications 99 Appendix A Speed Profile of Acceleration Deceleration Drive A1 Appendix B Important Notice B1 Update history Aug 22 2011 Ver 2 2 P7 P6 44 P58 P90 P92 P94 P95 W Changing a Drive speed During Driving and Fig 2 5 has been deleted Chapter 2 The figure number of Fig 2 6 Fig 2 42 is carried one because of Fig 2 5 having been deleted The low word data writing 16 bit WD15 WD9O is for register RR6 setting and the high word data writing 16 bit WD31 WD106 is for register RR7 setting The low word data writing 16 bit WD15 WD0 is for register WR6 setting and the high word data writing 16 bit WD31 WD16 is for register WR7 setting 12 1 DC Characteristics Reservation Temperature Preservation Temperature 12 2 3 BUSYN Signal It is low when BUSYN is active And BUSYN is low after 2 SCLK cycles when WRN f active BUSYN becomes low active for maximum 2 SCLK cycles from WRN 1 During the time IC cannot accept Read Write 12 2 4 SCLK Output Signal Timing The following output single is synchronized with SCLK output signal The level at ACLK 1 will be changed Output signals nPP PLS nPM DIR nDRIVE nASND nCNST nDSND nCMPP nCMPM nACASND and nACDSND The following output signals are synchronized with SCLK output signal The level will be changed at SCLK
9. D5 3 1 SPm E The bit for setting enable disable of driving stop input signal STOPm 0 disable 1 enable D4 2 0 SPm L The bit for setting enable logical levels for input signal STOPm 0 stop on the Low level 1 stop on the Hi level D6 EPCLR When driving stops triggered by the nSTOP2 signal the real position counter is cleared When the nSTOP2 signal is changed to the Active level while this bit is set to 1 the driving stops and the real position counter EP is cleared The WR1 D5 SP2 E bit must be set to 1 and the Enable level must be set in the WRI DA SP2 L bit D7 EPINV Reverse increase decrease of real position counter D7 EPINV Input pulse mode Increase Decrease of real position counter A B phase mode Count up when A phase is advancing 0 Count down when B phase is advancing Up Down pulse mode Count up when PPIN pulse input Count down when PMIN pulse input A B phase mode Count up when B phase is advancing 4 Count down when A phase is advancing Up Down pulse mode Count up when PMIN pulse input Count down when PPIN pulse input D8 SMOD Setting for prioritizing to reach specified drive speed during S curve acceleration deceleration driving 1 enable For the following bits the interrupt is set 1 enable 0 disable D9 P2C Interrupt occurs when the value of logical real position counter is larger than or equal to that of COMP register D10 P C Interrupt occurs when the value of logi
10. Fig 2 30 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 Y axis is the short axis in Finish point Reber ie 702 299 quadrant 4 So the interpolation is finished when Y axis is 299 Interpolation will be finished when ax2 299 in the 4th quadrant Fig 2 29 Example of The Finish Point Checking of Circular Interpolation Start point 0 0 The position boundary is between coordinates 8 388 608 and 8 388 608 The position tolerance for the specified circular curve is 1 within the entire interpolation range The interpolation speed is within the range from 1PPS to 4MPPS W The Example for CW Circular Interpolation This CW circular interpolation starts from the current point start point 0 0 to the finish point X 5000 Y 5000 the center point is X 5000 Y 0 The interpolating speed is constant at 1000PPS in a constant vector speed driving WR5 0100h write constant linear speed WR6 0900h write range 4 000 000 Multiple 2 WR7 003Dh write WRO 0100h write WR6 4DCOh write range of constant vector speed for 2 axes WR7 lt 0056h write 4 000 000 x 1 414 5 656 000 WRO 0200h write Center point WRO 01F4h write initial speed 500 x 2 1000PPS amp 5000 0 WRO 0104h write m pont 5000 0 WR6 01F4h write drive speed 500 x 2
11. and the assumed pulse numbers needed for deceleration are 5000 In such situation the absolute value of Y axis is the largest so we can set up 60000 5000 55000 to be the manual deceleration point of X axis Please refer to the example of 2 axis linear interpolation in 2 4 1 28 NOVA electronics Inc MCX312 M29 W The Acceleration Deceleration for Circular Interpolation and Bit Pattern Interpolation 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 10000 N2 7071 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 PES 65000PPS SEC And the output pulses during acceleration will be 20Kr 7 7 2 ASR 500 20000 x 0 3 2 3075 Thus if we set the deceleration as same as the Output Pulse During acceleration the manual decelerating point will
12. finish point Y 1500 Seg3 WR7 lt 0000h write WRO 0206h write WRO 0030h write 2 axis linear interpolation Procedure A same procedure for segments 4 8 2 4 6 The Acceleration Deceleration Control in Interpolation Different from other IC chips only allowing constant speed for executing the interpolations MCX312 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 BW The Acceleration Deceleration for 2 axis Interpolation It is possible to perform trapezoidal and S curve acceleration deceleration driving during the execution of 2 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 X axis decelerating point For instance while executing 2 axis linear interpolation to the finish point X 720000 Y 60000
13. v D Deceleration rate pps sec D gt A x se A Acceleration rate pps sec Where CLK 16MHz 4x10 V Drive Speed pps For instance if the driving speed V 100kps deceleration D must be greater than 1 40 of acceleration A The value must not be less than 1 40 of the acceleration f acceleration gt deceleration Fig 2 12 the greater the ratio of acceleration A to deceleration D becomes the greater the number of creep pulses becomes about maximum of 10 pulse when A D 10 times When creep pulses cause a problem solve the problem by increasing the initial speed or setting a minus value to the acceleration counter offset 10 NOVA electronics Inc MCX312 M11 2 2 4 S curve Acceleration Deceleration Driving This IC creates an S curve by increasing reducing acceleration decelerations in a primary line at Speed acceleration and deceleration of drive speed j A Drive Speed Figure 2 13 shows the operation of S curve acceleration deceleration When driving starts the acceleration increases on a straight line at the specified jerk K In this case the speed data forms a secondary Initial Speed parabolic curve section a When acceleration reaches designation value A acceleration is maintained In Time this case the speed data forms an increase on a straight Acceleration line section b Deceleration If the difference between the specified drive speed Designation V and the current speed be
14. 1000PPS WRO 0105h write WR6 1388h write center point of X 5 000 WR7 lt 0000h write WRO 0108h write Finish point 5000 5000 WR6 0000h write center point of Y 0 WR7 0000h write WRO 0208h write WR6 1388h write finish point of X 5 000 WR7 lt 0000h write WRO 0106h write WR6 EC78h write finish point of Y 5 000 WR7 FFFFh write WRO 0206h write WRO 0032h write CW circular interpolation enabling 20 NOVA electronics Inc MCX312 M21 2 4 3 The Bit Pattern Interpolation This interpolation driving receives interpolation data that is tY created by upper level CPU and transformed to bit patterns in a block of a predetermined size and outputs interpolation pulses 24 consecutively at the specified drive speed 16 Every axis has 2 bit data buffers for host CPU one for direction 48 and the other for direction When performing the bit pattern interpolation the host CPU will write the designated interpolation data for each axis X and Y into MCX312 8 If a bit in the bit pattern data from CPU is 1 MCX312 will 56 output a pulse at the time unit if it is 0 MCX312 will not output 62 any pulse at the time unit X For example if the user want to generate the X Y profile see Fig 2 31 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 a
15. 125nSEC Basically the duty ratio of each pulse is 50 as show in Fig 2 16 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 500uSEC on its Low level and the period is 1mSEC R 8000000 SV 1000 V 1000 Fig 2 15 High Low Level Width of Driving Pulse Output V21000PPS 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 17 Acceleration Area Constant Speed Area Deceleration Area a tHA Lu tla tHC a m gt tLC a HD tLD tHA gt tLA tHC tLC tHD lt tLD Fig 2 16 Comparison of Drive Pulse Length in Acceleration Deceleration W The Accuracy of Drive Speed The clock SCLK running in MCX312 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 an exact multiple of SCLK period 125nSEC Otherwise the driving pulse will not very stable The frequency speed of driving pulse of MCX312 can be there are all exact the multiple of 125nSEC For instance the only frequencies that can be output are double 4 000 MHz triple 2 667 MHz quadruple 2 000 MHz five times 1 600 MHz six times 1 333 MHz seven times 1 143 MHz eight times 1 000 MHz nine times 889 KHz 10
16. 98 NOVA electronics Inc 15 Specifications E Control Axis 2 axes E Data Bus 16 8 bits selectable Interpolation Functions W 2 axes Linear Interpolation Interpolation Range Each axis Interpolation Speed Interpolation Accuracy B Circular Interpolation Interpolation Range Each axis Interpolation Speed Interpolation Accuracy W 2 axes Bit Pattern Interpolation Interpolation Speed E Related Functions of Interpolation G Constant vector speed Single step interpolation Command external signals MCX312 M99 8 388 607 8 388 607 1 74 MPPS 0 5 LSB Within the range of whole interpolation 8 388 607 8 388 607 1 74 MPPS 1 LSB Within the range of whole interpolation 1 4 MPPS Dependent on CPU data writing time Continuous interpolation Multichip axes linear interpolation Common Specifications of Each Axis E Drive Pulses Output When CLK 16 MHz Pulse Output Speed Range Pulse Output Accuracy within S curve Jerk 1 4MPPS 0 196 according to the setting speed 954 62 5 x 10 PPS S Multiple 1 477 x 10 31 25 x 10 PPS S Multiple 500 Accelerating Decelerating Speed 125 1x 10 PPS S Multiple 1 62 5x10 500 x 10 PPS S Multiple 500 Initial Speed 1 8 000PPS Multiple 1 500PPS 4x10 PPS Multiple 500 Drive Speed 1 8 000PPS Multiple 1 500PPS 4x10 PPS 0 268 435 455 fixed drive Constant
17. P93 line 10 WRN nOUT7 0 WRN nOUT7 0 MCX314As ii When continuous driving or circular interpolation driving is performed after fixed driving Added e When the fixed S curve acceleration deceleration driving is performed the driving speed does 1 073 741 824 1 073 741 824 1 073 741 824 1 073 741 824 Added SV must be set as more than 100 to the constraint of S curve Acceleration Deceleration Driving Separated two cases such as Trapezoidal Acceleration Deceleration Driving and S curve Acceleration Deceleration Driving more clearly and added SV must be set as more than 100 to 6 5 Initial Speed Setting NOVA electronics Inc MCX314As iii P94 line 21 dDRIVE nDRIVE P99 line 28 35 Added descriptions of multiple to the end of each line NOVA electronics Inc MCX312 M1 1 OUTLINE MCX312 is a 2 axis motion control IC which can control 2 axes of either stepper motor or pulse type servo drivers for position speed and interpolation controls All of the MCX312 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 E Individual Control for 2 Axes MCX312 controls motors through pulse string driving The IC can control motors of two axes independently with a single chip Each of the two axes has identical function capabilities and is controlled by
18. 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 DO of RR register or nOUT3 CMPM signal Also it can be used as the direction software limit The value of COMP register can be written anytime 69 NOVA electronics Inc 6 14 Acceleration Counter Offsetting Command Data Range MCX312 M70 Data Length Acceleration Counter Offsetting 32 768 432 767 AO is the parameter executing acceleration counter offset The offset value of acceleration counter will be set 8 while resetting 6 15 NOP for Axis Switching Command Data Range 2 bytes Data Length NOP for axis switching No execution is performed Use this command for switching the axis for selecting the registers from WR1 WR3 registers and RR1 RR3 registers 70 NOVA electronics Inc MCX312 M71 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 WRO 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 a It requires 250 nSEC maximum to access the command code of data reading where CLK 16MHz After the command is written and pa
19. main chip If the command 30h is written to main chip before sub chip the multichip interpolation does not work properly When acceleration deceleration is performed deceleration enabling command 3Bh must be written to main chip before interpolation drive command is written 34 NOVA electronics Inc MCX312 M35 Writing linear interpolation command 30h to sub chip Writing deceleration enabling command 3Bh to main chip Not required when constant speed drive Writing linear interpolation command 30h to main chip Once 30h command is written to main chip interpolation drive starts immediately and main chip starts to output synchronous pulse of interpolation drive from MPLS signal to each sub chip Finish of interpolation RRO D8 I DRV bit of main chip becomes 1 during interpolation driving and it returns to 0 when interpolation drive finishes If in position of each axis is enabled RRO D8 I DRV bit of main chip returns to 0 after INPOS signal of every enabled axis becomes active level Errors occurring and check When an error occurs in any axis of main chip during interpolation driving one of bit D5 0 RR2 register of the axis becomes 1 and bit D5 4 Y ERR X ERR RRO register becomes 1 And when an error occurs in any axis of sub chip sub chip makes MERR signal of multichip interpolation signal Low Active and informs main chip about an error occurring In main chip when errors are received bit Do
20. times 800 KHz Any fractional frequencies cannot be output It is not very stable to set any desired drive speed However MCX312 can make any drive speed in using the following method For instance in the case of the range setting value R 80 000 magnification 100 and drive speed setting value V 4900 the speed of driving pulses of 4900x100 490 KPPS is output Since this period is not a multiple integer of the SCLK period pulses of 490KPPS cannot be output under a uniform frequency Therefore as shown in Fig 2 18 MCX312 combines 16 times and 17 times of SCLK period in a rate of 674 326 to generate an average 490K PPS 16 16 16 17 16 16 17 Fig 2 17 The Driving Pulse of 490KPPS According to this method MCX312 can generate a constant speed driving pulse in a very high accuracy In general the higher of the drive speed the lower of the accuracy But for MCX312 it still can maintain relative accuracy when the drive 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 jitter about ISCLK 125nSEC This is no matter when putting the driving to a motor because the jitter will be absorbed by the inertia of motor system 14 NOVA electronics Inc MCX312 M15 2 3 Position Control Fig 2 19 is 1 axis position control block diagram For each axis there are two 32 bit up and down counters for counting present pos
21. 1 Output signals nPP PLS nPM DIR nDRIVE nASND nDSND nCMPP and nCMPM 12 2 5 Input Pulses a 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 SCLKA is passed In quadrature pulses input mode when nECA and nECB input pulses are changed the value of real position counter will be reflected in maximum 4 SCLK cycles b 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 f and the time of SCLK 4 cycle is passed n UP DOWN pulse input mode the value of real position counter will be reflected in maximum 4 SCLK cycles from nPPIN and nPMIN input 1 13 2 Fixed or Continuous Driving a This first driving pulses nPP nPM and nPLS will be output after 3 SCLK cycles when BUSYN is f gt Driving pulses nPP nPM and nPLS shown as above are positive logic pulses And the first driving pulse will be output after 3 SCLK cycles from BUSYN f b The nDIR direction signal is valid after 1 SCLK cycle when BUSYN is f nDIR direction signal is valid after 1 SCLK cycle from BUSYN f c The nDRIVE becomes Hi level when BUSYN is 1 dDRIVE becomes Hi level from BUSYN 1 d The nASND and nDSND are on invalid level after 3 SCLK cycles when BUSYN is f gt nASND and nDSND are on va
22. 1 the external MPLS controlled single step interpolation mode is engaged eT NOVA electronics Inc MCX312 M58 D13 CMPLS When it is 1 the command controlled single step interpolation mode is engaged D14 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 9 Data Register WR6 WR7 Data registers are used for setting the written command data The low word data writing 16 bit WD15 WDb0 is for register WR6 setting and the high word data writing 16 bit WD31 WD16 is for register WR7 setting H L D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 DO WR6 WD15 WD14 WD13 WD12 WD11 WD10 WD9 WD8 WD7 WD6 WD5 WD4 WD3 WD2 WD1 WDO H L D15 D14 D13 D12 D11 D10 DI D8 D7 D6 D5 D4 D3 D2 D1 DO 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 Fo
23. AO 32 768 32 767 2 OF NOP For axis switching Note When those parameters are written the total data length should be completely filled Formula Calculation for Parameters Multiple Sao a 62 5 x 10 8 000 000 K R m ti e nl Multiple Jerk PPS SEC Acceleration PPS SEC A x 125 x 8000 000 i oe E NI Multiple 8 000 000 R LLL Multiple Drive Speed PPS V x _ 62 5 x10 x 8 000 000 i L R eS a Multiple Deceleration Increasing Rate PPS SEC Deceleration PPS SEC D x 125 x 000 000 P o DE Multiple 8 000 000 R be 4 Multiple Initial Speed PPS SV x 63 NOVA electronics Inc E Data Reading Commands MCX312 M64 Code Command Symbol Data Range Data Length 10h Logical position counter reading LP 2 147 483 648 2 147 483 647 4 bytes 11 Real position counter reading EP 2 147 483 648 2 147 483 647 4 12 Current drive speed reading CV 1 8 000 2 13 Acceleration deceleration reading CA 1 8 000 2 44 Maximum finish point reading for MX 0 8 388 607 4 multichip linear interpolation W Driving Commands Code Command 20h direction fixed driving 21 direction fixed driving 22 direction continuous driving 23 direction continuous driving 24 Drive start holding 25 Drive start holding release stop status clear 26 Decelerating stop 27 Sudden stop E Interpolation C
24. Acceleration A Deceleration Initial Speed Drive Speed Output pulses R K D SV V P Constant speed driving O O O O Linear acceleration zd O O A O O Q deceleration driving Non symmetrical linear acceleration deceleration O O O O O Q driving S curve acceleration T O O O A O O O deceleration driving A will be set when needed NOVA electronics Inc MCX312 M74 8 2 Direction Fixed Driving Command Direction Fixed Driving The setting pulse numbers will be output through the output signal nPM In driving logical 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 Command 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 logical 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 8 4 Direction Continuous Driving Command 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 logical position counter
25. B quadrature pulse input mode A B quadrature pulse input mode can be set by setting the D9 PINMD bit of the WR2 register to 0 In this mode at the time of reset WR1 D7 0 when A phase is advancing with positive logical pulses the count is incremented and when the B phase is advancing the count is decremented The count is incremented and decremented at the rising edge and falling edge of both signals When the real position counter up down reverse bit WR1 D7 is set to 1 the up down operation of the real counter is reversed In A B quadrature pulse input mode the input pulses can be divided into 1 2 or 1 4 nECA PPIN nECB PMIN a e WR1 D7 EPINV 0 Count up at the both signals ty Count down at the both signals ty WR1 D7 EPINV 1 Count down at the both signals f Count up at the both signals W Up down pulse input mode By setting the D9 PINMD bit of the WR2 register to 1 a counter up down pulse input mode can be set nECA PPIN is count up input and nECB PMIN is count down input The counter counts at the rising edge of the positive pulse nECA PPIN nECB PMIN Count up Count down Use the D9 PINMD bit of the WR2 register for selecting a pulse input mode and the D11 and D10 PIND1 0 bits to set the division ratio of encoder 2 phase pulse input Note Time specification is applied to the pulse width and pulse cycle of input pulses See Section
26. D13 8 of RR4 register and YIN5 0 signals for Y axis are displayed in D13 8 of RRS register respectively Low level becomes 0 and Hi level becomes 1 Moreover nIN5 0 signals are equipped with a function of input signal filter inside IC please refer to 2 6 9 Signals XOUT7 0 of the X axis can be output by setting the output level in each bit D7 0 of WR4 register and signals YOUT7 0 of the Y axis can be output by setting the output level in D15 8 of WR4 register 0 set to Low level and 1 set to Hi level When resetting each bit of WRA register will be cleared then their output level will be set to Low level It is possible to use the general purpose output signals for motor driver current OFF deviation counting clear and alarm reset 2 6 9 Input Signal Filter D15 D14 D13 D12 D11 D10 D9 D8 This IC is equipped with an integral type filter in the input XWR3 FL2 FL1 FLO FE4 FE3 FE2 FE1 FEO stage of each input signal Figure 2 44 shows the filter i configuration of each input signal of the X axis The same circuit is provided to the Y axis also The time constant of the EMGN 1 o filter is determined by the T oscillation circuit in the diagram sU 4 One time constant can be selected from eight time constants EMIR Ee using the bits D15 to D13 FL2 to FLO of the nWR3 register i 7 Using the bits
27. Host CPU 0000011100001010 5411000010000100000 o D15 a DO 0001010 0000000000001010 eee X PM SREG SC SC Stacking counter RRO D14 13 0 3 BP1P Data register X direction BP1M Data register X direction SREG 16 bit shift register REG1 16 bit buffer register 1 REG2 16 bit buffer register 2 Fig 2 31 Register Configuration and Movements of Bit Patterns of Bit Pattern Interpolation for X axis Stacking counter SC is a 2 bit counter Its value is between 0 and 3 which can be read from D14 13 of RRO register SC will decide which register for the data from the host CPU The initial value of SC is 0 So 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 REGI By this way the REG2 becomes the register when SC 2 The host CPU is not able to write any bit pattern data into MCX312 when SC 3 When the bit pattern interpolation pulse is outputting DO in SREG will be shifted output first and then in the order of D1 D 21 NOVA electronics Inc MCX312 M22 When all of SREGs have been shifted output the data in REGI will be shifted to SREG the data in REG2 will be shifted to REGI and the SC will count down to 2 Then the host CPU is able to write a new data into MCX312 again In order to make MCX312 output the bit pattern data continuously the host CPU should write the data in
28. In linear acceleration deceleration driving D is the parameter determining the deceleration at deceleration in the acceleration deceleration individual settings mode WR3register D1 1 Deceleration increases on a straight line from 0 to the specified value when S curve acceleration deceleration driving in this mode The deceleration calculation is shown in the following formula Deceleration PPS SEC D x 125 x 8 008 000 SSS ae Multiple 6 5 Initial Speed Setting Command Data Range Data Length Initial speed setting 2 bytes SV is the parameter determining the speed of initial speed The initial speed calculation is shown in the following formula Initial Speed PPS SV x 8 000 000 Multiple In trapezoidal Linear accerelation decerelation driving for stepper motors the user should set the initial speed smaller than the self starting frequency of stepper motors Also for a servo motor if the value that is set is too low creep or premature termination may occur In this case it is appropriate to set the value larger than J acceleration For instance when acceleration 125000 PPS SEC the value should be larger than 4 125000 354 PPS In fixed pulse S curve acceleration deceleration driving if the value that is set is too low such as SV is set less than 100 creep or premature termination may occur as well Set the initial speed value SV as more than 100 6 6 Drive Speed Setting Comman
29. Input A Encoder B Pulse in signal for encoder phase B input YECB PMIN 44 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 DOWN pulses input Once the input pulse is up 1 the real position counter is counting down z46 NOVA electronics Inc MCX312 M47 Signal Name Pin No Input Output Signal Description XINPOS 45 Input A In position input signal for servo driver in position YINPOS 53 F 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 XALARM 46 Input A Servo Alarm input signal for servo driver alarm YALARM 54 F 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 XLMTP 47 Input A OVER Limit signal of direction over limit YLMTP 55 F During the direction drive pulse outputting decelerating stop or sudden stop will be performed once this signal is active When the filter function is disabled the active pulse width must be 2CLK or more When it is enable and when this signal is in its active level the HLMT of RR2 register becomes 1 XLMTM 48 Input A OVER Limit signal of dir
30. Low while data is being written to MCX312 When WRN is Low CSN and A3 A0 must be assured When WRN is up 1 the data will be latched in the write register and while WRN is up 1 the levels of D15 D0 should be assured RDN 27 Input A Read Strobe its level is Low while data is being read from MCX312 Only when CSN is on the low level the selected read register data from A3 A0 address signals can be output from the data bus RESETN 29 Input A Reset reset return to the initial setting signal for MCX312 Setting RESETN to Low for more than 4 CLK cycles will reset MCX312 The RESETN setting is necessary when the power is on Note If there is no clock input to MCX312 setting the RESETN to Low still cannot reset this IC H16L8 30 Input A Hi 16 bit Low 8 bit data bus width selection for 16 bit 8 bit When the setting is Hi 16 bit data bus is selected for processing the 16 bit data reading writing in IC when the setting is Low 8 bit data bus D7 DO is active for data reading writing TESTN 31 Input A Test terminal for internal circuit test Please open or connect it to 5V BUSYN 32 Output B Busy reflecting the execution of the input command at this moment Once the command is written to MCX312 the process will take 2 CLK to 4CLK 250nsec for 16MHz on the Low level When BUSYN is on the Low level the other written commands cannot be executed INTN 33 Output B Interrupt outputting an interrupt signal to the host CPU If any i
31. The finish point maximum value register is cleared to 0 when resetting or immediately after starting interpolation drive command Also it can be cleared by the finish point maximum value clear command 3Eh The finish point maximum value can be read by 14h command X axis assignment user can confirm whether the maximum value is correctly generated after writing finish point data of all axes Please note that the maximum value is cleared to 0 once interpolation drive starts MCLK MDT3 0 Write finish point data main chip sub chip 1 finish point register X finish point finish point finish point finish point gt lt finish point max t RS inpu value register finish point finish point low word data register X finish point high word data 06h command m A finish point register Y Read finish point finish point max Ry finish point value register A input A B max value S A gt B comparator 14h command Clear finish point max value A 3Eh command A gt B B comparator sub chip 2 same as above circuit Fig 2 37 Multichip interpolation finish point data passing The finish point maximum value must be set even though next finish point of interpolation is the same value as the previous one because it is cleared every interpolation driving e Writing linear interpolation drive command Linear interpolation command 30h is written to each sub chip and then linear interpolation command 30h is written to
32. When 1 is set in each bit the filter function of the signal is enabled Specification bit Filter Enable signal NWR3 D8 FEO EMGN nLMTP nLMTM nSTOPO nSTOP1 D9 FE1 nSTOP2 D10 FE2 nINPOS nALARM D11 FE3 nEXPP nEXPM D12 FE4 nINO nIN1 nIN2 nIN3 nIN4 nIN5 2 The EMGN signal is set using the D8 bit of the WR3 register of the X axis 44 NOVA electronics Inc MCX312 M45 3 Pin Assignments and Signal Description cec LLI a LLI Orc NN e E e E E a e O qac lt M ta D Oem u aN zZ Z c5c5 ie ee ALOA OE OOO sxodol ESS on gt Ss a ROTN 2OO Sh LO corm Mc Or CN CO rio cor Q o o z o 0ccoo o LLL CO CM c2 st LO I7 I F I ELELEELEELEOOOrLrLL GO0O0 ZO Z0 Z0 C zzz zz zl ccacOl5l75070L 2922929LLLEE2zzL zLrLr OOOOZ L L oomoaz zooodocoOcocc xc cc z coc 2c0 gt gt gt gt O lt lt lt OK OC OK OK OK gt OO OC OC OK OK OK OK 02 SH SH 0 HO KOK A ada Add ad doo Aadadadaa YOUT3 CMPM GND YOUT2 CMPP XSTOP2 YOUT1 ACDSND XLMTM YOUTO ACASND lt XLMTP YIN5 MDT3 XALARM YIN4 MDT2 XINPOS VT 2 VEGUPPIN YINI NOVA elec XECB PMIN a MCX312 ER ron XEXPP gt YPM DIR XEXPM gt YPP PLS YEXPP pin 1 mark gt XPM DIR YEXPM gt XPP PLS EMN SCLK gt INTN CLK gt BUSYN GND TESTN See Chapter 14 for the 100 pin QFP package 23 8 17 8mm pin pitch 0 65mm 245 NOVA electronics Inc W Sign
33. acceleration or when the pulse numbers of the fixed drive do not reach the designated drive speed the driving will be decelerating during acceleration as show in Fig 2 9 By setting a triangle prevention mode such triangle form can be transformed to a trapezoid form even if the number of output pulses low See the section of triangle prevention of fixed driving NOVA electronics Inc MCX312 M9 To perform symmetrical linear acceleration driving the following parameters must be set parameters marked by O will be set when needed Parameter name Symbol Comment Range R Acceleration A Acceleration and deceleration O Deceleration D Deceleration when acceleration and deceleration are set individually Initial Speed SV Drive Speed V O Number of Output Pulse P Not required for continuous driving W The 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 Range R 4 000 000 Acceleration A 2193 Multiple 2 15 000 500 0 3 248 333 48 333 125 M 193 500 M 250 15 000 M 7 500 Initial Speed SV 250 Drive Speed V 7 500 Please refer Chapter 6 E Triangle Prevention of Fixed Driving The triangle prevention function prevents a triangle form in linear acceleration fixed driving even if the number of output pulses is low When the number of pulses that were utilized at accelera
34. and the S i i Fig 2 25 CW CCW Circular Interpolation long axis will output pulses depending on the interpolation calculation In Fig 2 28 it is an example to generate a circle with the center point 11 0 and the finish point 0 0 Its radius is 11 In Fig 2 29 shows the pulse output Y A y w X X P 1 1 4 A i CCW ES x y Y 3 e A 1 SE o Y T 2 X E 5 e pex Y 4 ff AN 7 Pd N 7 Y f 5 6 N 1 See start point finish point M X X C t p p e track of interpolation solid line circle with radium 11 i dash line circle with radium 11 1 Fig 2 26 The 0 7 Quadrants And Short Fig 2 27 The Example of Circular Interpolation 19 NOVA electronics Inc MCX312 M20 XPP XPM YPP YPM o JL TIDUUuuU L S Quadrant m0 na 1 2 gt 3 Fig 2 28 The Example of Pulse Output in Circular Interpolation Driving W The Finish Point Checking of Circular Interpolation In the circular interpolation it assumes that the current position start ax2 A point is 0 0 After the coordinates of the center point is set the radius will be decided and the circular tracking will start The maximum error range of interpolation is with in 1LSB Because of the 1LSB error range the designated finish point may not on the circular track When the value of finish point is same as that of short axis this circular interpolation is finished e Center point gt ax1 200 500 7
35. axis if only 1 axis outputs pulses However when 2 axes output pulses simultaneously MCX312 will use the range parameter of Y axis to i 2 X implement the pulse period to 1 414 times Fig 2 32 Example of 2 Axis Interpolation E The Example of Constant Vector Speed Interpolation for 2 Axes As shown below X axis Y axis and the interpolation is at a constant vector speed 1000PPS The result of driving pulse output is shown in Fig 2 34 WR5 0100h write constant vector speed WR6 03E8h write finish point of X WR7 lt 0000h write WR6 lt 0900h write setting parameter of X axis WRO 0106h write WR7 003Dh write range 4 000 000 multiple 2 WRO 0100h write WR6 0190h write finish point of Y WR7 lt 0000h write WR6 4DCOh write range of constant vector speed WRO 0206h write WR7 0056h write 4 000 000x1 414 5 656 000 WRO 0200h write WRO 0030h write 2 axis linear interpolation starting WR6 01F4h write initial speed 500x2 1000PPS WRO 0104h write WR6 01F4h write drive speed 500x2 1000PPS WRO 0105h write continue A 1 000 ms 1 414 ms 1 000 ms 1 414 ms Fig 2 33 Example of 2 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 times 2 4 5
36. be 56568 3075 53493 Acceleration Note this formula cannot be used in the constant vector speed driving 500 0 3 Time SEC WR3 lt 0001h write manual deceleration enabling WR6 8480h write range 2 000 000 multiple 4 WR7 lt 001Eh write WRO 0100h write WR6 0082h write acceleration WRO 0102h write 130x125x4265000 PPS SEC WR6 007Dh write Initial speed 125x4 500PPS WRO 0104h write WR6 1388h write drive speed WRO 0105h write 5000x4 20000PPS WR6 D8FOh write center point X 10000 WR7 FFFFh write WRO 0108h write WR6 0000h write center point Y 0 WR7 0000h write WRO 0208h write WR6 0000h write finish point X 0 WR7 0000h write WRO 0106h write WR6 0000h write finish point Y 0 WR7 0000h write WRO 0206h write WR6 DOF5h write manual deceleration point setting 53493 WR7 lt 0000h write WRO 0107h write WRO 003Bh write deceleration enabling WRO 0033hwrite CCW circular interpolation starting W The Acceleration Deceleration for Continuous Interpolation In continuous interpolation same as in circular and bit pattern interpolations only manual deceleration in the trapezoidal driving is available The automatic deceleration in S curve driving is not available Before performing the continuous interpolation it is necessary to preset the manual decelerating point however this sett
37. driving is commanded from an external Source driving will start if this signal is on the Low level XEXPM 94 Input A External Operation direction drive starting signal from external source YEXPM 96 F When the fixed driving is commanded from an external source direction driving will start if this signal is down Otherwise when the continuous driving is commanded from an external Source driving will start if this signal is on the Low level EMGN 97 Input A Emergency Stop input signal to perform the emergency stop for all axes p When this signal is on the Low level including the interpolation driving every axis will stop the operation immediately EMG bit of register RR2 of each axis will become 1 The low level pulse width should be more than 2CLK Note For this signal its logical levels cannot be selected GND 8 15 28 40 Ground 0V Terminal 50 66 76 All of the 10 pins must be connected to OV 90 98 100 VDD 9 16 41 5V Power Terminal 67 91 All of the 5 pins must be connected to 5V E Input Output Circuit Input A Smith trigger input in TTL level which is pulled up to VDD with high impedance dozens of KQ hundreds of KQ CMOS and TTL can be connected The user should open or pull up with 5V if the input is not used The signal with F symbol has an integral filter circuit in the internal input column of this IC See Section 2 6 9 for the filter function Output A It is CMOS
38. 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 78 NOVA electronics Inc MCX312 M79 9 11 Deceleration Disabling Command Deceleration disabling This command disables the automatic or manual deceleration in interpolation 9 12 Interpolation Interrupt Clear Command Interpolation interrupt clear This command clears the interrupt in bit pattern or continuous interpolation After the bit D15 of WRS 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 WRS is set to 1 the interrupt will be generated when it is ready to write the interpolation data for next node 9 13 Maximum finish point Clear for multichip linear interpolation Command Maximum finish point clear for multichip linear interpolation This command clears the maximum value of interpolation finish point in multichip linear interpolation 79 NOVA electronics Inc MCX312
39. if the host CPU writes the next interpolation segment to MCX312 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 W Errors Occurring in the Process of Continuous Interpolation If an error such as over traveling occurs in the process of continuous interpolation the drive will stop at the present interpolation segment The following interpolation segment is still in the command register but will not be executed The host CPU has to reload the next command again and enable it MCX312 M26 The 1st Interpolation Segment Data Setting Interpolation Command Setting Errors occurred Allow to write in the next data RRO D9 1 Start continuous interpolations yes no The 2nd Interpolation Segment Data Setting Interpolation Command Setting Errors occurred Allow to write in the next data no Y Finish continuous interpolations Handle error The 3rd Interpolation Segment Data Setting Interpolation Command Setting 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 followi
40. in Fig 2 25 As shown in Fig 2 25 it is an example for pulse output of the linear interpolation XPP Long axis driving We define the longest distance XPM movement in interpolation is the long axis YPP Kcu eeu ue ce Short axis And the other is short axis The long axis YPM outputs an average pulse train The driving Fig 2 24 The Example for Pulse Output at Finish Point X 20 Y 9 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 388 607 Notes 8 388 607 cannot be set 18 NOVA electronics Inc MCX312 M19 W The example of linear interpolation for 2 axes Executing linear interpolation drives in X and Y axes from the current position to the finish position X 30 000 Y 20 000 The initial speed 500PPS acceleration deceleration 40 000PPS SEC drive speed 5 000PPS Y A WR6 1200h write range 8 000 000 Multiple 1 0 10000 20000 30000 X WR7 lt 007Ah write WRO 0100h write WR6 0140h write accel decel speed 40 000PPS SEC WRO 0102h write 40 000 125 1 320 WR6 01F4h write initial speed 500PPS 100007 WRO 0104h write WR6 1388h write drive speed 5 000PPS WRO 0105h write 20000 WR6 7530h write finish point of X axis 30 000 30000 2000 WR7 lt 0000h write WRO 0106h write WR6 B1E0h write finish po
41. inch Symbol ae Description Minimum Standard Maximum 3 05 Height from the installation face to the top end of the A 0 12 package main unit M 0 09 0 19 0 29 Height from the installation face to the bottom end of 0 004 0 007 0 011 the package main unit A2 2 5 2 7 2 9 Height from the top to the bottom of the package 0 098 0 106 0 114 main unit b 0 2 0 3 0 4 Pin width 0 008 0 012 0 016 0 10 0 15 0 25 Pin thickness 0 004 0 006 0 010 D 23 5 23 8 24 1 Maximum length in the package length direction 0 925 0 937 0 949 including pins D1 19 8 20 0 20 2 Length of the package main unit excluding pins 0 780 0 787 0 795 E 17 5 17 8 18 1 Maximum length in the package width direction 0 689 0 701 0 713 including pin E1 13 8 14 0 14 2 Width of the package main unit excluding pins 0 543 0 551 0 559 6 0 65 Pin pitch standard size 0 026 L 0 6 0 8 1 0 Length of the flat section of the pins that contacts 0 024 0 031 0 039 the installation face Length from the center of the outer most pin to the 0 575 H e Zd outer most pin section of the package main unit in 0 023 Reber the length direction 0 825 Length from the center of the outer most pin to the Ze 0 032 outer most pin section of the package main unit in the width direction 0 0 10 Angle of the pin flat section for the installation face
42. initial and drive speeds of X axis in the interpolation process with the same value and the driving becomes constant speed If the host CPU writes single step command into MCX312 at most ImSEC the user should set the drive speed more than 1000PPS c Set interpolation data finish point center point d Write interpolation command Although the interpolation segment is enabled there is no pulse output because the single step is command controlled e 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 W External Signal Controlled Single step Interpolation The MPLS pin 70 is used for the single step interpolation from the external signal This signal shares the pin with general purpose input signal XINS The user can set D12 of register WRS to 1 to enable the external signal controlled single step interpolation Normally the MPLS 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 a Set D12 o
43. level output 4mA driving buffer Hi level output current IOH 4mA VOH 2 4Vmin Low level output current IOL 4mA VOL 0 4Vmax Up to 10 LSTTL can be driven Output B It is open drain type output 4mA driving buffer Low level output current IOL24mA 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 kQ 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 Bi directional B Input side is Smith trigger input in TTL level which is pulled up to VDD with high impedance dozens of kO hundreds of KQ Output side is open drain type output generally OFF and will be activated during multichip axes interpolation When signals are connected among chips in multichip axes interpolation please shorten the length of wiring as far as possible and do not cross other signal path The signal with F symbol has an integral filter circuit in the internal input column of this IC See Section 2 6 9 for the filter function 48 NOVA electronics Inc MCX312 M49 W Notes for the Design of Circuitry a De coupling Capacitor Please connect VDD and GND
44. 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 DO 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 20 is an example for COMP 10000 COMP 1000 COMP and COMP registers can be used as software limit COMP registerCP 210000 RR1 D0 0 CM RR1 D0 0 CP RR1 D0 0 COMP registerCM 1000 RR1 D1 0 RR1 D1 0 _ RR1 D1 0 peaga ET CP PE Ro e aem a a I pU CO T 1000 0 10000 Fig 2 19 Example of COMP Register Setting When DO and D1bits of WR2 register 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 DO SLMT of RR2 register will change to 1 If the value of logical actual counter is smaller than that of COMP the DO bit of RR2 register will change to 0 automatically Host CPU can write the COMP and COMP registers any time However when MCX312 is reset the register values are random 245 2 NOVA electronics Inc MCX312 M16 2 3 3 Position Counter Variable Ring A logical position counter and a real position counter are 32 b
45. present command is written b Except acceleration offset AO 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 Command Data Range Data Length 8 000 000 multiple 1 16 000 Range setting j 4 bytes multiple 500 R is the parameter determining the drive speed acceleration deceleration and jerk The multiple can be calculated as follows where the range setting value is R Multiple 8 000 000 For the parameter setting range of drive speed acceleration deceleration 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 4OKPPS 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 cannot be changed during the driving The speed will be changed discontinuously 65 NOVA electronics Inc MCX312 M66 6 2 Jerk Setting Command Data Range Data Length Jerk setting 65 535 2 bytes A jerk setting value is a parameter that determines the acceleration increase decrease
46. rate per unit in S curve acceleration deceleration K is the parameter determining the jerk The jerk calculation is shown in the following formula 6 Jerk PPS SEC 925 510 000 000 145 3A ii Multiple Because the setting range of jerk is 1 65 535 the jerk range is shown as follows When Multiple 1 954 PPS SEC 62 5 x 10 PPS SEC When Multiple 500 477 x 10 PPS SEC 31 25 10 PPS SEC Note This book uses the word jerk to express increase decrease of acceleration deceleration and increase decrease rate per unit 6 3 Acceleration Setting Command Data Range Data Length Acceleration setting 2 bytes In linear acceleration deceleration driving A is the parameter determining the acceleration at acceleration and deceleration at deceleration Acceleration deceleration increases on a straight line from 0 to the specified value when S curve acceleration deceleration driving Please refer to Fig 2 13 The acceleration calculation is shown in the following formula Acceleration PPS SEC A x 125 x 900 990 Multiple For the range of A is from 1 8 000 the actual acceleration range is shown as follows When Multiple 1 125 PPS SEC 1 x 10 PPS SEC When Multiple 500 62 5 x 10 PPS SEC 500 x 10 PPS SEC 66 NOVA electronics Inc MCX312 M67 6 4 Deceleration Setting Command Data Range Data Length Deceleration setting 2 bytes
47. registration for each axis in MCX312 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 WRO before BUSYN return to the Hi level H L D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 DO WRO RESET 0 0 0 0 0 Y X 0 0 ue m J Axis Assignment Command Code D5 0 Command code setting Please refer to chapter 5 and the chapters following for further description of command codes D9 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 commande
48. setting I AO 0 R 800000 Multiple 10 II K 1010 Jerk 619KPPS SEC2 A 100 Acceleration deceleration 125KPPS SEC D 100 Deceleration 125KPPS SEC I SV 100 Initial speed 1000PPS V 4000 Drive speed 40000PPS P 100000 Output pulses 100000 LP 0 Logical position counter 0 X and Y axes linear acceleration driving A 200 Acceleration deceleration 250KPPS SEC 4000 Drive speed 4000PPS xP 80000 yP 40000 fixed driving Waits for termination of driving X axis non symmetrical linear acceleration driving Acceleration deceleration individual mode xA 200 Acceleration deceleration 250KPPS SEC xD 50 Deceleration 62 5KPPS SEC II xV 4000 Drive speed 40000PPS xP 80000 fixed driving Waits for termination of driving Release of acceleration deceleration individual mode I X and Y axes S curve acceleration deceleration driving S curve mode K 1010 Jerk 619KPPS SEC2 A 200 Acceleration deceleration 250KPPS SEC V 4000 Drive speed 4000PPS II xP 50000 II yP 25000 II fixed driving Release of S curve acceleration deceleration mode I 2 axis linear interpolation driving Constant vector speed xR 800000 Multiple 10 II YR 800000 x 1 414 II SV 100 Initial speed 1000PPS V 100
49. termination 40000 Seg 2y2 termination 40000 Seg 3x1 termination 10000 II Seg 3y1 termination 20000 Seg 3x2 termination 40000 II Seg 3y2 termination 40000 Enable deceleration 89 NOVA electronics Inc MCX312 M90 12 Electrical Characteristics 12 1 DC Characteristics E Absolute Maximum Rated Power Voltage 0 3 7 0 Input voltage 0 3 Vpp 0 3 Input Current 10 Preservation Temperature 40 125 E Recommend Operation Environment Power Voltage 4 75 5 25 Ambient Temperature MAR If the user wishes to operate the IC below 0 C please make contact with our R amp D engineer E DC Characteristics Ta 0 85 C Vpp 5V 5 Condition High level input voltage Low level input voltage High level input current Vin Vop Low level input current Vin 0V D15 DO Input signal ViN 0V Input signal besides D15 DO lou 190A Note 1 lou 4mA Output signal besides D15 DO lou 8mA D15 DO Output signal lo 1A lo 4mA i Output signal besides D15 DO lo 8mA D15 DO Output signal Output leakage D15 DO BUSYN INTN Vout Vpp or OV High level output voltage Low level output voltage current Smith hysteresis voltage lio OMA CLK 16MHz Notel BUSYN and INTN output signals have no items for high level output voltage due to the open drain output Con
50. the same method of operation with constant speed trapezoidal or S curve driving Servo Step Motor Driver m X CPU n MCX312 Driver Y E Speed Control The speed range of the pulse output is from 1PPS to 4MPPS for constant speed trapezoidal or S curve acceleration deceleration driving Speed accuracy 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 E Acceleration deceleration driving The IC can control each axis for acceleration deceleration of constant speed driving trapezoidal acceleration deceleration driving symmetry non symmetry and S curve acceleration deceleration Automatic acceleration deceleration of linear acceleration fixed speed pulse driving is available and no need to set deceleration starting point by manual Since a primary linear increase decrease method is applied for S curve acceleration deceleration the speed curve forms a secondary parabola acceleration deceleration curve In S curve acceleration and deceleration fixed driving automatic deceleration is available for symmetrical S curve only and triangle waveforms during S curve acceleration deceleration are prevented by a special method Trapezoidal Acceleration Deceleration Driving Trapezoidal Acceleration Deceleration Driving 7 Symmetry Non Symmetry V Sudden Deceleration Time Time Parabola S curve Acc
51. the same value as main drive speed 1 WR3 D2 SACC bit should be set to 1 when S curve acceleration Drive speed of multichip interpolation must be 2Mpps or less 9 Finish point data setting of each axis 33 NOVA electronics Inc MCX312 M34 Writes finish point data to each axis by relative value from the current position When multi axes linear interpolation is performed generally the maximum value of finish point data in all axes is required in calculating linear interpolation for each axis In order to enable high speed continuous linear interpolation this IC generates the maximum value automatically when finish point of each axis is set There is no need to calculate the maximum value by CPU and set the maximum value to each axis When finish point data is written in some axis it is transferred from written chip to another chip through multichip interpolation signal MCLK MDT3 0 It takes about 2 4 sec CLK 16MHz Therefore an interval of writing of finish point for each axis cannot be shortened than that time In normal CPU it takes more time so that it is unnecessary to input delay in the software When each chip receives finish point data from multichip interpolation signal MCLK MDT3 0 it compares the value with the finish point maximum value register in own chip by absolute value and if received value is lager than its own value then updates the value of the finish point maximum register by absolute value
52. to perform the emergency stop function for both X and Y 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 a Execute the sudden stop commend for both of 2 axes at the same time Appoint both X and Y axes then write the sudden stop command 27h to register WRO b Reset software limit Write 800h to register WRO to reset software limit 2 6 7 Status Output The driving status of each axis will be output to main status register RRO and status register nRR1 of each axis also it can be output as signal that shares the same terminal with general purpose output signals D7 OUTSL bit of register WR3 should be set 1 for drive status output This bit will return 0 by reset and then turn to the terminal for general purpose output nOUT 7 0 nOUT4 DRIVE output signals and bits D1 0 n DRV of register RRO can be used for drive stop status output The driving status of acceleration constant speed deceleration will be output to bits D2 ASND D3 CNST and D4 DSND and also the signals TS ASND nOUT6 CNST and nOUT7 DSND will show the levels Moreover in S curve acceleration deceleration driving the state of acceleratio
53. with one or two De coupling capacitors about 0 1uF b Noise Generated by Terminal Induction The noise will exist because the inductance is in these pins The user can add a capacitor 10 100pF to pins to reduce the noise c Reflection on Transfer Path The load capacity for outputting types A B and bi direction type A and B are 20 50pf So the reflection will happen if the PCB wiring is more than 60cm 49 NOVA electronics Inc MCX312 M50 4 Register This chapter indicates the user how to access all the registers in MCX312 and what are the mapping addresses of these registers Please refer to Chapter 2 4 3 for the registers BP1P M BP2P 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 E Write Register in 16 bit Data Bus All registers are 16 bit length Address Symbol Register Name Contents A2 A1 A0 000 WRO Command Register for setting axis assignment and command XWR1 X axis mode register 1 for setting the logical levels of external decelerating stop enable 0 0 1 YWR4 Y axis mode register 1 disable the valid invalid of interrupt for each axis and the mode in the real position counter XWR2 X axis mode register 2 for setting the limit signal mode driving pulse mode encoder input signal BR dl YWR2 Y axis mode register 2 mode t
54. 073 741 824 CM 1 073 741 824 1 073 741 824 Comparison Register THEE COMP Register Position comparison range HHHE COMP Register Position comparison range Our email address 10 19 2009 Ver 1 9 P12 P67 10 03 2009 Ver 1 8 P54 55 WR2 D9 Descriptions 18 12 2008 Ver 1 7 PB1 B2 6 8 2008 PB1 B6 3 7 2006 P91 93 1 6 2006 Ver 1 4 Ver 1 6 Ver 1 5 the following items in the table Added Appendix B Technical Information I I Added Appendix B Technical Information Wavelength Width Reservation Time Hold Time Established Time Setup Time P53 line 37 thestart the end P53 line 39 the end the start 11 17 2004 Ver 1 3 P12 line 46 40000 X 10 40000PPS 4000 Xx 10 40000PPS P14 line 29 tolerance jitter P37 line 6 During the power resetting When resetting P39 line 14 nEXPP nEXPM P39 line 19 22 Corrected a paragraph P46 line 4 nOOO gt OOON P47 line 13 HKMT gt HLMT P47 line 20 HKMT HLMT P53 line 46 47 Added a paragraph Each axis is with P65 line 32 Acceleration Deceleration and jerk is Acceleration Deceleration is P71 line 11 12 Corrected a paragraph P73 line 23 real position logical position P74 line 8 real position logical position P74 line 22 real position logical position P74 line 36 real position logical position P91 line 10 Delay Time 21nS Delay Time P91 line 11 Delay Time 23nS Delay Time
55. 12 2 5 Input Pulse of Chapter 12 2 6 4 Hardware Limit Signals Hardware limit signals nNLMTP 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 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 RRO 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 41 NOVA electronics Inc MCX312 M42 These input signals from servo motor drivers can be read by RR5 and RR6 registers A deviation counter clear and alarm reset signals are available as a servo motor driver output signal assign nOUT7 0 to perform them 2 6 6 Emergency Stop Signal EMGN is able
56. 2 Axes Motor Control IC with Interpolation Function MCX312 User s Manual 2008 12 18 Ver 1 7 2009 03 10 Ver 1 9 2010 03 25 Ver 2 0 2011 07 27 Ver 2 1 2011 08 22 Ver 2 2 NOVA electronics NOVA electronics Inc MCX312 ii Introduction Before using the MCX312 please read this manual thoroughly to ensure correct usage within the scope of the specification such as the signal voltage signal timing and operation parameter values In general semiconductor products sometimes malfunction or fail to function When incorporating this IC in a system make sure that a safe system is designed to avoid any injuries or property damage caused by malfunctioning of this IC This IC is designed for application in general electronic devices industrial automation devices industrial robots measuring instruments computers office equipment household electrical goods and so on This IC is not intended for the use in high performance high reliability equipment whose failure or malfunctioning may directly cause death or injuries atomic energy control equipment aerospace equipment transportation equipment medical equipment and various safety devices and the operation for such use is not guaranteed The customer shall be responsible for the use of this IC in any such high performance and high reliability equipment Notes on S curve acceleration deceleration driving This IC is equipped with a function that performs decelerating stop for a fixe
57. 7 9Le eB et95 GsOcTT5c uez00RT9UScTCcfz 61 4 15 Data Read Register RR6 RR7 62 5 Command Lists ez2 2d e ceccooonueo enc Lec eee eae ee LaL d exte 63 6 Commands for Data Writing 65 6 1 Range Setting 65 6 2 Jerk Setting 66 6 3 Acceleration Setting 66 6 4 Deceleration Setting 67 6 5 Initial Speed Setlirig 22 2c 2222 20222232202622 2 6m c2 2020202220582268054 67 6 6 Drive Speed Setting 67 6 7 Output Pulse Number Interpolation Finish Point Setting 68 6 8 Manual Decelerating Point Setting 68 6 9 Circular Center Setting 68 6 10 Logical Position Counter Setting 69 6 11 Real position Counter Setting 69 6 12 COMP Register Setting 22 232222 2 220202 ee ee ee 69 6 13 COMP Register Setting 69 6 14 Acceleration Counter Offsetting 70 6 15 NOP For Axis Switching
58. Continuous Interpolation The continuous interpolation is executing a series of interpolation processes such as linear interpolation circular interpolation linear interpolation gt During the continuous interpolation the driving will not stop contrarily the pulses are output continuously When executing the continuous interpolation the host CPU has to write the next interpolation segment into MCX312 before the previous interpolation segment is finished W Continuous Interpolation in Using D9 of RRO 2952 NOVA electronics Inc If D9 CNEXT of register RRO is 1 MCX312 is ready to accept the next interpolation segment If D9 is 0 the host CPU is not able to write the next interpolation segment into MCX312 The D9 will become 1 only when the present command is executed MCX312 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 RRO is 1 or 0 And then repeat writing commands and checking D9 The flow chart is shown at the right side E Interrupt D14 of register WRS is used for enable or disable the interrupt during the continuous interpolation After setting D14 of register WRS to 1 the interrupt occurs Pin INTN of MCX312 will be on the Low level to interrupt the host CPU when D9 of register RRO become 1 The INTN will be on the Hi level
59. D12 to D8 FE4 to 0 of the nWR3 register it AEMIM Cir c is possible to set whether the filter function is enabled or the T 1 i i XSTOPO lt signal is passed through for a number of input signals At reset all the bits in the nWR3 register are cleared to 0 so that ward 5 2 the filter function is disabled for all the input signals and the oT signals pass XSTOP2 lt T 9 E rro 5 Select a filter time constant from eight stages as shown in the XINPOS lt o table below When a time constant is increased the sT n removable maximum noise width increases however the XALARM lt signal delay time also increases Therefore set an appropriate gs value Normally set 2 or 3 for FL2 to FLO XEXPP O jov E o e Removable XEXPM i Froja d FL2 0 maximum noisg Input signal delay time UM a width s in pout 0 1 75uSEC 2uSEC 1 224uSEC 256uSEC 2 448uSEC 512uSEC XIN5 x E se 3 896uSEC 1 024mSEC Cire oo 4 1 7922mSEC 2 048mSEC 5 3 584mSEC 4 096mSEC 6 7 168mSEC 8 192mSEC 7 14 336mSEC 16 384mSEC 1 Noise width Noise width n HW m TC iQ 2 IN Noise duty ratio TC As the condition the noise duty ratio time ratio under which noise is generated in the signal must be 1 4 or less 43 NOVA electronics Inc MCX312 M44 In bits D12 to D8 FE4 to FEO of the nWR3 register set whether the filter function of each input signal is enabled or signals are passed through as shown below
60. D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 DO RR6 RD15 RD14 RD13 RD12 RD11 RD10 RD9 RD8 RD7 RD6 RDS RD4 RD3 RD2 RD1 RDO H L D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 DO RR7 RD31 RD30 RD29 RD28 RD27 RD26 RD25 RD24 RD23 RD22 RD21 RD20 RD19 RD18 RD17 RD16 The data is binary formatted 2 s complement is for negatives 62 NOVA electronics Inc 5 Command Lists E Write Commands MCX312 M63 Code Command Symbol Data Range Data Length 00h Range setting R R 8 000 000 multiple 1 16 000 multiple 500 4 bytes 01 Jerk setting K 1 65 535 2 Acceleration increasing rate 02 Acceleration setting A 1 8 000 2 03 Deceleration setting D 1 8 000 2 04 Initial speed setting SV 1 8 000 2 05 Drive speed setting V 1 8 000 2 E Output pulse numbers 0 268 435 455 finish 06 Output pulse numbers finish point P 4 point 8 388 608 8 388 607 07 Manual deceleration point setting DP 0 268 435 455 4 08 Circular center point setting C 8 388 608 8 388 607 4 09 Logical position counter setting LP 2 147 483 648 2 147 483 647 4 0A Real position counter setting EP 2 147 483 648 2 147 483 647 4 0B COMP register setting CP 1 073 741 824 1 073 741 824 4 0C COMP register setting CM 1 073 741 824 1 073 741 824 4 oD Acceleration counter offsetting
61. Drive speed 1000PPS constant speed II xP 5000 Finish point X 5000 yP 2000 Finish point Y 2000 2 axis linear interpolation I CCW circular interpolation driving Constant vector speed xR 800000 Multiple 10 yR 800000 x 1 414 II SV 100 Initial speed 1000PPS 100 Drive speed 1000PPS xC 5000 Center X 5000 yC 0 Center Y 0 xP 0 Finish point X 0 Perfect circle yP 0 Finish point Y 0 CCW circular interpolation 2372 NOVA electronics Inc speed 0x1 1 command 0 0x36 outpw adr bp1p 0x0000 outpw adr bp1m 0x2bff outpw adr bp2p Oxffd4 outpw adr bp2m 0x0000 command 0 0x38 outpw adr bp1p Oxf6fe outpw adr bp1m 0x0000 outpw adr bp2p 0x000f outpw adr bp2m 0x3fc0 command 0 0x38 outpw adr bp1p 0x1fdb outpw adr bp1m 0x0000 outpw adr bp2p 0x00ff outpw adr bp2m 0xfc00 command 0 0x38 command 0 0x34 bp_wait outpw adr bp1p 0x4000 outpw adr bp1m 0x7ff5 outpw adr bp2p 0x0000 outpw adr bp2m 0x0aff command 0x0x38 command 0 0x37 wait 0x3 speed 0x1 100 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 nex
62. EXPP 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 In manual pulsar mode the A phase signal is connected to nEXPP input and the B phase signal to nEXPM input W Fixed Driving Mode Set bits D4 and D3 of register WR3 to 1 and 0 respectively and set all the parameters of fixed driving Once nEXPP is falling down to the Low level the direction fixed driving will start once nEXPM is raising to the Hi level the direction fixed driving will start The width of Low level signal must be larger than 4 CLK cycle Before this driving is finished a new Hi to Low level falling down of the signal is invalid Fig 2 39 Example of The Constant Driving by External Signal E Continuous Driving Mode Set bits D4 and D3 of WR3 register to be 0 and 1 respectively and set all the parameters of continuous driving Once nEXPP is falling down to the Low level the direction continuous driving will start once nEXPM is raising to the Low level the direction continuous driving will start When nEXPP and nEXPM 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 XEXPP Low period XEXPM Low period Fig 2 40 Example of Continuous Driving by
63. External Signal 39 NOVA electronics Inc MCX312 M40 W Manual pulsar mode Set the bits D4 and D3 of the WR3 register to 1 and set the necessary speed parameter for driving and the output pulse number Connect the A phase signal of the encoder to nEXPP input and the B phase signal to nEXPM input The fixed driving is activated when the nEXPM signal is at a Low level and the nEXPP signal is at the rising edge When the output pulse number is set to 1 one drive pulse is output at each of the rising edge and falling edge of the nEXPP signal If the output pulse number is set to P the P number of drive pulses is output Normal rotation Reverse rotation XEXPP 4 Y 1 A phase Fig 2 41 Example Output Pulse 1Driving by A Manual Pulsar Normal rotation l Reverse rotation Fig 2 42 Example of Output Pulse 2 Driving by A Manual Pulsar Set the speed parameter in the following conditions to complete output of all the P number of drive pulses with a period from the rising edge falling edge of the nEXPP signal to the next rising edge falling edge V gt FxPx2 V Drive speed pps P Output pulses F Frequency Hz at the maximum speed of the manual pulsar encoder For instance under the condition where the maximum frequency of the manual pulsar is F 500Hz and the output pulse is P 1 the drive speed must be V 1000PPS or greater Since acceleration deceleration driving is not applied set the initial speed SV to the same value
64. H TTSOE C 42 2 6 8 General Purpose Input Output Signal 43 2 6 9 Input Signal Filter 43 3 Pin Assignments and Signal Description 45 4 Register 50 4 1 Register Address by 16 bit Data Bus 50 4 2 Register Address by 8 bit Data Bus 51 4 3 Command Register WRO 52 4 4 Mode Register WR1 7 5 59 0 7 0 4 eB5 To9oESTcesRepeco duds 52 4 5 Mode Hegister2 WH2 7s5599 9 9 9 7 4 282 1000 9ewecc dude neccomermmoe e 53 4 6 Mode Register3 WR3 55 4 7 Output Register WR4 e5e 9s 9 5 s re9eROUcCsgsBu ceseflse nessesom eec cs 57 4 8 Interpolation Mode Register WR5 57 NOVA electronics Inc MCX312 iv 4 9 Data Register WRe WR7 58 4 10 Main Status Register RRO 58 4 11 Status Register 1 RR1 59 4 12 Status Register 2 RR2 60 4 13 Status Register 3 RHI 61 444 Input Register RR4 RRO z
65. M 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 The bits of nWR1 nWR2 nWR3 nWR4 and nWRS will be cleared to 0 after the resetting It will be unknown for other registers E Read Register in 16 bit Data Bus All registers are 16 bit length Address Symbol Register Name Contents A2 A1 A0 00 6 RRO Main status register error status driving status ready for interpolation quadrant for circle interpolation and the stack of BP XRR41 X axis status register 1 comparison result acceleration state and jerk state mp YRR1 Y axis status register 1 finishing status XRR2 X axis status register 2 error message POP YRR2 Y axis status register 2 0 1 1 XRR3 X axis status register 3 interrupt message YRR3 Y axis status register 3 50 NOVA electronics Inc MCX312 M51 1079 RR4 Input register 1 I O input for X axis 5513 RR5 Input register 2 I O input for Y axis 110 RR6 Data reading register 1 low word of data register D15 DO 1 1 RR7 Data reading register 2 high word of data register D31 D16 Each axis is with RR1 RR2 and RR3 mode registers Each register is for 2 axis data writing at the same address Before those regist
66. MCX302 B2 Waits for termination of driving Change Drive speed V WRO Axis assignment 44h Command for workaround WRO Axis assignment 22h Continuous pulse drive in the direction Waits for termination of driving II Notice for Compare Register Symptom Although Range of Position Comparison between Position Counter and Compare Register COMP is shown as 2 147 483 648 to 2 147 483 647 signed 32 bit jon User s Manual actually it is 1 073 741 824 to 1 073 741 823 signed 31 bit due to the defect of IC Workaround Don t compare the values over the range such as 1 073 741 824 to 1 073 741 823 B2 NOVA electronics Inc MCX302 B3 III Notice for Fixed pulse driving in S curve acceleration deceleration Symptom When using fixed pulse driving in S curve acceleration deceleration if one of the following occasions D to is taken just before finishing driving pulse may be continuously outputted depending on setting value of parameters speed 4 drive speed initial speed one of is excuted here Figure 1 Speed profile of fixed pulse driving in S curve acceleration deceleration D When decelerating stop command 26h was given just before finishing driving When setting stop mode of hardware limit nLMTP M signal as decelerating stop WR2 D2 1 driving is started and hardware limit of progress direction becomes active just before finishing driving When software limit is ena
67. MULT RR2 register of X axis becomes 1 and bit D4 X ERR RRO register becomes 1 Main chip stops outputting synchronous pulses of interpolation drive to sub chip if an error occurs as a result all axes stop immediately Example of the error check after interpolation driving is shown as follows Finish interpolation driving main RRO D8 0 l yes Main Y axis error Main Y axis error main RRO D5 1 Main Y RR2 D5 0 YRR1 D15 12 check Main X axis error or sub chip error main RRO D4 1 yes Successful complition Main X axis error Sub chip error main XRR2 D6 1 yes Main XRR2 D5 0 XRR1 D15 12 check Check RR3 D5 0 RR1 D15 12 of each axis of sub chip When an error occurs in sub chip synchronous pulses of interpolation drive from main stops on the sub chip side and keep it driving Be sure to revert to initial status for each sub chip by soft reset after an error check In multichip interpolation an error occurs even limit that is the opposite side of the direction of sub chip axis becomes active 35 NOVA electronics Inc MCX312 M36 then interpolation drive stops When a limit error occurs escape from limit over by individual drive W Continuous interpolation of multichip linear interpolation In the case of multichip linear interpolation can be performed continuously as well as single chip of 2 axis interpolation Once interpolation drive starts bit R
68. NEXT Displaying the possibility of continuous interpolation data writing 58 NOVA electronics Inc MCX312 M59 When the bit is 1 it is ready for inputting parameters for next node and also ready for writing interpolation command data D12 10ZONEm Displaying the quadrant of the current position in circular interpolation D12 S D10 Quadrant 0 A 00 2 200 2a 0 2 02 0 2 o NOOB WD D14 13 BPSC1 0 In bit pattern interpolation driving it displays the value of the stack counter SC D14 Stack Counter SC Value 0 0 0 1 1 2 1 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 x 2 for each axis When SC 0 it shows all the stacks are empty and the bit pattern interpolation is finished 4 11 Status Register 1 RR1 Each axis is with status register 1 The axis specified by NOP command or the condition before decides 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 DO RR1 EMG ALARM LMT LMT STOP2 STOP1 STOPO ADSND ACNST AASND DSND CNST ASND CMP CMP Status of Dri
69. P register Low if logical real position counter 2COMP register nOUTA DRIVE When drive pulse is outputting the level becomes Hi When the driving command is engaged the level becomes Hi once the driving status is nOUT5 ASND in acceleration When the driving command is engaged the level becomes Hi once the driving status is nOUT6 CNST DK in constant speed driving When the driving command is engaged the level becomes Hi once the driving status is nOUT7 DSND in deceleration Set whether the input signal filter function enables or signal passes through 0 through 1 enable Specification bit Filter Enable signal D8 FEO EMGN nLMTP nLMTM nSTOPO nSTOP1 D9 FE1 nSTOP2 D10 FE2 nINPOS nALARM D11 FES3 nEXPP nEXPM D12 FE4 nINO nIN1 nIN2 nIN3 nIN4 nIN5 2 The EMGN signal is set using the D8 bit of the WR3 register of the X axis Set a time constant of the filter 56 NOVA electronics Inc MCX312 M57 FL2 0 pemevable M OR ous Input signal delay time width 0 1 75uSEC 2uSEC 1 224uUSEC 256uUSEC 2 448uSEC 512uSEC 3 896 USEC 1 024mSEC 4 1 792mMSEC 2 048mSEC 5 3 584mSEC 4 096mSEC 6 7 168mSEC 8 192mSEC 7 14 336mMSEC 16 384mSEC D15 D0 will be set to 0 while resetting 4 7 Output Register WR4 This register is used for setting the general purpose output signals nNOUT7 0 This 16 bit register locates 8 output signals of ea
70. P1MH X direction data the high byte 1 0 0 0 BP2PL Y direction data the low byte 1 0 0 1 BP2PH Y direction data the high byte 1 0 1 0 BP2ML Y direction data the low byte 1 0 1 1 BP2MH Y direction data the high byte For some addresses of bit pattern data registers are as same as nWR2 nWRS the host CPU can not write any data into the bit pattern data register since MCX312 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 Write BP disable command 37h into command register command register Write bit pattern data Note If the host CPU doesn t disable the BP data register the data in nWR2 nWR5 registers cannot be assessed eS NOVA electronics Inc W The example of bit pattern interpolation The bit interpolation example is shown in Fig 2 31 We set a constant speed 1000PPS in a constant vector speed interpolation driving WR5 WR6 WR7 WRO 111 WR6 WR7 WRO TTT WR6 WRO WR6 WRO WRO WRO BP1P BP1M BP2P BP2M WRO BP1P BP1M BP2P BP2M WRO BP1P BP1M BP2P BP2M WRO WRO 0100h write 0900h write 003Dh write 0100h write 4DCOh write 0056h write 0200h write 01F4h write 0104h write 01F4h write 0105h write 0039h write 0036h write 0000h write 2BFFh write FFD4h wr
71. RO D9 CNEXT of main chip becomes 1 If D9 CNEXT bit 1 is confirmed finish point data of each axis in next segment will be written and linear interpolation command 30h will be written to each axis E Continuous interpolation setting example of multichip linear interpolation Please refer to chapter 11 for program example Note for multichip interpolation Do not cross the wiring path of multichip interpolation signal MPLS MCLK MERR MINP MDT3 0 with other signals and connect them as short as possible and cannot share the general input signal by jumper switching in customer s circuit system n multichip interpolation constant vector speed can be performed only with 2 axis of main chip in this case user should set the range of Y axis to be 1 414 of X axis value n position should be set disabled in continuous interpolation 36 NOVA electronics Inc MCX312 M37 2 5 Interrupt The interrupt is generated from X Y 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 39 X Axis Y Axis Interpolation INT INT Control Unit INT Jj gt INTN 33 Every interrupt can be enabled or disabled individually When resetting all interrupt signals are disabled Fig 2 38 Interrupt Signal Path in IC W Interrupt of X and Y Axes The following table shows the interrupt fac
72. S SEC bt N Initial speed 1000 PPS A 5s x Drive speed 400K PPS 200K P 20000 S P 100000 P 200000 x Output Pulse P 400000 rj s E b 1 Pea j 1 0 2 0sec A2 NOVA electronics Inc MCX312 A3 mM 40KPPS Non symmetrical Trapezoidal acceleration deceleration Individual acceleration deceleration WR3 D1 1 Triangle form prevention ON WR3 D5 1 R 800000 Multiple 10 A 400 D 100 SV 50 V 4000 AO 0 R 800000 Multiple 10 A 100 D 400 SV 50 V 4000 AO 0 Acceleration 500K PPS SEC Acceleration 125K PPS SEC Deceleration 125K PPS SEC Deceleration 500K PPS SEC Initial Speed 500PPS Initial Speed 500PPS Drive Speed 40K PPS Drive Speed 40K PPS 40K 40K PPS PPS P 5000 P 5000 P 2000 P 10000 P 20000 Output Pulse P 30000 P 2000 P 10000 P 20000 P 30000 1 2sec j 1 2sec R 800000 Multiple 10 A 400 D 40 SV 50 V 4000 A0 0 R 800000 Multiple 10 A 40 D 400 SV 50 V 4000 A0 0 Acceleration 500K PPS SEC Acceleration 50K PPS SEC Deceleration 50K PPS SEC Deceleration 500K PPS SEC Initial Speed 500PPS Initial Speed 500PPS Drive Speed 40K PPS Drive Speed 40K PPS 40K 40K PPS PPS P 5000 P 10000 P 20000 Output Pulse P 30000 P 5000 P 10000 P 20000 P 30000 1 6sec 1 6sec A3 NOVA electronics Inc MCX302 B1 Appendix B Important notice I Notice for fixed pulse or continuous pulse driving in S curve acceleration deceleration Symptom When using fixed pulse driving or cont
73. TN H16L8 RESETN MCX312 INTN H16L8 RESETN NOVA electronics Inc MCX312 M82 10 4 Connection Example The figure shown below illustrates the example of X axis driving system Y axis can be assigned in the same way Encoder Stepper Servo Limit Home Near Home Limit CW Pulse XPP CCW Pulse VF XPM Error Counter Clear XOUTO Servo ON OFF X XOUT1 MCX312 Motor Drives EC A B Z Servo Ready 1 2 Manual Operation Psitioning O XINPOS XALARM XECA B XSTOP 10 5 Pulse Output Interface E Output to Motor Drivers in Differential Circuit Motor Drives MCX312 CW m o cw 3 Am26LS31 Am26LS32 C CCW CCW Twist Pair Shield Cable GND o E Open Collector TTL Output Motor Drives MCX312 45V 6 L OW o zx XPP T o CWe Y 5V AAA o CCW g AKA XPM 5o o CON a 74LS06 Twist Pair Shield Cable GND For drive pulse output signals we recommend the user to use twist pair shield cable due to the concern of EMC zd NOVA electronics Inc MCX312 M83 10 6 Connection Example for Input Signals Limit signals often pick up some noise since complicated cabling is normally involved A photo coupler alone may not be able to absorb this noise Enable the filter function in the IC and set an appropriate time constant FL 2 3 MCX312 r O 12 24V To the internal circuit Ena
74. Time tCYCx4 20 tCYC is a cycle of CLK 92 NOVA electronics Inc MCX312 M93 12 2 6 General Purpose Input Output Signals The figure shown at the lower left hand side illustrates the delay time when input signals nIN5 0 nEXPP nEXPM nINPOS and nALARM are read through RR4 and RRS registers The figure shown at the lower right hand side illustrates the delay time when writing general output signal data into WR4 Input Signal D15 0 D15 0 nOUT7 0 tDQ Se em RT e tDI Input Signal Data Delay Time tDO WRN 1 nOUT7 0 Setup Time 32 nS 93 NOVA electronics Inc MCX312 M94 13 Timing of Input Output Signals 13 1 Power On Reset VDD CR CLK i a RESETN a SCLK BUSYN mama ee ee eee ee Hi Z INTN AL Hi Z 4 b MDR tow nOUT7 0 a The reset signal input to pin RESETN will keep on the Low level for at least 4 CLK cycles b When RESETN is on the Low level for 4 CLK cycles maximum the output signals of MCX312 are decided c SCLK will be output after 2 CLK cycles when RESTN return to the Hi level d BUSYN keeps on the Low level for 8 CLK cycles when RESTN is on the Hi level 13 2 Fixed or Continuous Driving SCLK A A BUSYN RER DEN 1st Pulse 2nd Pulse seeeceeees Final Pulse nDIR Pre statex b Valid Level EE nDRIVE c nASND d nDSND Valid Level a Driving pulses nPP nPM and nPLS shown as above are positive logic pulses And the first driv
75. UTA DRIVE YOUTA DRIVE XOUT3 CMPM YOUT3 CMPM XOUT2 CMPP YOUT2 CMPP XOUT1 ACDSND YOUT1 ACDSND XOUTO ACASND YOUTO0 ACASND 61 78 62 79 63 80 64 81 65 82 68 83 69 84 Output A Output A Output A Output A Output A Output A Output A General Output 6 Constant 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 constant speed drive While the driving command is executed and during the constant speed drive it becomes Hi General Output 5 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 General Output 4 Drive 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 drive During outputting drive pulses it becomes Hi The DRIVE signal is set to a High level until nINPOS becomes active while the nINPOS signal for the serve motor is enabled by mode selection General Output 3 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
76. al Description MCX312 M46 Signals XOOO and YOOO are input output signals for X and Y axes where n stands for X and Y If the signals are named OOON they are negative active or low active See the end of this chapter for description of input output circuits An integral filter circuit is available in the internal input column of this IC for the input signals with F symbol See Section 2 6 9 for the filter function Signal Name Pin No Input Output Signal Description CLK 99 Input A Clock clock signal for internal synchronous loop of MCX312 The standard frequency is 16 MHz This signal is for drive speed acceleration deceleration and jerk If the frequency setting is not 16 MHz the setting values of speed and acceleration deceleration are different D15 DO 1 7 10 14 Bi directional A DATA BUS 3 state bi direction 16 bit data bus 17 20 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 kQ A3 A0 21 22 23 24 Input A Address address signal for host CPU to access the write read registers A3 is used only when the 8 bit data bus is used CSN 25 Input A Chip Select input signal for selecting I O device for MCX312 Set CSN to the Low level for data reading and writing WRN 26 Input A Write Strobe its level is
77. as the drive speed However when a stepping motor is used for driving the drive speed must not exceed the automatic activation frequency of the motor 2 6 2 Pulse Output Type Selection There are two types of pulse output independent 2 pulse type when the driving is in direction the pulse output is from nPP PLS when the driving is in direction the pulse output is from nPM DIR 1 pulse 1 direction type nPP PLS is for pulse outputting and nPM DIR is for direction signal outputting pulse direction is set on the positive logical level Sce ph Pulse Output Waveform Pulse Output Type Drive Direction nPP PLS Signal nPM DIR Signal Direction acne Low level Independent 2 pulse POE Low level Direction TIT Direction Low level 1 pulse 1 direction Direction LE Hi level Bit D6 PLSMD of register WR2 is used for the selection of pulse output type eds NOVA electronics Inc MCX312 M41 Additionally bits D7 PLS L and D8 DIR L of register WR2 can be used for pulse outputting direction and logical level setting Note Please refer to Chapter 13 2 13 3 for the pulse signal nPLS and direction signal nDIR in 1 pulse 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 W A
78. ative number related to the current position 68 NOVA electronics Inc MCX312 M69 6 10 Logical Position Counter Setting Command Data Range Data Length Logical position counter setting 2 147 483 648 2 147 483 647 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 Command Data Range Data Length Real position counter setting 2 147 483 648 2 147 483 647 4 bytes 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 Command Data Range Data Length COMP register setting 2 147 483 648 2 147 483 647 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 DO of register RR1 or nOUT2 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 Command Data Range Data Length COMP register setting 2 147 483 648 2 147 483 647 4 bytes CM
79. before driving completion Deceleration status of accelerating ASND constant speed driving CNST and decelerating DSND can be read out according to RR1 resister of IC The status is shown as Figure 3 as below speed d driving speed 7 Figure 3 Status of deceleration shown by RR1 resister The timing when the initial speed 7 oL occ cl coco coco a trouble may possibly time happen is shown as d acceleration 4 on Figure 3 At this time status of deceleration is constant speed 0 driving CNST 1 time Besides in case the RR1 D2 ASND 1 0 trouble such as RR1 D3 CNST pees canara pulse continuously appens RR1 D4 DSND SS a all of ASND CNST and RRO DO 3 nDRV DSND will become 0 1 even though it s driving RRO nDRV 1 Workaround 1 When deceleration stop command 26h is executed Case Basically once deceleration starts it isn t necessary to execute deceleration stop command Therefore deceleration stop command should be prohibit See nRR1 D4 DSND normally to know it s decelerating or not Timing when the trouble happens is in d as shown on Figure 3 if deceleration stop command is executed In d DSND status bit is 0 and CNST status bitis 1 Therefore the following two 2 solutions will be proposed 1 When interruption from IC can be used When deceleration starts interruption will be occurred to prohibit execution of deceleration stop c
80. ble O X Axis Over Run Limit 10 7 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 MCX312 MCX312 45V Motor Drives 220 ECA 470 AAA Oo o XECA A 31k cca ZE o o TLP115A a EM 83 NOVA electronics Inc MCX312 M84 11 Example Program The example of C program for MCX312 is shown in this section This is a 16 bit bus configuration program include lt stdio h gt include lt conio h gt define adr 0x0280 Basic address define wrO 0x0 Command register define wr1 0x2 Mode register 1 define wr2 0x4 Mode register 2 define wr3 0x6 Mode register 3 define wr4 0x8 Output register define wr5 Oxa Interpolation mode register define wr6 Oxc Low word bits data writing register define wr7 Oxe High word bits data writing register define rr 0x0 Main status register define rr1 0x2 Status register 1 define rr2 0x4 Status register 2 define rr3 0x6 Status register 3 define rr4 0x8 Input register 1 define rr5 Oxa Input register 2 define rr6 Oxc Low word bits data reading register define rr Oxe High word bits data reading register define bpip 0x4 BP direction data register for the X axis control define bpim 0x6 BP direction data register fo
81. bled WR2 D0 1 1 driving is started and hardware limit of progress direction becomes active just before finishing driving When nSTOP 2 0 signals are enabled WR1 D5 3 1 fixed pulse driving is started and those signals become active just before finishing driving This trouble won t happen when trapezoidal liner acceleration deceleration drive or constant speed drive is performed This trouble won t be happened when continuous pulse driving in S curve acceleration deceleration This trouble won t happen when any of Sudden stop command EMGN signal LMT signal of Sudden stop and ALARM signal is outputted Fixed pulse driving in S curve acceleration deceleration is performed as that driving speed and initial speed becomes equal and acceleration becomes zero 0 when driving finished which means all pulse outputted But it s impossible to make driving speed amp initial speed equal and acceleration zero 0 in all combinations of parameters because of the problem of calculation accuracy This trouble will happen if it is in the above mentioned occasion D or as the factors of deceleration stop accidentally and driving speed hasn t reached initial speed yet but acceleration has become zero 0 showing on Figure 2 B3 NOVA electronics Inc MCX302 B4 speed driving speed hasn t reached initia initial speed time acceleration acceleration becomes 0 time t Figure 2 Driving speed and acceleration just
82. cal real position counter is smaller than that of COMP register D11 P C Interrupt occurs when the value of logical real position counter is smaller than that of COMP register D12 PzC Interrupt occurs when the value of logical real position counter is larger than or equal to that of COMP register D13 C END Interrupt occurs at the end of the constant speed drive during an acceleration deceleration driving D14 C STA Interrupt occurs at the start of the constant speed drive during an acceleration deceleration driving D15 D END Interrupt occurs when the driving is finished D15 D0 will be set to 0 while resetting 4 5 Mode Register2 WR2 Each axis is with mode register WR2 The axis specified by NOP command or the condition before decides which axis s register will be written 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 DO WR2 INP E INP L ALM E ALM L PIND1 PINDO PINMD DIR L PLS L PLSMD CMPSL HLMT HLMT LMTMD SLMT SLMT ET Ie NOVA electronics Inc MCX312 M54 DO D1 D2 D3 D4 D5 D6 D7 D8 D9 SLMT SLMT LMTMD HLMT HLMT CMPSL PLSMD PLS L DIR L PINMD Enable disable setting for COMP register which is used as the direction software
83. ch 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 DO WR4 YOUT7 YOUT6 YOUT5 YOUT4 YOUT3 YOUT2 YOUT1 YOUTO XOUT7 XOUT6 XOUT5 XOUT4 XOUT3 XOUT2 XOUT1 XOUTO D15 DO will be set to 0 while resetting and nOUT7 0 signals become Low level 4 8 Interpolation Mode Register WR5 This register is used for setting constant vector speed mode multichip interpolation 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 DO WR5 BPINT CIINT CMPLS EXPLS MLT1 MLTO LSPD1 LSPDO 0 0 0 0 0 0 0 0 L JL JL Jl J Interrupt Step multichip Constant Vector Speed D9 8 LSPD1 0 Constant vector speed mode setting of interpolation driving D9 Code Binary constant vector speed invalid 2 axis constant vector speed setting not available 320090 setting not available When 2 axis constant vector speed mode is engaged the user should set the range R of the Y axis to be 1 414 times of the range R of the X axis D11 10 MLT1 0 Multichip interpolation mode setting D11 Setting 0 disable multichip interpolation 0 main chip 1 sub chip X Y Both X and Y axes use 1 sub chip Only X axis D12 EXPLS When it is
84. comes less than the speed oie that was utilized at the increase of acceleration the acceleration starts to decrease towards 0 The decrease ratio is the same as the increase ratio and the 0 x acceleration decreases in a linear form of the specified Acceleration Deceleration Time jerk K In this case the speed data forms a secondary Fig 2 12 S Curve Acceleration Deceleration Driving parabolic curve section c Thus the case that acceleration has a constant part in its acceleration this book calls it The Partial S curve Acceleration On the other hand if the difference between the specified drive speed V and the current speed becomes less than the speed that was utilized at the increase of acceleration before acceleration reaches designation value A section shifts from a to c without b section Thus the case that acceleration does not have a constant part in its acceleration it calls The Perfect S curve Acceleration Please refer to example of parameter settings described later and appendix regarding cases of the partial S curve acceleration and the perfect S curve acceleration Also at the deceleration the speed forms an S curve by increasing decreasing the deceleration in a primary linear form sections d e and f The same operation is performed in acceleration deceleration where the drive speed is changed during continuous driving To perform S curve acceleration deceleration driving set bit D2 to 1 of th
85. d 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 WROH 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 decides which axis s register will be written The register consists of the bit for setting enable disable and enable logical levels of input signal STOP2 STOPO decelerating stop sudden stop during the driving and bit for occurring the interrupt enable disable Once SP2 SPO are active when the fixed continuous driving starts and also when STOP 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 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 DO WR1 D END C STA C END P C P lt C P C P C SMOD EPINV EPCLR SP2 E SP2 L SP1 E SP1 L SPO E SPO L l l Interrupt Enable Disable Driving Stop Input Signal eB NOVA electronics Inc MCX312 M53
86. d Data Range Data Length Drive speed setting 2 bytes V 1s the parameter determining the speed of constant speed period in trapezoidal driving In constant speed driving the drive speed is the initial speed The drive speed calculation is shown in the following formula 8 000 000 T A Multiple Drive Speed PPS V x 67 NOVA electronics Inc MCX312 M68 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 a In fixed 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 b In fixed trapezoidal driving the frequent changes of drive speed may occur residual pulses at the end of deceleration 6 7 Output Pulse Numbe
87. d pulse drive with Scurve deceleration of the symmetrical acceleration deceleration However when the initial speed is set to an extremely low speed 10 or less slight premature termination or creep may occur Before using a Scurve deceleration drive make sure that your system allows premature termination or creep NOVA electronics Inc MCX312 iii LOUTEINE 5 556 oe ae ete ode lesu esL elu eee eC d 1 2 IheDeseriptioris of Functions 6 2 1 Pulse Output Command 6 2 1 1 Fixed Driving Output 6 2 1 2 Continuous Driving Output 7 2 2 Acceleration and Deceleration 7 2 2 1 Constant Speed Driving 7 2 2 2 Trapezoidal Driving Symmetrical 8 2 2 3 Non Symmetrical Trapezoidal Acceleration 9 2 2 4 S curve Acceleration Deceleration Driving 11 2 2 5 Pulse Width and Speed Accuracy 14 2 9 Position Control s s22 5252 e sss Se cS Pera ore Pas SRS SCE SSeS oan 15 2 3 1 Logic Position Counter and Real position Counter 15 2 3 2 Compare Register and Software Limit 15 2 3 3 Position Counter Variable Ring
88. deceleration premature termination output of the specified driving pulses is completed and terminated before the speed reaches the initial speed or creep output of specified driving pulses is not completed even if the speed reaches the initial speed and the remaining driving pulses are output at the initial speed may occur Set initial speed value SV more than 100 e When the fixed S curve acceleration deceleration driving is performed the driving speed does not seldom reach the setting value E Example of Parameter Setting 1 Perfect S Curve Acceleration Deceleration As shown in the diagram in this example the perfect S curve es acceleration is applied to reach from the initial speed of 0 to 40000 40KPPS in 0 4 seconds The speed must be 20 000PPS half of 40 000PPS in 0 2 sec half ie of 0 4 sec and then must reach to 40 000PPS in rest of 0 2 sec At this time the acceleration increases on a straight line in 0 2 sec and the integral value is equal to the starting speed 20 000PPS Therefore the acceleration at 0 2 sec is 20 000 x 2 0 2 Acceleration RUM 200KPPS SEC and the jerk is 200K 0 2 1 000KPP SEC pre For the perfect S curve the speed curve only depends on the jerk 200K so that the value of acceleration deceleration must be set greater than 200KPPS SEC not to be the partial S curve Range R 800000 Multiple 10 9 SEC Jerk K 625 62 5x10 625 x10 1000x10 PPS SEC 12 NOVA electron
89. e 1 2 Functional Block Diagram of Axis Control Section NOVA electronics Inc 2 The Descriptions of Functions 2 1 Pulse Output Command MCX312 M6 There are two kinds of pulse output commands fixed driving output and continuous driving output 2 1 1 Fixed Driving Output When host CPU writes a pulse numbers into MCX312 for fixed driving and configures the performance such as acceleration deceleration and speed MCX312 will generate the pulses and output them automatically Fixed driving operation is performed at acceleration deceleration As shown in Fig 2 1 automatic deceleration starts when the number of pulses becomes less than the number of pulses that were utilized at acceleration and driving terminates at completion of the output of the specified output pulses For fixed driving in acceleration deceleration the following parameters must be set Speed Driving Speed Auto Deceleration Stop Specific Output Pulse Initial Speed time Fig 2 1 Fixed Driving Parameter name Symbol Range R Comment Acceleration Deceleration A D When acceleration and deceleration are equal the setting of deceleration is not required Initial Speed SV Drive Speed V Number of Output Pulse P E Changing the Number of Output Pulse in Driving The number of output pulse can be changed in the fixed driving If the command is for increasing the output pulse the p
90. e interpolation data and command Set more than 2 at minimum as the number of output pulse for each segment If the setting is 1 irregular driving will be executed If you need more assistance please e mail us at novaelec_info novaelec co jp B9
91. e interpolation driving the interpolation will stop It the stop is occurred by errors RRO main status register will confirm the error bit in D5 Y ERR and D4 X EWW RRO 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 In position Signal for Servo Motor During the interpolation driving when the in position signal nINPOS of each X and Y axis is active and also when the interpolation is finished the INPOS signal of the axis is stand by at its active level and D8 I DRV of RRO register returns to 0 2 4 1 Linear Interpolation To execute the linear interpolation the user i can according to the present point Y 20 9 Short axis coordinates set the finish point coordinates and the interpolation segment s for 2 axes Fig 2 24 shows an example of axis interpolation where linear interpolation is 5 performed from the current coordinates to the finish point coordinates 40 5 LSB max For individual axis control the command pulse number is unsigned and it is controlled by direction command or 0 5 10 15 20 x direction command For interpolation Long axis control the command pulse number is Fig 2 23 The Position Accuracy for Linear Interpolation signed The resolution of linear interpolation is within 0 5 LSB as shown
92. e limit Case In fixed pulse driving the target position goal can be calculated from present position logical position counter value and number of output pulse If target position is over value of software limit don t drive to avoid the trouble B7 NOVA electronics Inc MCX302 B8 4 Deceleration stop with STOP 2 0 Signal Case Normally deceleration stop with STOP 2 0 signal is performed during continuous pulse driving But out of necessity when deceleration stop with STOP IN signal is performed during fixed pulse driving in S curve deceleration there isn t any method to avoid it before the trouble happens like chapter 2 2 So the example of measure is shown as follows g DRIVING STARTS bh RRO DRV bit See RR1 D8 11 IS STOP SIGNAL ACTIVE ASND CNST DSND 0 RR1 ASND CNST DSND bit SUDDEN STOP COMMAND 27h yes no C DRIVING COMPLETION B8 NOVA electronics Inc MCX302 B9 IV Notice for continuous interpolation Symptom In executing continuous interpolation when writing the interpolation command for the next segment during outputting the final pulse of the present segment the irregular driving will occur which keeps outputting pulses Workaround Finish writing interpolation data and command executed by CPU before the final pulse for each segment is output It needs to set output pulse number and drive speed for each segment to keep enough time to writ
93. e nW3 register and parameters as follows parameters marked by O will be set when needed Parameter name Symbol Comment Range R Jerk K Acceleration deceleration increases from 0 Acceleration A gt to the value linearly Deceleration when acceleration and O Deceleration D EAE deceleration are set individually Initial Speed SV Drive Speed V O Number of Output Pulse P Not required for continuous driving WThe Prevention of Triangle Driving Profile For fixed driving of linear acceleration deceleration the speed Speed curve forms the triangle form when the output pulses do not reach the pulses required for accelerating to the drive speed or deceleration stop is applied during acceleration In the case of S curve acceleration deceleration driving the following method is applied to maintain a smooth speed curve Initial Speed If the initial speed is 0 and if the rate of acceleration is a then the Acceleration time speed at time t in acceleration region can be described as Deceleration following Acceleration Deceleration v t at t t time Fig 2 13 The rule of 1 12 of Parabolic Acceleration Deceleration 11 NOVA electronics Inc MCX312 M12 Therefore the total the number of pulse p t from time 0 to t is the integrated of speed p t 1 3 x at The total output pulse is 1 3 2 3 1 2 3 1 1 3 x at 4 at so p t 1 12 total pu
94. e of COMP the volume of position counter the volume of COMP Enable disable for these factors selectable 99 NOVA electronics Inc MCX312 M100 W External Signal for Driving EXPP and EXPM signals for fixed pulse continuous drive Driving in manual pulsar mode encoder input E External Deceleration Sudden Stop Signal STOPO 2 3 points for each axis Enable disable and logical levels selectable E Servo Motor Input Signal ALARM Alarm INPOS In Position Check Enable disable and logical levels selectable E General Input Output Signal IN0 5 6 points for each axis wherein 4 points use with multichip interpolation signal pin OUTO 7 8 points for each axis wherein it uses with drive status output pin E Driving Status Signal Output DRIVE drive pulse outputting ASND speed accelerating CNST constant driving DSND speed decelerating CMPP position 2 COMP CMPM position COMP ACASND acceleration deceleration speed increase ACDSND acceleration deceleration speed decrease Drive status and status registers readable B Limit Signals Input 1 point for each and side Logical levels and decelerating sudden stop selectable E Emergency Stop Signal Input EMG 1 point in all axes Sudden stop the drive pulse of all axes when on Low level W Contents of integral type filters Equipped with integral filters in the input column of each input signal One t
95. ection over limit YLMTM 56 p 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 HLMT of RR2 register becomes 1 XSTOP2 0 YSTOP2 0 XOUT7 DSND YOUT7 DSND 49 51 52 57 58 59 60 77 Input A zi F Output A STOP 2 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 STOP2 STOPO The signal status can be read from register RR4 RR5 And nSTOP2 signal is equipped with a function that clears a real position counter value by 1 signal depends on mode setting so that it is appropriate to input an encoder Z phase signal General Output 7 Descend general purpose output signals XOUT7 0 can output the 1 0 data of D7 0 in WR4 register and YOUT7 0 can output the 1 0 data of D15 8 in WR4 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 XOUT6 CNST YOUT6 CNST XOUTS ASND YOUTS ASND XO
96. ed If the value set for the drive speed is lower than the initial speed acceleration deceleration driving is not performed If a Z phase is detected the driving pulse stops immediately i46 NOVA electronics Inc MCX312 M17 G Validate the STOP2 signal and set an active level WR1 D5 SP2 E 1 D4 SP2 L O Low active 1 Hi active Enable the clearing of the real position counter using the STOP2 signal Set WR1 D6 to 1 Issue the direction or direction continuous driving command As a result of the operations described above driving starts in the specified direction as shown in Fig 2 23 When the Z phase signal reaches an active level the driving pulses stop and the real position counter is cleared at the rising of the Z phase signal active level Z Phase Search Stop M Driving Pulse EC A Zea fra fM o EC B i he STOPIEC Z 1 4 AdiveHi Real Position Counter N N41 N42 N43 N34 N 5 N46 N 7 0 Fig 2 22 Example of Operation of Clearing The Real Position Counter Using The STOP2 Signal Notes e Only the nSTOP2 signal can clear the real position counter The nSTOP1 and nSTOPO signals cannot clear the counter When the input signal filter is invalid an active level width of more than 4CLK cycles is necessary When the input signal filter is valid a time more than double the input signal delay time is necessary tis recommended to perform Z phase search from the one direction to
97. ed MPLS input signal becomes pulse input signal for external pulse interpolation The interpolation calculation starts by this signal and one pulse for each axis interpolation is output YINA MCLK 71 Bi directional B General Input 4 general purpose input signals Nc Reading operation is as same as nIN5 MIS 86 3 The signal should be connected among chips and pulled up to 5V with 6800 impedance when multichip axes interpolation is performed XIN3 MERR 72 Bi directional B General Input 3 general purpose input signals dc Reading operation is as same as nIN5 en Br 3 The signal should be connected among chips and pulled up to 5V with 6800 impedance when multichip axes interpolation is performed XIN2 MINP 73 Bi directional B General Input 2 general purpose input signals Me Ca Reading operation is as same as nlN5 YINZ MDTO 89 F The signal should be connected among chips and pulled up to 5V with 6800 impedance when multichip axes interpolation is performed XIN1 74 Input A General Input 1 general purpose input signals YIN1 89 F Reading operation is as same as nlN5 XINO 75 Input A General Input 0 general purpose input signals YINO 92 F Reading operation is as same as nlN5 XEXPP 93 Input A External Operation direction drive starting signal from external source YEXPP 95 p When the fixed driving is commanded from an external source direction driving will start if this signal is down Otherwise when the continuous
98. eleration Deceleration Driving t f Symmetry Automatic Deceleration P 100000 P 200000 P 400000 P 50000 Time NOVA electronics Inc MCX312 M2 B Linear Interpolation 2 axis linear interpolation can be performed The position boundary is between coordinates 8 388 607 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 2 axis Linear Interpolation 0 0 5000 X Bi Circular Interpolation Circular interpolation can be performed The position boundary is between coordinates 8 388 608 and 8 388 607 and the positioning error is within 1 LSB The interpolation speed range is from 1 PPS to 4 MPPS CCW Circular Interpolation Any circle CW Circular Interpolation Full circle Y4 Y 4 Start Point 0 0 Center Point 5000 0 Center Point 1000 1000 X 0 0 Start Point Finish Point 0 2000 ach Point li Bit Pattern Interpolation This interpolation driving receives for each axis in pulses interpolation data that was converted to packet a block of a predetermined amount of data through the operation by the upper level CPU and outputs interpolation pulses consecutively at the specified drive speed This function enables drawing of various loci created by the upper level CPU E Continuous Interpolation Different interpolation methods can be used continuously linear interp
99. enhance the position detection precision e When the nSTOP2 signal is already set to an active level at setting WR1 D6 5 4 the real position counter is cleared even if WRI1 D6 5 4 is set Notes Input signal filter must be enabled to nSTOP2 signal when the real position counter uses If input signal is passed through the real position counter may be not cleared 17 NOVA electronics Inc MCX312 M18 2 4 Interpolation This 2 axis motion control IC can perform linear interpolation circular interpolation and bit pattern interpolation In the process of interpolation driving all the calculations will follow the X axis So the user has to set the parameters such as initial speed and drive speed of the X axis before performing the interpolation After setting all of the parameters for interpolations and writing the interpolation driving commands to command register WRO the user can start the interpolation driving During the interpolation driving D8 I DRV of main status register RRO will become 1 during the interpolation and it will become 0 when the interpolation is finished Also during the interpolation driving the bit D1 Y DRV and DO X DRV 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 Over Limit Error of Interpolation When the hardware limit or the software limit of each axis is active during th
100. eration D setting void dec int axis int wdata outpw adr wr6 wdata outpw adr wr0 axis lt lt 8 0x03 startv axis assignment data For initial speed SV setting void startv int axis int wdata outpw adr wr6 wdata outpw adr wr0 axis lt lt 8 0x04 speed axis assignment data For drive speed V setting void speed int axis int wdata outpw adr wr6 wdata outpw adr wr0 axis lt lt 8 0x05 pulse axis assignment data For output pulse output finish point P setting void pulse int axis long wdata outpw adr wr7 wdata gt gt 16 amp Oxffff outpw adr wr6 wdata amp OXffff outpw adr wr0 axis lt lt 8 0x06 decp axis assignment data For manual deceleration DP setting void decp int axis long wdata outpw adr wr7 wdata gt gt 16 amp Oxffff outpw adr wr6 wdata amp Oxffff outpw adr wr0 axis lt lt 8 0x07 center axis assignment data For circular center point C setting void center int axis long wdata outpw adr wr7 wdata gt gt 16 amp Oxffff outpw adr wr6 wdata amp Oxffff outpw adr wr0 axis lt lt 8 0x08 Ip axis assignment data For logical position counter LP setting void Ip int axis long wdata outpw adr wr7 wdata gt gt 16 amp Oxffff outpw adr wr6 wdata amp Oxffff outpw adr wr0 axis lt lt 8 0x09 ep axis assignment data For real position counter EP sett
101. ers have been accessed the host CPU should specify which axis is going to be accessed by writing a NOP command into WRO 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 WROL WROH the user must write to the high word byte WROH then to the low word byte WROL Write Register in 8 bit Data Bus Address Write Register A3 A2 A1 A0 0000 WROL 000 1 WROH 0010 XWR1L YWR1L 0 0 1 1 XWR1H YWR1H 0100 XWR2L YWR2L BP1PL 0 10 1 XWR2H YWR2H BP1PH 0 110 XWR3L YWR3L BP1ML 071 71 51 XWR3H YWR3H BP1MH 1000 WRAL BP2PL 100 1 WR4H BP2PH 1010 WR5L BP2ML 101 1 WR5H BP2MH 1100 WR6L BP3PL 110 1 WR6H BP3PH 1110 WR7L BP3ML 1 11 1 WR7H BP3MH E Read Register in 8 bit Data Bus Address Read Register A3 A2 A1 A0 0000 RROL 0 00 1 RROH 0010 XRR1L YRR1L 0 0 1 1 XRR1H YRR1H 0100 XRR2L YRR2L 0101 XRR2H YRR2H 0 110 XRR3L YRR3L 0 1 1 1 XRR3H YRR3H 1000 RR4L 100 1 RR4H 1010 RR5L 1 0 1 1 RR5H 1100 RR6L 1 10 1 RR6H 1110 RR7L 1 11 1 RR7H 2541 NOVA electronics Inc MCX312 M52 4 3 Command Register WRO Command register is used for the axis assignment and command
102. f chattering by enabling the input signal filter of the MPLS signal L2 NOVA electronics Inc 2 4 8 Multichip axes interpolation This function performs a linear interpolation of multi axes using several chips this IC Fig 2 37 shows the connection example where 6 axes linear interpolation is performed by 3 chips Main chip has a role to output synchronous pulses of interpolation drive to sub chip As shown in Figure 8 signals MPLS MCLK MERR MINP MDT3 0 are connected among chips respectively and pulled up with 6809 impedance These signals share the general input signal XIN5 2 YIN5 2 so that they cannot be used as general input signal Each signal works as follows MDT3 0 Transfer finish point data of each chip Main gt Sub MCLK Clock of data transfer for MD3 0 Main lt Sub MPLS Synchronous pulse of interpolation drive Main Sub MERR Inform error occurring Sub Main MINP Inform in position waiting Sub Main Procedures for linear interpolation by multi chips are described below D Mode setting of multichip interpolation MCX312 M33 5V FEEFEE cs0Qx 8 1 gt First axis drive pulse Second axis drive pulse z Third axis drive pulse z Fourth axis drive pulse z Fifth axis drive pulse Sixth axis drive pulse Fig 2 36 Example of signal connection for multichip axe
103. f register WR5 to 1 It will enable the external signal controlled single step interpolation b Set the initial and drive speeds of X 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 MPLS This is necessary for this controlled mode And it will set the MCX312 into a constant speed mode adds NOVA electronics Inc MCX312 M32 c Set interpolation data start point center point d Write interpolation command Although the interpolation segment is enabled there is no pulse output because the single step is command controlled e MPLS input on Low level The interpolation pulse will be output from each axis after 2 5 CLK the pulse falling down when the filer is invalid The Low level pulse width of MPLS has to be longer than 4CLK Furthermore the pulse cycle of MPLS has to be longer than the setting speed cycle of X axis The user may repeat the Low level of MPLS before the interpolation 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 input pulse on MPLS Low level again to stop the driving the user may try software reset also After this all the following input pulses on MPLS Low level will not be active Note When generating Low pulses of MPLS at a mechanical contact point prevent the occurrence o
104. for the fixed acceleration deceleration driving 0 automatic deceleration 1 manual deceleration The decelerating point should be set if the manual deceleration mode is engaged D1 DSNDE Setting decelerating rate which is in accordance with the rate of the acceleration or an individual decelerating rate 0 acceleration 1 deceleration When 0 is set acceleration value is used as acceleration deceleration during acceleration deceleration driving When 1 is set acceleration value is used during acceleration driving and deceleration value is used during deceleration driving 1 should be set for non symmetrical trapezoidal acceleration deceleration driving D2 SACC Setting trapezoidal driving S curve driving 0 trapezoidal driving 1 S curve driving Before S curve driving is engaged jerk K should be set 55 NOVA electronics Inc MCX312 M56 D4 3 D5 D6 D7 D12 8 D15 13 EXOP1 0 Setting the external input signals nEXPP nEXPM for driving AVTRI VRING OUTSL FE4 0 FL2 0 D4 EXOP1 D3 EXOPO 0 0 external signals disabled 0 1 continuous driving mode 1 0 fixed driving mode 1 1 manual pulsar mode 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 driving mode is engaged
105. g the user can set MCX312 in the constant speed continuous driving and enable STOP2 1 0 Then MCX312 will perform the sudden stop when STOPI is active Except the parameter of the number of output pulse the other three parameters for the fixed drive must be set to execute the acceleration deceleration continuous driving 2 2 Acceleration and Deceleration Basically driving pulses of each axis are output by a fixed driving command or a continuous driving command of the direction or direction These types of driving can be performed with a speed curve of constant speed linear acceleration non symmetrical linear acceleration S curve acceleration deceleration according to the mode that is set or the operation parameter value 2 2 1 Constant Speed Driving When the drive speed set in MCX312 is lower than the initial 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 NOVA electronics Inc MCX312 M8 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 Parameter name Symbol Comment Range R a Set a value higher than the Initial Speed SV i drive speed V Drive Speed V Not required for continuous Number of Out
106. he error information When an error occurs the error information bit is set to 1 When one or more of D6 to DO bits of RR2 register are 1 n ERR bits of main status register RRO become 1 H L D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 DO RR2 E Es MULT EMG ALARM HLMT HLMT SLMT SLMT DO SLMT During the direction driving when logical real position counter gt COMP COMP enabled and used as software limit 60 NOVA electronics Inc MCX312 M61 D1 SLMT During the direction driving when logical real position counter lt COMP COMPenabled and used as software limit D2 HLMT When external direction limit signal nLMTP is on its active level D3 HLMT When external direction limit signal nLMTM is on its active level D4 ALARM When the alarm signal nALARM for servo motor is on its active level D5 EMG When emergency stop signal EMGN becomes Low level D6 MULT This bit is only for the X axis of main chip at the multichip interpolation When an error occurs in any axis of sub chip during multichip interpolation it will become 1 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 decide
107. he logical levels and enable disable of servo motor signal for each axis and the action mode in the real position counter BP1P BP1P register for setting the direction bit data of the X axis in bit pattern interpolation XWR3 X axis mode register 3 for setting the manual deceleration individually decelerating and S curve 0 1 1 YWR3 Y axis mode register 3 acceleration deceleration mode for each axis external operation mode and input signal filter BP1M BP1M register for setting the direction bit data of the X axis in bit pattern interpolation 100 WR4 Output register for setting the general output nOUT7 0 BP2P BP2P register for setting the direction bit data of the Y axis in bit pattern interpolation WR5 Interpolation mode register for setting axis assignment and the constant vector speed mode step 10 1 output mode and interrupt BP2M BP2M register for setting the direction bit data of the Y axis in bit pattern interpolation 110 WR6 Data writing register 1 for setting the low word 16 bit D15 DO for data writing 11 1 WR7 Data writing register 2 for setting the high word 16 bit D31 D16 for data writing Each axis is with WR1 WR2 and WR3 mode registers Each register is for 2 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 WRO The register for bit pattern interpolation is BP1P BP2P BPIM BP2
108. hen 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 scu UU UU e Signal aetive 7 Command WRN Active nPP nPM nPLS i nDRIVE e O An instant stop input signal is loaded into IC by SCLK 1 When the input signal filter is enabled the input signal will be delayed according to the constant value at filtering 95 NOVA electronics Inc MCX312 M96 13 6 Decelerating Stop The following figure illustrates the timing of decelerating stop input signal and decelerating commands The decelerating stop signal are nSTOP2 0 and nLMTP M When the decelerating mode is engaged When speed decelerating signals become active or the decelerating stop command is written the decelerating stop function will be performed Signal i Command WEN lie nPP nPM nPLS UUUUUUUUUUUU UU U UU utr LOr vL L nDSND pT If the input signal filter is disabled the input signal is delayed according to the value of the time constant of the filter 96 NOVA electronics Inc MCX312 M97 14 Package Dimensions NOVA elec IMCX312 E Installation Face 97 NOVA electronics Inc MCX312 M98 Size mm
109. ics Inc MCX312 M13 Acceleration A 160 125x160x10 200x10 PPS SEC Initial Speed SV 100 100x10 1000 PPS Drive Speed V 4000 4000x10 40000 PPS Please refer each parameter in Chapter 6 E Example of Parameter Setting 2 Partial S Curve Acceleration Deceleration Speed As shown in the diagram in this example the partial S curve dan acceleration is applied firstly it reaches from initial speed of 0 to IOKPPS in 0 2 seconds by parabolic acceleration and then reaches 30000 from 10KPPS to30KPPS in 0 2 sec by acceleration on a straight line finally reaches from 30KPPS to 40KPPS in 0 2 sec by parabolic acceleration The first acceleration must increase up to 10 000PPS in 0 2 sec on 10000 a straight line At this time the integral value is equal to the rising speed 10 000PPS Therefore the acceleration at 0 2 sec is 10 000 x o T2 oa 56 SEE 2 0 2 100KPPS SEC and the jerk is 100K 0 2 Acceleration 500KPP SEC PPSSEG 100K Range R 800000 Multiple 10 Jerk K 1250 62 5x10 1250 x10 500x10 PPS SEC o set Acceleration A 80 125x80x10 2100x10 PPS SEC Initial Speed SV 100 100x10 1000 PPS Drive Speed V 4000 4000x10 40000 PPS zd NOVA electronics Inc MCX312 M14 2 2 5 Pulse Width and Speed Accuracy W Duty Ratio of Drive Pulse The period time of direction pulse driving of each axis is decided by system clock SCLK The tolerance is within 1SCLK For CLK 16MHz the tolerance is
110. ime constant can be selected from eight types B Electrical Characters Temperature Range for Driving 0 85 C 32 F 185 F Power Voltage for Driving 5V 45 Input Output Signal Level CMOS TTL connectable Input Clock Pulse 16 000 MHz Standard E Package 100 pin plastic QFP pitch 0 65mm Dimension 23 8 x 17 8 x 3 05 mm 100 NOVA electronics Inc MCX312 A1 AppendixA Profile of Speed curve The following curves are based on the test records from MCX312 output drive pulses and speed curve traces The perfect 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 B 40KPPS Perfect S curve acceleration deceleration R 800000 Multiple 10 K 700 A D 200 SV 100 V 4000 A020 Auto Deceleration mode Jerk 893K PPS SEC2 Acceleration 250K PPS SEC 40K Initial speed 1000 PPS HS N ET Drive ul 40K PPS 20K 4 P 10000 P 20000 P P 30000 Output Pulse P 50000 yo ONG 5000 N N X Ne X D MEE OA a i 1 0 2 0sec B 40KPPS Partial S curve acceleration deceleration R 800000 Multiple 10 K 300 A D 150 SV 100 V 4000 A020 Auto Deceleration mode 40K Jerk 2083K PPS SEC2 PPS Acceleration 188K PPS SEC Initial speed 1000 PPS Drive
111. ing point is related to X axis executing the deceleration in the last segment The user should disable the deceleration then start the interpolation driving Before writing the interpolation command to the final segment which will execute the deceleration the user should enable the deceleration at first The deceleration will start if the output pulses are larger than X axis based pulses in the final segment 99 NOVA electronics Inc MCX312 M30 For instance there are 5 interpolation segments in the process of continuous interpolation In case the manual deceleration has to be executed in the last segment segment 5 the procedure is shown as follows Setting mode acceleration deceleration for X axis y Writing manual deceleration point y Deceleration disabling command 3Ch y Writing segment 1 data interpolation segment Starting continuous y Error checking waiting for the allowance to write the next data interpolation driving v Writing segment 2 data interpolation segment Error checking waiting for the allowance to write in the next data Y Deceleration enabling command 3Bh Y Writing segment 5 data interpolation segment The manual deceleration point is related to X axis driving pulses which comes from segment 5 For instance assumed that it needs 2000 pulses for decelerating stop and the total amount of pulse ou
112. ing void ep int axis long wdata outpw adr wr7 wdata gt gt 16 amp Oxffff outpw adr wr6 wdata amp Oxffff outpw adr wr0 axis lt lt 8 0x0a compp axis assignment data For COMP CP setting void compp int axis long wdata outpw adr wr7 wdata gt gt 16 amp Oxffff outpw adr wr6 wdata amp Oxffff outpw adr wr0 axis lt lt 8 OxOb 85 MCX312 M85 NOVA electronics Inc MCX312 M86 compm axis assignment data For COMP CM setting void compm int axis long wdata outpw adr wr7 wdata gt gt 16 amp Oxffff outpw adr wr6 wdata amp Oxffff outpw adr wr0 axis lt lt 8 0x0c accofst axis assignment data For acceleration counter shift AO setting void accofst int axis long wdata outpw adr wr7 wdata gt gt 16 amp Oxffff outpw adr wr6 wdata amp OXffff outpw adr wr0 axis lt lt 8 0x0d readip axis assignment For logical position counter LP reading long readlp int axis long a long d6 long d7 outpw adr wr0 axis lt lt 8 0x10 d6 inpw adr rr6 d7 inpw adr rr7 a d6 d7 lt lt 16 return a readep axis assignment For real position counter EP reading long readep int axis long a long d6 long d7 outpw adr wr0 axis lt lt 8 0x11 d6 inpw adr rr6 d7 inpw adr rr7 a d6 d7 lt lt 16 return a wait axis assignment For waiting for drive
113. ing pulse will be output after 3 SCLK cycles from BUSYN f b nDIR direction signal is valid after 1 SCLK cycle from BUSYN f C dDRIVE becomes Hi level from BUSYN 1 d nASND and nDSND are on valid level after 3 SCLK cycles from BUSYN 1 and they return to low level when the cycle of final pulse output has finished 94 NOVA electronics Inc MCX312 M95 13 3 Interpolation SCLK CJ CI CJ LJ CJ HL a a js Le E r 01 pagel a L a P nPLS stPuee L 2nd Pulse C E i F n z nDIR Linvad Valid Level invard Valid Level invalid nDRIVE ER a The first pulses nPP nPM and nPLS of interpolation driving will be output after 4 SCLK cycles from BUSYN f b nDRIVE will become Hi level after 1 SCLK cycle from BUSYN f C When 1 pulse 1 direction type nDIR signal is on valid level while Hi level pulse outputting and 1 SCLK cycle before and after Hi level pulse outputting When drive pulse is positive logic pulse 13 4 Start Driving after Hold Command SCLK WRN Drive Command Start Driving after Hold Command BUSYN OP BIS a f Tst Pulse 2nd Pulse nDRIVE b a The pulses nPP nPM and nPLS of each axis will start outputing after 3 SCLK cycles from BUSYN 1 b nDRIVE will become Hi level when BUSYN 7 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 W
114. int of Y axis 20 000 WR7 lt FFFFh write WRO 0206h write WRO 003Bh write deceleration enabling WRO 0030h write linear interpolation driving for 2 axes enabling 2 4 2 Circular Interpolation 2 axes X and Y are for 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 In Fig 2 26 it explains the definition of CW and CCW circular interpolations The CW circular interpolation is starting from the start ax2 point to the finish position with a clockwise direction the CCW CCW circular interpolation circular interpolation is with a counter clockwise direction When the finish point is set to 0 0 a circle will come out ct S Finish point V Start point Center point cox In Fig 2 27 it explains the long axis and the short axis First we define 8 quadrants in the X Y plane and put the numbers 0 7 to each quadrant Finish point p Start point We find the absolute value of X is always larger than that of Y in quadrants 0 3 4 and 7 so we call X is the long axis Y is the short axis in these quadrants in quadrants 1 2 5 and 6 Y is the long axis CW circular interpolation X is the short axis The short axis will output pulses regularly
115. interpolation based on center point from present point to finish point Before driving the finish point of the X and Y axes should be set by incremental value respectively A full circle will come out if the finish position is set 0 0 76 NOVA electronics Inc MCX312 M77 9 3 CCW Circular Interpolation Command 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 X and Y axes should be set by incremental value respectively A full circle will come out If the finish position is set 0 0 9 4 2 Axis Bit Pattern Interpolation Command 2 axis bit pattern interpolation This command performs 2 axis bit pattern interpolation Before driving the direction bit data of X and Y axes should be set and the setting bit data of each axis each direction is at most 16 x 3 48 bit Once the data is over than 48 bit those remaining data can be filled during the driving 9 5 BP Register Data Writing Enabling Command BP register data writing enabling This command enables the bit pattern data writing registers BP1P M and BP2P M After this command is issued the data writing to register nWR2 nWRS becomes disabled The data written to the bit pattern data writing registers is disabled while resetting 9 6 BP Register Data Writing Disabling Command
116. inuous pulse driving in S curve acceleration deceleration driving is performed at an initial speed without acceleration Occurrence Condition 1 When fixed pulse driving or continuous pulse driving is performed in S curve acceleration deceleration mode WR3 D2 1 2 the value of Drive speed V Initial speed SV is lower than the half value of V SV which is driven just before 3 And in the driving just before when ACC counter which is used in S curve acceleration deceleration driving in the IC is not returned to 0 at the end of driving Workaround Before start of driving use following steps to workaround this behavior with an inspection command to clear the internal ACC counter This command is not described in the manual When fixed pulse driving or continuous pulse driving is performed in S curve acceleration deceleration mode WR3 D2 1 write 44h command just before all the drive commands are written Example Set mode for S curve acceleration deceleration Set Range R Set Jerk K Set Acceleration A Set Initial speed SV Set Drive speed V Set Output pulse number P WRO Axis assignment 44h Command for workaround WRO Axis assignment 20h Fixed pulse drive in the direction Waits for termination of driving Set Output pulse number P WRO Axis assignment 44h Command for workaround WRO Axis assignment 21h Fixed pulse drive in the direction B1 NOVA electronics Inc
117. it pattern interpolation MCX312 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 MCX312 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 MCX312 MCX312 M24 Note 1 If there is more BP data coming then repeat this process 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 MCX312 finishes the bit pattern interpolation 24 NOVA electronics Inc MCX312 M25 2 4 4 Constant Vector Speed MCX312 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 33 shows the profile of 2 axes interpolation driving The vector speed reflects 1 414 times of the individual axis drive speed So we have to set the speed of 1 414 times to keep the vector speed for 2 axis driving W Constant Vector Speed Set up The user should first set the values of D9 and D8 of register WR5 to 0 and 1 Then set the range R of Y axis to be 1 414 times of the value of X axis Therefore MCX312 will use the range parameter of X
118. it up down 9998 ring counters Therefore normally when the counter value is incremented P N in the direction from FFFFFFFFh which is the maximum value of the 32 bit length the value is reset to the value 0 When the counter value is decremented in the direction from the value 0 the value is reset to FFFFFFFFh The variable ring function enables the setting of any value as the maximum value This function is useful for managing the position of the axis in circular motions that return to the home position after one rotation rather than linear motions 5000 To enable the variable ring function set the D6 RING bit of the WR3 Fig 2 20 Operation of Position Counter register to 1 and set the maximum value of the logical position counter in Ring Maximum Value 9999 the COMP register and the maximum value of the real position counter in the COMP register For instance set as follows for a rotation axis that rotates one cycle with 10 000 pulses To enable the variable ring function set 1 in the D6 bit of the WR3 register Q Set 9 999 270Fh in the COMP register as the maximum value of the logical position counter Set 9 999 270Fh in the COMP register when using a real position counter also The count operation will be as follows Increment in the direction 99985999950 Decrement in the direction 1 0 9999 9998 Notes The variable ring function enable disable is set for each axis however a logica
119. ite setting the parameter WR7 003Dh write range 4 000 000 multiple 2 WRO 0100h write WR6 4DCOh write 2 axis constant vector speed Y WR7 0056h write 4 000 000x1 414 5 656 000 WRO 0200h write X gt WR6 01F4h write Initial speed 500x2 1000PPS 1500 0 0 T 4500 6000 WRO 0104h write Fig 2 34 The Example of Continuous Interpolation Axis WR6 01F4h write drive speed 500x2 1000PPS WRO lt 0105h write WR6 1194h write finish point X 4500 WR7 lt 0000h write WRO 0106h write WR6 0000h write finish point Y 0 Seg1 WR7 lt 0000h write WRO 0206h write WRO 0030h write 2 axis linear interpolation Procedure A J1 RRO D4 D5 read if error occurs If D4 or D5 1 jump to handle error Jump to Error RRO D9 read waiting for next segment s enable signal If D9 0 Jump to J1 27 NOVA electronics Inc MCX312 M28 WR6 0000h write center X 0 WR7 0000h write WRO 0108h write WR6 05DCh write center Y 1500 WR7 0000h write WRO 0208h write WR6 05DCh write finish point X 1500 Seg2 WR7 lt 0000h write WRO 0106h write WR6 05DCh write finish point Y 1500 WR7 lt 0000h write WRO 0206h write WRO 0033h write CCW circular interpolation ER Procedure A WR6 0000h write finish point X 0 o WR7 lt 0000h write WRO lt 0106h write WR6 05DCh write
120. ite 0000h write 0038h write F6FEhwrite 0000h write 000Fh write 3FCOh write 0038h write 1FDBh write 0000h write OOFFh write FCOOh write 0038h write 0034h write J1 RRO D14 13 read If D14 D13 1 Jump to J1 BP1P BP1M BP2P BP2M WRO WRO 4000h write 7FF5h write 0000h write OAFFh write 0038h write 0037h write J2 RRO D8 read If D8 1 Jump to J2 Constant linear speed setting the speed parameter range 4 000 000 multiple rate 2 range of constant line speed 4 000 000x1 414 5 656 000 Initial speed 500x2 1000PPS drive speed 500x2 1000PPS clear BP data enable to write into BP register command of bit 0 15 X axis direction X axis direction Y axis direction Y axis direction BP data stacking SC 1 command of bit 16 31 X axis direction X axis direction Y axis direction Y axis direction BP data stacking SC 2 command of bit 32 47 X axis direction X axis direction Y axis direction Y axis direction BP data stacking SC 3 enable 2 axis bit pattern interpolation because SC 3 until the SC is less than 2 command of bit 48 62 X axis direction X axis direction Y axis direction Y axis direction BP data stacking SC 3 disable to write into BP register until ending interpolation drive E Executing bit pattern interpolation by interrupt During the b
121. itions and two comparison registers for comparing the present positions gt PP direction e gt PM direction Logical Position Counter 32bit DOWN Real Position Counter UP lt Waveform lt ECA PPIN RW Encoder input pulse 32bit WE Transformation 4 ECB PMIN put p Selector wee Register D5 e o E RR1 Register DO 32bit g E RR1 Register D1 32bit 2 Fig 2 18 Position Control Block Diagram 2 3 1 Logic Position Counter and Real position Counter As shown above in Fig 2 19 the logic position counter is counting the driving pulses in MCX312 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 19 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 WR2 register The
122. ive level For a 8 bit data bus all the bits are cleared when the RR3L register is read 4 14 Input Register RR4 RR5 RR4 and RRS 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 These input signals can be used as general input signal when they are not used as function except for nLMTP M signal z51 NOVA electronics Inc MCX312 M62 D15 D14 D13 D12 i D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 DO RR4 XLM XLM XIN5 XINA XIN3 XIN2 XXIN1 XINO X ALM X INP x Ex x ex ENG XST2 XST1 XSTO D15 D14 D13 D12 3 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 DO RR5 Y LM Y LM Y IN5 Y IN4 Y IN3 Y IN2 Y IN1 Y INO ALM Y INP Y EX Y EX Y ST2 Y ST1 Y STO Bit Name Input Signal Bit Name Input Signal n STO n STOPO n INO nINO n ST1 n STOP1 n IN1 nIN1 n ST2 n STOP2 n IN2 nIN2 EMG EMGN n IN3 nIN3 n EX nEXPP n IN4 nIN4 n EX nEXPM n IN5 nIN5 n INP nINPOS n LM nLMTP n ALM nALARM n LM nLMTM 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 DO is set in RR6 register and the high word 16 bits D31 D16 is set in RR7 register for data reading H L D15
123. l position counter and a real position counter cannot be enabled disabled individually fa variable ring function is enabled a software limit function cannot be used 2 3 4 Clearing a Real Position Counter Using an External Signal This function clears a real position counter at rising of the Z phase active La Near Home Sensor level when Z phase search is applied in Home Sensor home search Normally home search is performed by assigning a near home signal a home npp pm Prive Pulse Motor signal and an encoder Z phase signal EC AB prvina A ircui to nSTOPO to nSTOP2 signals and EC Z ne executing continuous driving When the specified signal is activated driving ill st d then the logical aie ardet ud Fig 2 21 Example of Signal Connection for Clearing postion real position counters are The Real Position Counter by The STOP2 Signal cleared by the CPU This function is useful for solving the problem of Z phase detection position slippage that occurs due to a delay of the servo system or the mechanical system even if a low Z phase search drive speed is set To clear a real position counter with a Z phase signal in encoder Z phase search assign the Z phase signal to nSTOP2 signal as shown Fig 2 22 See below for the procedure for setting a mode or a command for Z phase search accompanied by clearing of the real position counter Set a range and an initial speed Q Set a Z phase search drive spe
124. leration Deceleration Driving The offset function can be used for compensating the pulses when the decelerating speed does not reach the Speed setting initial speed during the S curve fixed driving MCX312 will calculate the acceleration deceleration Offset Pulse point automatically and will arrange the pulse numbers in acceleration equal to that in deceleration The method is calculating the output acceleration Initial Speed ulses and comparing them with the remaining pulses img p p 5 E Fig 2 5 Offset for Deceleration When the remaining pulses are equal to or less the pulses in acceleration it starts the deceleration When setting the offset for deceleration MCX312 will start deceleration early for the offset The greater is the positive value set for the offset the closer the automatic declaration point becomes increasing the creep pulses at the initial speed at deceleration termination If a negative value is set for the offset value output may stop prematurely before the speed reaches the initial speed see Fig 2 6 The default value for offset is 8 when MCX312 power on reset It is not necessary to change the shift pulse value in the case of acceleration deceleration fixed driving As for fixed driving in non symmetrical trapezoidal acceleration deceleration or S curve acceleration deceleration if creep pulses or premature termination occurs at termination of driving due to the low initial speed setting correc
125. lid level after 3 SCLK cycles from BUSYN 1 and they return to low level when the cycle of final pulse output has finished 13 3 Interpolation a The first pulses nPP nPM and nPLS of interpolation driving will be output after 4 SCLK cycles when BUSYN is f The first pulses nPP nPM and nPLS of interpolation driving will be output after 4 SCLK cycles from BUSYN f b nDRIVE will become Hi level after 1 SCLK cycle when BUSYN is 1 nDRIVE will become Hi level after 1 SCLK cycle from BUSYN f c DIR signal keeps the active level in 1 SCLK cycle before and after the Hi level pulse outputting When 1 pulse 1 direction type nDIR signal is on valid level while Hi level pulse outputting and 1 SCLK cycle before and after Hi level pulse outputing When drive pulse is positive logic pulse 14 4 Start Driving after Hold Command a The pulses nPP nPM and nPLS of each axis will start outputting after 3 SCLK cycles when BUSYN is T a The pulses nPP nPM and nPLS of each axis will start outputing after 3 SCLK cycles from BUSYN 1 b nDRIVE will become Hi level when BUSYN is 7 for each axis gt b nDRIVE will become Hi level when BUSYN for each axis NOVA electronics Inc Jul 27 2011 Ver 2 1 B9 iv Notice for continuous interpolation has been added Mar 25 2010 Ver 2 0 P9 P12 P63 P99 PB8 Note WR3 D5 bit must be reset 0 in advance not seldom reach the setting value CP 1 073 741 824 1
126. 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 DO SLMT bit of register RR2 will become 1 Under this situation further written direction driving commands will not be executed Note When a position counter variable ring is used a software over run limit cannot be used 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 The bit for controlling stop type when the hardware limits nLMTP and nLMTM input signals are active 0 sudden stop 1 decelerating stop Setting the logical level of direction limit input signal nLMTP 0 active on the Low level 1 active on the Hi level Setting the logical level of direction limit input signal nLMTM 0 active on the Low level 1 active on the Hi level 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 Setting output pulse type 0 independent 2 pulse type 1 1
127. lse output Therefore when the output pulse in acceleration of S curve is more than 1 12 of total output pulse MCX312 will stop increasing acceleration and start to decrease the acceleration value In the constant acceleration part when the output pulse in acceleration reaches 4 1 of total output pulse MCX312 will start to decrease the acceleration value B The Decelerating Stop for Preventing the Triangle Driving Profile When the decelerating stop is commanded during the Speed acceleration deceleration driving the acceleration is decreasing then the deceleration starts when the acceleration reaches 0 time E Constraints for S curve Acceleration Deceleration 2 Decrease the Acceleration value Driving Acceleration 4 Deceleration a The drive speed cannot be changed during the fixed S curve acceleration deceleration driving b When the fixed S curve acceleration deceleration driving is 1 Bade for Deceleration Stop time performed the change of the numbers of output pulse during 3 Acc become zero Dec begins the deceleration will not result a normal S curve driving Fig 2 14 The rule of 1 12 of Parabolic profile Acceleration Deceleration C In case of executing circular interpolation bit pattern interpolation and continuous interpolation S curve acceleration deceleration cannot be executed normally d If an extremely low value is set as the initial speed for fixed driving of S curve acceleration
128. n constant speed deceleration will be also shown to bits D5 AASND D6 ACNST and D7 ADSND and the signals NOUTO ACASND and nOUT1 ACDSN Status Register Output Signal Drive Status Active 1 Active Hi Drive RRO D1 0 n DRV nDRIVE Acceleration nRR1 D2 ASND nASND Constant Speed nRR1 D3 CNST nCNST Deceleration nRR1 D4 DSND nDSND Acceleration Deceleration Increase nRR1 D5 AASND nACASND Acceleration Deceleration Constant nRR1 D6 ACNST Acceleration Deceleration Decrease nRR1 D7 ADSND nACDSND 4 Constant RE Constant Speed Acceleration Speed Deceleration Stop Acceleration Speed Deceleration Stop Linear acceleration driving state Acceleration 4 Deceleration Acceleration Deceleration Increase Acceleration Constant Acceleration Deceleration Decrease S curve acceleration driving state 42 NOVA electronics Inc MCX312 M43 2 6 8 General Purpose Input Output Signal In MCX312 there are 6 general purpose input pins nIN5 0 and 8 general output pins nOUT7 0 for each axis However during the multichip interpolation nIN5 2 cannot be used cause they share the same terminals with the multichip interpolation signals Also during the outputting nOUT7 0 cannot be used cause they share the same terminals with the position comparison output and drive status output The status of XIN5 0 signals for X axis are displayed in
129. nd 0x0 0x3e pulse 0x1 10000 pulse 0x2 20000 c2pulse 0x1 40000 c2pulse 0x2 40000 c2command 0x0 0x30 command 0x0 0x30 next wait pulse 0x1 10000 pulse 0x2 20000 c2pulse 0x1 40000 c2pulse 0x2 40000 c2command 0x0 0x30 command 0x0 0x30 next wait pulse 0x1 10000 pulse 0x2 20000 c2pulse 0x1 40000 c2pulse 0x2 40000 c2command 0x0 0x30 command 0x0 0x3b command 0x0 0x30 wait 0x1 MCX312 M89 E Example of continuous interpolation program for multichip linear interpolation I Chip 1 mode setting Mode register 1 Mode register 2 Mode register 3 General output register Interpolation mode register Specify main chip I Chip 2 mode setting Mode register 1 Mode register 2 Mode register 3 General output register Interpolation mode register Specify sub X and Y I Chip 1 parameter setting Il 0 R 800000 Multiple 10 A 100 Acceleration deceleration 125KPPS SEC II SV 100 Initial speed 1000PPS V 6000 Drive speed 60000PPS Chip 2 parameter setting I AO 0 R 800000 Multiple 10 SV 6000 6000 max clear max clear Seg 1x1 termination 10000 II Seg 1y1 termination 20000 II Seg 1x2 termination 40000 Seg 1y2 termination 40000 II Seg 2x1 termination 10000 II Seg 2y1 termination 20000 II Seg 2x2
130. ng interpolation segment is loaded 296 NOVA electronics Inc MCX312 M27 E Attentions for Continuous Interpolation a Before setting the interpolation segment the user should first set other data such as center point finish point for each segment b The maximum speed for the continuous interpolation is 2MHz C The following interpolation segment must be loaded before the previous interpolation segment is finished d The segment driving time should be longer than the time for error checking and the command setting of next segment during the interpolation e In continuous interpolation if one of 2 3 axes is 0 interpolation is performed correctly otherwise 0 cannot be set to the finish point of all axes in 2 3 axes linear interpolation or to the center point of both axes in circular interpolation any axis cannot set the data that drive pulse is not output If suchlike data it set interpolation cannot be performed correctly E The Example of Continuous Interpolation Fig 2 35 shows an example of executing continuous interpolation beginning at point 0 0 from segment 1 2 3 to the segment 8 In segment 1 3 5 and 7 the linear interpolation will be executed in segment 2 4 6 and 8 the circular interpolation will be executed and the track is a quadrant circle with radius 1500 The interpolation driving is at a constant vector speed 1000PPS WR5 0100h write constant vector speed Y 4500 4 WR6 0900h wr
131. nnection Example for Input Signals 83 10 7 Connection Example for Encoder 83 11 Example Program 84 12 Electrical Characteristics 90 12 1 DC Characteristics 90 12 2 AC Characteristics 477s777 7H77 nR Ope H cs 91 rep CC 91 12 2 2 Read Write Cycle 77 5 2252 5 55 5 99997 59 2090090 PS 4 p 5 91 223 BUSY Signal miginte v ese ee aes eases 92 12 2 4 SCLK Output Signal Timing 92 12 2 5 np tP lses 9 2 9 49 5ves eeemcsuT eee eT Wee 92 12 2 6 General Purpose Input Output Signals 93 13 Timing of Input Output Signals 94 T3 1 Power On Reset 2 465 22 2 5 0 60en4Beoceenieneseepcsecde eo 94 13 2 Fixed Pulse or Continuous Pulse Driving 94 13 34nterpolation s 959 5 9m 08mxLvescmeTDUU A esu esse SS 95 13 4 Start Driving after Hold Command 95 18 5 Sudden Stop 95 13 6 Decelerating Stop B5 9BR E xzc cez eescpercine eee ee 96 14 Package Dimensions
132. nterrupt factor occurs the interrupt the level is Low when the interrupt is released it will return to the Hi Z level SCLK 34 Output A System Clock SCLK CLK 2 All the signals in MCX312 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 Note There is no SCLK output when RESETN is on the Low level XPP PLS 35 Output A Pulse Pulse direction dive pulse outputting YPP PLS 37 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 XPM DIR 36 Output A Pulse Pulse direction dive pulse outputting YPM DIR 38 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 39 Input A Encoder A Pulse in signal for encoder phase A input YECA PPIN 43 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 pulses input Once the input pulse is up 1 the real position counter is counting up XECB PMIN 42
133. olation circular interpolation linear interpolation The maximum drive speed of performing continuous interpolation is 2 MHz 1500 00 4500 6000 E Constant Vector Speed Control This function performs a constant vector speed During the interpolation driving MCX312 can set a 1 414 times pulse cycle for 2 axis simultaneous pulse output xis 1 000ms 1 414ms 1 000ms 1 414ms os aL ux a EEE XPM es YPM Example of Pulse Output of 2 Axis Interpolation Constant Vector Speed Vector speed 1000pps NOVA electronics Inc MCX312 M3 W Position Control Each axis has a 32 bit logic position counter and a 32 bits real position counter The logic position counter counts the number of output pulse and the real position counter counts the feedback number of pulse from the external encoder or linear scale ll 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 E Input Signal Filter The IC is equipped with an integral type filter in the input step of each input signal It is possible to set for each input signal whether the filter function is enabled or the signal is passed through A filter time constant can be selected from eight types
134. olations Enable Disable Status Check RRO The Factors of Interrupt Happening WR5 Register Register Interrupt Clearing D14 CIINT D9 CNEXT in continuous interpolation when MCX312 is available for the interpolation data of next node after next interpolation command is written the interrupt will be cleared D15 BPINT D14 13 BPS1 0 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 237 NOVA electronics Inc MCX312 M38 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 See Bit pattern Continuous Interpolation section for executing interpolation by interrupt 38 NOVA electronics Inc MCX312 M39 2 6 Other Functions 2 6 1 Driving By External Pulses Fixed driving and continuous driving can be controlled by either commands or external signals which can reduce the load of host CPU By inputting an encoder 2 phase signal of a manual pulsar jog feed of each axis is enabled Each axis has two input signals nEXPP and nEXPM In fixed drive mode and a continuous drive mode the nEXPP signal triggers driving in the direction and the nEXPM signal in the direction n
135. ommand 26h until driving completion Flag of prohibition against deceleration stop command is prepared and it will be clear before driving starts Enable constant speed area completion interruption WR1 D13 C END 1 Fixed pulse driving starts and if interruption is occurred read RR3 D5 C END within interruption process routine and status bit is 1 constant speed area is completed which is same as deceleration starts So make flag of prohibition against deceleration stop command 1 Besides it is possible that CNST constant speed area will occur just before driving completion Then return WR1 D13 status bit from 1 to 0 in order to prevent interruption On the other hand within task see flag and if it s 1 don t execute deceleration stop command B4 NOVA electronics Inc MCX302 B5 2 When interruption can t be used Terms when deceleration stop command should be executed in accelerating and constant speed driving such as a and b on Figure 3 Status of deceleration for both d timing when the trouble happens and b constant speed driving is same as constant speed driving as shown on Figure 3 But there is difference of driving speed between two Driving speed in b is near that of setting driving speed Driving speed in d is near that of initial speed Therefore before driving starts prepare judgmental speed which is middle one between initial speed and setting speed Driving speed initial speed 2 initial
136. ommands Code Command 30h 2 axis leaner interpolation 31 32 CW circular interpolation 33 CCW circular interpolation 34 2 axis bit pattern interpolation 35 36 BP register writing enabled 37 BP register writing disabled 38 BP data stack 39 BP data clear 3A 1 step interpolation 3B Deceleration valid 3C Deceleration invalid 3D Interpolation interrupt clear 3E Maximum finish point clear for multichip linear interpolation BP bit pattern Note Please do not write the codes not mentioned above The unknown situation could happen due to IC internal circuit test 64 NOVA electronics Inc MCX312 M65 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 WR6 7 register can be used Then the axis assignment and command code will be written into register WRO 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 a It requires 250 nSEC maximum to access the command code when CLK 16MHz Please don t write the next command or data into WRO when the
137. 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 Setting logical level of driving pulses 0 positive logical level 1 negative logical level Eu cs DESC ps T Positive Logical Level Negative Logical Level Setting logical level of the direction nPM DIR output signal for 1 pulse mode DIR L D8 DIR L direction 0 Low Hi 1 Hi Low Setting the type of encoder input signals nECA PPIN and nECB PMIN 0 quadrature pulse input type 1 Up Down pulse input type When quadrature pulse input type is engaged and nECA signal goes faster 90 degree phase than nECB signal does it s count up and nECB signal goes faster 90 degree phase than nECA signal does it s count down nECA i nECB Count Up Count Down 54 NOVA electronics Inc MCX312 M55 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 up 1 D11 10 PIND1 0 The division setting for quadrature encoder in
138. put D11 D10 Division 0 0 1 1 0 1 1 2 Up down pulse input is not 1 0 1 4 available 1 1 Invalid D12 ALM L Setting active level of input signal nALARM 0 active on the Low level 1 active on the Hi level D13 ALM E Setting enable disable of servo alarm input signal nALARM 0 disable 1 enable When it is enabled MCX312 will check the input signal If it is active D14 ALARM bit of RR2 register will become 1 The driving stops D14 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 RRO main status register does not 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 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 the setting of input signal filter and so on H L D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 DO WR3 FL2 FL1 FLO FE4 FE3 FE2 FE1 FEO JOUTSL VRING AVTRI EXOP1 EXOPO SACC DSNDE MANLD DO MANLD Setting manual automatic deceleration
139. put Pulse P Ac driving E Example for Parameter Setting of Constant Speed The constant speed is set 980 PPS as shown in the right Figure Range R 8 000 000 Initial Speed SV 980 Multiple 1 Initial Speed 2 Drive Speed Should be less than initial speed Drive Speed V 980 Please refer each parameter in Chapter 6 2 2 2 Trapezoidal Driving Symmetrical In linear acceleration driving the drive speed accelerates in a primary linear form with the specified acceleration slope from the initial speed at the start of driving When Drive speed the acceleration and the deceleration are the same symmetrical trapezoid in fixed driving the pulses utilized at acceleration are counted When the remaining number of output pulses becomes less than the number Initial Speed of acceleration pulses deceleration starts Deceleration continues in the primary line with the same slope as that of acceleration until the speed reaches the initial speed Speed Speed Initial Speed Drive Speed time Fig 2 7 Constant Speed Driving Speed pps 980 0 2 5 time SEC Deceleration Acceleration Acceleration slope Output pulse is too low not sutable for the requirement of drive speed time Fig 2 8 Trapezoidal Driving Symmetrical and driving stops at completion of the output of all the pulses automatic deceleration When the decelerating stop command is performed during the
140. r Interpolation Finish Point Setting Command Data Range Data Length Output pulse number Output pulse numbers 0 268 435 455 interpolation finish point setting Finish point 8 388 608 8 388 607 4 bytes The number of output pulses indicates the total number of pulses that are output in fixed driving Set the finish point of each axis for linear and circular Interpolations set the finish point by relative numbers with a signed 24 bit The number of output pulses is an unsigned but interpolation end point is a signed both the number of output pulses and the interpolation end point should be set in 4 bytes data length The output pulse numbers can be changed during the driving 6 8 Manual Decelerating Point Setting Command Data Range Data Length Manual decelerating point setting 0 268 435 455 4 bytes DP is the parameter setting the manual deceleration point in fixed acceleration deceleration driving when the manual deceleration mode is engaged In manual deceleration mode the user can set the bit DO of WR3 register to 1 The decelerating point can be set Manual Decelerating Point Output Pulse Number Pulse Number for Deceleration 6 9 Circular Center Point Setting Command Data Range Data Length Circular center point setting 8 388 608 8 388 607 4 bytes C is the parameter setting the center point in circular interpolation The coordinates of center point should be set the rel
141. r wr5 0x0000 accofst 0x3 0 range 0x3 800000 acac 0x3 1010 acc 0x3 100 dec 0x3 100 startv 0x3 100 speed 0x3 4000 pulse 0x3 100000 Ip 0x3 0 homesrch acc 0x3 200 speed 0x3 4000 pulse 0x1 80000 pulse 0x2 40000 command 0x3 0x20 wait 0x3 wreg3 0x1 0x0002 acc 0x1 200 dec 0x1 50 speed 0x1 4000 pulse 0x1 80000 command 0x1 0x20 wait 0x1 wreg3 0x1 0x0000 wreg3 0x3 0x0004 acac 0x3 1010 acc 0x3 200 speed 0x3 4000 pulse 0x1 50000 pulse 0x2 25000 command 0x3 0x21 wait 0x1 wreg3 0x3 0x0000 outpw adr wr5 0x0100 range 0x1 800000 range 0x2 1131371 startv 0x1 100 speed 0x1 100 pulse 0x1 5000 pulse 0x2 2000 command 0x0 0x30 wait 0x3 outpw adr wr5 0x0100 range 0x1 800000 range 0x2 1131371 startv 0x1 100 speed 0x1 100 center 0x1 5000 center 0x2 0 pulse 0x1 0 pulse 0x2 0 command 0x0 0x33 wait 0x3 MCX312 M87 Il X Y axes software limit ON Il X 1000 100000 Il Y 500 50000 theme eee eee Main routine TERE ddd dd RR de dede AeA eene e de de de de Ae ke de de he eei eee eek eee de he Ae Re k EEE ER EEE Software reset 00000000 00000000 00000000 00000000 Mode register 3 00000000 00000000 General output register 00000000 00000000 Interpolation mode register 00000000 00000000 Mode register 1 Mode register 2 I X and Y axes operation parameter initial
142. r instance the circular interpolation of the finish point should be set by a signed 32 bit format with the data length of 4 bytes although its calculatable data range is from 8 388 608 to 8 388 607 signed 24 bit format The contents of WR6 and WR7 are unknown while resetting 4 10 Main Status Register RRO 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 bit pattern interpolation H D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 DO RRO BPSC1 BPSCO ZONE2 ZONE1 ZONEO CNEXT DRV 0 O Y ERR X ERR 0 O Y DRVX DRV ae Menu perm ue ni Error Status of Each Axis Driving Status of Each Axis D1 0 n DRV Displaying driving status of each axis When the bit is 1 the axis is an outputting drive pulse when the bit is 0 the driving of the axis is finished Once the in position input signal nINPOS for servomotor is active nINPOS will return to 0 after the drive pulse output is finished D5 4 n ERR Displaying error status of each axis If any of the error bits D6 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 C
143. r the X axis control define bp2p 0x8 BP direction data register for the Y axis control define bp2m Oxa BP direction data register for the Y axis control wreg 1 axis assignment data Write register 1 setting void wreg1 int axis int wdata outpw adr wr0 axis lt lt 8 Oxf axis assignment outpw adr wr1 wdata wreg 2 axis assignment data Write register 2 setting void wreg2 int axis int wdata outpw adr wr0 axis lt lt 8 Oxf axis assignment outpw adr wr2 wdata wreg 3 axis assignment data Write register 3 setting void wreg3 int axis int wdata outpw adr wr0 axis lt lt 8 Oxf axis assignment outpw adr wr3 wdata command axis assignment data For writing commands void command int axis int cmd outpw adr wr0 axis lt lt 8 cmd range axis assignment data For range R setting void range int axis long wdata outpw adr wr7 wdata gt gt 16 amp Oxffff outpw adr wr6 wdata amp Oxffff outpw adr wr0 axis lt lt 8 0x00 acac axis assignment data For Jerk K setting void acac int axis int wdata outpw adr wr6 wdata outpw adr wr0 axis lt lt 8 0x01 84 NOVA electronics Inc acc axis assignment data For acceleration deceleration A setting void acc int axis int wdata outpw adr wr6 wdata outpw adr wr0 axis lt lt 8 0x02 dec axis assignment data For decel
144. 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 General Output2 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 General Output 1 Acceleration Descend general purpose output signals the operation is as same as nOUT7 When the drive status output mode is engaged it becomes Hi if acceleration deceleration of S curve acceleration deceleration decreases General Output 0 Acceleration Ascend general purpose output signals the operation is as same as nOUT7 When the drive status output mode is engaged it becomes Hi if acceleration deceleration of S curve acceleration deceleration increases 47 NOVA electronics Inc MCX312 M48 Signal Name Pin No Input Output Signal Description XIN5 MPLS 70 Bi directional B General Input 5 general purpose input signals YIN5 MDT3 85 F The status of signal is displayed in a register XIN5 0 of the X axis is displayed in D13 8 of RR4 register and YIN5 0 of the Y axis is displayed in D13 8 of RR5 register The signal should be connected among chips and pulled up to 5V with 6800 impedance when multichip axes interpolation is perform
145. s interpolation Assign main sub chip by D11 10 bit of WRS register WRS D11 WRS D10 Setting 0 0 Do not perform multichip interpolation Main chip Sub chip X and Y both X and Y are used 0 1 1 0 1 1 Sub chip X only X is used If sub chip X is assigned Y axis of that chip is used independently at multichip interpolation However YIN5 2 signal cannot be used as general input Set mode setting of limit signal and servo motor enabled signal for each axis the same as normal independent drive Speed parameter setting Set interpolation drive speed which becomes the drive speed of the longest length axis of finish point in all axes And set speed parameter to main chip and X axis of each sub chip as follows There is no need to set speed parameter for Y axis of each chip When acceleration deceleration is not performed no need to set acceleration and deceleration but initial speed and drive speed should be set the same value Speed parameter Main chip X axis Sub chip X axis Range R Required Set the same value as main range Jerk K Required when S curve acceleration deceleration Not required Acceleration A Required when acceleration deceleration Not required Deceleration D Required when acceleration deceleration Not required Initial speed SV Required the same value as drive speed when Set the same value as main drive speed Drive speed V Required constant speed drive Set
146. s which axis s register will be read This register is for reflecting the interrupt factor When interrupt happens the bit with the interrupt factor becomes 1 The user should set the interrupt factor through register WR1 to perform the interrupt To generate an interrupt interrupt enable must be set for each factor in the WRI register D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 x D3 D2 D1 DO RR3 D ENDIC STA C END P C P lt C P C P C D1 P2C Once the value of logical real position counter is larger than that of COMP register D2 P C Onmce the value of logical real position counter is smaller than that of COMP register D3 P lt C Once the value of logical real position counter is smaller than that of COMP register D4 P2C Once the value of logical real position counter is larger than that of COMP register D5 C END When the pulse output is finished in the constant speed drive during an acceleration deceleration driving D6 C STA When the pulse output is started in the constant speed drive during an acceleration deceleration driving D7 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 act
147. speed When execute deceleration stop command during driving make sure status is accelerating ASND 1 or constant speed driving CNST 1 and driving speed is same or faster than judgmental speed 2 Hardware limit nLMTP M signal at deceleration stop mode Case Basically use hardware limit nLMTP M signal at Sudden stop mode when fixed pulse driving in S curve acceleration deceleration Out of necessity when use hardware limit at deceleration stop mode prepare the following measures If multi axes are controlled in the same time 1 When interruption from IC can be used is effective 1 When interruption from IC can be used Constant speed area b area on Figure 3 is set as occurrence factor of interruption But this interruption is also happened when there is d area just before driving stops on Figure 3 such as when driving speed reaches initial speed or when acceleration becomes O zero There should occur d area definitely if the trouble is happened just before driving stops driving speed hasn t reached initial speed yet acceleration becomes 0 and decelerating stop requirement is executed The measure is to judge if the trouble happens or not in the timing of interruption when d area ends Make constant speed area finishing interruption of IC active WR1 D13 C END 1 Start fixed pulse driving in S curve acceleration deceleration and when interruption is happened interruption processing is executed as follows B5
148. speed 40K PPS P 5000 P 10000 P 20000 P 30000 i Output Pulse P 50000 A1 NOVA electronics Inc MCX312 A2 mM 8000PPS Perfect S curve acceleration deceleration R 8000000 Multiple 1 K 2000 A D 500 SV 100 V 8000 A0 0 8K Auto Deceleration mode Bp Jerk 31K PPS SEC2 N N Acceleration 62 5K PPS SEC ra e ES Initial speed 100 PPS jx X Drive speed 8000 PPS 4K H FK TR X x P 2000 P25000 P 10000 Output Pulse P 20000 Pa N x Ne x 2 0 4 0sec mM 8000PPS Partial S curve acceleration deceleration R 8000000 Multiple 1 K21000 A D 100 SV 100 V 8000 A020 8K Auto Deceleration mode per Jerk 62 5K PPS SEC2 P p 3 X Acceleration 12 5K PPS SEC EN N N Initial speed 100 PPS M x X Drive speed 8000 PPS 4K F P22000 P 5000 P 10000 Output Pulse P 20000 y 2 0 4 0sec mM 400KPPS Perfect S curve acceleration deceleration R 80000 Multiple 100 K 2000 A D 100 SV 10 V 4000 AO 0 400K Auto Deceleration mode pps P m Jerk 3 13M PPS SEC2 Acceleration 1 25M PPS SEC x Initial speed 1000 PPS Ju 0 TNR YX Drive speed 400K PPS 200K A P 100000 P 200000 Output Pulse P 400000 N x N N S N N Ew l 1 0 J 2 0sec mM 400KPPS Partial S curve acceleration deceleration R 80000 Multiple 100 K 500 A D 100 SV 10 V 4000 AO 0 Auto Deceleration mode 400K Jerk 12 5M PPS SEC2 pps i2 Acceleration 1 25M PP
149. speed linear acceleration parabola S curve acceleration deceleration drive Fixed Drive Deceleration Mode auto non symmetrical trapezoidal acceleration is also allowed 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 drive pulse selectable Multiple 500 Output pulse Number Speed Curve E 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 E Position Counter Logic Position Counter for output pulse range 2 147 483 648 2 147 483 647 Real Position Counter for feedback pulse range 2 147 483 648 2 147 483 647 Data read and write possible E Comparison Register COMP Register Position comparison range 1 073 741 824 1 073 741 824 COMP Register Position comparison range 1 073 741 824 1 073 741 824 Status and signal outputs for the comparisons of position counters Software limit functioned W 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 the volume of position counter 2 the volume of COMP the volume of position counter the volume of COMP the volume of position counter 2 the volum
150. ssed that time read registers RR6 and 7 b The axis assignment is for one axis If both X and Y axes are assigned the data reading priority is X 7 1 Logical Position Counter Reading Command Symbol Data length Logical position counter reading 2 147 483 648 2 147 483 647 4 bytes The current value of logical position counter will be set in read registers RR6 and RR7 7 2 Real position Counter Reading Command Data range Data length Real position counter reading 2 147 483 648 2 147 483 647 4 bytes The current value of real position counter will be set in read registers RR6 and RR7 7 3 Current Drive Speed Reading Command Data range Data length Current drive speed reading 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 71 NOVA electronics Inc MCX312 M72 7 4 Current Acceleration Deceleration Reading Command Data range Data length Current acceleration deceleration reading 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 7 5 Maximum finish point Reading for multichip linear interpolation Command Data range Data length Maximum finish point reading for 4 by
151. stop void wait int axis vneingw adren amp axis next wait Next data setting of waiting for continuous interpolation void next wait void ione hp ade rroj amp 0x0200 0x0 bp wait Next data setting of waiting for BP interpolation void bp_wait void while inpw adr rrO amp 0x6000 0x6000 l home search All axes home search void homesrch void II Action 1 3 for both X Y wreg1 0x3 0x0008 1 When home signal STOP1 is OFF speed 0x3 2000 II continuous drive in direction at 20000PPS if inpw adr rr4 amp 0x2 0x2 Deceleration stop when STOP1 is ON command 0x1 0x23 j if inpw adr rr5 amp 0x2 0x2 command 0x2 0x23 wait 0x3 wreg1 0x3 0x000c 2 Continuous drive in direction at 500PPS speed 0x3 50 Sudden stop when STOP1 is OFF command 0x3 0x22 wait 0x3 wreg1 0x3 0x0000 3 100 pulse offset drive in direction at 40000PPS speed 0x3 4000 pulse 0x3 100 command 0x3 0x21 wait 0x3 Ip 0x3 0 II 4 X Y axes LP 0 86 NOVA electronics Inc wreg2 0x3 0x0003 compp 0x1 100000 compm 0x1 1000 compp 0x2 50000 compm 0x2 500 void main void int count outpw adr wr0 0x8000 for count 0 count lt 2 count command 0x3 0xf outpw adr wr1 0x0000 outpw adr wr2 0x0000 outpw adr wr3 0x0000 outpw adr wr4 0x0000 outpw ad
152. suming current E Pin Capacity Input Output D15 DO capacity Ta 25 C f 1MHz Input capacity Other input pins 90 NOVA electronics Inc MCX312 M91 12 2 AC Characteristics Ta 0 85 C VDD 5V x 5 Output load condition 85 pF 1 TTL 12 2 1 Clock CLK Input Signal SCLK Output Signal CLK QUK ANS NLS RS A tWH tWL SCLK N N tCYC _ IDR _tDF SCLK will not be output during reset CLK Cycle CLK Hi Level Width CLK Low Level Width CLK t SCLK 1 Delay Time CLK 1 SCLK Delay Time 12 2 2 Read Write Cycle Read Cycle Write Cycle A2 A0 Valid Address CS Valid Address CSN RDN WRN D15 DO ata Input n a 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 b At a read cycle the data signal D15 D0 becomes an output state as soon as both RDN and CSN become low and stays in the output state during tDF even if RDN is reset to High Avoid the occurrence of bus conflict collision Address Setup Time to RDN CSN Setup Time to RDN Output Data Delay Time from RDN Output Data Hold Time from RDN 1 CSN Hold Time from RDN 1 Address Hold Time from RDN 1 Address Setup Time to WRN CSN Setup Time to WRN WRN Low Level Width Setup Time of Inp
153. t consists of same functioned X and Y axes control sections and interpolation counting sections Fig 1 2 is the functional block diagram of each axis control section CLK C 16MHz Standard Multichip Interpolation signal Leaner Interpolation Command Data Interpretation Pulse Separate Circle Interpolation Counting Section Interpolation Counter Section T Bit Interpolation Counting Section Base axis pulse X Axis Control Section INT Y Axis Control Section Interrupt Generator 4 INTN Fig 1 1 MCX312 Functional Block Diagram NOVA electronics Inc Command Command Data gt Operating Section External Signal EXPP EXPM External Operation Section INT Internal Generator Compare register COMP Compare register COMP OUT7 0 MCX312 M5 P P To Interpolation Base Axis Section Pulse Action Managing Section External Signal Wave gt PP PLS Change gt PM DIR Logical Position WE Counter 32bit DOWN Real Position cil Wave ECA PPIN Counter 32bit DOWN Chanae ECB PMIN Integrated quis Input Signal 4 i ET pun Filter INPOS indu aw ALARM Section 4 EMGNNetet TOP2 0 General Output Drive status output Drive status output Integrated Fig Filter IN5 0 Multichip Interpolation signal Note 1 EMGN is for all axes us
154. t the speed by setting the acceleration counter offset to an appropriate value 2 1 2 Continuous Driving Output When the continuous driving is performed MCX312 will drive pulse output in a specific speed until stop command or Speed external stop signal is happened The main application of Drive Speed 7 Der continuous pulse driving is home searching teaching or Stop Command or speed control The drive speed can be changed freely during E VEA LAU xternal Stop Signa continuous driving Initial Speed a Two stop commands are for stopping the continuous driving ome One is decelerating stop and the other is sudden stop Fig 2 6 Continuous Driving Three input pins STOP2 STOPO of each axis can be connected for external decelerating and sudden stop signals Enable disable active levels and mode setting are possible HStop Condition for External Input STOP2 to STOPO in Continuous Driving Assign an encoder Z phase signal a home signal and a near home signal in nSTOP2 to nSTOPO Assign an encoder Z phase signal in nSTOP2 Enable disable and logical levels can be set by bit from D5 to 0 of WRI register of each axis For the application of high speed searching the user can set MCX312 in the acceleration deceleration continuous driving mode and enable STOP2 1 0 in WR1 And then MCX312 will perform the decelerating stop when the external signal STOP2 1 0 is active For the application of low speed searchin
155. t 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 MCX312 M88 I X and Y axes bit pattern interpolation Figure 2 31 Example V 1 Drive speed 10PPS constant speed Enables bit pattern data write 0 15 writes bit data Stack 16 31 writes bit data 32 47 writes bit data Starts 2 axes BP interpolation driving Waits for data write 48 63 writes bit data Disables bit pattern data write Waits for termination of driving 100 Drive speed 1000PPS constant speed Il Seg 1 Waits for next data set II Seg 2 Il Seg 3 II Seg 4 Il Seg 5 II Seg 6 Il Seg 7 II Seg 8 88 NOVA electronics Inc command 0x3 0xf outpw adr wr1 0x0000 outpw adr wr2 0x0000 outpw adr wr3 0x0000 outpw adr wr4 0x0000 outpw adr wr5 0c0400 c2command 0x3 0xf outpw adr wr1 0x0000 outpw adr wr2 0x0000 outpw adr wr3 0x0000 outpw adr wr4 0x0000 outpw adr wr5 0x0800 accofst 0x1 0 range 0x1 800000 acc 0x1 300 startv 0x1 100 speed 0x1 6000 c2accofst 0x1 0 c2range 0x1 800000 c2startv 0x1 6000 c2speed 0x1 6000 command 0x0 0x3e c2comma
156. terpolation MCX312 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 MCX312 must be cleared in using BP register 3Dh W Utilizing hardware limit to interrupt the interpolation The interpolation driving will be terminated when any hardware limit of any axis is active And if host CPU wants to finish the interpolation all of the interpolation data in MCX312 must be cleared 22 NOVA electronics Inc W Writing the bit pattern data into the register in MCX312 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 MCX312 M23 The addresses map of register for 16 bit data bus in bit pattern interpolation Address The register with the Name of register Content A2 A1 AO same address 0 0 0 WRO 0 0 1 nWR1 0 1 0 BP1P X direction data nWR2 0 1 1 BP1M X direction data nWR3 1 0 0 BP2P Y direction data WR4 1 0 1 BP2M Y direction data WR5 The addresses map of register for 8 bit data bus in bit pattern interpolation Address Name of register Content A3 A2 A1 AO 0 1 0 0 BP1PL X direction data the low byte 0 1 0 1 BP1PH X direction data the high byte 0 1 1 0 BP1ML X direction data the low byte 0 1 1 1 B
157. tes multichip linear interpolation The maximum finish point value is read in multichip linear interpolation X axis should be selected The maximum finish point value is cleared to 0 when resetting or immediately after interpolation drive command starts 72 NOVA electronics Inc MCX312 M73 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 WRO 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 RRO 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 RRO will not return to 0 until nINPOS signal is on its active level Note It requires 250 nSEC maximum to access the command code when CLK 16MHz Please write the next command after this period of time 8 1 Direction Fixed Driving Command Direction Fixed Driving The setting pulse numbers will be output through the output signal nPP In driving logical 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 Range Jerk
158. the direction fixed driving starts once the nEXPP signal is falling to the Low level from the Hi level the direction fixed driving starts once the nEXPM signal is falling to the Low level from the Hi level In manual pulsar mode fixed driving in the direction is activated at 1 f the nEXPP signal when the nEXPM signal is at the Low level The fixed driving is activated at of the nEXPP signal when the nEXPM signal is at the Low level Prevent triangle waveforms during fixed driving at the trapezoidal acceleration deceleration 0 disable 1 enable Note WR3 DS bit should be reset to 0 when continuous driving is performed after fixed driving Enable the variable ring function of logical position and real position counter 0 disable 1 enable Driving status outputting or used as general purpose output signals nOUT7 0 0 nOUT7 0 general purpose output The setting of each bit in WR4 register will be output to nOUT7 0 1 nOUT7 0 driving status output see the table below Signal Name Output Description nOUTO ACASND When acceleration or deceleration of S curve acceleration deceleration increases the level becomes Hi nOUT1 ACDSND When acceleration or deceleration of S curve acceleration deceleration decreases the level becomes Hi nOUT2 CMPP Hi if logical real position counter gt COMP register Low if logical real position counter lt COMP register nOUT3 CMPM Hi if logical real position counter COM
159. the driving is stopped by external emergency signal EMGN it will become 1 W The Status Bits of Driving Finishing These bits are keeping the factor information of driving finishing The factors for driving finishing in fixed driving and continuous driving are shown as follows when all the drive pulses are output in fixed driving when deceleration stop or sudden stop command is written c when software limit is enabled and is active o d when external deceleration signal is enabled and active e when external limit switch signals nLMTP nLMTM become active f when nALARM signal is enabled and active and g when EMGN signal is on the Low level 66 99 Above factors a and b can be controlled by the host CPU and factor c can be confirmed by register RR2 even the TED driving is finished As for factors d g 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 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 decides which axis s register will be read This register is for reflecting t
160. tion and deceleration exceeds 1 2 of the total number of output pulses during acceleration this IC stops acceleration and enters a constant speed mode The triangle prevention function is disabled at resetting The function can be enabled by setting bit D5 to 1 of the WR3 register Speed pps 15 000 500 0 3 time SEC Speed Accelerating PE P 2x Pa Pd P Output Pulse Number Pa Number of pulses utilized at acceleration Pd Number of pulses utilized at deceleration Pa Pa Pd Pd time Fig 2 9 Triangle Prevention of Linear Acceleration Driving Note When continuous driving or circular interpolation driving is performed after fixed driving WR3 D5 bit must be reset 0 in advance 2 2 3 Non Symmetrical Trapezoidal Acceleration When an object is to be moved using stacking equipment the acceleration and the deceleration of vertical transfer need to be changed since a gravity acceleration is applied to the object This IC can perform automatic deceleration in fixed driving in non symmetrical linear acceleration where the acceleration and the deceleration are different It is not necessary to set a manual deceleration point by calculation in advance Fig 2 11 shows the case where the deceleration is greater than the acceleration and Fig 2 12 shows the case where the acceleration is greater than the deceleration In such non symmetrical linear acceleration also the deceleration start point is calculated
161. to MCX312 before SC counts down to 0 MCX312 will output a interrupt requirement signal to host CPU when SC counts down from 2 to 1 B The limitation for the speed of bit pattern interpolation driving The maximum pulse output speed of MCX312 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 100HSEC 160KPPS B The ending of bit pattern interpolation There are 2 ways can terminate the bit pattern interpolation D Write a ending code into buffer register of X axis The bit pattern interpolation mode will be finished and stopped if the host CPU write 1 into both and directions buffer registers D15 A DO BP1P 0000011110100000 BP1M 0000010000001111 4 The Interpolation Stops Once The And Direction Are 1 When the ending code is executed the SC will become 0 automatically The host CPU stops writing any command into MCX312 When SC 0 and when no other data is updated MCX312 will stop outputting pulse Then the bit pattern interpolation is finished E Utilizing the stop command to pause the interpolation The interpolation driving will be paused if a sudden stop or decelerating stop command is written into X axis which is executing the bit pattern in
162. tors generated by X and Y axes Enable Disable Status nRR3 The Factors of Interrupt Happening nWR1 Register Register once the value of logical real position counter is larger than or equal to the D9 P2C D1 P2C value of COMP register CM once the value of logical real position counter is smaller than the value of D10 P C D2 P C i COMP register CM once the value of logical real position counter is larger than the value of D11 P lt C D3 P lt C COMP register CM once the value of logical real position counter is smaller than or equal to the D12 P2C D4 P2C value of COMP register CM in the acceleration deceleration driving when the driving changes from the D13 C END D5 C END pase 3 constant speed region into the decelerating region in the acceleration deceleration driving when the driving changes from the D14 C STA D6 C STA e i accelerating region into the constant speed region D15 D END 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 W interrupt from Interp
163. tput form segment 5 is 5000 So the manual deceleration point will be 5000 2000 3000 The cycle of deceleration should be started and finished within the same segment 30 NOVA electronics Inc MCX312 M31 2 4 7 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 X 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 X axis s drive speed The Low level width is kept until next command or external signal comes Fig 2 36 is the example showing the execution of single step interpolation from an external signal X axis s initial speed is 500PPS the drive speed is at 500PPS constant speed driving The Hi level width of output pulse is 1msec MBit eee irm c c Set es Mee de cc 1 mSEC 1 Y Y XPP YPM Fig 2 35 Example of Single Step Interpolation 500PPS by External Signal MPLS E Command Controlled Single step Interpolation The command 3Ah is for single step interpolation The user can set D13 of register WR5 to 1 to enable the command controlled single step interpolation The operating procedure is shown as follow a Set D13 of register WR5 to 1 It will enable the command controlled single step interpolation b Set the
164. udden Stop Command 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 75 2 NOVA electronics Inc MCX312 M76 9 Interpolation Commands Interpolation commands consist of the commands for 2 axes linear interpolation CW CCW circular interpolation 2 axes bit pattern interpolation and other related commands There is no need to make the axis assignment in setting bits D9 8 of command register WRO Please set 0 in those bits Speed parameter setting for X axis is necessary before interpolation driving starts in any interpolation In interpolation driving bit D8 I DRV of main status register RRO becomes 1 and will return to 0 when the driving is finished In interpolation the n DRV bit of interpolating axis becomes 1 Note 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 Command 2 axis linear interpolation This command performs interpolation between X and Y axes from present point to finish point Before driving the finish point of X and Y axes should be set by incremental value respectively 9 2 CW Circular Interpolation Command CW circular interpolation This command performs 2 axis clockwise circular
165. ulse 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 Speed A Change of Output Pulse 7 time Fig 2 3 Changing The Number of Output Pulse During Deceleration Speed Change of Output Pulse f time Fig 2 2 Change of Output Pulse Number in Driving Speed 4 Change of 7 Output Pulse time Fig 2 4 Changing The Pulse Number Less Than Output Pulse Number W Manual Setting Deceleration for fixed Acceleration Deceleration Driving As shown in Fig 2 1 generally the deceleration of fixed acceleration deceleration driving is controlled automatically by MCX312 However in the following situations it should be preset the deceleration point by the users The change of speed is too often in the trapezoidal fixed acceleration deceleration driving When use circular interpolation bit pattern interpolation and continuous interpolation for acceleration and deceleration In case of manual deceleration please set DO 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 driving NOVA electronics Inc MCX312 M7 W Offset Setting for Acce
166. us is shown as it s still driving even though driving has gone out d area Check if hard limit is ON or OFF Since RR1 D12 bit becomes 1 if limit is ON and RR1 D13 bit becomes 1 if limit is ON if it s D12 1 or D13 1 judge forward limit is ON If trouble has happened it becomes ASND CNST DSND 0 Check them all Execute sudden stop command 27h B6 NOVA electronics Inc MCX302 B7 2 When interruption can t be used In d area on Figure 3 if forward limit is active the trouble will happen more exactly saying it will seldom happen There isn t any method to avoid it before it happens So immediately after the trouble happens take means to stop driving If the trouble happens e area on Figure 3 status keeps driving RRO nDRV 1 status of acceleration deceleration is 0 in ASND CNST DSND This is completely abnormal state So the example of measure is shown as follows DRIVING STARTS RRO DRV bit FORWARD LIMIT ON RR1 D12 13 RR1 ASND CNST DSND bit ASND CNST DSND 0 SUDDEN STOP COMMAND 27h C DRIVING COMPLETION D When start fixed pulse driving in S curve acceleration deceleration always read out status of progress directional hardware limit RR1 D12 D13 with timer interruption If limit signal becomes active read out bit status of ASND D2 CNST D3 and DSND D4 in RR1 resister and execute Sudden stop command 27h one time only if all those 3 bits are 0 3 Softwar
167. ut Data to WRN 1 Hold Time of Input Data from WRN 1 CSN Hold Time from WRN 1 Address Hold Time from WRN 1 91 NOVA electronics Inc MCX312 M92 12 2 3 BUSYN Signal sik A N NAS Nf NN NAS N WRN BUSYN Hiz tDF tWL BUSYN becomes low active for maximum 2 SCLK cycles from WRN f During the time IC cannot accept Read Write sb m o e tDF WRN 1 BUSYN Delay Time ns tWL BUSYN Low Level Width tCYCx4 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 1 will be changed Output signals nPP PLS nPM DIR nDRIVE nASND nCNST nDSND nCMPP nCMPM nACASND and nACDSND SCLK Output Signal tD tDD SCLK t Output Signal 1 Delay Time o 20 ns 12 2 5 Input Pulses W Quadrature Pulses Input Mode A B phases Count up Count down nECA nECB nPPIN nPMIN a In quadrature pulses input mode when nECA and nECB input pulses are changed the value of real position counter will be reflected in maximum 4 SCLK cycles b In UP DOWN pulse input mode the value of real position counter will be reflected in maximum 4 SCLK cycles from nPPIN and nPMIN input f nECA and nECB Phase Difference Time tCYCx2 20 nPPIN and nPMIN Hi Level Width tCYCx2 20 nPPIN and nPMIN Low Level Width tCYCx2 20 nPPIN and nPMIN Cycle tCYCx4 20 nPPIN 1 nPMIN t between
168. ving Finishing DO CMP Displaying the comparison result between logical real position counter and COMP register 1 logical real position counter gt COMP register 0 logical real position counter COMP register D1 CMP Displaying the comparison result between logical real position counter and COMP register 1 logical real position counter COMP register 0 logical real position counter gt COMP register D2 ASND It becomes 1 when in acceleration D3 CNST It becomes 1 when in constant speed driving D4 DSND It becomes 1 when in deceleration D5 AASND In S curve it becomes 1 when acceleration deceleration increases 59 NOVA electronics Inc MCX312 M60 D6 ACNST In S curve it becomes 1 when acceleration deceleration keeps constant speed D7 ADSND In S curve it becomes 1 when ASND 1 CNST 1 acceleration deceleration Acceleration decreases Deceleration Deceleration D10 8 STOP2 0 If the driving is stopped by one of external decelerating stop signals nSTOP2 0 it will AASND 1 ACNST 1 ADSND 1 AASND 1 ACNST 1 ADSND 1 Tir become 1 D12 LMT If the driving is stopped by direction limit signal nLMTP it will become 1 D13 LMT If the driving is stopped by direction limit signal nLMTM it will become 1 D14 ALARM Ifthe driving is stopped by nALARM from servo drivers it will become 1 D15 EMG If
169. 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 74 NOVA electronics Inc MCX312 M75 8 5 Drive Status Holding Command 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 Command 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 Command 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 X 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 S
170. within the IC based on the number of output pulses P and each rate parameter Speed pps Drive speed V 30k Acceleration Rat A 36kpps se V 30k Deceleration Rate D 36kpps sec Deceleration Rate D 145kpps sec A 145kpps sec Acceleration Rate Initial Speed SV 1k _SV 1k 14 time SEC 0 2 0 6 14 time SEC Fig 2 10Non Symmetrical Linear Acceleration Driving Fig 2 11 Non Symmetrical Linear Acceleration Driving acceleration deceleration acceleration gt deceleration 0 8 1 2 To perform automatic deceleration for fixed driving of non symmetrical linear acceleration bit D1 DSNDE to 1 of the WR3 register must be set to apply deceleration setting value and bit DO MANLD to 0 of the WR3 register must be set to enable automatic deceleration during acceleration deceleration driving NOVA electronics Inc MCX312 M10 Mode setting bit Symbol Setting value Comment WR3 D1 DSNDE 1 The deceleration setting value is applied at deceleration WR3 DO MANLD 0 Automatic deceleration The following parameters must be set Parameter name Symbol Comment Range R Acceleration A Deceleration D Initial speed SV Drive speed V Number of output pulses P Not required at continuous driving Note In the case of acceleration gt deceleration Fig 2 12 the following condition is applied to the ratio of the acceleration and the deceleration
171. xis YPP and YPM the and directions registers With in the time unit MCX312 will check the registers once and decide to output a pulse or not depending on the bit pattern 40 Fig 2 30 Example for Bit Pattern Interpolation 56 48 4 40 32 4 24 16 4 8 4 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 32 shows the register configuration of the X axis and movements of bit data of bit pattern interpolation in this IC BP 1P 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 DO REG2 SC 2 0000100000000100 BP1P Host CPU 0100000000100001 0001001000010000 o D15 NA DO 1110101 1001101001110101 i JL JL x PP P3 m a The data will be written SREG by stacking command Sc 2 REG2 0100000100001010 BP1M 4 REG1

Download Pdf Manuals

image

Related Search

Related Contents

User guide  CoaguChek XS Pro User Manual  LevelOne POH-1250 network switch  Pioneer Home Theater Dock  2 3 1  Circlelock Carte d`Instruction  StarTech.com 1 Port USB PS/2 Server Remote Control IP KVM Switch with Virtual Media  Samsung 32" HD Flat TV J4300 Series 4 Manual de Usuario    

Copyright © All rights reserved.
Failed to retrieve file