LSI/CSI UL ® LS7566 LSI Computer Systems, Inc. 1235 Walt Whitman Road, Melville, NY 11747 (631) 271-0400 FAX (631) 271-0405 A3800 July 2005 24-BIT FOUR-AXES QUADRATURE COUNTER RS2 1 RS1 2 RS0 3 46 x1FLGa CHS1 4 45 INT/ CHS0 5 44 NC NC 6 43 GND NC 7 42 x1FLGb RD/ 8 41 x2FLGa CS/ 9 40 x2FLGb WR/ 10 DB0 11 DB1 12 DB2 13 LS7566 GENERAL DESCRIPTION: The LS7566 consists of four identical modules of 24-bit programmable counters with direct interface to incremental encoders. The modules can be configured to operate as quadratureclock counters or non-quadrature up/down counters. In both quadrature and non-quadrature modes, the modules can be further configured into free-running, non-recycle, modulo-n and range-limit count modes. The mode configuration is made through two 8-bit read/write addressable control registers, MDR0 and MDR1. Data can be ported to a 24-bit preset register PR, organized in directly addressable (write-only) byte0 [PR0] byte1 [PR1] and byte2 [PR2] segments. PR can be transferred to the 24-bit counter CNTR either by instruction to MDR1 or by hardware input control. A 24-bit digital comparator perpetually checks for the equality of the CNTR and the PR and can be used to set an output flag when the equality occurs. For reading the CNTR, its instantaneous value can be transferred to a 24-bit output latch OL, either by instruction to MDR1 or by hardware input control. The OL in turn can be read in directly addressable (read-only) byte0 [OL0], byte1 [OL1] and byte2 [OL2] segments. An addressable (read-only) Octal status register STR, stores the count related status information such as CNTR overflow, underflow, count direction etc. Data communication for read/write is performed through an Octal 3-state parallel I/O bus. PIN ASSIGNMENT - Top View LSI FEATURES: • Read/write registers for count and I/O modes. Count modes include: Non-quadrature (Up/Down), Quadrature (x1, x2, x4), Free-run, Non-recycle, Modulo-n and Range limit • Separate mode-control registers for each axis • Interrupt output and interrupt mask register. • 40 MHz count frequency, 5V 20 MHz count frequency, 3V • Sets of 24-bit counters, preset registers, comparators and output latches and 8-bit status registers for each axis • Digital filtering of the input quadrature clocks for noise immunity. • 3-state Octal I/O bus • 3V to 5.5V operating voltage range • LS7566-TS (TSSOP) -See Figure 1- 48 x0FLGa 47 x0FLGb 39 x3FLGa 38 x3FLGb 37 VDD 36 x3B DB3 14 35 x3A DB4 15 34 x3INDX DB5 16 33 x2B DB6 17 32 x2A DB7 18 31 NC NC 19 30 NC NC 20 29 x2INDX 21 28 x1B GND 22 27 x1A PCK x0INDX 26 x1INDX 23 x0A 24 25 x0B REGISTER DESCRIPTION: Following is a list of the hardware registers. There are four sets of registers, with name prefixes x0 through x3 to refer to axes x0 through x3. 7566-072205-1 FIGURE 1 The information included herein is believed to be accurate and reliable. However, LSI Computer Systems, Inc. assumes no responsibilities for inaccuracies, nor for any infringements of patent rights of others which may result from its use. PR (x0PR, x1PR, x2PR, x3PR) The PR is a 24-bit data register directly addressable for write in individual segments of byte0 [PR0], byte1 [PR1] and byte2 [PR2]. The PR serves as the input portal for the counter (CNTR), since the CNTR is not directly addressable for either read or write. In order to preset the CNTR to any desired value the data is first written into the PR and then transferred into the CNTR. B23------------------------------------------------------------B0 PR: PR2 PR1 PR0 B7----------------B0 B7-------------B0 B7--------------B0 In mod-n and range-limit count modes the PR serves as the repository for the division factor n and the count range-limit, respectively. The PR can also be used to hold the compare data for the CNTR wherein the equality PR = CNTR sets an output flag. CNTR (x0CNTR, x1CNTR, x2CNTR, x3CNTR): The CNTR is a 24-bit up/down counter which counts the up/down pulses resulting from tthe quadrature clocks applied at A and B inputs or alternatively, in nonquadrature mode, pulses applied at the A input. The CNTR is not directly accessible for read or write; instead it can be preloaded with data from the PR or it can port its own data out to the OL which in turn can be accessed by read operation. In both quadrature and nonquadrature modes, the CNTR can be further configured into either free-running or single-cycle or mod-n or range-limit mode. OL (x0OL, x1OL, x2OL, x3OL): The OL is a 24-bit register directly addressable for read in individual segments of byte0 [OL1], byte1 [OL1] and byte2 [OL2]. OL serves as the output portal for the CNTR. Snapshot of the CNTR data can be loaded in the OL without interfering with the counting process, which then can be accessed by read. B23-----------------------------------------------------------B0 OL: OL2 OL1 OL0 B7----------------B0 B7-------------B0 B7--------------B0 7566-112904-2 STR (x0STR, x1STR, x2STR, x3STR): The STR is an 8-bit status register indicating count related status. STR: CY BW CMP IDX CEN 0 B7 B6 B5 B4 B3 U/D B2 B1 S B0 An individual STR bit is set to 1 when the bit related event has taken place. The STR is cleared to 0 at power-up. The STR can also be cleared through the control register CMR with the exception of bit1 (U/D) and bit3 (CEN). These two STR bits always indicate the instantaneous status of the count_direction and count_enable assertion/de-assertion. The STR bits are described below: B7 (CY): Carry; set by CNTR overflow B6 (BW): Borrow; set by CNTR underflow B5 (CMP): Set when CNTR = PR B4 (IDX): Set when INDX input is at active level B3 (CEN): Set when counting is enabled, reset when counting is disabled B2 (0): Always 0 B1 (U/D): Set when counting up, reset when counting down B0 (S): Sign of count value; set when negative, reset when positive IMR: The IMR is a trans-axis global register used for masking out the interrupt function of individual axes. It is a 4-bit read/write register with the following bit assignments. IMR: B3 B0 B1 B2 B3 = 0: = 1: = 0: = 1: = 0: = 1: = 0: = 1: B2 B1 B0 disable axis 0 interrupt enable axis 0 interrupt disable axis 1 interrupt enable axis 1 interrupt disable axis 2 interrupt enable axis 2 interrupt disable axis 3 interrupt enable axis 3 interrupt A write to IMR places the lower nibble of the databus into the IMR with identical bit map. A read of IMR produces a joint read of IMR and ISR (interrupt status register), with IMR occupying the lower nibble and ISR occupying the upper nibble of the databus. ISR: The ISR is a trans-axis global register used to hold the interrupt assertion status of all the axes. It is a 4-bit read-only register with the following bit assignment. CMR (x0CMR, x1CMR, x2CMR, x3CMR): The CMR is a write only register, which when written into, generates transient signals to perform load and reset operations as described below: CMR: ISR: B3 B0 B2 = 0: = 1: B1 = 0: = 1: B2 = 0: = 1: B3 = 0: = 1: B1 B0 axis_0 interrupt cleared axis_0 interrupt asserted axis_1 interrupt cleared axis_1 interrupt asserted axis_2 interrupt cleared axis_2 interrupt asserted axis_3 interrupt cleared axis_3 interrupt asserted An ISR bit gets set when the FLGa output of the associated axis switches low. For this reason, in order for the interrupt to be enabled for any axis, its associated FLGa output must be enabled. In addition, the associated IMR bit must also be set for the interrupt to be enabled. An individual ISR bit can be cleared through its axis relevant CMR register. The ISR is cleared upon power-up. A read of ISR produces a joint read of ISR and IMR (interrupt mask register) with ISR occupying the upper nibble and IMR occupying the lower nibble of the databus. 7566-112904-3 B7 B6 B5 B4 B3 B2 B1 B0 B0 = 0: Nop = 1: Reset CNTR and sign to 0. (Should not be combinedwith load_CNTR operation). B1 = 0: Nop = 1: Load CNTR from PR. Affects all 24 bits. (Should not be combined with reset_CNTR operation) B2 = 0: Nop = 1: Load OL from CNTR. Affects all 24 bits. B3 = 0: Nop = 1: Reset STR. Affects status bits corresponding to carry, borrow, compare and index. Status bits corresponding to count_enable, count direction and sign are not affected. B4 = 0: Nop. 1: Master reset. Resets MDR0, MDR1, STR, CNTR, PR, OL, ISR and IMR B5 = 0: Nop 1: Set sign bit B6 = 0: Nop 1: Reset sign bit B7 = 0: Nop. 1: Reset ISR bit for the selected axis MDR0 (x0MDR0, x1MDR0, x2MD0, x3MDR0): The MDR0 is an 8-bit read/write register which configures the counting modes and the index input functionality. Upon power-up, the MDR0 is cleared to zero. MDR0: B7 B6 B5 B4 B3 B2 B1 B0 B1B0 = 00: = 01: = 10: = 11: B3B2 = 00: = 01: = 10: = 11: B5B4 = 00: = 01: = 10: = 11: B6 = 0: = 1: B7 = 0: = 1: Non-quadrature count mode (A = clock, B = direction). x1 quadrature count mode (one count per quadrature cycle). x2 quadrature count mode (two counts per quadrature cycle). x4 quadrature count mode (four counts per quadrature cycle). Free-running count mode. Single-cycle count mode (CNTR disabled with carry and borrow, re-enabled with reset or load) Range-limit count mode (up and down count ranges are limited between PR and zero, respectively. Counting freezes at these limits but resumes when the direction is reversed) Modulo-n count mode (input count clock frequency is divided by a factor of [n+1], where n = PR. In up direction, the CNTR is cleared to 0 at CNTR = PR and up count continues. In down direction, the CNTR is preset to the value of PR at CNTR = 0 and down count continues. A mod-n rollover marker pulse is generated at each limit at the FLGa output). Disable INDX input. Configure INDX input as the load CNTR input (transfers PR to CNTR). Configure INDX as the reset_CNTR input (clears CNTR to 0). Configure INDX as the load_OL input (transfers CNTR to OL). Negative INDX input. Positive INDX input. Input filter clock (PCK) division factor = 1. Filter clock frequency = fPCK. Input filter clock division factor = 2. Filter clock frequency = fPCK/2. MDR1 (x0MDR1, x1MDR1, x2MD1, x3MDR1): The MDR1 is an 8-bit read/write register which configures the FLGa and FLGb output functionality. In addition, the MDR1 can be used to enable/disable counting. Upon power-up, the MDR1 is cleared to zero: MDR1: B7 B6 B5 B4 B3 B2 B1 B0 B0 B1 B2 = 1: Enable Carry on FLGa (flags CNTR overflow; latched or unlatched logic low on carry). = 1: Enable Borrow on FLGa (flags CNTR underflow, latched or unlatched logic low on borrow). = 1: Enable Compare on FLGa (In free-running count mode, a latched or unlatched logic low is generated in both up and down count directions at CNTR = PR. In contrast, in range-limit and mod-n count modes a latched or unlatched low is generated at CNTR = PR in the up-count direction only. Also, in these two modes in the down-count direction, a latched or unlatched low is generated when the CNTR underflows. (See NOTE 2) B3 = 1: Enable index on FLGa (flags index, latched or unlatched logic low when INDX input is at active level) B5B4 = 00: FLGb disabled (fixed high) = 01: FLGb = Sign, high for negative signifying CNTR underflow, low for positive. = 10: FLGb = Up/Down count direction, high in count-up, low in count-down. B6 = 0: Enable counting. = 1: Disable counting. B7 = 0: FLGa is latched. (See NOTE 2) = 1: FLGa is non-latched and instantaneous. NOTE 1: Carry, Borrow, Compare and Index can all be simultaneously enabled on FLGa. NOTE 2: In mod-n or range-limit modes, if Compare output is enabled on FLGa, instantaneous (non-latched) Compare signals are generated at PR = CNTR in up-count mode and instantaneous Borrow signals are generated at CNTR = 0 in down-count mode, independent of the states of B7. Carry and Borrow signals on FLGa remain unaffected in these two modes. Consequently, a latched Carry or Index state willblock the instantaneous Compare and Borrow clocks. It is recommended that only non-latched Flag mode is used in the mod-n and range-limit modes if carry and index signals are enablrd on FLGa as well in these two modes. 7566-032305-4 I/O PINS: The following is a description of the input/out pins. RSO(Pin 3), RS1 (Pin 2), RS2 (Pin1). Inputs. These three inputs select the hardware registers for read/write access according to Table 1. TABLE 1 CS/ 1 x x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RS2 x x x 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 RS1 x x x 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 RS0 x x x 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 RD/ x 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 WR/ x 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 SELECTED REGISTER none none none [ISR:IMR] MDR0 MDR1 STR OL0 OL1 OL2 none IMR MDR0 MDR1 none PR0 PR1 PR2 CMR OPERATION none none none READ (see Note 2) READ READ READ READ READ READ none WRITE WRITE WRITE none WRITE WRITE WRITE WRITE Note 1. x indicates don’t care case. Note 2. DB0 through DB3 contain IMR B0 through B3; DB4 through DB7 contain ISR B0 through B3. CHS0 (Pin 5), CHS1 (Pin 4) Inputs. These two inputs select one of four axes for read/write access according to the following table. The registers within the axis are selected according to Table 1. TABLE 2 CHS1 0 0 1 1 CHS0 0 1 0 1 RD/ (Pin 8) Input. A low on RD/ input accesses an addressed register for read and places the data on the octal databus, DB<7:0>. The register selection is made according to Table 1. CS/ (Pin 9) Input. A low on the CS/ input enables the chip for read or write operation. When the CS/ input is high, read and write operations are disabled and the databus, DB<7:0>, is placed in a high impedance state. WR/ (Pin 10) Input. A low pulse on the WR/ input writes the data on the databus, DB<7:0>, into the addressed register according to Table 1. The write operation is completed at the trailing edge of the WR/ pulse. 7566-112904-5 AXIS x0 x1 x2 x3 DB<7:0> (Pin 18 thru Pin 11) Input/Output. The octal databus, DB<7:0>, is the input/output portal for write and read data transfers between LS7566 and the outside world. During a read operation, when both CS/ and the RD/ inputs are low, DB<7:0> are outputs. During a write operation, when both CS/ and WR/ are low, DB<7:0> are inputs. When CS/ is high, DB<7:0> are in high impedance state independent of the states of RD/ and WR/. PCK (Pin 21) Input. A clock applied at PCK input is used for validating the logic states of the A and B quadrature clocks and the INDX input. The PCK input frequency, fPCK, is divided down by a factor of 1 or 2 according to bit7 of MDR0. The resultant clock is used to sample the logic levels of the A, the B and the INDX inputs. If a logic level at any of these inputs remains stable for a minimum of two filter clock periods, it is validated as a correct logic state. The PCK input is common to all four axes, but the filter clock frequency for any axis is set by its associated MDR0 register. In non-quadrature mode no filter clock is used and the PCK input should be tied to either VDD or GND. x0A (pin 24), x0B (Pin 25) Inputs. These are the A and B count inputs in axis x0. These inputs can configured to function either in quadrature mode or in non-quadrature mode. The configuration is made through MDR0. In quadrature mode, A and B clocks are 90 degrees out of phase. When A leads B in phase, the CNTR counts up and when B leads A in phase, the CNTR counts down. In non-quadrature mode, A is the count input and B is the count direction control input. When B is high, positive transitions at the A input causes the CNTR to count up. Conversely, when B is low, the positive transition at the A input causes the CNTR to count down. In quadrature mode, A and B inputs are sampled by an internal filter clock generated from the PCK input. In nonquadrature mode A and B inputs are not sampled and the count clocks are applied to the CNTR bypassing the filter circuit. x1A (Pin 27), x1B (Pin 28), x2A (Pin 32), x2B (Pin33), x3A (Pin 35), x3B (Pin36) These are the A and B inputs corresponding to axes x1, x2 and x3. Functionally, they are identical with the A and B inputs of axis x0. x0INDX (Pin 23) Input. The INDX input in axis x0. The INDX input can be configured by MDR0 to function as load_CNTR or reset_CNTR or load_OL input. In quadrature mode the INDX input is sampled with the same filter clock used for sampling the A and the B inputs. In quadrature mode the INDX must satisfy the phase relationship with A and B in which INDX is at the active level during a minimum of quarter cycle of both A and B high or both A and B low. The active level can be configured to be either high (positive index) or low (negative index). In non-quadrature mode the INDX input is not sampled and can be applied in any phase relationship with respect to the A and B inputs. The INDX input can be either enabled or disabled in both quadrature and non-quadrature modes. x1INDX (Pin 26), x2INDX (Pin 29), x3INDX (Pin 34) These are the INDX inputs corresponding to axes x1, x2 and x3. Functionally, they are identical with the INDX input of axis x0. 7566-032205-6 INT/ (Pin 45) Output The INT/ output is the common interrupt output for all the axes. When any of the ISR bits gets set, INT/ switches low indicating an asserted interrupt. The axis generating the interrupt can then be identified by reading the ISR register. x0FLGa (Pin 48) Output. The FLGa output in axis x0. The FLGa output is configured by MDR1 register to function as either Carry or Borrow or Compare flag. A Carry flag is generated when the CNTR overflows, a Borrow flag is generated when the CNTR underflows and a Compare flag is generated by the condition, CNTR = PR. The FLGa can be configured to produce outputs in either latched mode or instantaneous mode. In the latched mode when the selected event of Carry or Borrow or Compare has taken place, the FLGa switches low and remains low until the status register, STR is cleared. In the instantaneous mode a negative pulse is generated instantaneously when the event takes place. The FLGa output can be disabled to remain at a fixed logic high. x1FLGa (Pin 46), x2FLGa (Pin 41), x3FLGa (Pin 39) These outputs are the FLGa outputs corresponding to axes x1, x2 and x3, respectively. Functionally, they are identical with the FLGa output of axis x0. x0FLGb (Pin 47) Output. The FLGb output in axis x0. The FLGb output is configured by MDR1 to function as either Index or Sign or Up/Down status indicator. When configured as Sign, the FLGb output remains high when CNTR is in an underflow state (caused by down counts at or below zero), indicating a negative number. When the CNTR counts up past zero, FLGb switches low, indicating a positive number. When configured as Up/Down indicator, a high at the FLGb indicates that the current count direction is up (incremental) whereas a low indicates that the direction is down (decremental). The FLGb output can be disabled to remain at a fixed logic high. x1FLGb (Pin 42), x2FLGb (Pin 40) x3FLGb (Pin 38) These are the FLGb outputs corresponding to axes x1, x2 and x3 respectively. Functionally, they are identical with the FLGb output of x0. Absolute Maximum Ratings: Parameter Symbol Voltage at any input VIN Supply Voltage VDD Operating Temperature TA Storage Temperature TSTG Values VSS - 0.3 to VDD + 0.3 +7.0 -25 to +85 -65 to +150 Unit V V oC oC DC Electrical Characteristics. (TA = -25˚C to +85˚C, VDD = 3V to 5.5V) Parameter Supply Voltage Supply Current Input Logic Low Input Logic High Output Low Voltage Output High Voltage Input Leakage Current Data Bus Leakage Current Data Bus Source Current Data Bus Sink Current FLGa, FLGb, INT/ Source FLGa, FLGb, INT/ Sink Symbol VDD IDD VIL VIH VOL VOH IILK IDLK IOSRC IOSNK IOSRC IOSNK Min. Value 3.0 0.5VDD VDD - 0.5 3.0 8.0 1.0 6.0 Transient Characteristics. (TA = -25˚ to +85˚C) For VDD = 3V to 5.5V Parameter Symbol Min. Value Read Cycle (See Fig. 2) RD/ Pulse Width tr1 80 CS/ Set-up Time tr2 80 CS/ Hold Time tr3 0 RS<2:0> Set-up Time tr4 80 RS<2:0> Hold Time tr5 10 CHS<1:0> Set-up Time tr6 80 CHS<1:0> Hold Time tr7 10 DB<7:0> AccessTime tr8 80 Max.Value 5.5 800 0.15VDD 0.5 30 60 - Max.Value Unit V µA V V V V nA nA mA mA mA mA Unit ns ns ns ns ns ns ns ns Remarks DB<7:0> Release Time tr9 - 35 ns Back to Back Read delay tr10 10 - ns Access starts when both RD/ and CS/ are low. Release starts when either RD/ or CS/ is terminated. - Write Cycle (See Fig. 3) WR/ Pulse Width CS/ Set-up Time CS/ Hold Time RS<2:0> Set-up Time RS<2:0> Hold Time CHS<1:0> Set-up Time CHS<1:0> Hold Time DB<7:0> Set-up Time DB<7:0> Hold Time Back to Back Write Delay tW1 tW2 tW3 tW4 tW5 tW6 tW7 tW8 tW9 tW10 45 45 0 45 10 45 10 45 10 90 - ns ns ns ns ns ns ns ns ns ns - 7566-032205-7 - Remarks All clocks off IOSNK = 5mA, VDD = 5V IOSRC = 1mA, VDD = 5V Data bus off VO = VDD - 0.5V, VDD = 5V VO = 0.5V, VDD = 5V VO = VDD - 0.5V, VDD = 5V VO = 0.5V, VDD = 5V For VDD = 3.3V ± 10% Parameter Quadrature Mode (See Fig. 4-6) PCK High Pulse Width PCK Low Pulse Width PCK Frequency Filter Clock(ff)Period Symbol Filter clock frequency Quadrature Separation Quadrature Clock Pulse Width Quadrature Clock frequency Quadrature Clock to Count Delay x1 / x2 / x4 Count Clock Pulse Width Quadrature Clock to FLGa delay Quadrature Clock to FLGb delay FLGa to INT/ delay INDX Input Pulse Width INDX set-up time INDX hold time FLGa Output Width Non-Quadrature Mode (See Fig. 7-8) Clock A - High Pulse Width Clock A - Low Pulse Width Direction Input B Set-up Time Direction Input B Hold Time Clock Frequency Clock to FLGa Out Delay FLGa Out Pulse Width INDX Pulse Width For VDD = 5V ±10% Parameter Quadrature Mode (See Fig. 4-6) PCK High Pulse Width PCK Low Pulse Width PCK Frequency Filter Clock (ff) Period Non-Quadrature Mode (See Fig. 7-8) Clock A - High Pulse Width Clock A - Low Pulse Width Direction Input B Set-up Time Direction Input B Hold Time Clock Frequency Clock to FLGa Out Delay FLGa Out Pulse Width INDX Pulse Width 7566-112904-8 Max.Value Unit Remarks t1 t2 fpCK t3 t3 24 24 50 100 20 - ns ns MHz ns ns t3 = t1+ t2, MDR0 <7> = 0 t3 = t1+ t2, MDR0 <7> = 1 ff t4 t5 fQA, fQB tQ1 tQ2 52 105 4t3 25 20 4.5 5t3 - MHz ns ns MHz ns ff = 1/t3 t4 > t3 t5 > 2t3 fQA = fQB <1/4t3 tQ2 = t3/2 tfda 4.5t3 5.5t3 ns - tfdb tnt tid tis tih tfw 3t3 0 60 10 10 50 4t3 - ns ns ns ns ns ns tid > t4 tfw ≈ t4 t6 t7 t8s t8 fA t9 t10 t11 24 24 24 20 24 30 20 40 - ns ns ns ns MHz ns ns ns fA = (1/ (t6 + t7)) t10 = t7 - Symbol Filter clock frequency Quadrature Separation Quadrature Clock Pulse Width Quadrature Clock frequency Quadrature Clock to Count Delay x1 / x2 / x4 Count Clock Pulse Width Quadrature Clock to FLGa delay Quadrature Clock to FLGb delay FLGa to INT/ delay INDX Input Pulse Width INDX set-up time INDX hold time FLGa Output Width Min. Value Min. Value Max.Value Unit Remarks t1 t2 fpCK t3 t3 12 12 25 50 40 - ns ns MHz ns ns t3 = t1+ t2, MDR0 <7> = 0 t3 = t1+ t2, MDR0 <7> = 1 ff t4 t5 fQA, fQB tQ1 tQ2 26 52 4t3 12 40 9.6 5t3 - MHz ns ns MHz ns t4 > t3 t5 > 2t3 fQA = fQB < 1/4t3 tQ2 = t3/2 tfda 4.5t3 5.5t3 ns - tfdb tnt tid tis tih tfw 3t3 0 32 5 5 24 4t3 - ns ns ns ns ns ns tid > t4 tfw ≈ t4 t6 t7 t8 t8 fA t9 t10 t11 12 12 12 10 12 15 40 20 - ns ns ns ns MHz ns ns ns fA = (1/ (t6 + t7)) t10 = t7 - tr1 tr10 RD tr3 tr2 CS tr4 tr5 tr6 tr7 RS CHS tr8 tr9 VALID DATA DB VALID DATA FIGURE 2. READ CYCLE tw1 tw10 WR tw2 CS tw3 tw4 tw5 tw6 tw7 tw8 tw9 RS CHS DB INPUT DATA INPUT DATA FIGURE 3. WRITE CYCLE t1 t2 PCK t3 f f (Note 4) t3 (MDR0 <7> = 0) f f (Note 4) t5 (MDR0 <7> = 1) A B INDX Note 1. Note 2. Note 3. Note 4. t4 t5 t4 t4 t ih t is 7566-032205-9 t is Note 1 t id Positive index coincident with both A and B high. Positive index coincident with both A and B low. The index logic level in the above examples are inverted for negative index. fF is the internal effective filter clock. FIGURE 4. PCK, A, B and INDX t4 t ih Note 2 DOWN UP t Q1 A B X4_CLK (see note) X2_CLK (see note) t Q2 X1_CLK (see note) NOTE. x1, x2 and x4 CLKs are internal Up/Down clocks derived from filtered and decoded quadrature clocks. FIGURE 5. A/B QUADRATURE CLOCKS vs INTERNAL COUNT CLOCKS DOWN UP A B X4_CLK CNTR FFFFFC FFFFFD FFFFFE FFFFFF 000000 t fda 000001 000001 000000 FFFFFF t fw CMP t fdb BW FLGb (up/dn) FLGb (sign) negative positive t nt INT/ NOTE. FLG is a non-latched mode. FIGURE 6. QUADRATURE CLOCKS vs FLGa, FLGb and INT/ OUTPUTS 7566-112904-10 FFFFFE (SHOWN WITH PR=000OO1) CY FLGa 000002 FFFFFD DOWN UP DOWN B t6 t7 t 8H t 8S A FIGURE 7. COUNT (A) AND DIRECTION (B) INPUTS IN NON-QUADRATURE MODE B A (Shown with PR=2) CNTR FFFFFC FFFFFD FFFFFE FFFFFF 000000 000002 000001 000000 t9 FLGa FFFFFF t 10 CY CNTR DISABLED CNTR ENABLED (load CNTR) INDX t 11 CNTR DISABLED FIGURE 8. SINGLE-CYCLE, NON-QUADRATURE B DOWN UP A (Shown with PR=3) CNTR 000000 000001 000002 000003 000000 000001 000002 DFLAG/ 000001 000000 000003 000002 000001 BW CMP FIGURE 9. MODULO-N, NON-QUADRATURE B DOWN UP A (Shown with PR=3) CNTR 000000 000001 000002 FLGa 000003 CMP CMP 000002 000001 CMP CMP 000000 BW FIGURE 10. RANGE-LIMIT, NON-QUADRATURE 7566-112904-11 BW BW AXES_SLCT<0> REG_RD<3> IN_BUS<3:0> REG_WR<0> REG_RD<0> CY, BW, CMP, INDX UP/DN,SIGN, CEN IMR (4) STR (8) FLG0a<3:0> OUT_BUS<3:0> OUT_BUS<7:4> AND MODE (4) MUX FLAG_MASKS ISR DRV x0FLGb DRV x0FLGa DRV INT/ (4) AND-OR OUT_BUS<7:4> FLG0a<0> OR REG_WR<7:0> FLAG_MASKS MDR1 (8) MDR0 <4> <5> <6> MODE_CONTROLS <1> <2> AXES_SLCT<0> PR2 (8) (8) PR1 (8) <1> <2> LD/RST_CNTR PR0 C O M P A R A T O R 24 UP/DN COUNT MODE CONTROL 2 (8) CLOCK REG_RD<6:0> CNTR (24) 24 CEN DB<7:0> INPUT BUFFER & REGISTER IN_BUS<7:0> 2 OL2 (8) OL1 (8) OL0 (8) OUT_BUS<7:0> MARKER LOGIC <4> <5> <6> OUTPUT BUFFER <0> LD/RST_OL WRITE IN_BUS<7:0> REG_WR<7:0> RS0 INPUT BUFFER & SELECT LOGIC (0) REG_RD<6:0> RS2 CHS0 CHS1 CMR INPUT BUFFER & SELECT LOGIC POWER ON RESET AXES_SLCT<3:0> INPUT BUFFER AND DIVIDER x0B x0INDX FLTR_CK MODE x0A FILTER AND CLOCK COUNT & INDEX GENERATOR CLOCK UP/DN CEN INDX FIGURE 11. LS7566 BLOCK DIAGRAM NOTE : For Clarity, only Axis0 is included 7566-112904-12 (8) ONE-SHOT LOAD, SET & RESET PULSES FOR ALL REGISTERS MODE PCK <7:0> <0> INPUT BUFFER & RD/WR LOGIC CS/ RS1 CY, BW, SIGN READ RD/ WR/ CMP ISA/EISA BUS IOW/ WR/ IOR/ RD/ D<7> DB7 D<6> DB6 D<7: 0> D<5> DB5 D<4> DB4 D<3> DB3 D<2> DB2 PC D<1> DB1 D<0> DB0 A<4: 0> A<4> RS2 A<3> RS1 A<2> RS0 A<1> CHS1 A<0> CHS0 A<9: 5> ADDRESS DECODE LS7566 CS/ AEN FIGURE 12. LS7566 TO ISA / EISA INTERFACE R/W RD/ LDS WR/ D<7> DB7 D<6> DB6 D<5> DB5 D<4> DB4 DTACK/ D<3> DB3 D<2> DB2 MC68HC000 D<7: 0> D<7: 0> A<5: 1> A<23: 1> D<1> DB1 D<0> DB0 A<5> RS2 A<4> RS1 A<3> RS0 A<2> CHS1 A<1> CHS0 A<23: 20> ADDRESS DECODE FIGURE 13. LS7566 TO MC68HC000 INTERFACE 7566-112904-13 CS/ LS7566