ispPAC 10 ® In-System Programmable Analog Circuit Features Functional Block Diagram • IN-SYSTEM PROGRAMMABLE (ISP™) ANALOG CIRCUIT — Four Instrument Amplifier Gain/Attenuation Stages — Signal Summation (Up to 4 Inputs) — Precision Active Filtering (10kHz to 100kHz) — No External Components Needed for Configuration — Non-Volatile E2CMOS® Cells (10,000 Cycles) — IEEE 1149.1 JTAG Serial Port Programming • FOUR LINEAR ELEMENT BUILDING BLOCKS — Programmable Gain Range (0dB to 80dB) — Bandwidth of 550kHz (G=1), 330kHz (G=10) — Low Distortion (THD < -74dB max @ 10kHz) — Auto-Calibrated Input Offset Voltage • TRUE DIFFERENTIAL I/O (±3V RANGE) — High CMR (69dB) Instrument Amplifier Inputs — 2.5V Common Mode Reference on Chip — Four Rail-to-Rail Voltage Outputs • 28-PIN PLASTIC DIP OR SOIC PACKAGE — Single Supply 5V Operation • APPLICATIONS INCLUDE INTEGRATED: — Single +5V Supply Signal Conditioning — Active Filters, Gain Stages, Summing Blocks — Analog Front Ends, 12-Bit Data Acq. Systems — Sensor Signal Conditioning OUT2+ 1 OUT2– 2 IN2+ 3 IN2– 4 TDI 5 TRST 6 VS 7 TDO 8 TCK 9 TMS 10 IN4– 11 OA 28 OUT1+ OA 27 OUT1– 26 IN1+ IA IA IA IA 25 IN1– 24 TEST 23 TEST Configuration Memory 22 VREFOUT Analog Routing Pool 21 GND Reference & Auto-Calibration 20 CAL IA IA IA IA 19 CMV IN 18 IN3– IN4+ 12 17 IN3+ OUT4– 13 OUT4+ 14 Description The ispPAC10 is a member of the Lattice family of InSystem Programmable analog circuits, digitally configured via nonvolatile E2CMOS technology. 16 OUT3– OA OA 15 OUT3+ Typical Application Diagram 5V Analog function modules, called PACblocks™, replace traditional analog components such as op amps and active filters, eliminating the need for most external resistors and capacitors. With no requirement for external configuration components, ispPAC10 expedites the design process, simplifying prototype circuit implementation and change, while providing high performance and integrated functionality. 5V 12-Bit Differential Input ADC Vin Ain+ Ain- Designers configure the ispPAC10 and verify its performance using PAC-Designer®, an easy-to-use, Microsoft Windows® compatible development tool. Device programming is supported using PC parallel port I/O operations. A library of configurations is included with basic solutions and examples of advanced circuit techniques. Ref+ Ref- The ispPAC10 is configured through its IEEE Standard 1149.1 (JTAG) compliant serial port. The flexible InSystem Programming capability enables programming, verification and reconfiguration if desired, directly on the printed circuit board. ispPAC10 Copyright © 2000 Lattice Semiconductor Corp. All brand or product names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice. LATTICE SEMICONDUCTOR CORP., 5555 Northeast Moore Ct., Hillsboro, Oregon 97124, U.S.A. Tel. (503) 268-8000; 1-800-LATTICE; FAX (503) 268-8556; http://www.latticesemi.com pac10_04 1 September 2000 Specifications ispPAC10 TA = 25°C; VS = 5.0V; Signal path = VIN to VOUT of one PACblock (second input unused); 1V ≤ VOUT ≤ 4V; Gain = 1; Output load = 200pf, 1MΩ. Ω. Feedback enabled; Feedback capacitor = minimum; Auto-Cal initiated immediately prior. (Unless otherwise specified). DC Electrical Characteristics SYMBOL PARAMETER Analog Input VIN± (1) Input Voltage Range VIN-DIFF Differential Input Voltage Swing (2) VOS (2) Differential Offset Voltage (Input Referred) ∆VOS/∆T Differential Offset Voltage Drift RIN Input Resistance CIN Input Capacitance IB Input Bias Current eN Input Noise Voltage Density Analog Output VOUT± Output Voltage Range VOUT-DIFF Differential Output Voltage Swing (2) IOUT± Output Current VCM Common Mode Output Voltage Static Performance G Programmable Gain Range Gain Error Gain Matching ∆G/∆T Gain Drift PSR Power Supply Rejection Common Mode Reference Output (VREFOUT) VREFOUT Reference Output Voltage Range CMVIN (4) Common Mode Voltage Input Reference Output Voltage Drift IREFOUT Reference Output Current Reference Output Noise Voltage Reference Power Supply Rejection CONDITION MIN. Applied Either to VIN+ or VIN– 2| VIN+ – VIN– | G = 10 G=1 -40 to +85°C 1 6 TYP. 4 20 0.2 50 109 2 3 38 at DC At 10kHz, Referred to Input, G = 10 Present at Either VOUT+ or VOUT– 2| VOUT+ – VOUT– | Source/Sink (VOUT+ + VOUT-)/2 ; VIN+ = VIN– 0.1 9.6 10 2.495 Each Individual PACblock RL = 300Ω Differential Between Two Inputs of Same PACblock -40 to +85°C Differential at 1kHz Single-ended at 1kHz 0 Nominally 2.500V Optional External Common-Mode Voltage -40 to +85°C (VREFOUT = ±1%) Source (VREFOUT = ±1%) Sink 10MHz Bandwidth; 1µF Bypass Capacitor 1kHz -0.2 1.25 MAX. UNITS 100 1.0 4.9 2.500 2.505 V Vp-p µV mV µV/°C Ω pF pA nV/√Hz V Vp-p mA V 20 4.0 3.0 dB % % ppm/°C dB dB 0.2 3.25 % V ppm/°C µA µA µVRMS dB 20 80 77 50 50 350 40 80 Programming Digital I/O VIL VIH IIL, IIH Erase/Reprogram Cycles 10K Input Low Voltage Input High Voltage Input Leakage Current 0 2.0 VOL Output Low Voltage (TDO) VOH Output High Voltage (TDO) Power Supplies VS Operating Supply Voltage IS Supply Current PD Power Dissipation Temperature Range Operation Storage 0V ≤ TCK Input ≤ VS 0V ≤ CAL, TDI, TMS, TRST Inputs ≤ VS IOL = 4.0mA IOH = -1.0mA 0.8 VS ±10 +40/-70 0.5 V V µA µA V V 5.25 23 115 V mA mW +85 +150 °C °C 2.4 4.75 VS = 5.0V VS = 5.0V -40 -65 2 cycles 5.0 Specifications ispPAC10 AC Electrical Characteristics SYMBOL PARAMETER CONDITION Dynamic Performance THD Total Harmonic Distortion Differential Single-Ended Differential Single-Ended SNR Signal to Noise G = 1 to 10 CMR Common Mode Rejection (VIN = 1V to 4V) Note: VIN+ and VIN- connected together BW Small Signal Bandwidth G=1 G = 10 BWFP Full Power Bandwidth VIN = 6 SR Slew Rate tS Settling Time 0.1% Crosstalk Filter Characteristics Filter Pole Programming Range F0 Absolute Pole Frequency Accuracy ∆F0 Pole Step Size (Between Calculated Poles) ∆F0/∆T Pole Frequency Change vs. Temperature MIN. FIN = 10kHz FIN = 100kHz 0.1Hz to 100kHz 10kHz 100kHz VDIFF, VOUT = -3dB; G=1 5.0 6VDIFF Input Step Between Any Two Channels Number of Poles in Range > 120 Deviation From Calculated Value 10kHz to 100kHz -40 to +85°C TYP. MAX. UNITS -88 -72 -67 -63 103 69 55 550 330 330 7.5 4.0 -90 -74 dB dB dB dB dB dB dB kHz kHz kHz V/µs µs dB -62 10 100 5.0 3.2 1.0 0.02 kHz % % %/°C Notes: (1) A wider input range of 0.7V to 4.3V is typical, but not guaranteed. Inputs larger than this will be clipped. Input signals are also subject to common-mode voltage limitations. Refer to the table of conditions in this datasheet. (2) Refer to theory of operation section later in this datasheet for explanation of differential voltage swing computation. (3) To insure full spec performance an additional auto-calibration should be performed after initial turn-on and the device reaches thermal stability. (4) The user-provided voltage on this pin (CMVIN) becomes an optional (selected via programming) alternative to the default 2.5V VREFOUT. Absolute Maximum Ratings Package Options Supply Voltage VS ....................................... -0.5 to +7V Logic and Analog Input Voltage Applied ........... 0 to VS Logic and Analog Output Short Circuit Duration ..... Indefinite Lead Temperature (Soldering, 10 sec.) .............. 260°C Ambient Temperature with Power Applied ... -55 to 125°C Storage Temperature ................................ -65 to 150°C Note: Stresses above those listed may cause permanent damage to the device. These are stress only ratings and functional operation of the device at these or at any other conditions above those indicated in the operational sections of this specification is not implied. 1 1 ispPAC10 ispPAC10 28-Pin SOIC 28-Pin PDIP Part Number Description ispPAC 10 – XX X X ispPAC10 Ordering Information Ordering Number ispPAC10-01PI Package 28-Pin DIP ispPAC10-01SI 28-Pin SOIC Device Family Device Number Performance Grade 01 = Standard Package P = PDIP, S = SOIC Grade Blank = Commercial I = Industrial Temperature 3 Specifications ispPAC10 Timing Specifications TA = 25°C; VS = +5.0V (Unless otherwise specified). SYMBOL PARAMETER CONDITION Dynamic Performance tckmin Minimum Clock Period tckh TCK High Time tckl TCK Low Time tmss TMS Setup Time tmsh TMS Hold Time tdis TDI Setup Time tdih TDI Hold Time tdozx TDO Float to Valid Delay tdov TDO Valid Delay tdoxz TDO Valid to Float Delay trstmin Minimum reset pulse width tpwp Time for a programming operation tpwe Time for an erase operation tpwcal1 Time for auto-cal operation on power-up tcalmin Minimum auto-cal pulse width tpwcal2 Time for user initiated auto-cal operation tckh tckl MIN. TYP. MAX. 200 50 50 15 10 15 10 60 60 60 Executed in Run-Test/Idle Executed in Run-Test/Idle Automatically executed at power-up 40 80 80 100 100 250 40 Executed on rising edge of CAL 100 UNITS ns ns ns ns ns ns ns ns ns ns ns ms ms ms ns ms tpwp, tpwe tckmin TCK TCK tmss tmss tmsh TMS TMS tdis tmss *(PRGUSR/UBE executed in Run-Test/Idle state) tdih TDI (Note: CAL internally initiated at device turn-on.) CAL tdozx tdov tdoxz tcalmin VOUT = 0VDIFF VOUT TDO tpwcal1, tpwcal2 *Note: During device JTAG programming, analog outputs will stop responding to normal input stimulus. This is because all configuration information is erased and then re-written as part of a normal programming cycle, momentarily disrupting the input to output signal path. Behavior is not predictable during either of these steps since the analog outputs are not clamped during a programming cycle. Usually, however, the outputs will slew to either 0V (Ground) or 5V (Vsupply) or 2.5V (VREFOUT). This behavior is partially determined by conditions existing immediately prior to device reprogramming and intermediate configurations that occur during the process. 4 Specifications ispPAC10 Pin Descriptions Pin Symbol Name 1 OUT2+ Output 2(+) 2 3 4 5 6 OUT2IN2+ IN2TDI TRST Output 2(-) Input 2(+) Input 2(-) Test Data In Test Reset 7 VS Supply Voltage 8 9 10 11 12 13 14 15 16 17 18 19 TDO TCK TMS IN4IN4+ OUT4OUT4+ OUT3+ OUT3IN3+ IN3CMVIN Test Data Out Test Clock Test Mode Select Input 4(-) Input 4(+) Output 4(-) Output 4(+) Output 3(+) Output 3(-) Input 3(+) Input 3(-) Input for VCM Reference 20 21 22 CAL Auto-Calibrate GND Ground VREFOUT Common-Mode Reference 23 24 25 26 27 28 TEST TEST IN1IN1+ OUT1OUT1+ Test Pin Test Pin Input 1(-) Input 1(+) Output 1(-) Output 1(+) Description Differential output pin, VOUT+. (Plus complement of VOUT with respect to VREFOUT, where differential VOUT = VOUT+ - VOUT-). Differential output pin, VOUT-. (Minus component, where differential VOUT = VOUT+ - VOUT-). Differential input pin, VIN+. (Plus VIN, where differential VIN = VIN+ - VIN-). Differential input pin, VIN-. (Minus component of differential VIN, where VIN = VIN+ - VIN-). Serial interface logic input pin. Input data valid on rising edge of TCK. Serial interface logic reset pin (input). Asynchronously resets logic controller. Active low. Reset is equivalent of power-on default. Analog supply voltage pin (5V nominal). Should be bypassed to GND with 1µF and .01µF capacitors. Serial interface logic output pin. Input data valid on falling edge of TCK. Serial interface logic clock pin (input). Best analog performance when TCK is idle. Serial interface logic mode select pin (input). Differential input pin, VINDifferential input pin, VIN+ Differential output pin, VOUTDifferential output pin, VOUT+ Differential output pin, VOUT+ Differential output pin, VOUTDifferential input pin, VIN+ Differential input pin, VINInput pin for optional (external) analog Common-Mode Voltage (VCM). Replaces VREFOUT (+2.5V) for any so programmed PACblock as its common-mode output voltage value. Digital input pin. Commands an auto-calibration sequence on a rising edge. Ground pin. Should normally be connected to analog ground plane. Common-mode voltage reference output pin (+2.5V nominal). Must be bypassed to GND with a 0.1µF capacitor. Manufacturing test pin. Connect to GND for proper circuit operation. Manufacturing test pin. Connect to GND for proper circuit operation. Differential input pin, VINDifferential input pin, VIN+ Differential output pin, VOUTDifferential output pin, VOUT+ Pin Configuration Connection Notes 1. All inputs and outputs are labeled with plus (+) and minus (-) signs. Polarity is labeled for reference and can be selected externally by reversing pin connections or internally under user programmable control. 2. All analog output pins are “hard-wired” to internal output devices and should be left open if not used. Outputs of uncommitted PACblocks are forced to VREFOUT (2.5V) and can be used as low impedance reference output buffers. VOUT+ and VOUT- should not be tied together as unnecessary power will be dissipated. 3. When the signal input is single-ended, the other half of the unused differential input must be connected to a DC common-mode reference (usually VREFOUT, 2.5V). 1 ispPAC10 OUT2+ OUT2– IN2+ IN2– TDI TRST VS (5V) TDO TCK TMS IN4– IN4+ OUT4– OUT4+ 28-Pin Top View 5 OUT1+ OUT1– IN1+ IN1– TEST (tie to GND) TEST (tie to GND) VREFout GND (0V) CAL CMVin IN3– IN3+ OUT3– OUT3+ Specifications ispPAC10 Typical Performance Characteristics CMR vs. Frequency Input Noise Spectrum 100 1000 90 90 100 80 Power Supply Rejection (dB ) Common Mode Rejection (dB) Noise: Referred to Input G = 10 Noise Voltage (nV √Hz) PSR vs. Frequency 80 70 60 50 40 70 60 50 40 30 10 1 10 20 100 1k 10k 100k 1M Frequency (Hz) 10 Small Signal BW vs. Gain 1k 10k 100k Frequency (Hz) 30 1M THD vs. Frequency (Gain=1) 21 100 1k 10k 100k Frequency (Hz) 1M THD vs. Frequency (Gain=10) -40 -40 G = 10 3 G=2 -3 G=1 Total Harmonic Distortion (dB) G=5 9 -9 -15 -21 -27 Rload = 300Ω = 5kΩ = 1kΩ = 600Ω = No Load -50 -60 -70 -80 -90 Rload = 300Ω = 1kΩ = 600Ω = 5kΩ = No Load -50 Total Harmonic Distortion (dB) 15 Gain vs. Frequency (dB) 100 -60 -70 -80 -90 -33 -39 1k 10k 100k 1M Frequency (Hz) -100 10M Capacitive Load Handling 10k Frequency (Hz) 100k -100 1k VOS Tempco 24 18 15 12 9 6 100k 30 3 Wafer Lots PDIP Pkg -40°C to +85°C 25 Percentage of Devices (%) Percentage of Devices (%) 25 10k Frequency (Hz) VREFOUT Tempco 30 21 Overshoot (%) 1k 20 15 10 5 3 Wafer Lots PDIP Pkg 0°C to +85°C 20 15 10 5 3 0 0 10 100 1k Capacitance (pF) 10k -160 0 -80 +80 +160 Offset Tempco ( µV/°C) 6 0 -100 0 -50 +50 +100 Offset Tempco ( µV/°C) Specifications ispPAC10 Typical Performance Characteristics 10.34kHz Filter FC Accuracy 46.46kHz Filter FC Accuracy 30 20 10 -4 -3 40 Percentage of Devices (%) Percentage of Devices (%) Percentage of Devices (%) 40 2000 Units PDIP Pkg 2000 Units PDIP Pkg 2000 Units PDIP Pkg 0 91.98kHz Filter FC Accuracy 50 50 50 30 20 10 0 -2 -1 0 1 2 3 4 Frequency Variation (%) -4 -3 -2 -1 0 1 2 3 4 Frequency Variation (%) Large-Signal Response 1.0V 30 20 10 0 -4 -3 -2 -1 0 1 2 3 4 Frequency Variation (%) Small-Signal Response 20mV 1µS 1µS Gain = 1 Load = No Load Gain = 1 Load = No Load Large-Signal Response with 600pF Load 1.0V 40 Small-Signal Response with 600pF Load 1µS 20mV Gain = 1 Load = 600pF Gain = 1 Load = 600pF 7 1µS Specifications ispPAC10 Theory of Operation Introduction age common-mode reference or VREFOUT pin (Pin 22). The output common mode voltage is always referenced to 2.5V, regardless of the input common mode level. It is possible, when desired, to use an externally supplied voltage instead of VREFOUT, however. This optional common-mode output voltage (VCM) must be provided by the user via the CMVIN input pin (Pin 19). The only limitation is this reference voltage must be between 1.25V and 3.25V. When an external voltage is present, an ispPAC10 must be programmed, on a per-PACblock basis, to use the external reference instead of the internal 2.5V. The ispPAC10 consists of four programmable analog macrocells called PACblocks, each emulating a collection of operational amplifiers, resistors and capacitors. Requiring no external components, it flexibly implements basic analog functions such as precision filtering, summing/differencing, gain/attenuation and integration. Each PACblock contains a summing amplifier, two differential input instrument amplifiers, and an array of feedback capacitors. The capacitors, combined with a fixed value feedback element, provide more than 120 programmable poles between 10kHz to 100kHz with an absolute accuracy of 5.0 percent. Variable gain input instrument amplifiers make it possible to program any PACblock gain in integer steps between ±1 and ±10. More complex signal processing functions are performed by configuring additional PACblocks in combination with each other to achieve a variety of circuit functions. Configuring an ispPAC10 is accomplished using PAC-Designer, a Windows-based design environment. PAC-Designer includes an AC simulator for design verification prior to programming. The user can download the design to the ispPAC10 at any time via the device’s IEEE Standard 1149.1 (JTAG) compliant serial port directly from the parallel port of a PC using an ispDOWNLOAD™ cable. Once downloaded, the circuit topology and component values are stored in non-volatile digital E2CMOS cells on the ispPAC10 without any need for external programming voltages. The ispPAC10 architecture is fully differential from input to output. This effectively doubles dynamic range versus single-ended I/O. It also affords improved performance with regard to specifications such as input common mode rejection (CMR) and total harmonic distortion (THD). Architecture Differential peak-peak voltage is determined by knowing the signal extremes on both differential input or output pins. For example, if V(+) equals 4V and V(-) equals 1V, the differential voltage is defined as V(+) - V(-) = Vdiff, or 4V - 1V = +3V. Since either polarity can exist on differential I/O pins, it is also possible for the opposite extreme to exist and would mean when V(+) equals 1V and V(-) equals 4V, the differential voltage is now 1V - 4V = -3V. To calculate the differential peak-peak voltage or full signal swing, the absolute difference between the two extreme Vdiff’s is calculated. Using the previous examples would result in |(+3V) - (-3V)| = 6V. It can be immediately seen that true differential signals result in a doubling of usable dynamic range. For more explanation of this and other differential circuit benefits, please refer to application note AN6019. In all ispPAC products, individual programmable circuit functions called PACells™ are carefully combined to form larger analog macrocells or PACblocks. The ispPAC10 has four such PACblocks that incorporate specially configured PACells to perform amplification, summation, integration and filtering. Each of the four filtering/summation or “FilSum” PACblocks within ispPAC10 is comprised of three separate PACells, two input instrument amplifiers and an output summing amplifier (see Figure 1). The input amplifier PACells act as front-end gain stages for the FilSum PACblock and allow multiple signals to be summed together. The PACblock’s output amplifier is similar to the familiar operational amplifier except that it has true differential outputs. Also included with each output amplifier is a filter capacitor array and switchable DC feedback path element. These components in combination enable the filtering and integrating functions of the FilSum PACblock. Input polarity is programmable without affecting input impedance or dynamic performance, since no internal change is made other than routing to the input amplifier. Single-ended operation is achieved by using either one input and/or one output pin, as required, and adjusting gain settings to achieve desired output levels. The ispPAC10 operates on a single 5V supply and includes an internal reference generating 2.5V. This reference is made available externally through the volt- 8 Specifications ispPAC10 Theory of Operation (Continued) functionality: Signals can be summed, the resistive amplifier feedback can be removed to create an integrator, the sign of PACblock transfer function can be changed without changing the input or output loading characteristics. The FilSum PACblock can precisely filter, amplify or attenuate signals, always maintaining the high impedance input qualities of instrumentation amplifiers. Figure 1. FilSum (Filtering/Summation) PACblock Diagram VIN+ IA1 CF gm1 VIN IAF VOUT+ VINVIN+ gm3 IA2 FilSum PACblock Operation VOUT VOUT- All ispPAC10 inputs are differential, the input signal being the difference between input amplifier (IA) PACell pins VIN+ (Positive Input) and VIN- (Minus Input). The common mode value of the input is ignored, and as long as the inputs are not within one volt of the supply rails, the part is in its linear operating region. As the input signal range exceeds these limits, distortion begins to increase until clipping occurs. This is discussed further in the advanced topics section. gm2 VIN CF VIN- Each FilSum PACblock actually employs three instrument amplifier (IA) PACells: two at the input (IA1 and IA2) and one as a feedback element around the op amp (IAF). The instrument amplifier PACells all have differential I/O and convert an input voltage to an output current (refer to Figure 2). This type of amplifier is sometimes referred to as an operational transconductance amplifier or OTA. When a differential input voltage is applied to these IAs, it is converted to a current proportional to the input signal. Because an AC signal common to both of the high impedance inputs of the IA does not create a net difference in the input signal, it is rejected by the amplifier. This characterizes the function of what is commonly known as an instrument amplifier and is a very desirable property because it acts to preserve the integrity of small signals in the presence of otherwise overwhelming noise. The output is also differential, being the difference between output amplifier (OA) PACell pins VOUT+ and VOUT-. The output maintains high linearity to within 100mV of the supply rails under minimum load. The output has short circuit protection and is capable of driving resistive loads as low as 300Ω or capacitances as large as 1000pF. The output common mode voltage is maintained at VREFOUT independent of the input common mode level. That is, the output amplifier PACell “re-references” the common mode level of the input signal. This is accomplished by continuously sensing the output common mode voltage and comparing it to VREFOUT as shown in Figure 3, and makes it possible to use an individual FilSum PACblock as a VREFOUT reference as discussed in the section titled “Using VREFOUT”. Figure 2. Instrument Amplifier PACell VIN VIN- Figure 3. Output VREFOUT Re-Referencing IM VIN+ CF gm IP VOUT IAF The two input instrument amplifiers have a programmable transconductance (gm) value in 10 steps between 2µA/V and 20µA/V with programmable input polarity, whereas the feedback amplifier is fixed at 2µA/V. The IA PACells exhibit extremely high input impedance so they don’t load circuitry driving them and their outputs can be enabled or disabled under E2CMOS control, effectively switching them in and out of the FilSum PACblock circuitry. These simple characteristics permit a great deal of CF VCMIN (2.5V) Input Offset Auto-Calibration. A unique feature of the ispPAC10 is its ability to automatically calibrate itself to achieve very low offset error. This is done utilizing onchip circuitry to perform an auto-calibration (auto-cal) 9 Specifications ispPAC10 Theory of Operation (Continued) sequence every time the device is turned on, or anytime it is commanded externally via the CAL pin or by a JTAG programming command. With this feature, the degradation of device offset performance that could occur over time and temperature is dramatically reduced. Specifically, this means one PACblock of an ispPAC10 in a gain configuration of one is guaranteed to never have an input offset error greater than 1mV, after being auto-calibrated. For higher gain settings when offset is especially important, the error is not multiplied by gain, but is instead divided by it, due to the unique architecture of the ispPAC10. When an individual PACblock is configured in a gain of ten, that results in an input referred offset error that never exceeds 100µV. Internally, auto-calibration is accomplished by simultaneous successive approximation routines (SAR) to determine the amount of offset error referred to each of the four PACblock output amplifiers of the ispPAC10. That error is then nulled by a calibration DAC for each output amplifier. The calibration constant is not stored in E2CMOS memory, but is recomputed each time the device is powered up or auto-cal is otherwise initiated. Initiation of auto-cal occurs when an ispPAC10 is powered on as part of its normal power on routine, or by a positive going pulse to the CAL pin (Pin 20), or by issuing the appropriate JTAG command. During auto-cal, all ispPAC10 outputs are driven to 0V and remain there until calibration is complete. The timing for the calibration process is generated internally. At power on, the sequence takes a maximum of 250ms, and when auto-cal is initiated via the CAL pin or by JTAG programming, it takes a maximum of 100ms to complete. The longer time required at power on insures the device power supply reaches its final value before calibration begins. Additional attempts to initiate auto-cal once calibration is in progress are ignored. Finally, the only direct indication of auto-cal completion will be the device’s outputs returning to operational values from the 0V clamped state. feedback capacitance to optimize the step response. The trimmed step response resembles that of a critically damped system with minimum overshoot. The bandwidth trim ensures a nominal feedback capacitance is always present, limiting the small signal bandwidth of an OA PACell to about 600kHz when configured in a gain of 1 (G=1). This should not be confused with the gain-bandwidth product of the op amp within the output amplifier PACells which is approximately 5MHz. It is important to note that the individual output amplifiers are always in essentially the same fixed gain configuration and do not, therefore, contribute to a decrease in signal bandwidth at higher PACblock gain settings. Since the gain of an individual PACblock is determined by varying the gm of the input amplifier, bandwidth is not reduced in direct proportion to gain, as it would be in a traditional voltage feedback amplifier configuration. Specifically, small signal bandwidth is only reduced by a factor of 2, not the expected 10, with a PACblock gain setting change of G=1 to G=10. This is a significant advantage of the PACblock architecture. Pole Accuracy Trim. Separate from the bandwidth trim capacitance, each FilSum PACblock contains a range of user selectable op amp feedback capacitance. This is made possible by a parallel arrangement of seven capacitors, each in series with an E2CMOS switch. The user controls the position of the switches when selecting from the available capacitor values. The resulting capacitance is in parallel with the op amp feedback element, IAF, making 128 possible pole locations available. The capacitor values are not binarily weighted, instead they are chosen to optimize and concentrate pole spacing below 100kHz. There are 122 poles between 10kHz and 96kHz, which guarantees a step of no greater than 3.2% anywhere in that frequency range (to the nearest computed pole location). In fact, step size in over 50% of that range is less than 1.0%. Finally, capacitors are trimmed to achieve 5.0% accuracy (absolute) with regard to their nominal value. To insure maximum accuracy of the auto-cal procedure, all digital signals to the ispPAC10 should be suspended when calibration is in progress to avoid feed-through of noise to critical analog circuitry. This is especially true when auto-cal is initiated via JTAG command and the programming port is in use. There is sufficient time, however, to clock the JTAG controller back to its “reset” state without affecting the calibration process. PACblock Transfer Function Bandwidth Trim. The bandwidth of an OA PACell is trimmed during manufacturing by adjusting the amplifier’s Using KCL (Kirchoff’s current law) at the op amp inputs and assuming the input is connected to IA1 only: The block diagram for a PACblock is shown in Figure 1. The transfer function for a transconductor is: 10 IP = - gm · VIN (1) IM = gm · VIN (2) Specifications ispPAC10 Theory of Operation (Continued) - VIN gm1 + VOUT gm3 + ( VOUT + – ( V - ))sCF (3a) VIN gm1 - VOUT gm3 + ( VOUT - – ( V +))sC F (3b) Figure 4. PAC-Designer FilSum PACblock PACblock 2 where V- and V+ are the voltages at the op amp inverting and non-inverting inputs respectively. Because of feedback they are equal, so - VIN gm1 + VOUT gm3 + ( VOUT + sCF ) = VIN gm1 – VOUT gm3 + ( VOUT - sCF ) Two Differential 2 Inputs (4) gm1 sCF gm3 + 2 k 1gm VIN1 + k 2 gm VIN2 sCF gm3 + 2 RF Summation OA1 IA2 kN =–1, 2...10 2 Differential Output 2.5V CommonMode Voltage Input The FilSum PACblock implements two primary functions: the lossy integrator (low pass filter) and the integrator, both with gain. Lossy Integrator. The lossy integrator’s schematic within PAC-Designer is shown in Figure 5. Manipulating the PACblock transfer function of Equation 5 to better show the pole frequency yields: (5a) Since the PACblock has two separate inputs (IA1 and IA2) summed at the output amplifier input: VOUT = CF 1pF to 62pF Feedback Enable IA1 k2 and the differential output voltage VOUT is the difference VOUT+ - VOUT- , VOUT = VIN k1 VOUT = k1VIN1 + k 2 VIN2 sCF 1+ 2gm (6) (5b) Figure 5. PAC-Designer PACblock Lossy Integrator The input amplifiers have a programmable gain of k·2µA/V (gm1 and gm2) where k is an integer from -10 to 10. The feedback amplifier transconductance gm3 is fixed at 2µA/V, but may be disabled (gm3 = 0) to open-circuit the output amplifier’s resistive feedback. The programmable feedback capacitance lies in the range 1pF to 62pF. k1 VIN1 CF IA1 RF VIN2 OA1 IA2 k2 The PACblock model from PAC-Designer is shown in Figure 4. The output amplifier is configured as an inverting mode op amp and illustrates the summing configuration. The input instrument amplifiers are shown to make it clear that unlike a typical inverting op amp, the PACblock input impedance is extremely high. The input amplifier (IA) transconductance (gain) is shown as the value (k) above or below each amplifier. The gain of IA1 and IA2 are independently programmable. Because the feedback transconductor IAF (designated here as RF) can be disabled by the user, a user configurable switch is shown in series. VOUT 2.5V The DC gain of each input is set by k1 or k2 respectively, the gain constant for the input amplifiers. Below the pole frequency, this circuit can be viewed as a gain block. Because of the bandwidth trim capacitance, there is a minimum value of CF causing the bandwidth to be approximately 550kHz when the DC gain is one. For larger gains, the input amplifier bandwidth begins to dominate the overall PACblock response, limiting the bandwidth to about 330kHz when the gain is 10. Examining this transfer function shows the pole frequency is (1/2π)(2gm/C). Since gm = 2µA/V and 1pF ≤ CF ≤ 62pF, then 600kHz ≥ fP ≥ 10kHz. Due to the selection options for feedback capacitance, there are at least 120 poles between 10kHz and 100kHz. 11 Specifications ispPAC10 Theory of Operation (Continued) Integrator. Switching out RF (turning off IAF) removes the feedback element as shown in Figure 6. The integrator’s transfer function can be derived from Equation 5b by setting gm3 = 0 (open circuit IAF (RF)). It can also be seen that the transfer function VFB(s)/VIN(s) implements a lowpass filter. This application is discussed further in a separate application note. Figure 7b. Biquad Bandpass Filter Schematic Figure 6. PAC-Designer PACblock Integrator (IAF Disabled; gm3 = 0) CF k1 VIN1 1 OUT1 PACblock 1 8.19pF IA1 IA1 RF VIN2 OA1 IA2 VOUT 2.5V k2 OA1 IA2 IN1 2.5V -1 PACblock 2 -1 VOUT = k1VIN1 + k 2 VIN2 sCF 2gm IN2 IA3 (7) OUT2 Figure 8. PACblock AV < 1 Biquad Filter. By simply combining the two structures, the integrator providing feedback around the lossy integrator, creates a useful circuit. The block diagram is shown in Figure 7a VIN1 IA1 RF IA2 VOUT2 (OUT2) ∑ VFB OA1 VOUT 2.5V B s 1+ p 1 CF k1 Figure 7a. Biquad Bandpass Filter Block Diagram VIN (IN1) 2.5V 1 Attenuator. The PACblock architecture makes variations possible on these two basic building blocks just described. An example uses summation to connect an input amplifier (IA2) in parallel with the feedback element (RF), as shown in Figure 8. Application Examples Error OA2 IA4 The integrator slope is proportional to 1/f and, for the case of a single input, the transfer function magnitude equals |k| when the frequency is (1/2π)(2gm/C). The integrator should not be used as a stand-alone circuit element. It needs to be used in configurations that provide DC feedback to ensure the output does not saturate, as illustrated by the biquad filter circuit below. 16.05pF k2 VOUT1 (OUT1) The result is a circuit whose transfer function is: VOUT =VIN A s and the schematic from PAC-Designer is shown in Figure 7b. The transfer function OUT1(s)/IN1(s) is a band pass filter with programmable gain, Q and center frequency. Note the presence of DC feedback around the integrator. k1 sCF k2 – 2gm (8) The gains k1 and k2 are independently set by the user; this circuit can either amplify or attenuate an input signal. The one in the denominator is due to RF; if RF is disabled, 12 Specifications ispPAC10 Theory of Operation (Continued) this term is eliminated. The level of attainable attenuation is as low as 1/11 (-20.8dB) with R F enabled or 1/10 (-20dB) with RF disabled. Interfacing When used in a single-supply system where the system common mode voltage is near VS/2, signals may be directly connected to the ispPAC10 input. If the input signal does not have such a DC bias, then one needs to be added to the signal in order to accommodate the input requirements for the ispPAC10. A DC coupled bias can be added to a signal by using a voltage divider circuit as shown for one-half of the differential input in Figure 10a. Normally the choice for the reference DC voltage is the supply voltage, but other values may be used if necessary (and available). When configuring a PACblock to attenuate, it is necessary to increase the value of feedback capacitance to maintain stability. Increasing feedback capacitance has the same beneficial effect as for a discrete op amp: It increases the network’s phase margin which assists in maintaining stability. Using VREFOUT The VREFOUT output is high impedance and it should be buffered when used as a reference. A PACblock can be made into a VREFOUT buffer as shown in Figure 9. The PACblock inputs are left unconnected and the feedback closed. In this condition the input amplifiers are tied to VREFOUT and the output amplifier’s outputs are thus forced to VREFOUT or 2.5V. Either output is now a VREFOUT voltage source. This reference has the same drive capabilities of any ispPAC10 output. However, do not short the two outputs together. There is a small potential difference between them which will cause a steady state current to flow, thus needlessly dissipating power. Figure 10a. DC Biasing an Input Signal VREFOUT R2 VSE OUT1 PACblock 1 Connect to VREF OUT or other DC Reference. *Differential V SE: Duplicate Vin+ Network on Vin-. 1.07pF V R VREFOUT R1 VIN+ = SE 2 + R1 + R 2 R1 + R 2 IA1 IN1 IA2 -1 VIN- *Single-Ended V SE: Unconnected 1 R1 * Figure 9. PACblock as VREFOUT Buffer OUT1=2.5V VIN+ OA1 Where DC coupling is not required, the input signal may be AC coupled as shown in Figure 10b. This circuit forms a high pass filter with a cutoff frequency of 1/(2πRC) and adds the necessary DC bias to the signal to accommodate the ispPAC10 input requirements. The DC reference should equal VS/2, making VREFOUT the natural choice. The minimum resistance when using the VREFOUT buffer circuit of Figure 9 is 600Ω; when using the VREFOUT output pin it is 200kΩ (as discussed earlier). 2.5V It is not always necessary to buffer the VREFOUT output. If it is used to reference a high impedance source, i.e., one that does not require more than 10µA, then it can be directly connected. An example is shifting the DC level of a signal connected to the input of a PACblock. In this case, the signal is AC coupled and “terminated” in VREFOUT through a minimum total resistance of 100kΩ. Referring to Figure 10b, if RIN is greater than 200kΩ then the VREFOUT pin may be used without buffering. 13 Specifications ispPAC10 Theory of Operation (Continued) requires DC current, the amount available for voltage swing is reduced. The output is capable of 10mA, so any DC current raises the minimum allowable load impedance. Figure 10b. AC-coupled Input with DC Bias Noise vs. Gain CIN Noise gain is the gain of a circuit configuration to its combined input-referred circuit noise. The noise gain of an inverting op amp circuit is: VIN+ CIN VIN- (9) Noise Gain = 1+ Closed Loop Voltage Gain RIN In this case, the noise gain of the circuit increases proportionally to the circuit gain. A FilSum PACblock contains an input amplifier stage followed by an output amplifier. In this way it can be viewed as a system, with each of the components having its own contribution to the overall noise as shown in Figure 11. Both the output amplifier noise (N2) and input amplifier noise (N1) contribute to the overall noise performance, but the contribution due to the output amplifier dominates except at input gains near 10. The result is that the SNR of a FilSum PACblock is nearly constant versus gain. This is different than the behavior predicted by Equation 9. VREFOUT Single-ended Operation Single-ended signals may be connected to the ispPAC10 input and one of the two differential ispPAC10 outputs can be used to drive single-ended circuitry. So, in addition to fully differential I/O, either the input, output or both may be used single-ended. Figure 11. Multistage ispPAC Noise Diagram Single-ended Input. To connect the ispPAC10 differential input to a single-ended signal, one of the differential inputs needs to be connected to a DC bias, preferably VREFOUT. The input signal must either be AC coupled (as in Figure 10b) or have a DC bias equal to the DC level of the other input. Since the input voltage is defined as VIN+- VIN-, the common mode level is ignored. The signal information is only present on one input, the other being connected to a voltage reference. N1 G1 Stage One N2 G2 Stage Two G2 = Constant Single-ended Output. Connecting the output to a singleended circuit is simpler still. Simply connect one-half of the differential output, but not the other. Either output conveys the signal information, just at half the magnitude of the differential output. The DC level of the singleended output will be VREFOUT due to the re-referencing aspect of the FilSum PACblock. If the load is not AC coupled and is at a DC potential other than VREFOUT, the load draws a constant current. Using one of the differential outputs halves the available output voltage swing (3VPP versus 6VPP) and since the output current capacity is the same whether driving differentially or single-ended, a single output can drive twice the load as the differential output (150Ω vs. 300Ω or 2000pF vs. 1000pF). If the load Output Noise Voltage = G1 G2 N12 + N2 G1 2 (10a) If N2/G1 > 3·N1, then Output Noise Voltage ≅ G2N2 (10b) There is a few dB decrease in SNR as the gain approaches 10. This characteristic implies the input amplifier noise contribution is approaching that of the op amp. As the gain of the input amplifier nears 10, its noise contribution in Equation 10a (N1) approaches that of the op amp and becomes a factor in the overall output noise voltage, causing it to increase. 14 Specifications ispPAC10 Theory of Operation (Continued) Input Common-Mode Voltage Range reached for a particular gain. The lowest VCM for a given gain setting is expressed by the formula, VCM– = 0.675V + 0.584G·VIN where G is the gain setting and VIN is the peak input voltage, expressed as |VIN+ - VIN–| and the highest VCM is VCM+ = 5.0V - VCM– where 5V is the nominal supply voltage. For the ispPAC10, both maximum input signal range and corresponding common-mode voltage range are a function of the input gain setting. The maximum input voltage times the gain of an individual PACblock cannot exceed the output range of that block or clipping will occur. The maximum guaranteed input range is 1V to 4V, with an extended typical range of 0.7V to 4.3V for a 5V supply voltage. In Table 1, the maximum VIN for a given VCM– to VCM+ range is given. If the maximum VIN is known, find the equivalent or greater value under the appropriate gain column and the widest range for VCM will be found horizontally across in the left-most two columns. Only a VCM range equal to or less than this will give distortionfree performance. Conversely, if the maximum VCM range is known, the largest acceptable peak value of VIN can be found in the corresponding gain column. All values of VIN less than this will give full rated performance. The input common-mode voltage is VCM = (VCM+ + VCM-)/2. When the value of VCM is 2.5V, there are no further input restrictions other than the previously mentioned clipping consideration. This is easily achieved when the input signal is true differential and referenced to 2.5V. When VCM is not 2.5V and the gain setting is greater than one, distortion will occur when the maximum input limit is Table 1. Input Common-Mode Voltage Range Limitations Input Voltage Magnitude (Volts-Peak) VCM- VCM+ G=1 G=2 G=3 G=4 G=5 G=6 G=7 G=8 G=9 G=10 1.000 4.000 0.557 0.278 0.186 0.139 0.111 0.093 0.080 0.070 0.062 0.056 1.100 3.900 0.728 0.364 0.243 0.182 0.146 0.121 0.104 0.091 0.081 0.073 1.200 3.800 0.899 0.450 0.300 0.225 0.180 0.150 0.128 0.112 0.100 0.090 1.300 3.700 1.071 0.535 0.357 0.268 0.214 0.178 0.153 0.134 0.119 0.107 1.400 3.600 1.242 0.621 0.414 0.310 0.248 0.207 0.177 0.155 0.138 0.124 1.500 3.500 1.413 0.707 0.471 0.353 0.283 0.236 0.202 0.177 0.157 0.141 1.600 3.400 1.584 0.792 0.528 0.396 0.317 0.264 0.226 0.198 0.176 0.158 1.700 3.300 1.756 0.878 0.585 0.439 0.351 0.293 0.251 0.219 0.195 0.176 1.800 3.200 1.927 0.964 0.642 0.482 0.385 0.321 0.275 0.241 0.214 0.193 1.900 3.100 2.098 1.049 0.699 0.525 0.420 0.350 0.300 0.262 0.233 0.210 2.000 3.000 2.270 1.135 0.757 0.567 0.454 0.378 0.324 0.284 0.252 0.227 2.100 2.900 2.441 1.220 0.814 0.610 0.488 0.407 0.349 0.305 0.271 0.244 2.200 2.800 2.612 1.306 0.871 0.653 0.522 0.435 0.373 0.327 0.290 0.261 2.300 2.700 2.783 1.392 0.928 0.696 0.557 0.464 0.398 0.348 0.309 0.278 2.400 2.600 2.955 1.477 0.985 0.739 0.591 0.492 0.422 0.369 0.328 0.295 2.426 2.574 3.000* 1.500* 1.000* 0.750* 0.600* 0.500* 0.429* 0.375* 0.333* 0.300* 2.500 2.500 3.126 1.563 1.042 0.782 0.625 0.521 0.447 0.391 0.347 0.313 *Peak input voltage for guaranteed performance at a given gain setting. 15 Specifications ispPAC10 Software-Based Design Environment in the schematic window can be accessed via mouse operations as well as menu commands. When completed, configurations can be saved, simulated, and downloaded to devices. Design Entry Software Designers configure the ispPAC10 and verify its performance using PAC-Designer, an easy to use, Microsoft Windows compatible program. Circuit designs are entered graphically and then verified, all within the PAC-Designer environment. Full device programming is supported using PC parallel port I/O operations and a download cable connected to the serial programming interface of the ispPAC10. A library of configurations is included with basic solutions and examples of advanced circuit techniques. In addition, comprehensive on-line and printed documentation is provided that covers all aspects of PAC-Designer operation. PAC-Designer operation can be automated and extended by using custom-designed Visual Basic® programs that set the interconnections and the parameters of ispPAC products. These stand-alone programs are called circuit generator macros. An example of such a macro is the biquad filter generator supplied with PAC-Designer. With this macro, filter parameters such as gain, Q and corner frequency are input directly and then automatically converted to a schematic configuration. The application example shown in Figure 7b was generated using the biquad filter generator macro. More information on this and other topics is included in the on-line documentation as well as ispPAC application notes. The PAC-Designer schematic window, shown in Figure 12, provides access to all configurable ispPAC10 elements via its graphical user interface. All analog input and output pins are represented. Static or non-configurable pins such as power, ground, VREFOUT, and the serial digital interface are omitted for clarity. Any element Figure 12. Initial PAC-Designer Schematic Design Entry Screen PAC Designer - [Design1] File Edit View Tools Options Window Help OUT1 OUT3 1.07 pF 1 1.07 pF PAC Block 3 1 PAC Block 1 IA1 IN1 IA5 OA1 OA3 2.5V 2.5V IA2 IA6 1 1.07 pF 1 IN2 1.07 pF PAC Block 4 1 PAC Block 2 IA7 IA3 OA2 OA4 2.5V 2.5V OUT2 IN4 IA8 IA4 1 IN3 1 UES = 00000000 Ready 16 1 OUT4 Specifications ispPAC10 Software-Based Design Environment (Continued) that intersects the curves on the plot, and reads out the gain and frequency in the lower right hand corner of the plot window when activated. Design Simulation Capability A powerful feature of PAC-Designer is its simulation capability enabling quick and accurate verification of circuit operation and performance. Once a circuit is configured via the interactive design process, gain and phase response between any input and output can then be determined. This function is part of the simulator capability which derives a transfer equation between the two points and then sweeps it over the user-specified frequency range. Figure 13 shows a typical screen plot of the gain/phase simulator. In it are the input to output response curves of a 2nd order biquad filter similar to the implementation illustrated in Figure 7b. In this example, the lowpass and bandpass characteristics of the filter are seen. In-System Programming The ispPAC10 is an in-system programmable device. This is accomplished by integrating all high voltage programming circuitry on-chip. Programming is performed through a 5-wire, IEEE 1149.1 (JTAG) compliant serial port interface at normal logic levels. Once a device is programmed, all configuration information is stored in onchip, non-volatile E2CMOS memory cells. The specifics of the IEEE 1149.1 serial interface are described in the interface section of this data sheet. User Electronic Signature The simulator is capable of displaying up to four separate input to output responses. This allows multiple signal paths to be viewed as well as intermediate results of component changes so performance comparisons can be made. There is also a user positioned crosshair cursor A user electronic signature (UES) feature is included in the E2 memory of the ispPAC10. It contains 8 bits that can be configured by the user to store unique data such as ID codes, revision numbers or inventory control data. Figure 13. PAC-Designer Simulation Plot Screen (Biquad Filter Configuration) PAC Designer - [Design1:2] File Edit View Curve Tools Options Window Help Gain Plot (dB) 1.8 Vo1/Vi1 Vo2/Vi1 -10 -20 -30 -40 -50 100 1K 10K 100K 1M 10M Phase Plot (Deg) Vo1/Vi1 150 Vo2/Vi1 100 50 0 -50 -100 100 1K 10K 100K Ready 1M Curve:1 Vout1/Vin1 17 10M Specifications ispPAC10 In-System Programmability ispPAC10 and can be used in real time to check circuit operation as part of the design process. Input and output connections as well as a “breadboard” circuit area are provided to speed debugging of the circuit. Electronic Security An electronic security “fuse” (ESF) bit is provided in every ispPAC10 device to prevent unauthorized readout of the E2CMOS user bit patterns. Once programmed, this cell prevents further access to the functional user bits in the device. This cell can only be erased by reprogramming the device, so the original configuration can not be examined once programmed. Usage of this feature is optional. Serial Port Programming Interface Communication with the ispPAC10 is facilitated via an IEEE 1149.1 test access port (TAP). It is used by the ispPAC10 as a serial programming interface, and not for boundary scan test purposes. There are no boundary scan logic cells in the ispPAC10 architecture. This does not prevent the ispPAC10 from functioning correctly, however, when placed in a valid serial chain with other IEEE 1149.1 compliant devices. Production Programming Support Once a final configuration is determined, an ASCII format JEDEC file is created using the PAC-Designer software. Parts can then be ordered through the usual supply channels with the user’s specific configuration already preloaded into the parts. By virtue of its standard interface, compatibility is maintained with existing production programming equipment giving customers a wide degree of freedom and flexibility in production planning. A brief description of the ispPAC10 serial interface follows. For complete details of the reference specification, refer to the publication, Standard Test Access Port and Boundary-Scan Architecture, IEEE Standard 1149.11990 (which now includes IEEE Standard 1149.1a-1993). Evaluation Fixture Included in the basic ispPAC10 Design Kit is an engineering prototype board that is connected to the parallel port of a PC. It demonstrates proper layout techniques for the Figure 14. Configuring the ispPAC10 “In-System” from a PC Parallel Port PAC-Designer Software Other System Circuitry ispDownload Cable (6') 4 18 ispPAC10 Device Specifications ispPAC10 IEEE Standard 1149.1 Interface register. All instructions relating to boundary scan operations place the ispPAC10 in the BYPASS mode to maintain compliance with the specification. The optional identification register described in IEEE 1149.1 is also included in the ispPAC10. One additional data register included in the TAP of the ispPAC10 is the Lattice defined user register. Figure 15 shows how the instruction and various data registers are placed in an ispPAC10. Overview An IEEE 1149.1 test access port (TAP) provides the control interface for serially accessing the digital I/O of the ispPAC10. The TAP controller is a state machine driven with mode and clock inputs. Under the correct protocol, instructions are shifted into an instruction register which then determines subsequent data input, data output, and related operations. Device programming is performed by addressing the user register, shifting data in, and then executing a program user instruction, after which the data is transferred to internal E2CMOS cells. It is these non-volatile cells that determine the configuration of the ispPAC10. By cycling the TAP controller through the necessary states, data can also be shifted out of the user register to verify the current ispPAC10 configuration. Instructions exist to access all data registers and perform internal control operations. TAP Controller Specifics The TAP is controlled by the Test Clock (TCK) and Test Mode Select (TMS) inputs. These inputs determine whether an Instruction Register or Data Register operation is performed. Driven by the TCK input, the TAP consists of a small 16-state controller design. In a given state, the controller responds according to the level on the TMS input as shown in Figure 16. Test Data In (TDI) and TMS are latched on the rising edge of TCK, with Test Data Out (TDO) becoming valid on the falling edge of TCK. There are six steady states within the controller: Test-Logic-Reset, Run-Test/Idle, Shift-Data-Register, Pause-Data-Register, Shift-Instruction-Register, and Pause-Instruction-Register. But there is only one steady state for the condition when TMS is set high: the TestLogic-Reset state. This allows a reset of the test logic within five TCKs or less by keeping the TMS input high. Return to the Test-Logic-Reset state can also be immediately accomplished by placing a logic low on the Test-Reset (TRST#) pin. Test-Logic-Reset is also the power-on default state. Figure 15. ispPAC10 TAP Registers User Register MUX ID Register Bypass Register Instruction Register Test Access Port (TAP) Logic TDI TCK TMS TRST When the correct logic sequence is applied to the TMS and TCK inputs, the TAP will exit the Test-Logic-Reset state and move to the desired state. The next state after Test-Logic-Reset is Run-Test/Idle. Until a data or instruction scan is performed, no action will occur in Run-Test/ Idle (steady state = idle). After Run-Test/Idle, either a data or instruction scan is performed. The states of the Data and Instruction Register blocks are identical to each other differing only in their entry points. When either block is entered, the first action is a capture operation. For the Data Registers, the Capture-DR state is very simple: it captures (parallel loads) data onto the selected serial data path (previously chosen with the appropriate instruction). For the Instruction Register, the Capture-IR state will always load the IDCODE instruction. This condition will occur independently anytime a hardware reset (TRST#) is executed and is also the power-on default. It will always enable the ID Register for readout if no other instruction is loaded prior to a Shift-DR opera- Output Latch TDO For compatibility between compliant devices, two data registers are mandated by the IEEE 1149.1 specification. Others are functionally specified, but inclusion is strictly optional. Finally, there are provisions for optional data registers defined by the manufacturer. The two required registers are the bypass and boundary-scan registers. For ispPAC10, the bypass register is a 1-bit shift register that provides a short path through the device when boundary testing or other operations are not being performed. The ispPAC10, as mentioned, has no boundary-scan logic and therefore no boundary scan 19 Specifications ispPAC10 IEEE Standard 1149.1 Interface (Continued) tion. This, in conjunction with mandated bit codes, allows a “blind” interrogation of any device in a compliant IEEE 1149.1 serial chain. function of three required and six optional instructions. Any additional instructions are left exclusively for the manufacturer to determine. The instruction word length is not mandated other than to be a minimum of 2 bits, with only the BYPASS and EXTEST instruction code patterns being specifically called out (all ones and all zeroes respectively). The ispPAC10 contains the required minimum instruction set as well as one from the optional instruction set. In addition, there are several proprietary instructions that allow the device to be configured and verified. For ispPAC10, the instruction word length is 5 bits. All ispPAC10 instructions available to users are shown in Table 2. From the Capture state, the TAP transitions to either the Shift or Exit1 state. Normally the Shift state follows the Capture state so that test data or status information can be shifted out or new data shifted in. Following the Shift state, the TAP either returns to the Run-Test/Idle state via the Exit1 and Update states or enters the Pause state via Exit1. The Pause state is used to temporarily suspend the shifting of data through either the Data or Instruction Register while an external operation is performed. From the Pause state, shifting can resume by reentering the Shift state via the Exit2 state or be terminated by entering the Run-Test/Idle state via the Exit2 and Update states. If the proper instruction is shifted in during a Shift-IR operation, the next entry into Run-Test/Idle initiates the test mode (steady state = test). This is when the device is actually programmed, erased or verified. All other instructions are executed in the Update state. BYPASS is one of the three required instructions. It selects the Bypass Register to be connected between TDI and TDO and allows serial data to be transferred through the device without affecting the operation of the ispPAC10. The bit code of this instruction is defined to be all ones by the IEEE 1149.1 standard. The required SAMPLE/PRELOAD instruction dictates the Boundary-Scan Register be connected between TDI and TDO. The ispPAC10 has no boundary-scan register, so for compatibility it defaults to the BYPASS mode whenever this instruction is received. The bit code for this instruction is defined by Lattice as shown in Table 2. Test Instructions Like data registers, the IEEE 1149.1 standard also mandates the inclusion of certain instructions. It outlines the Figure 16. Test Access Port (TAP) Contoller State Diagram 1 Test-Logic-Rst 0 Run-Test/Idle 0 1 Select-DR-Scan 1 1 0 Capture-DR Select-IR-Scan 1 0 Capture-IR 0 0 0 Shift-DR 1 1 1 Exit1-IR 0 0 Pause-DR 1 Pause-IR 0 Exit2-IR 1 Update-DR 0 1 Update-IR 1 Note: The value shown adjacent to each state transition in this figure represents the signal present at TMS at the time of a rising edge at TCK. 20 0 1 0 Exit2-DR 1 0 Shift-IR 1 Exit1-DR 0 1 0 Specifications ispPAC10 IEEE Standard 1149.1 Interface (Continued) The EXTEST (external test) instruction is required and would normally place the device into an external boundary test mode while also enabling the Boundary-Scan Register to be connected between TDI and TDO. Again, since the ispPAC10 has no boundary-scan logic, the device is put in the BYPASS mode to ensure specification compatibility. The bit code of this instruction is defined by the 1149.1 standard to be all zeros. ADDUSR (address user register) instruction is a Lattice defined instruction that selects the user register to be shifted during a Shift-DR operation. Normal operation of a device is not interrupted by this instruction. It precedes a PROGUSR (program user) instruction to shift in a new configuration and follows a VERUSR (verify user) instruction to shift out the current configuration. The bit code for this instruction is shown in Table 2. Table 2. ispPAC10 TAP Instructions The PRGUSR (program user) is a Lattice instruction that enables the data shifted into the user register to be programmed into the non-volatile E2CMOS memory of the ispPAC10 and thereby alter its configuration. The user register is a 109-bit shift register that contains all the user-controlled parametric and interconnect data pertaining to the configuration of the ispPAC10. Normal operation of the device is interrupted during the actual programming time. A programming operation does not begin until entry of the Run-Test/Idle state. The time required to insure data retention is given in the TAP signal specifications table. The user must ensure that the recommended programming times are observed. The bit code for this instruction is shown in Table 2. Instruction Code Description EXTEST 00000 External test. Default to BYPASS. ADDUSR 00001 Address User data register. UBE 00010 User bulk erase. VERUSR 00011 Verify User data register. PRGUSR 00100 Program User data register. IDCODE ENCAL 01101 10000 Read Identification data register. Enable Calibration sequence. SAMPLE 11110 Sample/Preload. Default to BYPASS. BYPASS 11111 Bypass (connect TDI to TDO). VERUSR (verify user) is the next Lattice instruction and causes the current configuration of the ispPAC10 to be loaded into the user register. This operation doesn’t interrupt operation of the device. The current configuration can then be shifted out of the user register immediately after an ADDUSR instruction is executed. The bit code for this instruction is shown in Table 2. The optional IDCODE (identification code) instruction is incorporated in the ispPAC10 and leaves it in its functional mode when executed. It selects the Device Identification Register to be connected between TDI and TDO. The Identification Register is a 32-bit shift register containing information regarding the IC manufacturer, device type and version code (see Figure 17). Access to the Identification Register is immediately available, via a TAP data scan operation, after power-up of the device, after a reset using the optional TRST pin, or by issuing a Test-Logic-Reset instruction. The bit code for this instruction is defined by Lattice as shown in Table 2. ENCAL (enable calibration) is a Lattice instruction that enables the start of an auto-calibration sequence. This operation causes all outputs of the device to go to 0V until the calibration sequence is completed (see timing specifications). As with the programming instructions above, calibration does not begin until entry of the Run-Test/Idle state. The completion of the calibration is not dependent, however, on any further TAP control. This means the state of the TAP can be returned immediately to the TestLogic-Reset state. The only consideration would be to not clock the TAP during critical analog operations. The first several milliseconds of the calibration routine are consumed waiting for configurations to settle, though, leaving more than enough time to clock the TAP back to the Test-Logic-Reset state. The bit code for this instruction is shown in Table 2. The Figure 17. Identification Code (IDCODE) 32-Bit Binary Word for Lattice ispPAC10 MSB LSB XXXX / 0000 0001 0000 0000 / 0000 0100 001 / 1 Part Number (16 bits) 0100h = PAC10 Version (4 bits) 2 E Configured JEDEC Manfacturer Identity Code for Lattice Semiconductor (11 bits) Constant 1 (1 bit) per 1149.1-1990 21 Specifications ispPAC10 IEEE Standard 1149.1 Interface (Continued) The last Lattice instruction is UBE (user bulk erase). Operation of the device is interrupted during UBE, after which all inputs are disconnected and all outputs driven to VREFOUT (2.5V). To economize internal circuitry, programming can only be selectively done in one direction (from zeroes to ones). The UBE is used to return all user bits to a zero state at the same time. A UBE usually proceeds a PRGUSR operation, otherwise one to zero changes would not be implemented. It can also be used to erase all configuration information from a device and is the default condition of parts shipped from the factory. The same programming constraints apply to UBE as for PRGUSR. The bit code for this instruction is shown in Table 2. The ADDUSR, BYPASS, EXTEST, IDCODE and SAMPLE/PRELOAD instructions are all executed in the Update-IR state. Other instructions: PRGUSR, VERUSR and UBE are executed upon entry of the Run-Test/Idle state. It is recommended that when all serial interface operations are completed, the TAP controller be reset and left in the Test-Logic-Reset state (the power-up default) and the TCK and TMS inputs idled. This will insure the best analog performance possible by minimizing the effects of digital logic “feed-through.” 22 Specifications ispPAC10 Package Diagrams 28-Pin Plastic DIP Dimensions in Inches MIN./MAX. (Dimensions in millimeters, shown in parenthesis, are for reference only) .300 / .325 (7.61 / 8.25) .280 /.300 (7.11 / 7.61) 1.360 / 1.39 (34.54 / 35.31) .180 (4.57) MAX .020 (.51) MIN .008 / .012 (.20 / .31) 0°-15° .125 / .135 (3.17 / 3.43) .045 /.055 (1.14 / 1.40) .015 /.021 (.38 / .53) .100 (2.54) BSC 28-Pin Plastic SOIC Dimensions in Inches MIN./MAX. (Dimensions in millimeters, shown in parenthesis, are for reference only) .292 (7.42) Top View .299 (7.59) .400 (10.16) .410 (10.41) Pin 1 .0091 (.23) .050 (1.27) BSC .0125 (.32) 0° 8° .697 (17.70) .712 (18.08) .097 (2.46) .104 (2.64) .014 (.35) .019 (.48) .0050 (.127) .0115 (.292) 23 .024 (.61) .040 (1.02)