ICP DAS USA 3-axis encoder card, 2-axis stepping/servo Computer Hardware User Manual


 
I-8090 User Manual Version 1.0 06/2001
http://www.icpdas.com 1-7 ICPDAS
CW
CCW
12counter
CW/CCW Counting Mode
32 1
X2=0
Fig(3) CW/CCW counting mode
10
: Pulse/Direction counting mode
Pulse
Direction
12counter
Pulse/Direction Counting Mode
321
X2=0
Fig(4) Pulse/Direction counting mode
Example: assign counting mode
x_mode=y_mode=z_mode=0x00;
card[cardNo].ctrl1 = 0x07 | x_mode;
card[cardNo].ctrl2 = 0x07 | y_mode;
card[cardNo].ctrl3 = 0x07 | z_mode;
outportb(card[cardNo].base + WR1, card[cardNo].ctrl1);
outportb(card[cardNo].base + WR2, card[cardNo].ctrl2);
outportb(card[cardNo].base + WR3, card[cardNo].ctrl3);
Example: read X-axis encoder value
card[cardNo].ctrl1 &= 0xFC; //1111 1100 low byte
outportb(card[cardNo].base + WR1, card[cardNo].ctrl1);
value = inportb(card[cardNo].base + RD1);
card[cardNo].ctrl1 |= 0x01; //0000 0001 high byte
outportb(card[cardNo].base + WR1, card[cardNo].ctrl1);
value += inportb(card[cardNo].base + RD1)*256;
card[cardNo].ctrl1 |= 0x03; //0000 0011
outportb(card[cardNo].base + WR1, card[cardNo].ctrl1);