I recently recieved some stepper motors and the controller IC's to drive them,

They give me 4 inputs (A, A(not), B, and B(Not)) and i can drive the motor in steps as long as i give the right Logic number at the inputs.

Here is the datasheet for the controller:

http://www.allegromicro.com/en/Products/Part_Numbers/97024/97024.pdf

I would like to develop a circuit that would allow me to control the motor in both directions...Thinking out loud, i was thinking of using a 4 bit counter to give the steps a sequence , and then for each binary count, the corresponding logic to give the Driver IC the right combination of H's and L's to drive the motor to step increasingly, and decreasingly.

So i give a Binary counter 1 pulse, and I get this:

A /A B /B

------------

H L H L

Next pulse: (2ND)

A /A B /B

------------

L H H L

NEXT (3RD) PULSE:

A /A B /B

------------

L H L H

NEXT (4TH) PULSE

A /A B /B

------------

H L L H

Then the next pulse will be the first one again, so my binary counter will count:

0 0000

1 0001

2 0010

3 0011

----then repeat

0 0000

1 0001

2 0010

3 0011

0 0000

1 0001

2 0010

3 0011

0 0000

1 0001

2 0010

3 0011 ....and so on.

While the logic after the binary counter is giving the Driver the appropriate Logic Levels to turn the stepper ->

1 H L H L

2 L H H L

3 L H L H

4 H L L H

So by counting in binary up will spin in one direction, and down will spin the other direction...

Am i thinking in the right direction here? is there an easier way to do this with logic circuits and not processors (I dont know how nor have the resources to program them)

I hope this is written in a way that is easily understood...Thanks