ispPAC30 In-System Programmable Analog Circuit October 2001 Preliminary Data Sheet Features Functional Block Diagram Flexible Interface and Programming Control * * * * Full configuration capability, SPI or JTAG modes Unlimited device updates using SRAM register E2CMOS(R) for non-volatile configuration storage Real-time microcontroller configuration/control IN1+ 13 IN1- 14 IN2+ 15 Two Configurable Rail-to-Rail Output Amps OUT1 18 Single-ended, 0V to 5V output swing Gain bandwidth product >15MHz Amplifier, filter, integrator or comparator modes 7 filter frequencies (50kHz to 600kHz) OUT2 19 IN4+ 23 IN4- 24 6 CS Filter Amplify Integrate Compare 5 MSEL1 4 MSEL2 3 CAL JTAG/SPI Interface Logic & Configuration Memory Auto-Calibration 2 PD 1 GND 2.5V Reference The ispPAC(R)30 is a member of the Lattice family of InSystem Programmable (ISPTM) analog integrated circuits. It is digitally configured via SRAM and utilizes E2CMOS memory for non-volatile storage of its configuration. The flexibility of ISP enables programming, verification and unlimited reconfiguration, directly on the printed circuit board. Applications Reconfigurable or adaptive signal conditioning Analog front end for most A/D converters Programmable analog signal control loops Precision programmable gain amplifiers The ispPAC30 is a complete front end solution for data acquisition applications using 10 to 12-bit ADC's. It provides multiple single-ended or differential signal inputs, multiplexing, precision gain, offset adjustment, filtering, and comparison functionality. It also has complete routability of inputs or outputs to any input cell and then from any input cell to either summing node of the two output amplifiers. Designers configure the ispPAC30 and verify its performance using PAC-Designer(R), an easy to use, Microsoft Windows(R) compatible development tool. Device programming is supported using PC parallel port I/O operations. Dual 12-Bit ADC ispPAC30 Controller www.latticesemi.com 8 TDI Description Single supply (+5V) operation Precision voltage reference output (2.5V) Power-down for Watt power consumption Auto-calibration of internal offsets Available in 28-pin PDIP or 24-pin SOIC Vin3 9 TDO 7 TCK OA IA 10 TMS ispPAC30 24-Pin SOIC Other Product Features Vin2 Filter Amplify Integrate Compare IN3- 22 Routing of all I/O to any IA or MDAC Any IA/MDAC summed to either output amplifier Circuits with and without feedback possible Routable to maintain pin location relationships Vin1 IA Vref2 Analog Input/Summation Routing Pools * * * * MDAC IN3+ 21 * Full bandwidth when used as a multiplier * Precision gain (<0.01 steps) with signal as input * Precision offset (in 7 ranges) using internal Vref * * * * * MDAC SCOM 20 Two, 4-Quadrant 8-Bit Multiplying DAC's * * * * IA Summation Routing Pool VREFOUT 17 IN2- 16 OA Input/Output Routing Pool High impedance: differential or single-ended 0V to 2.8V with programmable gains (1 to 10) Dual multiplexers (pin or serial port controlled) Connects easily to existing system circuits * * * * 11 ENSPI IA Four Input Instrumentation Amplifiers (IA's) * * * * 12 VS Vref1 1 pac30_01 Lattice Semiconductor ispPAC30 Preliminary Data Sheet Electrical Characteristics TA = 25C; VS = 5.0V; 0V < VIN < 2.8V; Gain = 1; Output load = 50pf, 1k. IA1, IA2, MDAC1 connected to OA1 and IA3, IA4, MDAC2 connected to OA2. VOUT biased to swing from 0.5 to 4.5V. Auto-Cal initiated immediately prior. (Unless otherwise specified). Symbol Parameter Condition Min. Applied to either VIN+ or VIN- 0 Typ. Max. Units Analog Input VIN (1) Input Voltage Range VIN-DIFF (2) Differential Voltage Swing VOS (3) VOS / T RIN CIN Differential Offset Voltage (Input Referred) Differential Offset Drift 2 |VIN+ - VIN-| eN Input Noise Voltage Density 2 mV G=1 1 100 V 50 V/C 109 -40C to +85C; Any gain, input referred Input Capacitance Input Bias Current (at DC) V V G = 10 Input Resistance IB 2.8 5.6 2 pF at 25C 1 pA at 85C 200 pA At 10kHz, referred to input, G=10 70 nV/ Hz 4.97 V Analog Output VOH Output Voltage Swing High IL = 250A 4.95 IL = 5mA 4.50 VOL Output Voltage Swing Low IL = -250A ISC Short Circuit Current IOUT Maximum Output Current IL = -5mA Short to ground; VOUT = 4.9V 25 See graph in typical performance curves 4.65 V 0.03 0.05 0.11 0.15 V V 35 mA 30 mA Static Performance G Programmable Gain Range Gain Error Input Gain Matching G/T PSR Gain Drift Power Supply Rejection Individual input amplifier gain 0 20 dB 1 3 % Any two inputs; any output 1 3 -40C to +85C 35 ppm/C at 10kHz 74 dB VOUT = 0.5V to 4.5V % Reference Output (VREFOUT) VREFOUT Reference Output Range Nominally 2.500V; ILOAD = 0 IREFOUT Reference Output Current (VREFOUT change = -1%) source 40 (VREFOUT change = +1%) sink -350 A -40 to +85C 100 ppm/C Reference Output Drift -0.2 0.2 % A Reference Output Noise 100kHz bandwidth 40 VRMS Power Supply Rejection 1kHz 80 dB 10mV overdrive 4.0 s 100mV overdrive 2.5 s 2.8V overload 3.0 s Comparator Mode Performance Comparator Switching Time Overload Recovery Time 2 Lattice Semiconductor ispPAC30 Preliminary Data Sheet Electrical Characteristics, Continued TA = 25C; VS = 5.0V; 0V < VIN < 2.8V; Gain = 1; Output load = 50pf, 1k. IA1, IA2, MDAC1 connected to OA1 and IA3, IA4, MDAC2 connected to OA2. VOUT biased to swing from 0.5 to 4.5V. Auto-Cal initiated immediately prior. (Unless otherwise specified). Symbol Parameter Condition Min. Typ. Max. Units MDAC PACell Performance Resolution INL Integral Non-Linearity DNL Differential Non-Linearity VOS Offset Voltage 7+sign 0.25 Guaranteed monotonic Gain Error Input Bandwidth (F3dB) bits 1 VIN = 3Vp-p; VCM = 1.4V0.75V 1.25 0.5 lsb -1 lsb 3 mV 3 % 1.6 MHz Internal Voltage Reference Performance VREF1/VREF2 Voltage Output 64mV Setting 56 64 72 mV 128mV Setting 120 128 136 mV 256mV Setting 246 256 266 mV 512mV Setting 500 512 524 mV 1024mV Setting 1000 1024 1048 mV 2048mV Setting 2000 2048 2096 mV 2.500V Setting 2.450 2.500 2.550 V Dynamic Performance SNR Signal to Noise (4) 0.1Hz to 114kHz 83 THD Total Harmonic Distortion FIN = 10kHz -85 -74 dB VOUT = 4Vpk (0.5V to 4.5V) FIN = 100kHz -75 -60 dB CMR BW dB Common Mode Rejection 10kHz 75 dB (VIN = 0V to 2.8V) (5) 100kHz 65 dB Small Signal Bandwidth All gains, minimum feedback capacitor 1 1.57 MHz 1.1 MHz 15 V/s Full Power Bandwidth All gains SR Slew Rate All gains tS Settling Time, 0.1% 4V output step, low to high 2 4 s VOUT = 4Vpk (0.5V to 4.5V) 4V output step, high to low 4 8 s RL = 1k, FIN = 10kHz -100 BWFP Crosstalk (6) 10 dB Filter Characteristics FC Corner Frequency Range (7) |FC| Corner Frequency Accuracy FC/T Corner Frequency Drift 49 Deviation from calculated -3db point 3 -40C + 0 +85C 0.05 619 kHz 5 % %/C Digital I/O VIL Input Low Voltage 0 0.8 V VIH Input High Voltage 2 VS V 3 Lattice Semiconductor ispPAC30 Preliminary Data Sheet Electrical Characteristics, Continued TA = 25C; VS = 5.0V; 0V < VIN < 2.8V; Gain = 1; Output load = 50pf, 1k. IA1, IA2, MDAC1 connected to OA1 and IA3, IA4, MDAC2 connected to OA2. VOUT biased to swing from 0.5 to 4.5V. Auto-Cal initiated immediately prior. (Unless otherwise specified). Symbol Parameter Condition Min. Typ. Max. Units 10 A Digital I/O (Continued) IIL, IIH Input Leakage Current No pull-up/pull-down With pull-up/pull-down (8) Hysteresis 50 Schmitt Trigger 250 VOL Output Low Voltage (TDO) IOL = 4.0mA VOH Output High Voltage (TDO) IOH = -1.0mA 2.4 For E2CMOS cells 10K A mV 0.4 V V Programming and Calibration Erase/Reprogram Cycles Calibration Cycle Time 1M cycles Initial turn on 140 250 Subsequent user initiated 50 100 5 5.25 ms Power Supplies VS Operating Supply Voltage IS Supply Current (8) VS = 5.0V 10 15 mA PD Power Dissipation (9) VS = 5.0V 50 75 mW Power Down Supply Current VS = 5.0V 10 30 A Time to resume normal operation 3.5 5.0 s Wakeup Time 4.75 V Temperature Range Operation -40 85 C Storage -65 150 C Notes: 1. Inputs larger than this will be clipped. 2. Inputs can be used fully differential if care is taken to offset signals so as to not force the outputs below 0V or above VS. The total input swing is measured from one differential extreme, with respect to polarity, to the other, or twice the peak single-ended input range. 3. To insure full spec performance, an auto-calibration should be performed after initial turn-on when the device reaches thermal stability. 4. For all gains except G=1, output is assumed to be driven to 5V by the input signal level (VIN x Gain = 5V). When G=1, the maximum single ended input possible is 2.8V. The consequence is an output of 2.8V instead of 5V. Computed SNR is then 5dB less because of the lower effective signal. With a true differential 2.5V input and G=1, output will again be a full 5V and SNR will be equal to the value shown in the specification table. 5. VIN+ and VIN- are connected together for this test. 6. Measured between analog outputs, with an identical signal path configuration used for each. One channel is driven with a 10kHz signal and the other is not (input grounded). 7. Computed 3db corner frequencies are 619kHz, 401kHz, 250kHz, 169kHz, 114kHz, 74kHz and 49kHz. Actual values found in PACDesigner software. 8. Logic inputs will exhibit positive current configured with a pull-down and negative current with a pull-up. 9. Configured so all internal circuitry is powered on. 4 Lattice Semiconductor ispPAC30 Preliminary Data Sheet Pin Descriptions Pins PDIP 15, 16, 17, 18, 25, 26, 27, 28 6 SOIC 13, 14, 15, 16, 21, 22, 23, 24 5 Symbol IN MSEL1 Name Description Inputs 1, 2, 3, 4 (+ or -) Plus or Minus Differential input pins, with two pins per input (e.g., IN2+ and IN2-). Each are components of VIN, where differential VIN = VIN+ - VIN-. Multiplexer 1 Control Multiplexer logic input pin. Selects either of two analog channels to IA1 (instrument amplifier). Programmable pull-up, pull-down (default), or none. 4 4 MSEL2 Multiplexer 2 Control Multiplexer logic input pin. Selects either of two analog channels to IA4 (instrument amplifier). Programmable pull-up, pull-down (default), or none. 21, 22 18, 19 OUT Outputs 1 and 2 Single-ended output pins. Internal feedback to inputs accommodated. 20 17 VREFOUT 13 11 ENSPI Enable SPI Mode Enable SPI logic input pin. When high, causes serial port to run in SPI mode. Programmable pull-up or pull-down (default). 12 10 TMS Test Mode Select Serial interface logic mode select pin (input). JTAG interface mode only. Internal pull-up. 11 9 TDO Test Data Out 9 8 TDI Test Data In Serial interface logic pin (input) for both JTAG and SPI modes. Internal pull-up. 8 7 TCK Test Clock Serial interface logic clock pin (input) for both JTAG and SPI modes. Programmable pull-up, pull-down (default), or none. 7 6 CS Chip Select Chip select logic input pin. SPI data transfer enabled by this input. Internal pull-up. 3 3 CAL Auto-Calibrate Digital pin (input). Commands an auto-calibration sequence on a rising edge. Internal pull-down. 2 2 PD Power Down Power down enable logic pin (input). Shuts down all power to device. Programmable pull-up (default), pull-down or none. 14 12 VS Supply Voltage Analog supply pin (5V nominal). Should be bypassed to GND with 1F and .01F capacitors. 1 1 GND Ground Ground pin. Should normally be connected to the analog ground plane. 23 20 SCOM Signal Common Analog signal common pin (sense). Always connected to GND. Auto-calibration accuracy is determined with respect to this pin. 5, 10, 19, 24 -- NC No Connects No internal connections are made to these pins in the PDIP package. Internal voltage reference output pin (+2.5V Voltage Reference Output nominal). Must be bypassed to GND with a 1F capacitor. 5 Serial interface logic pin (output) for both JTAG and SPI operation modes. Programmable slew rate, high or low (default). Lattice Semiconductor ispPAC30 Preliminary Data Sheet Connection Notes: 1. All inputs 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 pins and should be left open if not used. 3. When the signal input is single-ended, the unused half or the differential input (usually the - or minus) must be connected GND or some other reference point. If OA output is routed to an IA or MDAC input, the minus input is automatically connected to 0V internally. IN1+ 15 14 VS Vref1 IN1- 16 IN1+ 13 12 VS Vref1 13 ENSPI IN1- 14 IN2+ 17 IA IN2+ 15 OA MDAC IA IA NC 24 IN3+ 25 Vref2 Filter Amplify Integrate Compare IN4- 28 VREFOUT 17 8 TCK OUT1 18 7 CS OUT2 19 6 MSEL1 SCOM 20 5 NC OA IA MDAC MDAC IA IA Vref2 10 TMS 9 TDO 8 TDI 7 TCK 6 CS OA IN3+ 21 4 MSEL2 Filter Amplify Integrate Compare Filter Amplify Integrate Compare IN3- 22 5 MSEL1 4 MSEL2 3 CAL 3 CAL IN3- 26 IN4+ 27 IN2- 16 10 NC 9 TDI OA SCOM 23 11 TDO Summation Routing Pool OUT2 22 MDAC Summation Routing Pool OUT1 21 Input/Output Routing Pool VREFOUT 20 IA Filter Amplify Integrate Compare Input/Output Routing Pool IN2- 18 NC 19 11 ENSPI 12 TMS IA JTAG/SPI Interface Logic & Configuration Memory IN4+ 23 Auto-Calibration 2 PD 2.5V Reference 1 GND IN4- 24 JTAG/SPI Interface Logic & Configuration Memory Auto-Calibration 2 PD 1 GND 2.5V Reference ispPAC30 24-Pin SOIC ispPAC30 28-Pin PDIP Absolute Maximum Ratings 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.) . . . . . . . . . . . . . . . .260C Ambient Temperature with Power Applied . . . . . . . . -55 to 125C Storage Temperature . . . . . . . . . . . . . . . . . . . . . . . . -65 to 150C 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 condition above those indicated in the operational sections of this specification is not implied. 6 Lattice Semiconductor ispPAC30 Preliminary Data Sheet Part Number Description ispPAC30 - XX X X Device Family Grade Blank = Commercial I = Industrial Device Number Package P = PDIP S = SOIC Performance Grade 01 = Standard ispPAC30 Ordering Information Part Number Package ispPAC30-01PI 28-pin PDIP ispPAC30-01SI 24-pin SOIC Package Options ispPAC30 ispPAC30 28-Pin PDIP 24-Pin SOIC 7 Lattice Semiconductor ispPAC30 Preliminary Data Sheet Timing Specifications (JTAG Interface Mode) Symbol Parameter Conditions Min tckmin Min Clock Period -- 80ns tckl TCK Low Time -- 40ns tckh TCK High Time -- 40ns tmss TMS Setup Time -- 15ns tmsh TMS Hold Time -- 4ns tdis TDI Setup Time -- 15ns tdih TDI Hold Time -- 8ns tdozx TDO Delay Float to Valid -- tdov TDO Delay Clock to Valid -- tdoxz TDO Delay Valid to Float -- calmin Minimum Calibration Pulse -- tckmin 60ns 145ns 40ns tckl tckh tmss tmsh TMS tdis tdih TDI tdov TDO tdoxz calmin CAL 8 Max 60ns TCK tdozx Typ Lattice Semiconductor ispPAC30 Preliminary Data Sheet Timing Specifications (SPI Interface Mode) Symbol Parameter Min Typ Max tckmin Min Clock Period 80ns tckl TCK Low Time 40ns tckh TCK High Time 40ns tdis TDI Setup Time 5ns tdih TDI Hold Time 8ns tencss ENSPI Rising Edge to CS Falling Edge Setup Time 10ns tcsens CS Rising Edge to ENSPI Falling Edge Setup Time 10ns ttcsfs TCK Falling Edge to CS Falling Edge Setup Time 10ns tcsfts CS Falling Edge to TCK Rising Edge Setup Time 8ns ttcsrs TCK Falling Edge to CS Rising Edge Setup Time 25ns tcsrts CS Rising Edge to TCK Rising Edge Setup Time 10ns tcsbh CS Min High Time 60ns tdozx TDO Delay Float to Valid 60ns tdov TDO Delay Clock to Valid 60ns tdoxz TDO Delay Valid to Float calmin Minimum Calibration Pulse tckh tckl TCK 0 145ns 30ns tckmin 2 1 .... 6 7 tencss ENSPI tcsens ttcsfs tcsrts tcsfts ttcsrs CS tcsbh tdis tdih TDI LSB MSB tdov tdoxz LSB TDO MSB LSB** tdozx **LSB of TDI Byte Just Transferred 9 Lattice Semiconductor ispPAC30 Preliminary Data Sheet Timing Specifications (E2 Programming and Auto-cal) Symbol Min Clock Period Conditions Min Typ Max tpwp Time for a programming operation Executed in Run-Test/Idle 80ms 100ms tpwe Time for an erase operation Executed in Run-Test/Idle 80ms 100ms tpwp, tpwe TCK tmss TMS tmss (PRGCFG/CLRALL executed in Run-Test/Idle state) Timing Specifications (Auto-cal) Symbol Min Clock Period Conditions tpwcal1 Time for auto-cal operation on power-up Automatically executed at power-up tcalmin Minimum auto-cal pulse width tpwcal2 Time for user initiated auto-cal operation -- Executed on rising edge of CAL (Note: CAL internally initiated at device turn-on.) CAL tcalmin VOUT VOUT = 0V tpwcal1, tpwcal2 10 Min Typ Max 140ms 250ms 50ms 100ms 30ns Lattice Semiconductor ispPAC30 Preliminary Data Sheet Typical Performance Characteristics CMR vs. Frequency Input Noise Spectrum 100 Noise: Referred to Input G = 10 10 1 10 90 80 80 70 60 50 70 60 50 40 40 30 100 1k 10k 100k 1M Frequency (Hz) PSR vs. Frequency 90 Power Supply Rejection (dB) Common Mode Rejection (dB) Noise Voltage (nVHz) 1000 10 100 1k 10k 100k Frequency (Hz) 30 1M 100 THD vs. Frequency Small Signal BW vs. Gain 25 75 -50 50 Gain = 5 10 -5 Gain = 2 0 Gain = 1 -5 -10 -15 Resulting Output Current (mA) Total Harmonic Distortion (dB) Output Amplitude (dB) 15 -60 Gain = 10 -70 -80 10k 100k Frequency (Hz) 1M Output Current Drive -40 20 Gain = 10 1k Gain = 1 -90 Vout Forced to Nominal - 50mV 25 0 -25 Vout Forced to Nominal + 50mV -50 -20 1k 10k 100k 1M Frequency (Hz) 10M -100 1k 25 20 15 10 20 -1.8 -1.0 -.2 +.2 +1.0 Gain Error (%) +1.8 3 Wafer Lots PDIP Pkg +25C 25 For All Gains, Output Referred 15 10 0 1 2 3 4 Nominal Output Voltage (V) 30 5 5 0 25 Percentage of Devices (%) Percentage of Devices (%) 30 0 VOS Tempco 30 3 Wafer Lots PDIP Pkg 0C to +85C 35 -75 100k Offset Voltage (VOS) Gain Error (Gain = 1 & 10) 40 10k Frequency (Hz) Percentage of Devices (%) -25 3 Wafer Lots PDIP Pkg -40C to +85C 20 15 10 5 -2 -1 0 +1 Offset (mV) 11 +2 0 -100 0 -50 +50 +100 Offset Tempco (V/C) 5 Lattice Semiconductor ispPAC30 Preliminary Data Sheet Typical Performance Characteristics, Continued Large-Signal Response 1S 0.625V 1S 0.625V Gain = 1 Load = 1k; 50pF Gain = 1 Load = 1k; 600pF Small-Signal Response 1S 20mV 1S 20mV Gain = 1 Load = 1k; 600pF Gain = 1 Load = 1k; 50pF Step Response Setup Diagram Cfb=min Vin+ Vin- G=1 IA1 Vout OA1 Large-Signal G=1 IA2 2.5V VREF1 Vin+ 0.0 V 2.0 V Small-Signal 0.0 V 0.00 V 0.05 V 0.00 V Vin- 2.0 V 0.0 V 2.0 V 0.05 V 0.00 V 0.05 V VREF1 2.5 V 2.5 V 2.5 V 2.5 V Vout 0.5 V 4.5 V 0.5 V 2.45 V 2.55 V 2.45 V 12 2.5 V 2.5 V Lattice Semiconductor ispPAC30 Preliminary Data Sheet Theory of Operation General Description The ispPAC30 provides programmable, multiple single-ended or differential signal inputs, precision gain, offset adjustment, filtering, and comparison functionality all in a single device. It also has complete routability of inputs or outputs to any input cell and then to either summing node of the internal output amplifiers. A key feature of the ispPAC30 is its capability of being reconfigured in real time, apart from the operation of its non-volatile E2CMOS or E2 configuration memory. This enables the user to change or reconfigure the ispPAC30 an unlimited number of times, such as in an automatic gain control circuit or other applications requiring ongoing parametric or routing changes. Because a user chosen configuration is always stored in non-volatile E2 configuration memory as well, there is a preset configuration ready to go when the device is first turned on, or whenever a return to that stored state is required. Of course, the E2 configuration can be updated at any time during normal device operation as a completely transparent background operation. All of this functionality and flexibility is combined into the ispPAC30 as a single integrated circuit that greatly simplifies the otherwise burdensome task of designing and customizing circuitry for a wide variety of analog applications. The following sections of this data sheet give the user a thorough understanding of the general operation and design considerations necessary when using the ispPAC30. Another resource that cannot be overlooked for understanding the ispPAC30 is associated with the PAC-Designer software design tool. Everything that can be configured is accessible in a schematic entry based format. A complete appreciation of the ispPAC30's capabilities is enhanced by exploring and using this design software early to learn more about it. Because a simulator is included, the user can quickly test and prove operational modes and arrive at an understanding sooner while exploring device capabilities. Complete documentation of PAC-Designer is included with the software. Further technical insight into the ispPAC30 can be gained by referring to the many application notes and circuit solutions that directly relate to this device. All ispPAC technical support literature is available from the Lattice Semiconductor web site at www.latticesemi.com. In addition, Lattice provides expert applications support for all ispPAC devices and their usage. Device Input Cells In an ispPAC30 device, any input pin can be routed to any of the four input instrument amplifiers (IA), two of which have dual input multiplexers, or to either of the two multiplying DAC's (MDAC), or any combination of these. In addition, either output amplifier (OA) can be routed to any or all of these same input cells. This enables great flexibility in how an ispPAC30 is configured and allows many functions to be performed, such as signal summation, cascaded gain blocks, complex feedback circuits, etc. At the ispPAC30 input pins, the input signal range that can be directly applied is 0 to 2.8V. When used differentially, the input pins can be of any polarity with respect to each other as long as the resultant signal is not expected to drive the OA outputs below 0V. Normally, input signals will be single ended, in which case the minus input pin (VIN-) can be tied to ground. Even with single ended measurements, the ispPAC30's differential architecture can be used to an advantage as it will sense ground at the point where it is connected and will also reject any noise common to both ground and the input signal. Input impedances at all input nodes are the same as would be expected for MOSFET devices, and are typically in the Giga-Ohm range. Refer to the specifications section for more detail. Input Instrument Amplifiers The input amplifiers (IA's) are referred to as instrument amplifiers because they take the difference of the two input pins and multiply it by the gain setting for which they have been configured. With respect to true differential operation, this means that a negative gain setting is merely a reversal of the plus and minus input (VIN) pins. This is the classical instrument amplifier function and also includes the previously mentioned benefit of remote sensing of signals (not necessarily 0V referenced) and rejection of common mode signals. Both IA's and MDAC's connected to input signals also serve to buffer inputs by virtue of their very high input impedance. 13 Lattice Semiconductor ispPAC30 Preliminary Data Sheet Input Multiplexers Two of the four input IA's have dual input multiplexers in front of them. They constitute separately selectable input paths to their respective IA's. These paths can be configured either by external pin, or by setting internal E2 bits. The control pins are named MSEL1 and MSEL2 and control the input path for IA1 and IA4, respectively. The determination of whether either of these select pins asserted high or low for choosing path "A" or "B" internally, and whether an active pull-up or pull-down is programmed is all user-selectable from the software design interface found in PAC-Designer. The initial configuration is called out in the pin description table in the specifications section of this data sheet. With multiplexer control, it is possible to bring in four different input signals and select between them, performing selective signal conditioning on each as required. Or, one or more signals can be routed to one or both multiplexers and thus achieve multiple signal conditioning paths for the same input, selectable by external pins. Finally, all parameters can also be controlled and/or programmed into E2 configuration memory in real time using either the JTAG or SPI interface. Internal Voltage References Two separate voltage references (VREF1 and VREF2) are available to provide fixed voltage references to the ispPAC30's four IA's or two MDAC's. Seven voltage levels are available from each VREF, and each VREF is independently programmable from the other. Table 1 lists the binary weighted values that are available (in addition to 2.5V) and the corresponding least significant bit (LSB) size if this VREF value is applied to the input of either of the MDAC's. Since the IA's/MDAC's have plus and minus polarity control, VREF outputs can be added or subtracted from other signals via the summation bus in addition to being scaled from 1 to 10 by the IA's or attenuated in 128 steps by the MDACs. By selective combination of these various settings, a very large number of user control offset voltages can be summed with any input signal. This is also the basis of how the ispPAC30 can be configured as a comparator. With the output amplifier configured as a comparator, an unknown signal is summed with a precise reference value and an input above or below that reference level will cause a change in state of the output comparator. Table 1. Available VREF Outputs VREF (V) MDAC LSB (mV) 0.064 0.5 0.128 1.0 0.256 2.0 0.512 4.0 1.024 8.0 2.048 16.0 2.500 19.5 Input MDACs The ispPAC30 has two 8-bit (7+sign) multiplying digital to analog converters (MDAC's) available that accept as their reference input either external signals, internal signals or fixed DC voltages (such as the internal VREFs). The multiplying DAC function means that the input is multiplied (attenuated) by a value corresponding to the code setting of the DAC, resulting in an output that can range from 100% of the input down to a 1 LSB (least significant bit weight) fraction of that value. The exact values output by the MDAC versus input code are detailed in Table 2. The flexibility of the ispPAC30 allows the MDAC's to act as adjustable attenuators of external input signals, thereby providing fractional or fine gain setting capability. It also means that in combination with the internal VREF's they can also be precision DC sources for providing fixed setpoints, offsets, etc. For example, with the same input signal applied to both an IA and MDAC, and combining both at the summing junction of one of the OA's, an integer gain of 1 to 10 plus the fractional gain as a result of the MDAC attenuation is added together to achieve any gain value from -11 to +11 with a resolution of greater than 0.01 throughout, for a total of more than 2,500 gain settings. See the section on increasing MDAC resolution for more information using the MDAC's as fixed references. 14 Lattice Semiconductor ispPAC30 Preliminary Data Sheet More details about MDAC performance are found in the specifications section of the data sheet. It should be noted that the specifications of the MDAC's in regard to bandwidth, gain and offset errors, and drift over temperature are equivalent to or better than those of the IA's themselves. This means that in addition to having the same highimpedance characteristics of the IA's, the MDAC's will perform in an equivalent fashion when used in combination with the IA's as signal conditioning elements. Predictable performance thereby results when mixing various combinations of input resources together. Table 2. Outputs vs. Digital Input Code Code DEC HEX 0 00 1 01 32 64 MDAC Equivalent Voltage Output vs. VREF Input (in Volts) 0.0640 0.128 0.256 0.512 1.024 2.048 2.5000 Vref Input (V) -100.0% -0.0640 -0.128 -0.256 -0.512 -1.024 -2.048 -2.5000 Full Scale -99.2% -0.0635 -0.127 -0.254 -0.508 -1.016 -2.032 -2.4805 Full Scale + 1 lsb 20 -75.0% -0.0480 -0.096 -0.192 -0.384 -0.768 -1.536 -1.8750 40 -50.0% -0.0320 -0.064 -0.128 -0.256 -0.512 -1.024 -1.2500 96 60 -25.0% -0.0160 -0.032 -0.064 -0.128 -0.256 -0.512 -0.6250 127 7F -0.8% -0.0005 -0.001 -0.002 -0.004 -0.008 -0.016 -0.0195 Bipolar Zero - 1 lsb 128 80 0.0% 0.0000 0.000 0.000 0.000 0.000 0.000 0.0000 Bipolar Zero 129 81 0.8% 0.0005 0.001 0.002 0.004 0.008 0.016 0.0195 Bipolar Zero + 1 lsb 160 A0 25.0% 0.0160 0.032 0.064 0.128 0.256 0.512 0.6250 192 C0 50.0% 0.0320 0.064 0.128 0.256 0.512 1.024 1.2500 224 E0 75.0% 0.0480 0.096 0.192 0.384 0.768 1.536 1.8750 254 FE 98.4% 0.0630 0.126 0.252 0.504 1.008 2.016 2.4609 255 FF 99.2% 0.0635 0.127 0.254 0.508 1.016 2.032 2.4805 +Full Scale -- -- 0.78% 0.00025 0.0005 0.001 0.002 0.004 0.008 0.0098 1 lsb (with sign) -- -- 1.56% 0.00050 0.0010 0.002 0.004 0.008 0.016 0.0195 2 lsb (1 lsb, no sign) +Full Scale - 1 lsb Increasing MDAC Effective Resolution Because the value of the ispPAC30's voltage references can be set to several output voltages, ranging from 64mV to 2.5V, it is possible to use high-value MDAC settings (>50% full scale) to synthesize most desired thresholds. This means that a given threshold (32mV or greater) can be set with a resolution of +/-0.8%. If a higher degree of resolution is needed, the two voltage references and MDACs can be combined in a coarsefine adjustment scheme, as shown in Figure 1. In this circuit, VREF1 and MDAC1 provide an adjustment range of 0-2.5V with 19.5mV of resolution, while VREF2 and MDAC2 provide an adjustment range of +/-64mV with 0.5mV of resolution. By adding these two sources together, a total adjustment range of 0-2.56V with an effective resolution of 0.5mV is achieved. Figure 1. Coarse-Fine Adjustment using Two References ispPAC30 Links Open Comparator Mode IN G=-1 VMON IA2 VREF1=2.5V MDAC1 VREF2=256mV MDAC2 15 CP1 OUT1 Lattice Semiconductor ispPAC30 Preliminary Data Sheet In this example, the effective resolution provided by combining the two references would normally require a 13-bit DAC to replicate. Keep in mind, however, that resolution is not the same as accuracy. The absolute accuracy provided by an ispPAC30 using this technique is approximately equivalent to that provided by a 10-bit DAC. In many situations, such as those in which a parameter is being interactively adjusted for optimal performance, absolute accuracy may not be of paramount importance. In this case, stability and resolution of the adjustment are more important than the absolute accuracy of the adjustment. Interfacing to ispPAC Inputs As mentioned in the previous IA section, any input voltage between 0 to 2.8V can be applied directly to an ispPAC30 input. To keep the output from trying to swing below 0V, if Vin- is more positive than Vin+, an offsetting signal must be applied to the appropriate summing node to balance or counteract the negative input. Single-ended connections, however, only require that the minus input be connected to 0V or some other fixed voltage. More information on inputting signals to ispPAC30 can be found in application note AN6026, Interfacing to ispPAC Differential Inputs. Although differential signaling offers many significant benefits in a design, most analog designs today still use single-ended signals where system `ground' is used as a global zero-volt reference. The differential inputs provided on ispPAC products provide more than enough flexibility to accommodate single-ended signals. Figure 2. DC Coupling a Single-ended Signal ispPAC30 IA 0V to +2.8V input When using an ispPAC30 with a single-ended input (Figure 2), tie the unused terminal to a reference voltage. Since the common-mode input range for the ispPAC30 includes ground, the minus input is most often connected there. This results in an internal signal value which corresponds directly to the input signal voltage (e.g. a +1.67V input results in +1.67V of signal internally). When using an ispPAC30 in this manner, it will accommodate single-ended input signals ranging from 0V to +2.8V. In systems operating from single +5V supplies, it is often desirable to be able to accommodate rail-to-rail signals, which range from ground to the positive supply voltage (+5V). Figure 3 shows an interface circuits that allows ispPAC30 inputs to accept 0-5V signals, where R1 and R2 divide down the signal input. Figure 3. Interfacing to a 0-5V DC Signal ispPAC30 R1 100k 0V to +5V Input IA R2 100k 16 Lattice Semiconductor ispPAC30 Preliminary Data Sheet A Ground-Based Current Sense Technique Because the ispPAC30's common-mode input range extends down to ground, this part is straightforward to use in applications with ground-referenced signals. An example of such an application is the current sensor shown in Figure 4. A 0-10A current input develops a voltage ranging from 0-1V across the 0.1 sense resistor. This application also illustrates one of the primary benefits of differential signal processing. Although one can sense the voltage at the resistor's input terminal with a single-ended amplifier, this assumes that the ground terminal of the resistor is really at ground. At ampere-level currents, this is a big, and often unwarranted assumption which can result in significant measurement errors. By sensing the actual voltage at both resistor terminals one can avoid this source of measurement error. Figure 4. ispPAC30 Sensing Differential Signals Near Ground IIN 10k 0-10A R2 R1 100mV/A IA 0.1 20W 10k R3 In this particular application, where high currents are being measured, there may be the possibility that the voltages at the resistor terminals exceed those that the ispPAC30 can safely handle. If the input voltage becomes lower than -0.6V or higher than +5.6V, input protection diodes inside the device will begin to turn on and shunt input current to either ground or the positive power supply. In this case, since amperes of current are potentially available, significant damage to the ispPAC30 could result if this occurs. Resistors R2 and R3 protect against this possibility, by limiting maximum input current to safe levels (milliamperes) that the device's input protection networks can readily handle. Voltage Reference Output The 2.5V voltage reference output of the ispPAC30 (VREFOUT) has a high impedance voltage output which should be buffered when using it as an external reference to drive other circuitry. It also should always be decoupled using the recommended capacitor specified in the pin description table of this data sheet. If it is used to reference a high impedance source (e.g., one that does not require more than 40A), the VREFOUT output can be connected to it directly. An example is shifting the DC level of a signal connected to the input pin of an ispPAC30. Also, by using a current limiting resistor with the VREFOUT pin, it may also be used without buffering and still provide a DC reference. Check the ispPAC applications literature for numerous examples of these and other useful techniques for using VREFOUT. Note: If the VREFOUT pin is overloaded or disturbed, it will adversely affect the operation of the rest of the ispPAC30. Output Amplifiers The ispPAC30 has two output amplifiers, or OA's. The single-ended outputs of these amplifiers swing from 0V to +5V and are hard-wired internally to the output pins. In addition, the outputs are also routed and available for connection as inputs to any of the input IA's or MDAC's. Each OA can be configured independently to function as either a full-bandwidth amplifier, a low-pass filter, an integrator or a comparator. All these configuration choices are accessed by the user via the PAC-Designer design entry software. They can also be reconfigured along, with any other part of the ispPAC30, using JTAG or SPI serial interface control to directly communicate with the device. In addition to the multiple functions possible with the OA's, another unique feature is that any or all of the IA's and MDAC's can be selectively routed to either of the OA summing nodes. This provides the maximum amount of flexibility to the user over how the device is ultimately configured. IA's can be connected in parallel to one OA or the 17 Lattice Semiconductor ispPAC30 Preliminary Data Sheet other as necessary to achieve higher gains, for example. Precision gain and offset configurations can be implemented using different combinations of IA's, MDAC's and VREF's to condition signals using a common summing junction to deliver the desired output result. The combination of analog input and summing node route options make the ispPAC30 very powerful in enabling so many different circuit possibilities. Examples of possible circuits are included in the ispPAC30 applications literature. Output Amplifier Functional Modes The ispPAC30 output amplifiers (OA's) can be configured to act as wideband amplifiers, lowpass filters, integrators or comparators. Each mode is determined by SRAM (or E2 configuration memory at turn-on) control bits that open and close feedback elements around the OA's. All available modes of OA operation can be configured during the design phase using PAC-Designer software or during normal operation via JTAG or SPI serial interface control. Amplifier/Filter Mode When configured as a wideband amplifier, an ispPAC30's OA feedback resistor connection is closed and the feedback capacitor set to its minimum value. The feedback capacitance set is required to maintain necessary stability. When used in filter mode, the ispPAC30 differs from the wideband amplifier in that it has seven alternative feedback capacitor values available to form the lowpass filter corner frequencies. See Table 3 for these values (listed as the maximum corner frequencies in the precision filter range table). The capacitor values are trimmed for each device to achieve an absolute pole frequency with an accuracy guaranteed to that given in the specifications section. The first order filter formed using the OA in this manner is not the only way a filter can be implemented using the ispPAC30. In the following precision filtering section, an example is given for using an OA in integrator mode and providing proportional feedback by putting one of the MDAC's into the feedback loop. When calculating equivalent time constants for ispPAC30 in filter mode, a nominal resistance of 50k can be assumed. The frequencies called out in PAC-Designer that are associated with individual feedback capacitor values are computed based on the measured -3dB frequency of a single IA/OA combination (gain=1). Again, absolute accuracy is guaranteed as listed in the filter specifications section for all devices shipped. Integrator Mode In integrator mode, an OA's feedback capacitor is closed and the feedback resistor is open. Operation then becomes that of an integrator, with the expected non-ideal effects of a real operational amplifier (having finite gainbandwidth properties). The gain-phase simulator in the PAC-Designer will give the user a very good representation of these first-order effects on ideal operation. The effective time-constant of any given integrator configuration can be computed knowing the feedback capacitor value and that an IA in a gain =1 will yield an effective input resistance, R, equal to 50k (1 time constant = 2 x x RC). This value of R is divided by the gain setting of the IA, so in a gain of 10 for example, R is equal to 5k. When an MDAC is used as the input to an OA configured as an integrator, the effective R is equal to 50k divided by the fraction of the input signal passed by the MDAC. For example, if the MDAC is set to a code that results in passing 50% of the input signal, then R is equal to 50k/0.5 or 100k. This can, of course, be used to advantage to either extend the effective time constant range or to fine tune it. Comparator Mode In comparator mode, both the feedback capacitor and resistor are opened around the OA. Also, the internal compensation of the OA is altered to improve comparator output characteristics. Since only one input is available to the OA in comparator mode, instead of the normally expected two, a slightly different approach is required to realize a true comparison function. This is done by using the reference voltage and summing it with the value it is to be compared with. Whenever the input to be compared is greater than the reference input value the OA output is high and when it is less, the OA output is low. The logic sense of this comparator output can be controlled at will by selecting either plus or minus gains in the IA/MDAC input sections. When examined closely, it may be observed that comparator mode operation appears identical to that of the integrator mode with a minimum feedback capacitance. This is true except in comparator mode the output compensation of the OA is altered to get optimum switching times. That means using the OA in other linear modes without this compensation enabled will likely result in unstable operation. In PAC-Designer, the default configuration modes will not allow this to happen. 18 Lattice Semiconductor ispPAC30 Preliminary Data Sheet Precision Filter Configuration Figure 5. Using the ispPAC30 as a Variable Lowpass Filter with Extended Frequency Range ispPAC30 `Integrator' Mode CF VIN MDAC1 n% IN1 MDAC1 OA1 OUT1 MDAC2 n% MDAC2 Other filter frequencies are possible, in addition to the simple first order filters available by selecting the seven available capacitors of each ispPAC30 output amplifier. The ispPAC30 can be used to implement 1st-order tunable lowpass filters over a range of 5kHz to over 600kHz. Figure 5 shows the circuit for doing so. This circuit operates by using MDAC2 to emulate a programmable feedback resistor around output amplifier OA1. In this technique, the effective feedback resistance is inversely proportional to MDAC gain. Because negative feedback is essential to maintaining a stable loop, MDAC2's gain must be set to only negative values. In addition to decreasing the closed-loop bandwidth of OA1, fractional feedback gain also increases the closed loop DC gain. This increase must be compensated for if the filter is to maintain unity gain from input to output. Because there are two MDACs in an ispPAC30, one way to do this is to attenuate the input signal through MDAC1 by the same amount the feedback signal is attenuated by MDAC2. To maintain signal polarity, however, MDAC1 should be set to a positive gain. Deliberately mismatching the values of MDAC1 and MDAC2 also allows one to alter the gain dynamically, providing a variable gain control feature. The following expressions can be used to estimate the resulting corner frequency (FC) and gain, where FCAP is the frequency associated with the feedback. FC = |FCAP MDAC2(n%)| (1) Gain = |MDAC1(n%) / MDAC2(n%)| (2) Note that MDAC2 (n%) must be negative, and that MDAC1 (n%) should normally be positive for the single-ended system shown in Figure 5. Although this technique can be used to control the corner frequency over a range of 128:1, the attenuation caused by a very low MDAC1 setting can reduce the filter's overall signal-to-noise ratio and increase effective DC offset and gain errors to unacceptable levels. Table 3 shows the ranges of corner frequencies that can be realized with this technique when limiting MDAC2 settings between -10.16% and -100%. 19 Lattice Semiconductor ispPAC30 Preliminary Data Sheet Table 3. Precision Filter Configuration Ranges Feedback Capacitor # OA1 Feedback Capacitor Value (pF) Minimum Corner Frequency (kHz) Maximum Corner Frequency (kHz) Frequency Step (kHz) 1 4.320pF 63 619 4.86 2 7.156pF 41 401 3.13 3 11.97pF 25 250 1.95 4 18.16pF 17 169 1.31 5 27.29pF 11 114 0.88 6 42.37pF 7 74 0.58 7 64.01pF 5 49 0.38 Power-Down Mode The ispPAC30 features a power-down mode whereby the current consumption of the device is reduced to a few microamps. In this mode, the logic sections of the device are still fully active, but draw very little power. This means communication can be maintained with the device while it is in the powered-down state. In the analog sections, the bias currents are reduced or turned off and all sections that can be, are shut down. The analog outputs go to a high impedance state in power-down mode. The maximum current in shutdown mode and the time required to resume normal operation all are specified in the specifications section of this data sheet. Programming or erasing of the E2 configuration memory is not supported when an ispPAC30 is powered down. Power-down mode is commanded by lowering the PD pin to a logic low, or by commanding it through JTAG or SPI serial mode commands. In addition to full power-down mode, either of the output amplifiers can be shut down independently of all other circuitry. This can be done at any time by setting internal E2 bits under JTAG or SPI command to reduce power consumption while the rest of the ispPAC30 is in normal operation. This could also be accomplished at the time the device is programmed initially via dialog box commands available in the PAC-Designer software. Note: Any IA or MDAC that has nothing connected to its input is also automatically shut down. JTAG User Configurable Bits There are a number of user-configured E2 bits that control all aspects of ispPAC30. These bits can all be accessed somewhere in either the pull-down menus or directly in the schematic design entry screen of the PAC-Designer software used to interface to the ispPAC30. See the online help associated with the ispPAC30 in PAC-Designer for more details of how to set/program various operation modes. The list of control E2 bits available are listed in Tables 4 and 5. 20 Lattice Semiconductor ispPAC30 Preliminary Data Sheet Table 4. JTAG Configuration Register (CFG) Bits Symbol ARP Bits CALSEL ENSPIPU FBCAP Name Description Analog Routing Pool Bits These various bits control the interconnect from input pins to IA's and MDACs, as well as where the VREF's go and which input resources are summed with one OA or the other and whether those OA's are fed back to any of the input cells. CAL Level Select Any of the six input devices, IA1, IA2, IA3, IA4, MDAC1 and MDAC2 can be selected independently to have auto calibration performed with 0V (default) or 2.5V applied to their inputs. Because of common-mode errors, choose the level closest to the operating levels for the lowest offset after an auto-cal operation. Enable SPI Mode Pull-up This bit can set the device for dedicated SPI mode operation without any external strapping of the pin being required. Note that normal JTAG operations cannot occur, such as programming by PAC-Designer when SPI mode is enabled. Feedback Capacitor Bits to control the seven capacitors of each of OA's. IAGAIN Input Amplifier Gain These bits determine the gain of IA1, IA2, IA3, and IA4 (from 1 to 10). IAPOL Input Amplifier Polarity MDACCode MDAC Code These bits determine polarity of IA1, IA2, IA3, and IA4 (positive or inverted). Bits to control the code settings of MDAC1 and MDAC2. MSELPOL MUX Select 1 & 2 Polarity Determines via programmed bits whether a logic high activates input a or b of either of the multiplexers in front of IA1 and IA4. MSELPU1/2 MUX Select 1 & 2 PU/PD Programs whether MSEL1 and MSEL2 have internal pull-ups or pull-downs. OACFG Output Amp Configuration Determines through various bits whether OA1 and OA2 are acting as filters (both feedback resistor and capacitor in circuit), or as integrators (only the capacitor in feedback), or as comparators (neither feedback resistor or capacitor in circuit). OAPD1/2 Output Amp Power-Down Either or both of the output amplifiers can be commanded in power-down mode without the rest of the chip having to be powered down. In this state, their outputs are effectively in high-impedance mode. Pull-Up/Down A number of pins on the PAC30 have internal, programmable pull-up and pull-down capability. See the pin description table in the specification section for details on which pins and their default (shipped) states. TDO Slew Rate The serial digital data output pin has two output slew rates. The default is low to reduce digital disruption of the analog circuitry. Sometimes a higher slew rate is needed, so it is provided as a programmable option. PU/PD Bits TDOSlew Bit VREF1, VREF2 Voltage References 1 and 2 These bits set any of the seven available voltage outputs of VREF1 and VREF2. Table 5. JTAG UES Register and ESF Bits Symbol UES Bits ESF Name Description User Electronic Signature These are uncommitted E2 bits that can be used to store device information for future reference. The ispPAC30 contains 16 UES bits. These bits are accessible from within PAC-Designer by using the Edit Symbol, UES Bits command. Electronic Security Fuse Setting this bit causes all subsequent readouts of the device configuration to be disabled (JTAG Verify commands). Can be reset by performing a JTAG user bulk erase command and reprogramming the device. This feature is used to prevent unauthorized readout of the device's configuration. Auto-Calibration Mode Every time the ispPAC30 is powered up, an automatic auto-calibration sequence is initiated. If this adversely affects system operation, provisions must be incorporated that minimize the result as auto-calibration cannot be defeated. The auto-calibration of the ispPAC30 effectively isolates it from external connections and drives the inputs of the device to 0V and checks to see that there is zero offset at the outputs. This check is done maintaining the input-to21 Lattice Semiconductor ispPAC30 Preliminary Data Sheet output relationships determined by the current circuit configuration, or in the case of initial turn-on, the stored configuration of the device. During the auto-calibration sequence, the output amplifiers are driven to 0V and any offset error from input to output is calibrated out during a successive-approximation sequence using an internal offset calibration DAC. This calibration setting is not stored in E2, hence the need to perform calibration every time the device is powered on. The ground reference for auto-calibration is the SCOM pin. The SCOM pin must be connected to the GND pin (0V), preferably in a ground plane. Since SCOM must be at, or very near the same potential as GND, connection to any other point is not recommended. In addition to the automatic power-on calibration, an auto-calibration sequence can be commanded at any time using the external CAL logic pin, or by issuing an ENCAL command via the JTAG or SPI serial interface. The timing and length of the auto-calibration sequence is called out in the specification tables of this data sheet. Note: Two options are available for calibrating each of the four input IA's and two MDACs, with respect to what input level is used for auto-calibration. Normally, the inputs are calibrated with a 0V input reference (the default setting). But when the input common mode voltage is recognized to be closer to 2.5V, the user can specify that 2.5V be set as the input calibration level. The IA/MDAC inputs can be set to use any combination of 0V or 2.5V as their auto-cal common-mode reference. This allows the least amount of common-mode error to enter into the offset adjustment, dependent on the user's predetermined operating conditions. SPI vs. JTAG Operation The JTAG serial interface is usually sufficient for programming the ispPAC30, but complete support is also provided for the Serial Peripheral Interface (SPI) mode as well. SPI is often chosen when an embedded Controller or Processor is used to actively control and configure an ispPAC30 in-system. SPI mode can be enabled via the logic level setting of the ENSPI pin. To achieve full control of an ispPAC30, all possible bits used in configuration (112) must be set each time the configuration is updated. This full set of configuration bits is referred to as the CFG or configuration register. There is also a shorter configuration register called the CFGQ or quick configuration register (40 bits). Here, only the bits most often used in reconfiguration are accessed. Less commonly used bits, such as those which determine routing, are left out to simplify and speed up the serial transfer of data. Detailed information about SPI mode operation is found in application note AN6027, which is devoted entirely to the subject of SPI control. Software-Based Design Environment Design Entry Software Designers configure the ispPAC30 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 pins of the ispPAC30. A library of configurations is included with basic solutions and examples of advanced circuit techniques are available on the Lattice web site for downloading. In addition, comprehensive on-line and printed documentation is provided that covers all aspects of PAC-Designer operation. The PAC-Designer schematic window, shown below in Figure 6, provides access to all configurable ispPAC30 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 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. 22 Lattice Semiconductor ispPAC30 Preliminary Data Sheet Figure 6. PAC-Designer Design Entry Screen PAC Designer - [ispPAC30.PAC: Schematic] File Edit View Tools Options Window Help MSEL1 = 0 (a) a IN1 1.02 pF -1 IA1 b IN2 1 OUT1 IA2 OA1 MDAC1 Code: 00h -100% VREF1: 64mV Digital I/O Configuration VREF2: 64mV MDAC2 Code: 00h -100% IN3 1.02 pF -1 IA3 OUT2 a IN4 OA2 1 IA4 b MSEL2 = 0 (a) UES Bits = 0000000000000000 Ready 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 simulated. 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 7 shows a typical screen plot of the gain/phase simulator. Figure 7. PAC-Designer Simulation Plot Screen PAC Designer - [ispPAC30.PAC: Plot] File Edit View Tools Options Window Help Gain Plot 40 20 0 -20 100 1K 10K 100K 1M Phase Plot 150 100 50 0 -50 -100 -150 100 1K 10K Ready 23 100K 1M Lattice Semiconductor ispPAC30 Preliminary Data Sheet In-System Programming The ispPAC30 is an in-system programmable device. This is accomplished by integrating all E2 configuration memory and SRAM control logic on-chip. Programming is performed through a 4-wire, IEEE 1149.1 compliant serial JTAG interface at normal logic levels. Once a device is programmed, all configuration information is stored on-chip, in non-volatile E2CMOS memory cells. The specifics of the IEEE 1149.1 serial interface and all ispPAC30 instructions are described in the JTAG interface section of this data sheet. User Electronic Signature A user electronic signature (UES) feature is included in the E2CMOS memory of the ispPAC30. This consists of 16 bits that can be configured by the user to store unique data such as ID codes, revision numbers or inventory control data. The specifics this feature are discussed in the IEEE 1149.1 serial interface section of this data sheet. Electronic Security An electronic security "fuse" (ESF) bit is provided in every ispPAC30 device to prevent unauthorized readout of the E2CMOS configuration 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. The specifics of this feature are discussed in the IEEE 1149.1 serial interface section of this data sheet. Production Programming Support Once a final configuration is determined, an ASCII format JEDEC file can be created using the PAC-Designer software. Devices can then be ordered through the usual supply channels with the user's specific configuration already preloaded into the devices. 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. Evaluation Fixture Included in the basic ispPAC30 Design Kit is an engineering prototype board that can be connected to the parallel port of a PC using a Lattice download cable. It demonstrates proper layout techniques for the ispPAC30 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. This board is also useful as a programming fixture for prototype and short production runs. Figure 8. Download to a PC PAC-Designer Software Other System Circuitry ispDownload Cable (6') 4 ispPAC30 Device IEEE Standard 1149.1 Interface Serial Port Programming Interface Communication with the ispPAC30 is facilitated via an IEEE 1149.1 test access port (TAP). It is used by the ispPAC30 as a serial programming interface, and not for boundary scan test purposes. 24 Lattice Semiconductor ispPAC30 Preliminary Data Sheet There are no boundary scan logic cells in the ispPAC30 architecture. This does not prevent the ispPAC30 from functioning correctly, however, when placed in a valid serial chain with other IEEE 1149.1 compliant devices. A brief description of the ispPAC30 JTAG interface follows. For complete details of the reference specification, refer to the publication, Standard Test Access Port and Boundary-Scan Architecture, IEEE Std 1149.1-1990 (which now includes IEEE Std 1149.1a-1993). For complete documentation on how to use ispPAC30 in an embedded serial interface control environment using the SPI protocol, please refer to application note AN6027, Using SPI to Configure and Control the ispPAC30. Overview An IEEE 1149.1 test access port (TAP) provides the control interface for serially accessing the digital I/O of the ispPAC30. The TAP controller is a state machine driven with mode and clock inputs. Given in the correct sequence, 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 configuration register, shifting data in, and then executing a program configuration instruction, after which the data is transferred to internal E2CMOS cells. It is these non-volatile cells that store the configuration or the ispPAC30. A separate set of SRAM registers are preloaded at turn-on and determine the configuration of the ispPAC30 while it is under power. By cycling the TAP controller through the necessary states, data can also be shifted out of the configuration register to verify the current ispPAC30 configuration in the control SRAM or of the stored E2 configuration memory. Instructions exist to access all data registers and perform other internal control operations. 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 ispPAC30, 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 ispPAC30, as mentioned, has no boundary scan logic and therefore no boundary scan register. All instructions relating to boundary scan operations place the ispPAC30 in the BYPASS mode to maintain compliance with the specification. The optional identification register described in IEEE 1149.1 is also included in the ispPAC30. Two additional data registers are included in the TAP of the ispPAC30 are the Lattice defined CFG/CFGQ (configuration and quick configuration) and UES (user electronic signature) registers. Figure 9 shows how the instruction and various data registers are placed in an ispPAC30. Figure 9. TAP Registers E2 NON-VOLATILE MEMORY SRAM DEVICE CONFIGURATION MULTIPLEXER CFG/CFGQ REGISTER (112/40 bits) UES REGISTER (16 bits) IDCODE REGISTER (32 bits) BYPASS REGISTER (1 bit) INSTRUCTION REGISTER (6 bits) TEST ACCESS PORT (TAP) LOGIC TDI TCK TMS 25 OUTPUT LATCH TDO Lattice Semiconductor ispPAC30 Preliminary Data Sheet 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 10. 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, RunTest/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 Test-Logic-Reset state. This allows a reset of the test logic within five TCKs or less by keeping the TMS input high. Test-Logic-Reset is the power-on default state. Figure 10. TAP States 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 0 1 Exit2-IR 1 Update-DR 0 0 Pause-IR 0 Exit2-DR 1 0 Shift-IR 1 Exit1-DR 0 1 1 Update-IR 1 0 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. 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 shift is performed, no action will occur in Run-Test/Idle (steady state = idle). After Run-Test/Idle, either a data or instruction shift 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. It will always enable the ID Register for readout if no other instruction is loaded prior to a Shift-DR operation. This, in conjunction with mandated bit codes, allows a "blind" interrogation of any device in a compliant IEEE 1149.1 serial chain. 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. 26 Lattice Semiconductor ispPAC30 Preliminary Data Sheet Test Instructions Like data registers, the IEEE 1149.1 standard also mandates the inclusion of certain instructions. It outlines the 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 two bits, with only the BYPASS and EXTEST instruction code patterns being specifically called out (all ones and all zeroes respectively). The ispPAC30 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 ispPAC30, the instruction word length is six bits. All ispPAC30 instructions available to users are shown in Table 6. Table 6. ispPAC30 TAP Instructions Table Instruction Code EXTEST 000000 External Test. Defaults to BYPASS. Description ADDCFG 000001 Address CFG data register (112 bits). ADDCFGQ 000010 Address CFG Quick data register (40 bits). ADDUES 000011 Address UES data register (16 bits). LATCHCFG 000101 Latch CFG register into control SRAM. READCFG 000110 Read CFG from E2 prior to ADDCFG command. READUES 001010 Read UES from E2 prior to ADDUES command. PROGUES 001011 Program shift register contents into UES E2. PROGCFG 001100 Program shift register contents into CFG E2. IDCODE 001101 Address Identification Code data register. PROGESF 010001 Program the Electronic Security Fuse bit. POWERDN 010010 Command a Power Down sequence. POWERUP 010011 Command a Power Up sequence. RELOADCFG 010110 Load CFG E2 into control SRAM. ERASECFG 010111 Erase the CFG/CFGQ E2 memory. ERASEUES 011011 Erase the UES E2 memory. ENCAL 011100 Enable a Calibration sequence. CFGBE 011101 Bulk erase all E2 memory (CFG, UES and ESF). SAMPLE 011110 Sample/Preload. Default to BYPASS. BYPASS 111111 Bypass (connect TDI to TDO). BYPASS is one of the three required JTAG 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 ispPAC30. The bit code of this instruction is defined to be all ones by the IEEE 1149.1 standard. With ispPAC30, any instruction beginning with a one will default to BYPASS. The JTAG required SAMPLE/PRELOAD instruction dictates the Boundary-Scan Register be connected between TDI and TDO. The ispPAC30 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 6. The EXTEST (external test) instruction is JTAG 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 ispPAC30 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. The optional IDCODE (identification code) instruction is incorporated in the ispPAC30 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 12). Access to the Identification Register is immediately available, via a TAP data 27 Lattice Semiconductor ispPAC30 Preliminary Data Sheet scan operation, after power-up of the device, or by issuing a Test-Logic-Reset instruction. The bit code for this instruction is defined by Lattice as shown in Table 6. Figure 12. ID Code MSB LSB XXXX / 0000 0001 0011 0000 / 0000 0100 001 / 1 Part Number JEDEC Manfacturer (16-bits) Identity Code for 0130h = PAC30 Lattice Semiconductor (11-bits) Version Constant 1 (4-bits) (1-bit) per 1149.1-1990 E 2 Configured ispPAC30 Specific Instructions There are three unique address instructions specified by Lattice for the ispPAC30. They are ADDCFG (address CFG), ADDCFGQ (address the CFG quick, or short register), and ADDUES (address the UES or user electronic signature register). They all select their respective registers to be shifted into through TDI during a Shift-DR operation. Normal operation of a device is not interrupted by the execution of these instructions. They usually proceed a program instruction (PROGCFG, or PROGUES) for putting the shifted data into E2 configuration memory or a load (LATCHCFG) for putting data into the device control SRAM directly. The bit codes for these instructions are found in Table 6. There are three unique program instructions specified by Lattice for the ispPAC30. They are PROGUES (program UES), PROGCFG (program CFG), and PROGESF (program the electronic security fuse bit). The first two store their respective registers into E2 configuration memory. The third, PROGESF, has no register associated with it. It simply sets the ESF bit so shifting out CFG information is no longer possible. The only way to recover the ability to shift out meaningful data is to reset ESF by performing a CFGBE instruction. This, of course will reset the device configuration as well, but will keep an unauthorized user from learning the bit pattern of the device. Normal operation of the device is not interrupted during the actual programming time. A programming operation does not begin until entry of the Run-Test/Idle state. The programming time required to insure data retention is given in the timing specifications. The user must ensure that the recommended programming times are observed to ensure specified data retention. Note: When initially programming or reprogramming the ispPAC30 with software other than PACDesigner, or an authorized third-party programmer (e.g., via microcontroller), refer to the additional Lattice technical literature covering the required algorithms necessary for complete JTAG and SPI device programming control of the ispPAC30 (specific bit assignments, word lengths, etc.). There are two unique load instructions specified by Lattice for the ispPAC30. They are the LATCHCFG (load CFG register) and RELOADCFG (load CFG from E2). These instructions load the data in either the CFG register or the stored E2 configuration into the ispPAC30 device control SRAM. The LATCHCFG updates all or a portion of the control SRAM, depending on whether the preceding address CFG was an ADDCFG or ADDCFGQ instruction. The load operation does not occur until entry of the Run-Test/Idle state. Settling time for the new configuration will depend on the configuration and time-constants of the particular circuit and can be anywhere from microseconds to milliseconds. The actual switching to make the change, however, always occurs in less than a microsecond once the Run-Test/Idle state is entered. The bit codes for these instructions are shown in Table 6. There are two unique read instructions specified by Lattice for the ispPAC30. They are the READCFG (read CFG) and READUES (read user electronic signature). These instructions read data out of the corresponding E2 configuration memory into either the CFG or UES register. This is done in preparation for either an ADDCFG or ADDUES and then a subsequent shifting out of the data in these registers. Normal operation of a device is not interrupted by the execution of these instructions. The bit code for these instructions are shown in Table 6. The ENCAL (enable calibration) is a unique Lattice instruction that enables the start of an auto-calibration sequence. This operation causes both output amplifiers to go to 0V until the calibration sequence is completed 28 Lattice Semiconductor ispPAC30 Preliminary Data Sheet (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 Test-Logic-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 6. The POWERDN (power down command) and POWERUP (power up command) are unique instructions specified by Lattice for the ispPAC30 to command the normal and low-power or shut-down states of the device. As with other instructions above, these instructions do not begin until entry of the Run-Test/Idle state. Timing for coming out of power-down mode as well as supply current used in this mode are specified in the spec tables of this data sheet. All analog is shut down and outputs are in a high-impedance mode during power-down state. Device digital circuitry is not shut down and consumes no power unless it is clocked, and even then only a minimal amount. The bit code for these instructions is shown in Table 6. The last unique Lattice instructions are ERASECFG (erase or clear CFG), ERASEUES (erase or clear the UES) and CFGBE (erase or clear all user memory). These instructions set all the bits of their respective E2 storage cells to all zeros. Operation of the device is not interrupted during any of these instructions. The CFGBE is used to return all user controlled bits to a zero state at the same time (CFG, UES and ESF) and is the only way to erase the ESF bit. The condition after a CFGBE instruction is the default condition of parts shipped from the factory. The same programming timing constraints apply to these instructions as for the PROG programming instructions listed above. The bit code for these instructions are shown in Table 6. Important Note: Programming E2 configuration memory can only program ones into a device, not zeros. Erase instructions are required to change all bits to zero first. The normal sequence to re-program E2 configuration memory is first erase either the CFG or UES E2 cells and then program them with the desired bit sequence and PRG instructions. Once again, the JTAG PROG, LATCHCFG, ERASE, POWERUP, POWERDN, RELOADCFG and ENCAL instructions do not execute until entry of the Run-Test/Idle state. All other instructions are executed in the Update-IR state, allowing shifts and other operations to occur without having to leave the inner loop of the JTAG controller. 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." 29 Lattice Semiconductor ispPAC30 Preliminary Data Sheet Package Diagrams 28-Pin PDIP (Dimensions in inches) 24-Pin SOIC (Dimensions in millimeters) 30