Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IDS on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

quadrature encoder interface 1

Status
Not open for further replies.

blcpro

Electrical
Aug 19, 2003
82
Does anyone know of a readily available quadrature encoder interface IC capable of x1, x2, x4 counting? I have seen only one current manufacturer (LSI). Theirs is pretty expensive and I'm not sure about its availability. What I'm looking for will hopefully support 16-bit or more counter. The application is motor control. In the past, I was using a microcontroller with this feature built in. However, we are moving to an ARM microcontroller, and an external interface will be required.

Any thoughts?
 
Replies continue below

Recommended for you

It depends on what speed you need. I have used a technique that inputs A and B on two pins, stores it as "new" and then adds it to the "old" A and B signal multiplied by four (shifted left twice). You then get a number between 0 and 15. Use this number to read a table, Four of the entries contain +1 (FWD) and four of the entries contain -1 (BWD). The rest are illegal and contain 0. Add the reading to the counter and you have the encoder entirely in software. Done this in a 16 MHz 16-bitter and could decode 20+ kHz and still do useful work in the spare time.

An ARM7 running at 66 MHz should be able to do lots of things besides decoding.

The reason this encoding technique is so fast is that it does not have to make lots of decisions. It just reads two pins, shifts and stores, adds and reads the table. That's all.

A 16-pin PALCE or similar is the next thing to use. You will probably not have any speed problems at all then.

Gunnar Englund
 
Thanks skogsgurra. I did think about using programmable logic... but decided the added cost and programming(flashing) time would be a little too much. Also, most of the simple PLD's don't come in 3.3V surface mount packages, or are much too large to be useful. I've also thought about decoding in software, but controlling 4 motors simultaneously might be a little taxing on a 25MHz ARM. I will put some more thought into it however, as it may be the best option.
Also, thanks itsmoked. I'm trying to keep the encoder interface as inexpensive as possible. US-Digidal is a distributor for LSI.
 
Take a look at the HP-Agilent-Avago HCTL-2032-SC.


If nothing else, most of us have used the data sheet to guide us in implementing the logic in a PLD. We currently use an Altera onboard programmable CPLD to implement an 8 channel encoder interface for up to a 10 MHz edge rate.
 
Aha! I was trying to find the old HP QEI! I couldn't find it on Agilent's web site. I guess those products are offered by Avago now? Well anyway, that was a very helpful link!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor