Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
learn:courses:unit-7-lab7a:start [2017/03/30 19:07] – [Appendix B: Audio Output Hardware] Marthalearn:courses:unit-7-lab7a:start [2021/10/13 22:16] (current) Arthur Brown
Line 1: Line 1:
 ====== Lab 7a: Digital Signal Generator ====== ====== Lab 7a: Digital Signal Generator ======
 +[[{}/learn/courses/unit-7/start|Back to Unit 7]]
  
 === Download This Document === === Download This Document ===
-  * {{ :learn:courses:unit-7-lab7a:lab_7a.pdf |Lab 7a PDF}}+{{ :learn:courses:unit-7-lab7a:lab_7a.pdf |Lab 7a PDF}}
  
  
 ===== 1. Objectives ===== ===== 1. Objectives =====
-  Use a programmable IIR filter to generate a single frequency sine wave. +  Use a programmable IIR filter to generate a single frequency sine wave. 
-  Use PWM to generate an audible output tone over the Basys MX3 speaker. +  Use PWM to generate an audible output tone over the Basys MX3 speaker. 
-  Display the frequency of the synthesized sine wave on the LCD and 7-segment display.+  Display the frequency of the synthesized sine wave on the LCD and 7-segment display.
  
  
Line 14: Line 15:
  
 ===== 2. Basic Knowledge ===== ===== 2. Basic Knowledge =====
-  [[http://en.wikibooks.org/wiki/C_Programming/Compiling|Knowledge of C or C++ programming]] +  [[http://en.wikibooks.org/wiki/C_Programming/Compiling|Knowledge of C or C++ programming]] 
-  [[http://ww1.microchip.com/downloads/en/DeviceDoc/52027B.pdf|Working knowledge of MPLAB® X IDE]] +  [[http://ww1.microchip.com/downloads/en/DeviceDoc/52027B.pdf|Working knowledge of MPLAB® X IDE]] 
-  How to display text on a character LCD +  How to display text on a character LCD 
-  How to display numbers on the 4-digit 7-segment display +  How to display numbers on the 4-digit 7-segment display 
-  [[http://en.wikipedia.org/wiki/Finite_impulse_response|Understanding of Finite Impulse Response Digital Filters]]+  [[http://en.wikipedia.org/wiki/Finite_impulse_response|Understanding of Finite Impulse Response Digital Filters]]
  
  
Line 25: Line 26:
 ===== 3. Equipment List ===== ===== 3. Equipment List =====
 ==== 3.1. Hardware ==== ==== 3.1. Hardware ====
-  [[http://store.digilentinc.com/basys-mx3-pic32mx-trainer-board-recommended-for-embedded-systems-courses/|Basys MX3 trainer board]] +  [[https://digilent.com/shop/basys-mx3-pic32mx-trainer-board-for-embedded-systems-courses/|Basys MX3 trainer board]] 
-  Workstation computer running Windows 10 or higher, MAC OS, or Linux  +  Workstation computer running Windows 10 or higher, MAC OS, or Linux  
-  [[http://store.digilentinc.com/usb-a-to-micro-b-cable/|Standard USB A to micro-B cables]]+  [[https://digilent.com/shop/usb-a-to-micro-b-cable/|Standard USB A to micro-B cables]]
  
 In addition, we suggest the following instruments: In addition, we suggest the following instruments:
-  [[http://store.digilentinc.com/analog-discovery-2-100msps-usb-oscilloscope-logic-analyzer-and-variable-power-supply/|Analog Discovery 2]] +  [[https://digilent.com/shop/analog-discovery-2-100ms-s-usb-oscilloscope-logic-analyzer-and-variable-power-supply/|Analog Discovery 2]] 
  
  
 ==== 3.2. Software ==== ==== 3.2. Software ====
 The following programs must be installed on your development work station: The following programs must be installed on your development work station:
-  [[http://www.microchip.com/mplab/mplab-x-ide|Microchip MPLAB X® v3.35 or higher]] +  [[http://www.microchip.com/mplab/mplab-x-ide|Microchip MPLAB X® v3.35 or higher]] 
-  [[http://www.microchip.com/SWLibraryWeb/product.aspx?product=PIC32%20Peripheral%20Library|PLIB Peripheral Library]] +  [[http://www.microchip.com/SWLibraryWeb/product.aspx?product=PIC32%20Peripheral%20Library|PLIB Peripheral Library]] 
-  [[http://www.microchip.com/xcdemo/xcpluspromo.aspx|XC32 Cross Compiler]] +  [[http://www.microchip.com/xcdemo/xcpluspromo.aspx|XC32 Cross Compiler]] 
-  [[http://store.digilentinc.com/waveforms-2015-download-only/|WaveForms 2015]] (if using the Analog Discovery 2) +  [[https://digilent.com/shop/software/digilent-waveforms/|WaveForms]] (if using the Analog Discovery 2) 
-  [[http://iowahills.com/|Iowa Hills Software for IIR and FIR Filters]]+  [[http://iowahills.com/|Iowa Hills Software for IIR and FIR Filters]]
  
  
Line 45: Line 46:
  
 ===== 4. Project Takeaways ===== ===== 4. Project Takeaways =====
-  How to implement digital filters in C using a PIC32 microprocessor. +  How to implement digital filters in C using a PIC32 microprocessor. 
-  How to use the PIC32 processor to make a signal generator. +  How to use the PIC32 processor to make a signal generator. 
-  How to create analog output using pulse-width modulation. +  How to create analog output using pulse-width modulation. 
-  How to use change frequency of synthesized signals.+  How to use change frequency of synthesized signals.
  
  
Line 120: Line 121:
   - Record the 8 sets of filter constants for the frequencies listed in Table 8.1.   - Record the 8 sets of filter constants for the frequencies listed in Table 8.1.
  
-{{ :learn:courses:unit-7-lab7a:lab7a-fig-8-1.png?nolink |Figure 8.1. Block diagram for Lab 7a.}}+{{ :learn:courses:unit-7-lab7a:lab7a-fig-8-1.png?nolink&700 |Figure 8.1. Block diagram for Lab 7a.}}
 //Figure 8.1. Block diagram for Lab 7a.// //Figure 8.1. Block diagram for Lab 7a.//
  
Line 135: Line 136:
 | SW7        | 7500Hz          |                          |                                                              | | SW7        | 7500Hz          |                          |                                                              |
  
-{{ :learn:courses:unit-7-lab7a:unit_7_-_photo_1.jpg?nolink&600 |Figure 8.2. Tone Generator display when not generating tone.}}+{{ :learn:courses:unit-7-lab7a:unit_7_-_photo_1.jpg?nolink&500 |Figure 8.2. Tone Generator display when not generating tone.}}
 //Figure 8.2. Tone Generator display when not generating tone.// //Figure 8.2. Tone Generator display when not generating tone.//
  
-{{ :learn:courses:unit-7-lab7a:unit_7_-_photo_2.jpg?nolink&600 |Figure 8.3. Tone Generator display when generating tone.}}+{{ :learn:courses:unit-7-lab7a:unit_7_-_photo_2.jpg?nolink&500 |Figure 8.3. Tone Generator display when generating tone.}}
 //Figure 8.3. Tone Generator display when generating tone.// //Figure 8.3. Tone Generator display when generating tone.//
  
-{{ :learn:courses:unit-7-lab7a:lab7b-fig-8-4.png?nolink |Figure 8.4. Audio signal capture for a 4500 Hz synthesized signal.}}+{{ :learn:courses:unit-7-lab7a:lab_7a_fig_8_4.png?nolink |Figure 8.4. Audio signal capture for a 4500 Hz synthesized signal.}}
 //Figure 8.4. Audio signal capture for a 4500 Hz synthesized signal.// //Figure 8.4. Audio signal capture for a 4500 Hz synthesized signal.//
 +
  
 The control flow diagrams shown in Fig. 8.5 and Fig. 8.6 give an overview of an approach to this design. The code provided in Listings A.1 through A.5 can be used for the sine wave generator portion of Fig. 8.1. The Analog Electronics portion of Fig. 8.1 is provided on the Basys MX3 circuit board as shown in Fig. B.1 of Appendix B. The control flow diagrams shown in Fig. 8.5 and Fig. 8.6 give an overview of an approach to this design. The code provided in Listings A.1 through A.5 can be used for the sine wave generator portion of Fig. 8.1. The Analog Electronics portion of Fig. 8.1 is provided on the Basys MX3 circuit board as shown in Fig. B.1 of Appendix B.
Line 163: Line 165:
   - Why is it preferable to synthesize a sine function rather than a cosine function?   - Why is it preferable to synthesize a sine function rather than a cosine function?
   - What precautions are necessary if a signal of more than one frequency is generated by adding outputs?   - What precautions are necessary if a signal of more than one frequency is generated by adding outputs?
-  - What conclusion do you draw from the data recorded in Table 7.1?+  - What conclusion do you draw from the data recorded in Table 8.1?
  
  
Line 305: Line 307:
  
  
 +
 +----
 +
 +[[{}/learn/courses/unit-7/start|Back to Unit 7]]
 +[[{}/learn/courses/unit-7-lab7b/start|Go to Lab 7b]]
 +[[{}/learn/courses/start|Back to Course List]]