background image

I-8091 User Manual 

 

Version 2.0    04/2003

 

1.2 DDA Technology 

The DDA chip is the heart of I-8091 card, it will generate equal-space 

pulse train corresponding to specific pulse number during a DDA period. 
This mechanism is very useful to execute pulse generation and 
interpolation function. The DDA period can be determined by DDA cycle. 
Table(1) shows the relation among DDA cycle, DDA period and output 
pulse rate. When DDA cycle set to 1, the DDA period is equal to 
(1+1)x1.024ms = 2.048ms. The output pulse number can be set to 0~2047, 
therefore the maximum output pulse rate will be 1Mpps. The minimum 
output pulse rate is 3.83pps when set DDA cycle=254 (DDA period = 
(254+1)x1.024ms = 261.12ms). 
 
 

 
 
 
 
 
 
 
 

DDA period 

Z pulse = 4 

Y pulse = 6 

X pulse = 3 

DDA cycle 

Fig.(2) DDA mechanism 

 
 

Table(1) The Relation among DDA cycle, DDA period and output pulse rate. 

DDA cycle 

DDA period 

Max. pulse 

rate(n=2047) 

Min. pulse rate (n=1) 

1 2.048ms 999511pps 

488pps 

2 3.072ms 666341pps 

325pps 

3 4.096ms 

. . 

N (N+1)*1.024ms 

2047/(DDA 

period) 1/(DDA 

period) 

. . 

254 261.12ms 

7839pps 

3.83pps 

 
The DDA cycle can be set by i8091_SET_VAR() command which decribed 
in charpter 3. The selection criterion of DDA cycle was described as 
following. 

http://www.icpdas.com

 

2-5

 

ICPDAS

 

Summary of Contents for I-8091

Page 1: ...ent to the use of this product ICP DAS reserves the right to change this manual at any time without notice The information furnished by ICP DAS is believed to be accurate and reliable However no respo...

Page 2: ...card I 8090 3 axis encoder card can be implemented as a stand along motion controller system for low cost automatical machine Features I 8000 series 2 axis independent simultaneous stepping motor con...

Page 3: ...Automatic protection 2 12 2 4 6 Set limit switch as normal close condition 2 13 2 5 Connection 2 14 2 5 1 Pin assignment of connector CN2 2 14 2 5 2 The internal circuit of CW_PULSE CCW_DIR HOLD 2 15...

Page 4: ...a micro computer for profile generation and protection 2 axis DDA chip to execute DDA function when interpolation command is used 2500Vrms optical isolation inserted for industrial application 2K FIFO...

Page 5: ...number can be set to 0 2047 therefore the maximum output pulse rate will be 1Mpps The minimum output pulse rate is 3 83pps when set DDA cycle 254 DDA period 254 1 x1 024ms 261 12ms DDA period Z pulse...

Page 6: ...e large DDA cycle DDA period it will occur vibration between different pulse input which generally can be observed during acceleration or deceleration So the small DDA cycle the smooth acceleration de...

Page 7: ...ev max speed 3000 rpm speed resolution 2 rpm The required max pulse rate PRmax 3000 rpm 8000 60 400 000 pps The maximum output pulse Np 3000rpm 2rpm 1500 pulse number The DDA cycle can be calculated b...

Page 8: ...nd 8 slots I 8000 Slot 1 Slot 2 Slot 3 Slot 4 Slot 5 Slot 6 Slot 7 Slot 8 I 8000 4 slot address 0x080 0x0A0 0x0C0 0x0E0 I 8000 8 slot address 0x080 0x0A0 0x0C0 0x0E0 0x140 0x160 0x180 0x1A0 Slot 1 Slo...

Page 9: ...egister Add R W Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 LIMIT1 0x01 R EMG FFFF FFEF LS14 LS11 ORG1 ORG1 original point limit switch of X axis LS11 LS14 limit switches of X axis which must be c...

Page 10: ...it 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 RSTFF 0x02 W Reset FIFO This register is used to reset FIFO for clear all of commands pending in the FIFO buffer 2 3 LED Indicator power EMG LS21 LS24 ORG2 LS14 LS11...

Page 11: ...091 card the limit switches must configure as following diagram The motion command just can work properly LS11 ORG1 LS14 CW FW CCW BW Motor EXT_GND LS11 LS14 ORG1 X axis EMG Emergency ccm Fig 5 Limit...

Page 12: ...d to unify the output direction as shown in Figure 5 6 The CW FW direction is defined as toward outside from motor and the CCW BW direction is defined as toward inside to motor The i8091_SET_DEFDIR ca...

Page 13: ...is executing and moving toward CCW BW direction Y axis will immediately stop when LS21 is touched To release this protection as long as Y axis move toward CW FW direction e If the signal of the emerg...

Page 14: ...CW_PULSE1 2 X axis CW Pulse output pin CCW_DIR1 3 X axis CCW Direction output pin HOLD1 4 X axis HOLD servo on output pin GND 5 Signal ground of pin 2 3 4 EXT_VCC 6 External power 12 24V for limit swi...

Page 15: ...x 5V 330 CW_PULSE1 CCW_DIR1 HOLD1 CW_PULSE2 CCW_DIR2 HOLD2 i8091 Fig 9 internal circuit of pulse output pin 2 5 3 The internal circuit of limit switch input Initially the limit switch inputs of I 8091...

Page 16: ...R1 GND CW CW CCW CCW HOLD HOLD 6 5 4 1 3 6 5 4 1 3 6 5 4 1 3 1 4 2 3 1 4 2 3 1 4 2 3 Fig 11 fan out type driver VEXTA s motor driver SINK TYPE DRIVER DGND 5V 5V 5V GND CCW_DIR1 HOLD1 CW_PULSE1 COM CW...

Page 17: ...5 2 14 1 CN2 DB25M 90 13 25 12 24 11 23 10 22 9 21 8 20 7 19 6 18 5 17 4 16 3 15 2 14 1 2B 3B 3A 1A 2C EGND 3B 2C 2A E5V 3A 2B 3C 3C 2A E5V EGND E5V EXT_GND EXT_VCC S5V SGND CW_PULSE2 CCW_DIR1 EGND 1A...

Page 18: ...programming guide The following section will introduce the I 8091 s functions and examples 3 1 Functions Constants define i8091 0x0e define YES 1 define NO 0 define READY 0 define BUSY 1 define ON 1 d...

Page 19: ...rection c If Y aixs command is executing and moving toward CW FW direction Y axis will immediately stop when LS24 is touched To release this protection as long as Y axis move toward CCW BW direction d...

Page 20: ...er 2 1 return NO board not exist YES board exist Example i8091_REGISTRATION 1 0x080 2 i8091_RESET_SYSTEM unsigned char cardNo To reset I 8091 card this command will terminate the running command in I...

Page 21: ...4ms 24414pps 4 i8091_SET_DEFDIR unsigned char cardNo unsigned char defdirX unsigned char defdirY Sometimes the output direction of X axis Y axis is undesired direction due to the motor s connection or...

Page 22: ...de 0 CW_CCW Example i8091_SET_MODE 1 CW_CCW PULSE_DIR 6 i8091_SET_SERVO_ON unsigned char cardNo unsigned char sonX unsigned char sonY To turn servo motor into servo ON OFF state or turn stepping motor...

Page 23: ...switches are active high The auto protection will automatically change the judgement whatever it is N O or N C Limit switches ORG1 LS11 LS14 ORG2 LS21 LS24 EMG cardNo card number 0 19 sw 0 NO normal o...

Page 24: ...and will terminate the running command and clear all of setting so all I 8091 card s parameter should be set again after call i8091_RESET_SYSTEM command 11 i8091_EMG_STOP unsigned char cardNo This fun...

Page 25: ...is i8091_LSP_ORG 1 CCW Y_axis 13 i8091_HSP_ORG unsigned char cardNo unsigned char DIR unsigned char AXIS High speed move and stop when ORG1 ORG2 limit switch is touched cardNo board number 0 19 ORG hi...

Page 26: ...d cardNo board number 0 19 speed 2040 high speed pulseN Example i8091_HSP_PULSE_MOVE 1 X_axis 20000 50 i8091_HSP_PULSE_MOVE 1 X_axis 2000 70 i8091_HSP_PULSE_MOVE 1 Y_axis 20000 50 i8091_HSP_PULSE_MOVE...

Page 27: ...91_STOP_Y or i8091_STOP_ALL command cardNo board number 0 19 high speed Example i8091_HSP_MOVE 1 CW X_axis getch i8091_STOP_X 1 i8091_HSP_MOVE 1 CCW Y_axis getch i8091_STOP_Y 1 18 i8091_CSP_MOVE unsig...

Page 28: ...0 move_speed 2040 move speed Acc_Dec Example i8091_CSP_MOVE 1 CW X_axis 10 delay 10000 i8091_CSP_MOVE 1 CW X_axis 20 delay 10000 i8091_CSP_MOVE 1 CW X_axis 30 delay 10000 19 i8091_SLOW_DOWN unsigned...

Page 29: ...LOW_DOWN 1 X_axis getch i8091_STOP_X 1 20 i8091_SLOW_STOP unsigned char cardNo unsigned char AXIS to decelerate to stop cardNo board number 0 19 SLOW_STOP Example i8091_HSP_MOVE 1 CW Y_axis getch i809...

Page 30: ...o board number 0 19 Restriction 2047 2047 Xpulse 2047 2047 Ypulse Example i8091_INTP_PULSE 1 20 20 i8091_INTP_PULSE 1 20 13 i8091_INTP_PULSE 1 20 7 i8091_INTP_PULSE 1 20 0 i8091_INTP_PULSE 1 15 5 22 i...

Page 31: ...ethod The i8091_INTP_LINE02 only set parameters into the driver User can directly call the do while i8091_INTP_STOP READY to execute the computing entity cardNo board number 0 19 speed 0 2040 acc_mode...

Page 32: ...e acceleration and deceleration profile X Y X Y CCW CW where radius sqrt X 2 Y 2 Example i8091_INTP_CIRCLE02 CARD1 2000 2000 100 0 do while i8091_INTP_STOP READY call state machine 25 i8091_INTP_ARC02...

Page 33: ...degree dir moving direction 0 CW 1 CCW R dir path of curve R 0 CW B R 0 CCW C R 0 CW A R 0 CCW D speed 0 2040 acc_mode 0 enable acceleration and deceleration profile 1 disable acceleration and deceler...

Page 34: ...commands i8091_INTP_LINE02 i8091_INTP_CIRCLE02 and i8091_INTP_ARC02 must use i8091_INTP_STOP simultaneously The state machine type interpolation commands are only set parameters into the driver The co...

Page 35: ...ctive low FIFO is full Example unsigned char limit1 limit1 i8091_LIMIT_X 1 28 unsigned char i8091_LIMIT_Y unsigned char cardNo to request the condition of Y axis limit switches cardNo board number 0 1...

Page 36: ...oard number 0 19 31 unsigned char i8091_IS_X_STOP unsigned char cardNo To check whether X axis is STOP or not Return value 0 NO not yet stop 1 YES stop 32 unsigned char i8091_IS_Y_STOP unsigned char c...

Page 37: ...ating speed low speed and high speed value i8091_SET_DEFDIR CARD1 xdir ydir define direction i8091_SET_MODE CARD1 xmode ymode define output mode i8091_SET_SERVO_ON CARD1 xson yson set servo ON OFF def...

Page 38: ...ydir NORMAL_DIR card1 xson ON card1 yson ON card1 NCmode OFF i8091_REGISTRATION CARD1 card1 address i8091_RESET_SYSTEM CARD1 i8091_SET_VAR CARD1 card1 DDA card1 AD card1 LSP card1 HSP i8091_SET_DEFDIR...

Page 39: ...unsigned int PortAddress 8 0x080 0x0a0 0x0c0 0x0e0 0x140 0x160 0x180 0x1a0 void main unsigned char slot temp for slot 0 slot MAX_SLOT_NO slot temp inportb PortAddress slot switch temp case i8090 i8090...

Page 40: ...i8091_HSP_ORG P i8091_INTP_LINE02 6 i8091_SET_NC G i8091_LSP_PULSE_MOVE Q i8091_CIRCLE02 7 i8091_STOP_X H i8091_HSP_PULSE_MOVE R i8091_ARC02 8 i8091_STOP_Y I i8091_LSP_MOVE S User Define Testing 9 i80...

Reviews: