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-4-lab4a:start [2017/03/28 14:10] – [Appendix B: Allocating a Heap in MPLAB X] Marthalearn:courses:unit-4-lab4a:start [2021/10/13 15:15] (current) Arthur Brown
Line 1: Line 1:
 ====== Lab 4a: Universal Asynchronous Receiver/Transmitter ====== ====== Lab 4a: Universal Asynchronous Receiver/Transmitter ======
 +[[{}/learn/courses/unit-4-1/start|Back to Unit 4 Part 1]]
 +[[{}/learn/courses/unit-4-2/start|Back to Unit 4 Part 2]]
  
 === Download This Document === === Download This Document ===
-  * {{ :learn:courses:unit-4-lab4a:lab_4a.pdf |Lab 4a PDF}}+{{ :learn:courses:unit-4-lab4a:lab_4a.pdf |Lab 4a PDF}}
  
 ===== 1. Objectives ===== ===== 1. Objectives =====
Line 21: Line 23:
 ===== 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 
-  2 [[http://store.digilentinc.com/usb-a-to-micro-b-cable/|Standard USB A to micro-B cables]]+  2 [[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]]  +  [[https://digilent.com/shop/software/digilent-waveforms/|WaveForms]]  
-  [[http://www.putty.org/|PuTTY Terminal Emulation]]+  [[http://www.putty.org/|PuTTY Terminal Emulation]]
  
 ---- ----
Line 129: Line 131:
     - Measure the time required to display a string of 20 characters.     - Measure the time required to display a string of 20 characters.
  
-{{ :learn:courses:unit-4-lab4a:fig-8-3.png?nolink&400 |Figure 8.3. Handshaking pins and data bit zero for single character write to the LCD.}}+{{ :learn:courses:unit-4-lab4a:lab_4a_fig_8_3.png?nolink |Figure 8.3. Handshaking pins and data bit zero for single character write to the LCD.}}
 //Figure 8.3. Handshaking pins and data bit zero for single character write to the LCD.// //Figure 8.3. Handshaking pins and data bit zero for single character write to the LCD.//
 +
  
 ---- ----
Line 136: Line 139:
 ===== 9. Questions ===== ===== 9. Questions =====
 1. What is the effective data rate of the UART? (Remember to include the period of the stop signal that cannot be measured in testing step 4a.)\\ 1. What is the effective data rate of the UART? (Remember to include the period of the stop signal that cannot be measured in testing step 4a.)\\
- 
-<color #ed1c24>The start, stop, and parity bits require three additional symbol times. The effective data rate is 73% of the BAUD rate. 19200*8/11 = 13960. The figure below shows that 10 bits are sent in 0.52188ms. Hence an 8-bit word is sent at the rate of 1742 bytes per second or the bit rate of 13936 BAUD.</color>\\ 
  
 2. Based on the data collected in step 4 parts 4.4 and 4.5 of the testing procedure, what is the effective character display rate in characters per second?\\ 2. Based on the data collected in step 4 parts 4.4 and 4.5 of the testing procedure, what is the effective character display rate in characters per second?\\
  
-<color #ed1c24>The Analog Discovery 2 screen capture below shows that the time required to display a character is 42.748μs. The LCD is busy for 39.386μs of this period. This time is comparable to the [[https://www.sparkfun.com/datasheets/LCD/HD44780.pdf|HC44780 data sheet]] that lists minimum execution time for a DDRAM write as 37 μs.  The LCD Busy Flag is sampled at a rate of 410 kHz resulting in the busy flag being sampled 16 times before the LCD is ready to receive another DDRAM write.</color>\\ 
- 
-{{ :learn:courses:unit-4-lab4a:fig-9-1.png?nolink&900 |Figure 9.1.}}\\ 
  
 3. Based on the data collected in step 4 part 4.6, how much does moving the cursor from line 1 to line 2 slow down the LCD character display rate? Justify your answer.\\ 3. Based on the data collected in step 4 part 4.6, how much does moving the cursor from line 1 to line 2 slow down the LCD character display rate? Justify your answer.\\
  
-<color #ed1c24>The screen capture shows that the time to move the cursor is about the same time needed to display a character which is 64μs.</color>\\ 
- 
-{{ :learn:courses:unit-4-lab4a:fig-9-2.png?nolink&900 |Figure 9.2.}}\\ 
  
 ---- ----
Line 163: Line 158:
  
 ===== Appendix A: Basys MX3 Schematic Drawings ===== ===== Appendix A: Basys MX3 Schematic Drawings =====
-{{ :learn:courses:unit-4-lab4a:fig-a-1.png?nolink&600 |Figure A.1. PIC32MX370 to FT232RQR IC schematic diagram.}}+{{ :learn:courses:unit-4-lab4a:lab_4a_fig_a_1.jpg?nolink&900 |Figure A.1. PIC32MX370 to FT232RQR IC schematic diagram.}}
 //Figure A.1. PIC32MX370 to FT232RQR IC schematic diagram.// //Figure A.1. PIC32MX370 to FT232RQR IC schematic diagram.//
  
Line 169: Line 164:
 //Figure A.2. UART USB connector on the Basys MX3.// //Figure A.2. UART USB connector on the Basys MX3.//
  
-{{ :learn:courses:unit-4-lab4a:fig-a-3.png?nolink&400 |Figure A.3. PuTTy screen shot generating LCD display.}}+{{ :learn:courses:unit-4-lab4a:fig-a-3.png?nolink&300 |Figure A.3. PuTTy screen shot generating LCD display.}}
 //Figure A.3. PuTTy screen shot generating LCD display.// //Figure A.3. PuTTy screen shot generating LCD display.//
  
Line 183: Line 178:
 {{ :learn:courses:unit-4-lab4a:fig-b-1.png?nolink&600 |Figure B.1. Allocating Heap size.}} {{ :learn:courses:unit-4-lab4a:fig-b-1.png?nolink&600 |Figure B.1. Allocating Heap size.}}
 //Figure B.1. Allocating Heap size.// //Figure B.1. Allocating Heap size.//
 +
 +
 +----
 +
 +[[{}/learn/courses/unit-4-1/start|Back to Unit 4 Part 1]]
 +[[{}/learn/courses/unit-4-2/start|Back to Unit 4 Part 2]]
 +[[{}/learn/courses/unit-4-lab4b/start|Go to Lab 4b]]
 +[[{}/learn/courses/unit-4-lab4c/start|Go to Lab 4c]]
 +[[{}/learn/courses/unit-4-lab4d/start|Go to Lab 4d]]
 +[[{}/learn/courses/unit-5/start|Go to Unit 5]]