Examen de control - Digsys
Consultes sobre l'examen: Francesc: DT: 15:00 ? 17:00; DV: 11:00 ? 12:00, 16:
00-19:00 ... 2- Explain the main characteristics of the proposed PIC circuit in Fig.
Part of the document
E. T. TELECOMUNICACIONS |Sistemes Electrònics Digitals | |
|2AT4 |19/12/2006 |Profs. Francesc J. Sànchez / |
| | |Josep Conesa |
- Control de mínims. Publicació de les qualificacions: 27 de desembre
- Consultes sobre l'examen: Francesc: DT: 15:00 - 17:00; DV: 11:00 -
12:00, 16:00-19:00
Josep: DT: 15:00-17:00; 19:00-21:00; DC: 15:00-17:00 Mínim 5
Task description We want to design a function generator to produce sinusoidal, triangular
and TTL waveforms programming a PIC16F84A in assembler and using additional
external interface circuitry. Fig. 1 shows the proposal which includes a 8-
bit digital to analogue converter (see a commercial device type DAC08) to
produce the desired outputs. The VREF block produces stabilized reference
voltages of 5.00 V and 2.50 V. The AMP block subtracts the DC level VREF/2
from the DAC output to generate a bipolar signal.
[pic] Fig. 1 Function generator to be designed
Top-down design steps
The analogue interface circuitry
1- Explain the function of the DAC08 and the analogue output circuit.
Deduce the output voltage equation and justify the value of the
resistors of the circuit represented in Fig. 2. Explain the circuit of
the voltage reference in Fig. 3 and gather the function of the output
OPAMP's.
[pic] Fig. 2 Internal structure of the proposed output amplifier [pic] Fig. 3 Internal structure of the dual voltage reference circuit The microcontroller
2- Explain the main characteristics of the proposed PIC circuit in Fig. 4
and how the ports have to be programmed. How many instructions can the
PIC execute per second? [pic] Fig. 4 Connecting the PIC microcontroller The internal EEPROM peripheral
3- The sinusoidal waveform will be stored in the internal PIC 64 byte
EEPROM. Search in books and datasheets the main characteristics of
that peripheral and explain through which registers is programmed and
accessed in the read and write cycles. 4- Deduce the value of the 64 8-bit waveform samples that will be stored
in the EEPROM to generate the sinusoidal signal of 5 V range. Use a
spreadsheet to produce the values as in the attached file
"SED_Funct_gen_sinusoidal.xls". How will the waveform period and
frequency be calculated? How can the waveform frequency be adjusted? The linear and TTL waves
5- Explain the way the linear triangular waveform will be produced and
why the EEPROM is not needed. Answer the same question for the TTL
signal. Explain the differences if the waveforms are produced using
only 64 points or the whole range of 255 points. 6- How can be synthesized a pulse width modulated (PWM) TTL signal with a
duty cycle (DC) ranging from 1% to 99%? 7- Which way can be even more effective to store different waveforms or
data permanently in memory and without having the EEPROM restriction
of 64 bytes? How can be stored and retrieved data blocks in program
memory? Programming the application in assembler 8- Assume the EEPROM has been written previously in the programming
process, so that when the main program starts after a reset (MCLR_L)
the EEPROM is already loaded. Propose the flux diagram for the main
assembler program that will configure the ports and control the
waveform selection pushbuttons. Write the assembler code. Use an
initial sample MPLAB project and the Proteus-VSM initial project for
starting the software development (look at the web page where this
task is posted).
Fig. 5 Flux diagram for the main program 9- Use the MPLAB and the virtual laboratory Proteus-VSM to simulate and
verify your designs. Repeat this step after each one of the following
sections to build a robust and error free code. 10- Propose the flux diagram and write de code for the sinusoidal
subroutine. 11- Explain how to produce a TS delay. Propose the flux diagram and write
de code of the subroutine. 12- Propose the flux diagram and write de code for the triangular
subroutine 13- Propose the flux diagram and write de code for the TTL subroutine Programming the waveform frequency
14- How can be adjusted the frequency of the output signals using simply a
pair of pushbuttons? Perhaps using the TIMER0 peripheral? 15- Can be replaced the Ts delay routines by the TIMER0? Can be improved
the design using interruptions?
-----------------------
Take this task description as an example of how can you organize and
develop your application project