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-lab4b:start [2017/05/12 19:20] – [Lab 4b: Application of Asynchronous Serial Communications Protocol for Real-time Control] Talesa Bleythinglearn:courses:unit-4-lab4b:start [2022/10/04 11:38] (current) – external edit 127.0.0.1
Line 8: Line 8:
  
 ===== 1. Objectives ===== ===== 1. Objectives =====
-  * To control and monitor the operations of a stepper motor using serial communications between a PIC32 microprocessor and a computer terminal. +  - To control and monitor the operations of a stepper motor using serial communications between a PIC32 microprocessor and a computer terminal. 
-  * To implement real-time control using a preemptive foreground-background task scheduling scheme. +  - To implement real-time control using a preemptive foreground-background task scheduling scheme. 
-  * Simulate an environment that provides both local and remote control of a real-time system.+  - Simulate an environment that provides both local and remote control of a real-time system.
  
  
Line 16: Line 16:
  
 ===== 2. Basic Knowledge ===== ===== 2. Basic Knowledge =====
-  * Elements of [[https://en.wikipedia.org/wiki/ASCII|ASCII text encoding]]. +  - Elements of [[https://en.wikipedia.org/wiki/ASCII|ASCII text encoding]]. 
-  * [[http://ww1.microchip.com/downloads/en/DeviceDoc/39711b.pdf|I/O configuration for PPS Processors]]. +  - [[http://ww1.microchip.com/downloads/en/DeviceDoc/39711b.pdf|I/O configuration for PPS Processors]]. 
-  * [[http://www.microchip.com/SWLibraryWeb/product.aspx?product=PIC32%20Peripheral%20Library|How to initialize special function using the PLIB functions]]. +  - [[http://www.microchip.com/SWLibraryWeb/product.aspx?product=PIC32%20Peripheral%20Library|How to initialize special function using the PLIB functions]]. 
-  * How to program the PIC32 processor to both generate and receive and decode serial text data.+  - How to program the PIC32 processor to both generate and receive and decode serial text data.
  
  
Line 26: 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 
-  * 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]] 
-  * 4-wire stepper motor +  - [[https://digilent.com/shop/stepper-motor/|4-wire stepper motor]] 
-  * [[http://store.digilentinc.com/5v-2-5a-switching-power-supply/|5V, 2.5A DC power supply]]+  - [[https://digilent.com/shop/5v-4a-switching-power-supply/|5V, 4A DC power supply]]
  
 In addition, we suggest the following instruments: In addition, we suggest the following instruments:
-  * [[http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,842,1018&Prod=ANALOG-DISCOVERY|Digilent Analog Discovery 2]]+  - [[http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,842,1018&Prod=ANALOG-DISCOVERY|Digilent Analog Discovery 2]]
  
  
Line 39: Line 39:
 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]]
  
 ---- ----
  
 ===== 4. Project Takeaways ===== ===== 4. Project Takeaways =====
-  * Knowledge of a PC terminal emulation program. +  - Knowledge of a PC terminal emulation program. 
-  * How to develop a library of PIC32 software to provide bi-directional communications of single characters and strings of characters. +  - How to develop a library of PIC32 software to provide bi-directional communications of single characters and strings of characters. 
-  * How to generate and decode ASCII text strings. +  - How to generate and decode ASCII text strings. 
-  * How to implement a [[https://www.techopedia.com/definition/12829/human-machine-interface-hmi|human-machine interface]] (HMI) using [[https://en.wikipedia.org/wiki/Point-to-point_(telecommunications)|point-to-point]] serial communications.+  - How to implement a [[https://www.techopedia.com/definition/12829/human-machine-interface-hmi|human-machine interface]] (HMI) using [[https://en.wikipedia.org/wiki/Point-to-point_(telecommunications)|point-to-point]] serial communications.
  
  
Line 67: Line 67:
  
 ===== 7. Background Information ===== ===== 7. Background Information =====
-[[https://reference.digilentinc.com/learn/courses/unit-4-lab4a/start|Lab 4a]] introduced the basic concepts of UARTs and asynchronous serial communications. Lab 4b extends that knowledge by specifying a system that is capable of two independent control and monitoring locations which is common to many industrial applications, such as gantry cranes and processing plants. In this lab, the switches and push buttons on the Basys MX3, as used in lab 2b, will perform the local control functions. The Basys MX3 LCD will be used as the local display. The UART serial connection will provide the basic control and display functionality using a workstation terminal emulator program. +[[/learn/courses/unit-4-lab4a/start|Lab 4a]] introduced the basic concepts of UARTs and asynchronous serial communications. Lab 4b extends that knowledge by specifying a system that is capable of two independent control and monitoring locations which is common to many industrial applications, such as gantry cranes and processing plants. In this lab, the switches and push buttons on the Basys MX3, as used in lab 2b, will perform the local control functions. The Basys MX3 LCD will be used as the local display. The UART serial connection will provide the basic control and display functionality using a workstation terminal emulator program. 
  
 ---- ----
Line 115: Line 115:
  
 ===== 9. Questions ===== ===== 9. Questions =====
-1. Why is it appropriate that the UART getstrU1 function be a background process?\\+1. Why is it appropriate that the UART getstrU4 function be a background process?\\
  
 2. What are the advantages of using serial communications to link to processors?\\ 2. What are the advantages of using serial communications to link to processors?\\