Professional Documents
Culture Documents
Interface ICs
Technical Data
HCTL-2000
HCTL-2016
HCTL-2020
Features
Interfaces Encoder to
Microprocessor
14 MHz Clock Operation
Full 4X Decode
High Noise Immunity:
Schmitt Trigger Inputs Digital
Noise Filter
12 or 16-Bit Binary Up/
Down Counter
Latched Outputs
8-Bit Tristate Interface
8, 12, or 16-Bit Operating
Modes
Quadrature Decoder Output
Signals, Up/Down and Count
Cascade Output Signals, Up/
Down and Count
Substantially Reduced
System Software Note: Agilent Technologies Description
encoders are not recommended The HCTL-2000, 2016, 2020 are
Applications for use in safety critical CMOS ICs that perform the
applications. Eg. ABS braking quadrature decoder, counter, and
Interface Quadrature systems, power steering, life bus interface function. The
Incremental Encoders to support systems and critical care HCTL-20XX family is designed to
Microprocessors medical equipment. Please improve system performance
Interface Digital Potentiom- contact sales representative if
eters to Digital Data Input more clarification is needed.
Buses
Devices
Part Number Description Package Drawing
HCTL-2000 12-bit counter. 14 MHz clock operation. A
HCTL-2016 All features of the HCTL-2000. 16-bit counter. A
HCTL-2020 All features of the HCTL-2016. Quadrature decoder output B
signals. Cascade output signals.
ESD WARNING: Standard CMOS handling precautions should be observed with the HCTL-20XX family
ICs.
2
in digital closed loop motion and an 8-bit bus interface. The output signals and cascade
control systems and digital data use of Schmitt-triggered CMOS signals for use with many
input systems. It does this by inputs and input noise filters standard counter ICs. The HCTL-
shifting time intensive quadrature allows reliable operation in noisy 20XX family provides LSTTL
decoder functions to a cost environments. The HCTL-2000 compatible tri-state output
effective hardware solution. The contains a 12-bit counter. The buffers. Operation is specified for
entire HCTL-20XX family con- HCTL-2016 and 2020 contain a a temperature range from -40 to
sists of a 4x quadrature decoder, 16-bit counter. The HCTL-2020 +85C at clock frequencies up to
a binary up/down state counter, also contains quadrature decoder 14 MHz.
Package Dimensions
25.91 0.25
19.05 0.25 (1.02 0.010)
(0.750 0.010)
15
1.52 0.13 15
(0.060 0.005)
9.40 (0.370)
Operating Characteristics
Table 1. Absolute Maximum Ratings
(All voltages below are referenced to VSS)
Parameter Symbol Limits Units
DC Supply Voltage VDD -0.3 to +5.5 V
Input Voltage VIN -0.3 to VDD +0.3 V
Storage Temperature TS -40 to +125 C
Operating Temperature TA[1] -40 to +85 C
D4 12 14
D5 11 13
D6 10 12
D7 9 11
NC 6 Not connected - this pin should be left floating.
5
Switching Characteristics
Table 5. Switching Characteristics Min/Max specifications at VDD = 5.0 5%, TA = -40 to + 85C.
Symbol Description Min. Max. Units
1 tCLK Clock period 70 ns
2 tCHH Pulse width, clock high 28 ns
3 tCD[1] Delay time, rising edge of clock to valid, updated count 65 ns
information on D0-7
4 tODE Delay time, OE fall to valid data 65 ns
5 tODZ Delay time, OE rise to Hi-Z state on D0-7 40 ns
6 tSDV Delay time, SEL valid to stable, selected data byte 65 ns
(delay to High Byte = delay to Low Byte)
7 tCLH Pulse width, clock low 28 ns
8 tSS[2] Setup time, SEL before clock fall 20 ns
9 tOS[2] Setup time, OE before clock fall 20 ns
10 tSH[2] Hold time, SEL after clock fall 0 ns
11 tOH[2] Hold time, OE after clock fall 0 ns
12 tRST Pulse width, RST low 28 ns
13 tDCD Hold time, last position count stable on D0-7 after clock rise 10 ns
14 tDSD Hold time, last data byte stable after next SEL state change 5 ns
15 tDOD Hold time, data byte stable after OE rise 5 ns
16 tUDD Delay time, U/D valid after clock rise 45 ns
17 tCHD Delay time, CNTDCDR or CNTCAS high after clock rise 45 ns
18 tCLD Delay time, CNTDCDR or CNTCAS low after clock fall 45 ns
19 tUDH Hold time, U/D stable after clock rise 10 ns
20 tUDCS Setup time, U/D valid before CNTDCDR or CNT CAS rise tCLK -45 ns
21 tUDCH Hold time, U/D stable after CNTDCDR or CNTCAS rise tCLK -45 ns
Notes:
1. tCD specification and waveform assume latch not inhibited.
2. tSS, tOS, tSH, tOH only pertain to proper operation of the inhibit logic. In other cases, such as 8 bit read operations, these setup
and hold times do not need to be observed.
Operation
A block diagram of the HCTL-
20XX family is shown in Figure 6.
The operation of each major
function is described in the
following sections.
Digital Noise Filter the counter. False counts input is tested for a stable level
The digital noise filter section is triggered by noise are avoided. being present for three
responsible for rejecting noise on consecutive rising clock edges.
the incoming quadrature signals. Figure 7 shows the simplified Therefore, the filtered output
The input section uses two schematic of the input section. waveforms can change only after
techniques to implement The signals are first passed an input level has the same value
improved noise rejection. through a Schmitt trigger buffer for three consecutive rising clock
Schmitt-trigger inputs and a to address the problem of input edges. Refer to Figure 8 which
three-clock-cycle delay filter signals with slow rise times and shows the timing diagram. The
combine to reject low level noise low level noise (approximately result of this circuitry is that
and large, short duration noise < 1 V). The cleaned up signals short noise spikes between rising
spikes that typically occur in are then passed to a four-bit clock edges are ignored and
motor system applications. Both delay filter. The signals on each pulses shorter than two clock
common mode and differential channel are sampled on rising periods are rejected.
mode noise are rejected. The user clock edges. A time history of the
benefits from these techniques by signals is stored in the four-bit
improved integrity of the data in shift register. Any change on the
8
into account finite rise times of channels. Therefore, t ES (encoder ity (i.e. 127. 2047, or 32,767
the waveforms, asymmetry of the state period) > tCLK. The quadrature counts). Twos-
waveforms, and noise. In the designer must account for complement arithmetic is
presence of large amounts of deviations from the nominal 90 normally used to compute
noise, tE should be much greater degree phasing of input signals to position from these periodic
than 3tCLK to allow for the guarantee that t ES > tCLK. position updates. Three
interruption of the consecutive modes can be used:
level sampling by the three-bit Position Counter 1. The IC can be put in 8-bit
delay filter. It should be noted This section consists of a 12-bit mode by tying the SEL
that a change on the inputs that (HCTL-2000) or 16-bit (HCTL- line high, thus simplify-
is qualified by the filter will 2016/2020) binary up/down ing IC interface. The
internally propagate in a maxi- counter which counts on rising outputs must then be
mum of seven clock periods. clock edges as explained in the read at least once every
Quadrature Decoder Section. All 127 quadrature counts.
The quadrature decoder circuitry 12 or 16 bits of data are passed 2. The HCTL-2000 can be
imposes a second timing con- to the position data latch. The used in 12-bit mode and
straint between the external clock system can use this count data in sampled at least once
and the input signals. There must several ways: every 2047 quadrature
be at least one clock period counts.
between consecutive quadrature A. System total range is 12 or 3. The HCTL-2016 or 2020
states. As shown in Figure 9, a 16 bits, so the count repre- can be used in 16-bit
quadrature state is defined by sents absolute position. mode and sampled at
consecutive edges on both B. The system is cyclic with least once every 32,767
12 or 16 bits of count per quadrature counts.
cycle. RST is used to reset D. The system count is > 16 bits
the counter every cycle and so the HCTL-2020 can be
the system uses the data to cascaded with other stand-
interpolate within the cycle. ard counter ICs to give
C. System count is > 8, 12, or 16 absolute position.
bits, so the count data is
used as a relative or incre-
mental position input for a
Position Data Latch
system software computation The position data latch is a 12/
of absolute position. In this 16-bit latch which captures the
case counter rollover occurs. position counter output data on
In order to prevent loss of each rising clock edge, except
position information, the when its inputs are disabled by
processor must read the the inhibit logic section during
outputs of the IC before the two-byte read operations. The
count increments one-half of output data is passed to the bus
the maximum count capabil- interface section. When active, a
signal from the inhibit logic
section prevents new data from
being captured by the latch,
keeping the data stable while
successive reads are made
through the bus section. The
latch is automatically reenabled
at the end of these reads. The
latch is cleared to 0 asynchron-
ously by the RST signal.
Inhibit Logic output and whether or not the will be set to the proper voltage
The Inhibit Logic Section samples output bus is in the high-Z state. level one clock cycle before the
the OE and SEL signals on the In the case of the HCTL-2000 the rising edge of the CNTDCDR
falling edge of the clock and, in data latch is only 12 bits wide pulse, and held one clock cycle
response to certain conditions and the upper four bits of the after the rising edge of the
(see Figure 10 below), inhibits high byte are internally set to CNTDCDR pulse. These outputs
the position data latch. The RST zero. are not affected by the inhibit
signal asynchronously clears the logic. See Figures 5 and 12 for
inhibit logic, enabling the latch. A Quadrature Decoder detailed timing.
simplified logic diagram of the Output (HCTL-2020
inhibit circuitry is illustrated in Only) Cascade Output (HCTL-
Figure 11. The quadrature decoder output 2020 Only)
section consists of count and up/ The cascade output also consists
Bus Interface down outputs derived from the of count and up/down outputs.
The bus interface section consists 4X decode logic of the HCTL- When the HCTL-2020 internal
of a 16 to 8 line multiplexer and 2020. When the decoder has counter overflows or underflows,
an 8-bit, three-state output detected a count, a pulse, one- a pulse, one-half clock cycle long,
buffer. The multiplexer allows half clock cycle long, will be will be output on the CNTCAS pin.
independent access to the low output on the CNTDCDR pin. This This output will occur during the
and high bytes of the position output will occur during the clock clock cycle in which the internal
data latch. The SEL and OE cycle in which the internal counter is updated. The U/D pin
signals determine which byte is counter is updated. The U/D pin will be set to the proper voltage
level one clock cycle before the
rising edge of the CNTCAS pulse,
Inhibit and held one clock cycle after the
Step SEL OE CLK Signal Action rising edge of the CNTCAS pulse.
1 L L 1 Set inhibit; read high byte These outputs are not affected by
the inhibit logic. See Figures 5
2 H L 1 Read low byte; starts reset and 12 for detailed timing.
3 X H 0 Completes inhibit logic reset
INTERNAL COUNTER
ROLL OVER
CLK
FF 00
CHAFILT*
START INHIBIT
CHBFILT*
U/D
CNTDCDR*
CNTCAS
Cascade Considerations will be generated with some delay count in the inhibited internal
(HCTL-2020 Only) after the rising clock edge (tCHD). latch. The cascade pulse that
The HCTL-2020s cascading There will be additional occurs during the clock cycle
system allows for position reads propagation delays through the when the read begins gets
of more than two bytes. These external counters and registers. counted by the external counter
reads can be accomplished by Meanwhile, with SEL and OE low and is not lost.
latching all of the bytes and then to start the read, the internal
reading the bytes sequentially latches are inhibited at the falling For example, suppose the HCTL-
over the 8-bit bus. It is assumed edge and do not update again till 2020 count is at FFFFH and an
here that, externally, a counter the inhibit is reset. If the CNTCAS external counter is at F0H, with
followed by a latch is used to pulse now toggles the external the count going up. A count
count any count that exceeds 16 counter and this count gets occurring in the HCTL-2020 will
bits. This configuration is latched a major count error will cause the counter to roll over and
compatible with the HCTL-2020 occur. The count error is because a cascade pulse will be generated.
internal counter/latch the external latches get updated A read starting on this clock cycle
combination. when the internal latch is will show FFFFH from the HCTL-
inhibited. 2020. The external latch should
Consider the sequence of events read F0H, but if the host latches
for a read cycle that starts as the Valid data can be ensured by the count after the cascade signal
HCTL-2020s internal counter latching the external counter data propagates through, the external
rolls over. On the rising clock when the high byte read is started latch will read F1H.
edge, count data is updated in the (SEL and OE low). This latched
internal counter, rolling it over. A external byte corresponds to the
count-cascade pulse (CNT CAS)
12
General Interfacing For proper operation of the read the high order 4 or 8 bits
The 12-bit (HCTL-2000) or 16-bit inhibit logic during a two-byte from the latch and then read the
(HCTL-2016/2020) latch and read, OE and SEL must be low order 8 bits from the latch.
inhibit logic allows access to 12 synchronous with CLK due to Meanwhile, the counter can
or 16 bits of count with an 8-bit the falling edge sampling of OE continue to keep track of the
bus. When only 8-bits of count and SEL. quadrature states from the CHA
are required, a simple 8-bit (1- and CHB input signals.
byte) mode is available by The internal inhibit logic on the
holding SEL high continuously. HCTL-20XX family inhibits the Figure 11 shows the simplified
This disables the inhibit logic. OE transfer of data from the counter inhibit logic circuit. The
provides control of the tri-state to the position data latch during operation of the circuitry is
bus, and read timing is shown in the time that the latch outputs are illustrated in the read timing
Figures 2 and 3. being read. The inhibit logic shown in Figure 13.
allows the microprocessor to first
*OE can consist of two short low pulses, as well as one long pulse, and still satisfy
the inhibit logic sequence. During the time that OE is high, the data lines are tri-seated.
Interfacing the HCTL-2020 to a Motorola 6802/8 and Cascading the Counter for 24
Bits
In this circuit an interface to a used to clock the HCTL-2020. a single double-byte fetch
Motorola 6802/8 and a cascading Address AO is connected directly instruction (LDX 2XX0). This
scheme for a 24-bit counter are to the SEL pin on the HCTL- instruction is a five cycle
shown. This circuit provides a 2020. This line selects the low or instruction which reads external
minimum part count by: 1) using high byte of data from the HCTL- memory location 2XX0 and stores
two 74LS697 Up/Down counters 2020. the high order byte into the high
with output registers and tri-state byte of the index register.
outputs and 2) using a Motorola Cascading is accomplished by Memory location 2XX1 is next
6802/8 LDX instruction which connecting the CNT CAS output on read and stored in the low order
stores 16 bits of data into the the HCTL-2020 with the counter byte of the index register. The
index registers in two consecutive clock (CCK) input on both high byte of counter data is
clock cycles. 74LS697s. The U/D pin on the clocked into the 74LS697
HCTL-2020 and the U/D pin on registers when SEL is low and
The HCTL-2020 OE and the both 74LS697s are also directly OE goes low. This upper byte can
74LS697 G lines are decoded connected for easy expansion. be read at any time by pulling the
from Address lines A15-A13. This The RCO of the first 4-bit 74LS697 G low when reading
results in counter data being 74LS697 is connected to the ENT address 4XXX. Figure 15 shows
enabled onto the bus whenever pin of the second 74LS697. This memory addresses and gives an
an external memory access is enables the second counter only example of reading the HCTL-
made to locations 4XXX or 2XXX. when there is a RCO signal on the 2020. Figure 16 shows the
Address line A12 and processor first counter. interface timing for the circuit.
clock E enables the 74LS138.
The processor clock E is also This configuration allows the
6802 to read both data bytes with
Address Function
CXXX Reset Counters
4XXX Enable High Byte on Data Lines
2XX0 Enable Mid Byte on Data Lines
2XX1 Enable Low Byte on Data Lines
Read Example
LDX 2000 Loads mid byte and then low byte into
STX 0100 memory locations 0100 and 0101
LDAA 4000 Loads the high byte into memory
STAA 0102 location 0102
HCTL-2020
FFFF 0000
INTERNAL CLOCK
CLK
SEL
OE
INTERNAL
INHIBIT
CNTCAS
RCK
DATA
BUS HIGH Z MID LOW HIGH
BYTE BYTE BYTE
ACTIONS 1 1 1 4 5 7 8 9 10
2 3 6
Actions has occurred and OE has 6. With the first negative edge
1. The microprocessor clock been pulled low to start a after OE and SEL go high,
output is E. If the internal read cycle. SEL and OE are the first of the two HCTL-
HCTL-2020 inhibit is not gated to give RCK which 2020 inhibit reset conditions
active, new data is trans- latches the external high is met and the 6802 reads
ferred from the internal byte, equal to 00H. The the low byte in.
counter to the position data falling edge, of the CNTCAS 7. The data bus returns to the
latch. signal counts up the high impedance state, when
2. An even address output external counter to 0001H. OE goes high.
from the 6802 causes SEL to 3. With the first negative edge 8. With the first negative edge
go low. When E goes high, of the clock after SEL and of the clock after OE goes
the address decoder output OE are low the internal high, inhibit reset is
for the HCTL-2020 OE latches are inhibited from complete.
signal goes low. This causes counting and the 6802 reads 9. With the positive going edge
the HCTL-2020 to output the high byte in. of the clock, G is asserted
the middle byte of the 4. OE goes high and the data and the external high byte,
system counter (high byte of bus goes into a high 00H is available on the data
the HCTL-2020 counter). impedance state. bus from 9 through 10 and
This middle byte, FFFFH is 5. OE is low and SEL is high the 6802 reads the high byte
available at (2) through (4), and the low byte is enabled in at (10).
the first time OE is low. In onto the data bus. The low
this example an overflow byte is valid through (7).
17
Object Source
LOC Code Statements Comments
000 99 00 ANL P1, 00H Enable output and higher order
bits
002 08 INS A, BUS Load higher order bits into ACC
003 A8 MOVE R0, A Move data to register 0
004 89 02 ORL P1, 02H Enable output and lower order
bits
006 08 INS A, BUS Load order bits into AC
008 A9 MOV R1, A Move data to register 1
009 89 03 ORL P1, 03H Disable outputs
00B 93 RETR Return