chapter 6
play

Chapter 6 Digital vs. Analog Analog/Digital Conversion Resolotion - PDF document

Outline Chapter 6 Digital vs. Analog Analog/Digital Conversion Resolotion & Error Analog / Digital Converters Unipolar & Bipolar Code Circuit Diagrams Programming Process Control DAC Example. ADC


  1. Outline Chapter 6 � Digital vs. Analog � Analog/Digital Conversion – Resolotion & Error Analog / Digital Converters – Unipolar & Bipolar Code – Circuit Diagrams � Programming Process Control – DAC Example. – ADC Example Flaxer Eli - Process Control Flaxer Eli - Process Control Ch 6 - 2 Ch 6 - 1 Digital vs. Analog Digital vs. Analog � Natural world is analog � Digital characteristics v � Many devices better when digital: – Discrete signal levels (voltage usually) – Two levels: on/off, high/low 1/0 (binary) – Disjoint or quantized level changes t Digital Analog Compact Disc Magnetic Tape v Microcomputer-controlled Engine Mechanically-controlled Engine � Analog characteristics Telephone System Telephone System – Continuous signal levels Movie Special Effects Movie Special Effects – Very small, smooth level changes t Digital Computers: Analog Computer: PC, Mainframe, Supercomputer OpAmp, Res, Cap Flaxer Eli - Process Control Flaxer Eli - Process Control Ch 6 - 4 Ch 6 - 3 Outline Digital vs. Analog � Digital vs. Analog � Advantages of each technology: � Analog/Digital Conversion Digital Analog – Resolotion & Error Reproducible results Less complex ? – Unipolar & Bipolar Code Ease of design – Circuit Diagrams Higher speed ? Flexible and function � Programming Programmable – DAC Example. High speed – ADC Example Economical Flaxer Eli - Process Control Flaxer Eli - Process Control Ch 6 - 6 Ch 6 - 5

  2. Analog/Digital Conversion Resolution and Error Quantization error A/D conversion is the process of sampling a continuous signal Two significant implications Quantization error is defined as +/- ½ LSB (Least Significant • Bit) = +/- ½ the resolution (see definition below) The information content of the sampled signal is less Variance of the quantization error = resolution 2 /12 (variance than the continuous signal of a uniform distribution) The continuous signal contains an infinite number of independent samples, the sampling process reduces that to a finite number of Resolution independent samples Resolution = 1 LSB = V full scale /2 n • Uncertainty is added to the sampled data. Quantization error is part of the sampling process since the number of intervals is finite. This is analogous to truncating a number after a specific number of places Flaxer Eli - Process Control Flaxer Eli - Process Control Ch 6 - 8 Ch 6 - 7 Unipolar & Bipolar Binary Code Simple Example • Unipolar Straight Binary ( USB ) for unipolar analog signals. For example: 0 to 5V, 0 to 10V. • Bipolar Offset Binary ( BOB ) used for bipolar analog signals. For example: +/-5V, +/-10V. Number of bits = 3 Number of intervals = 2 3 • Bipolar Two’s Complement ( BTC ) also used for Range = 0- 10 volts Resolution= 1.25 volts bipolar analog signals like the BOB. Quantization error= +/- .625 volts Variance =(1.25) 2 /12=.130 volts 2 Flaxer Eli - Process Control Flaxer Eli - Process Control Ch 6 - 10 Ch 6 - 9 Unipolar & Bipolar Binary Code DAC Diagram USB BOB BTC The converting is by writing a binary word to the digital switches +V 256 256 V - bit 11111111 255 V- bit 11111111 255 V- bit 01111111 127 Vref 2 n R R f 2R 4R 8R + ....... 10000001 129 10000001 129 00000001 1 S 1 S 2 S 3 S n V/2 10000000 128 0 10000000 128 0 00000000 0 01111111 127 01111111 127 11111111 -1 - V o ....... + 0 00000000 0 -V 00000000 0 -V 10000000 -128 b 1 b 2 b 3 b n Flaxer Eli - Process Control Flaxer Eli - Process Control Ch 6 - 12 Ch 6 - 11

  3. ACD Diagram Outline Configuration of a SAR A/D converter � Digital vs. Analog � Analog/Digital Conversion The converting is by: V in Start 1) Writing start . – Resolotion & Error Ready – Unipolar & Bipolar Code 2) Waiting for ready. SAR Stop Clock 3) Reading binary word. – Circuit Diagrams b 1 b 2 - - - - b n Comparator � Programming b 1 b 2 . – DAC Example. . b n – ADC Example b 1 b 2 - - - - b n DAC Flaxer Eli - Process Control Flaxer Eli - Process Control Ch 6 - 14 Ch 6 - 13 Card Addresses Programming Example Base + 8 = DAC0d (Read / Write data to dac channel) /*************************************************/ /* EFDAC.C */ Base + 9 = DAC0s (Write=ST start conversion, Read=BUSY end of conversion) /*----------------------------------------------------------------------*/ Base + A = DAC1d (Read / Write data to dac channel) /* Task : Drivers for PC_CARD I/O Interface */ Base + B = DAC1s (Write=ST start conversion, Read=BUSY end of conversion) ************************************************* Base + C = DAC2d (Read / Write data to dac channel) Digital Parameters: Base + D = DAC2s (Write=ST start conversion, Read=BUSY end of conversion) Chan = (0, 1) Data = (0..255) Base + E = DAC3d (Read / Write data to dac channel) Base + F = DAC3s (Write=ST start conversion, Read=BUSY end of conversion) Analog Parameters: Chan = (0, 1, 2, 3) Gain = (1, 2, 3, 4) Rang = (1.25, 2.50) Write to DACxd is digital to analog channel x Pol = (UNIPOLAR, BIPOLAR) Read from DACxd is analog to digital channel x Write to DACxs (any data) is ST- start conversion A/D Counter Parameters: Read from DACxs (bit 1) is BUSY- end of conversion A/D Chan = (0, 1, 2) Mode = (0, 1, 2, 3, 4, 5) Count = (BINARY, BCD) Format= (LATCH, MSB, LSB, LMSB) ************************************************/ Flaxer Eli - Process Control Flaxer Eli - Process Control Ch 6 - 16 Ch 6 - 15 ADC Example DAC Example double AnalogIn(byte Chan, double Rang, byte Pol) { /********************************************************/ double Temp; void AnalogOut(byte Chan, double Rang, byte Pol, double Volt) byte Data1; { char Data2; double Temp = (Volt / Rang * 256.0); int Address = Base + 8 + Chan * 2; outp(Address + 1, BIT0); // Start convertion while (!(inp(Address+1) & BIT1)); // Wait until BIT1 is Set if (Pol == 0) if (Pol == 0) { outp(Base + 8 + Chan * 2, (byte)Temp); // unsigned char Data1 = inp(Address); else Temp = Data1 / 256.0 * Rang; outp(Base + 8 + Chan * 2, (char)(Temp / 2)); // signed char } } else { Data2 = inp(Address); /********************************************************/ Temp = Data2 / 256.0 * Rang * 2; } return(Temp); } Flaxer Eli - Process Control Flaxer Eli - Process Control Ch 6 - 18 Ch 6 - 17

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend