EPROM application in User Define Function Signal Generator using DAC-0800/DAC-0808


 Function Signal Generator


Universal Digital Function Generator, based on DAC-0800 (DAC-0808) and EPROM-2732 for lookup table data to generate any function signals. 

Why it's universal?

Because you can add the patterns as you wish. 

I. PREFACE

 

        After already done with EPROM programmer, you really don't know where to go next, what to do next, etc...etc. Here is the example of EPROM implementation, Universal Digital Function Signal Generator. We can use it as a collection of our R&D laboratory instrument, beside that you can learn how to use a Digital to Analog Converter (DAC) type DAC-0800 or DAC-0808, an 8-bits resolution DAC. The circuit we want to build, I got it from "Electronic Project Magazine" made by "Shailesh M. Patkar & Prashant P. Kelkar" from India. Thanks to both of them, for their great idea.

        This signal generator, generate its signal wave form from look up table data. This data reside in EPROM type 2716 (2k X 8-bit) or 2732 (4k X 8-bit). Each signal used 1 block of data (about 256 byte of data each). So for 2716 type, it can be store up to 8 function signals, while for 2732 type, it can be store up to 16 function signals. This signal data still in digital type. Then we used DAC to convert this data to become analog signal. Because we can programmed what kind of signal we want to, it is why we named it as Universal Digital Function Signal Generator (UDFG).

II. SCHEMATIC

        The original version use 2716 EPROM type, while I prefer using 2732 type. The first one may be already hard to find, while the last one also can load more signals data (it can feed more signals 16 types), you can create more than 8 signal types.

To generate the address lines, the circuit use cascaded binary counters. By cascading this 2 binary counters up to 2 power by 8 (256) address line covered. This is all the data we need for 1 block or 1 function signal. The rest of address lines connect to binary selector switch. It is better if you could find a thumb wheel switch (digital switch). So it is easy to select the function type that you want. But thumb wheel switch only preserve for 10 function types. You need another one selector switch to select the upper and lower half of 8 signals. By store this data in EPROM, the circuit becomes less complicated and less expensive and gives high fidelity. The clock use a simple clock generator from IC 555 which configured as an astable multivibrator. The timing is adjusted by the equation : 

  T = 0.693 (R1 + VR1) C
 
By using the values give in the drawing, the frequency varied from 10Hz to 1kHz. Besides that we preserved also for external clock generator. Because the sampling frequency for DAC-0800 minimum as little as 100 nsec, we can do experiment about the speed of this function generator (in theory up to 10 MHz, this is the limitation of TTL IC clock). Digital output of EPROM 2732 tired to DAC-0800 and convert it to be an analog signal gradation from -10V to +10V, because the reference voltage is tired to +10V. Data for each point of signal rose by 2 IC counters (74163 & 74193) wired cascaded, 4-bit each to become 8-bit counter. These 8-bit counters produces the output data from 00h to FFh totaling 256 states. These 8-bit output counters then wired to the low address of EPROM, while the rest high address connect to digital switch and selector switch to select each signal generator types.

        As told before, each signal divided by 256 data point. So for a complete 1 cycle (360 degree) signal, each data point must rounded to the nearer number. This data for each signal then combine to make it a data look up table and programmed to the EPROM. We don't cover the programming section for this EPROM. For detail explanation about programming the EPROM go to another pages. These Data look up table will be explained later.

        None further explanation needed for the power supplies, because it all using a simple IC regulator. The +10V supply inherited from +15V supply because we don't need this to much power (Iref is about 1.7 mA only) and used to give the reference voltage to DAC-0800, so the output will vary from 0 to +10V by 256 gradation and then feed to op-amp comparator to make the output voltage vary from 0 to +/-15V. That is the output range. You can decrease the output voltage by adding divider resistors. 


III. LAYOUT

        Original circuit completed with PCB layout. But to accommodate the modification, I  already drawn another layout to make it comfort and fit the modification option. So it can fit at a box about (100 x 100 x 30) mm. Only single side needed, the rest will connect through cable and jumper. Note that except the 10 jumpers from the picture, there are 4 connections by cable for power supply. Also not included IC10 and the pull up resistors, because when I designed this layout, the switch never thought about. I put it later. 


IV. PART LISTS

        Component parts lists to build the complete set are : 

   1. Resistors :
 
      R1 = 330k ......................................................... 1 pcs
      R2 = 680k ......................................................... 1 pcs
      R3, R4 = 45k6 ..................................................... 2 pcs
      R5 = 1k. .......................................................... 1 pcs
      R6 = 470 Ohm ...................................................... 1 pcs
      R7 = 47 Ohm / 20W ................................................. 1 pcs
      R8 ~ R11 = 4k7 .................................................... 4 pcs
 
   2. Capacitors :
 
      C1 ~ C4 = 100 nF .................................................. 4 pcs
      C5, C6, C8 = 10 nF ................................................ 3 pcs
      C7 = 10 uF/16V (elco) ............................................. 1 pcs
      C9, C10 = 2200 uF/35V (elco) ...................................... 2 pcs
      C11 ~ C14 = 1000 uF/25V (elco) .................................... 4 pcs
 
   3. Semiconductors :
 
      D1 ~ D4 = 1N4007 (Silicon diode) .................................. 4 pcs
      DZ1 = 10V / 0.25W ................................................. 1 pcs
      Led1 = Red Led (3 mm) ............................................. 1 pcs
      IC1 = 2732 (4kByte EPROM) ......................................... 1 pcs
      IC2 = 74HC193 (Synchronous 4-bit binary counter) .................. 1 pcs
      IC3 = 74HC163 (Synchronous 4-bit binary up/down counter) .......... 1 pcs
      IC4 = DAC0800 or DAC0808 (Digital to analog converter 8-bit) ...... 1 pcs
      IC5 = 555 (Timer) ................................................. 1 pcs
      IC6 = LM324 (Low power Quad Op-Amp) ............................... 1 pcs
      IC7 = 7805 (Voltage regulator) .................................... 1 pcs
      IC8 = 7815 (Voltage regulator) .................................... 1 pcs
      IC9 = 7915 (Voltage regulator) .................................... 1 pcs
      IC10 = 74HC04 (Hex inverter) ...................................... 1 pcs
 
   4. Others :
 
      VR1 = 100k (trimpot) .............................................. 1 pcs
      VR2 = 10k (trimpot) ............................................... 1 pcs
      VR3 = 1k (trimpot) ................................................ 1 pcs
      CON1 = 2-pin terminals PCB type ................................... 1 pcs
      CON2 = 6-pin terminals PCB type ................................... 1 pcs
      CON3 = 3-pin terminals PCB type ................................... 1 pcs
      S1, S2 = Switch spdt .............................................. 2 pcs
      S3 = Thumbwheel switch (BCD switch) ............................... 1 pcs
      T1 = 220V to 30V, sec. 500mA (Transformer) ........................ 1 pcs
      Box = about 12 x 12 x 4 cm ........................................ 1 pcs
      Single side PCB = 10 x 10 cm ...................................... 1 pcs
 

V. DATA LOOK UP TABLE

        To display a signal on an oscilloscope using microprocessor is a very difficult and time consuming task. Say that for example a digital sine wave signal :
                           03     05     07
        sin 0 = 0 - ---- + ---- + ---- + . . .
                          3!      5!      7!
Using microprocessor, the sine function can be displayed at the output by incrementing 0 at every step and outputting the sine value of the 0 to the DAC. The sin 0 can either be calculated by software or by using floating point arithmetic cards. As this method is complicated, the simple and accurate method is to make the look up table. The value for each 0 is stored in memory in a sequential manner. For outputting code to the DAC, the memory for the 0 is then accessed. That is why we use a look up table to store the data.
        The original version already put data for 6 signals, ie: sine wave, ramp (saw tooth), triangular wave, square wave, staircase and particular wave. Here is the explanation of  2 steps from look up table data for sine wave signal :
 
 
Memory
Address
 0 =(360/256) x Memory Address
Sin
0
Bits
Binary
Value
(Base 80h + Bits)
Hex
Value
0000
0
0
0000 0000
1000 0000
80
0001
1.40625
0.02454
0000 0011
1000 0011
83
...
...
...
...
...
...
Example of two steps from look up table data for sine wave signal
       
The value of sine function = 1 at 90 degree. The amplitude is 128 units above the zero (reference) level. So for X sin function = ? above zero level. 

              X
        So ---- x 128 = X.128
              1
                         (sin 0 x 128) Round off
        %Error = -------------------------------- x 100
                                  (sin 0 x 128)
Digital value calculation :
                360                                       360
        0 = ------ x Memory Address = ------ x 0001 = 1.40625
                256                                       256
        sin 0 = 0.02454
        Bits = sin 0 x 128 = 3.14127
 
Therefore the digit before decimal point is 3.14127 = 3 (decimal) = 0000 0011 (binary, Bits)
Binary value to be stored to the EPROM is = 1000 0000  (Base value of DAC) + 0000 0011 (rounded point value) = 1000 0011 (83h).

The %Error can be calculated to get the exact sine wave representation which improves the accuracy.
Here is the rest of the look up table data for these sine wave signal. To make it simple for me and for you to design the patterns, I already make the simple editor program, works in graph mode or text mode. So it is easy to see the result and the more important things that it can be saved to disk. Here is the result for the six pattern signal that I already inputted :
  1. Sine wave (sine.sig)
  2. Saw tooth (ramp) wave (ramp.sig)
  3. Ramp reverse wave (ramprev.sig)
  4. Triangular wave (triangle.sig)
  5. Square wave (square.sig)
  6. Staircase wave (stair.sig)
  7. Negative staircase wave (stairneg.sig)
  8. Particular wave (partculr.sig)
The signal then can be combined to become one big data to loaded into EPROM. Just use copy command from DOS like this : 

COPY /B sine.sig+ramp.sig+triangular.sig+square.sig+stair.sig+...(more pattern signals)...+particle.sig  all.sig

You can add the spare address locations of EPROM to fit your need. Up to 10 signals free for your imagination. Please explore it and have fun !!! 


VI. PROTOTYPE

        My prototype size about 100mm x 100mm x 30mm (LWT), with the switches, thumb wheel and connector put on the top side of the box. Made from plastic and PVC. By using thumb wheel switch, only 10 function signals can be covered. If you don't want this, you can change the system by using a decoder type switch (1 to 16 lines), so the location can be covered all. Here is my prototype and sample of its wave form generate (This capture from a simple selfmade oscilloscope). I will published it later.

The complete UDFG can be obtained here.

No comments:

Post a Comment

Labels

PROJECTS 8086 PIN CONFIGURATION 80X86 PROCESSORS TRANSDUCERS 8086 – ARCHITECTURE Hall-Effect Transducers INTEL 8085 OPTICAL MATERIALS BIPOLAR TRANSISTORS INTEL 8255 Optoelectronic Devices Thermistors thevenin's theorem MAXIMUM MODE CONFIGURATION OF 8086 SYSTEM ASSEMBLY LANGUAGE PROGRAMME OF 80X86 PROCESSORS POWER PLANT ENGINEERING PRIME MOVERS 8279 with 8085 MINIMUM MODE CONFIGURATION OF 8086 SYSTEM MISCELLANEOUS DEVICES MODERN ENGINEERING MATERIALS 8085 Processor- Q and A-1 BASIC CONCEPTS OF FLUID MECHANICS OSCILLATORS 8085 Processor- Q and A-2 Features of 8086 PUMPS AND TURBINES 8031/8051 MICROCONTROLLER Chemfet Transducers DIODES FIRST LAW OF THERMODYNAMICS METHOD OF STATEMENTS 8279 with 8086 HIGH VOLTAGE ENGINEERING OVERVOLATGES AND INSULATION COORDINATION Thermocouples 8251A to 8086 ARCHITECTURE OF 8031/8051 Angle-Beam Transducers DATA TRANSFER INSTRUCTIONS IN 8051/8031 INSTRUCTION SET FOR 8051/8031 INTEL 8279 KEYBOARD AND DISPLAY INTERFACES USING 8279 LOGICAL INSTRUCTIONS FOR 8051/8031 Photonic Transducers TECHNOLOGICAL TIPS THREE POINT STARTER 8257 with 8085 ARITHMETIC INSTRUCTIONS IN 8051/8031 LIGHTNING PHENOMENA Photoelectric Detectors Physical Strain Gage Transducers 8259 PROCESSOR APPLICATIONS OF HALL EFFECT BRANCHING INSTRUCTIONS FOR 8051/8031 CPU OF 8031/8051 Capacitive Transducers DECODER Electromagnetic Transducer Hall voltage INTEL 8051 MICROCONTROLLER INTEL 8251A Insulation Resistance Test PINS AND SIGNALS OF 8031/8051 Physical Transducers Resistive Transducer STARTERS Thermocouple Vacuum Gages USART-INTEL 8251A APPLICATIONs OF 8085 MICROPROCESSOR CAPACITANCE Data Transfer Instructions In 8086 Processors EARTH FAULT RELAY ELECTRIC MOTORS ELECTRICAL AND ELECTRONIC INSTRUMENTS ELECTRICAL BREAKDOWN IN GASES FIELD EFFECT TRANSISTOR (FET) INTEL 8257 IONIZATION AND DECAY PROCESSES Inductive Transducers Microprocessor and Microcontroller OVER CURRENT RELAY OVER CURRENT RELAY TESTING METHODS PhotoConductive Detectors PhotoVoltaic Detectors Registers Of 8051/8031 Microcontroller Testing Methods ADC INTERFACE AMPLIFIERS APPLICATIONS OF 8259 EARTH ELECTRODE RESISTANCE MEASUREMENT TESTING METHODS EARTH FAULT RELAY TESTING METHODS Electricity Ferrodynamic Wattmeter Fiber-Optic Transducers IC TESTER IC TESTER part-2 INTERRUPTS Intravascular imaging transducer LIGHTNING ARRESTERS MEASUREMENT SYSTEM Mechanical imaging transducers Mesh Current-2 Millman's Theorem NEGATIVE FEEDBACK Norton's Polarity Test Potentiometric transducers Ratio Test SERIAL DATA COMMUNICATION SFR OF 8051/8031 SOLIDS AND LIQUIDS Speed Control System 8085 Stepper Motor Control System Winding Resistance Test 20 MVA 6-digits 6-digits 7-segment LEDs 7-segment A-to-D A/D ADC ADVANTAGES OF CORONA ALTERNATOR BY POTIER & ASA METHOD ANALOG TO DIGITAL CONVERTER AUXILIARY TRANSFORMER AUXILIARY TRANSFORMER TESTING AUXILIARY TRANSFORMER TESTING METHODS Analog Devices A–D BERNOULLI’S PRINCIPLE BUS BAR BUS BAR TESTING Basic measuring circuits Bernoulli's Equation Bit Manipulation Instruction Buchholz relay test CORONA POWER LOSS CURRENT TRANSFORMER CURRENT TRANSFORMER TESTING Contact resistance test Current to voltage converter DAC INTERFACE DESCRIBE MULTIPLY-EXCITED Digital Storage Oscilloscope Display Driver Circuit E PROMER ELPLUS NT-111 EPROM AND STATIC RAM EXCITED MAGNETIC FIELD Electrical Machines II- Exp NO.1 Energy Meters FACTORS AFFECTING CORONA FLIP FLOPS Fluid Dynamics and Bernoulli's Equation Fluorescence Chemical Transducers Foil Strain Gages HALL EFFECT HIGH VOLTAGE ENGG HV test HYSTERESIS MOTOR Hall co-efficient Hall voltage and Hall Co-efficient High Voltage Insulator Coating Hot-wire anemometer How to Read a Capacitor? IC TESTER part-1 INSTRUMENT TRANSFORMERS Importance of Hall Effect Insulation resistance check Insulator Coating Knee point Test LEDs LEDs Display Driver LEDs Display Driver Circuit LM35 LOGIC CONTROLLER LPT LPT PORT LPT PORT EXPANDER LPT PORT LPT PORT EXTENDER Life Gone? MAGNETIC FIELD MAGNETIC FIELD SYSTEMS METHOD OF STATEMENT FOR TRANSFORMER STABILITY TEST METHODS OF REDUCING CORONA EFFECT MULTIPLY-EXCITED MULTIPLY-EXCITED MAGNETIC FIELD SYSTEMS Mesh Current Mesh Current-1 Moving Iron Instruments Multiplexing Network Theorems Node Voltage Method On-No Load And On Load Condition PLC PORT EXTENDER POTIER & ASA METHOD POWER TRANSFORMER POWER TRANSFORMER TESTING POWER TRANSFORMER TESTING METHODS PROGRAMMABLE LOGIC PROGRAMMABLE LOGIC CONTROLLER Parallel Port EXPANDER Paschen's law Piezoelectric Wave-Propagation Transducers Potential Transformer RADIO INTERFERENCE RECTIFIERS REGULATION OF ALTERNATOR REGULATION OF THREE PHASE ALTERNATOR Read a Capacitor SINGLY-EXCITED SOLIDS AND LIQUIDS Classical gas laws Secondary effects Semiconductor strain gages Speaker Driver Strain Gages Streamer theory Superposition Superposition theorem Swinburne’s Test TMOD TRANSFORMER TESTING METHODS Tape Recorder Three-Phase Wattmeter Transformer Tap Changer Transformer Testing Vector group test Virus Activity Voltage Insulator Coating Voltage To Frequency Converter Voltage to current converter What is analog-to-digital conversion Windows work for Nokia capacitor labels excitation current test magnetic balance voltage to frequency converter wiki electronic frequency converter testing voltage with a multimeter 50 hz voltages voltmeter

Search More Posts

Followers