HCTL-2017-A00 (Arduino reading)


So I want to decode this chip on the arduino, but I am not sure how to do it. It has a 16 bit binary conversion from the quadrature, but only 8 digital outs. I think I am getting confused, but would this mean that there would be 2 sets of 8 bits outputted to form the 16 bit number?

If you could please help it I would really appreciate it, thank you.

I am trying to use this decoder IC to count the turns of an encoder. It has a 16bit resolution, but only 8 digital output pins. It has an 8 bit tristate buffer, which I have read to mean that multiple outputs or inputs can travel across the same line.

I do not understand the concept of a tristate interface and need some help please.

This is a data sheet for the IC;

This is a page about tristate logic;

Hello TreborYenool,
I think you are using the wrong kind of IC.
Your encoder provides 'n' number of pulses
per revolution. You should have the ability
to account for all of them. Also, the encoder
provides pulses to show if it is being turned
to the right or to the left. If that makes a
difference in your application, then you
need to decode that info also. So, a simple
counter IC is not going to be of much help.
Look for a tutorial for encoder devices.

Do you mean this?

You will need 8 digital inputs to read the byte value from this counter and at least another two digital outputs to drive the OE and SEL signals on the counter chip. The 8 bits are either the low or high part of the 16-bit counter, just as you say. The level on SEL controls whether it is the high part or low part you're looking at. The datasheet pretty well explains how it's meant to work.

This chip would be entirely appropriate for monitoring a rapidly spinning quadrature encoder. You need to provide it with a clock signal at least five times faster than the maximum anticipated encoder output.

The eight bit parallel interface is somewhat inconvenient for a basic Arduino - as the other fellow has mentioned.

You do not have to worry about tri-state logic. As long as ~OE is low, the outputs with be valid.