+ All Categories
Home > Documents > AVR DA Training Manual - Microchip Technology

AVR DA Training Manual - Microchip Technology

Date post: 18-Dec-2021
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
30
AVR ® DA Training Manual Core Independent Solution Using AVR DA Peripherals Lab Introduction Plenty of computation in the embedded solutions can be done independently from the core, thus reducing the load and program memory space used. Most Microchip microcontrollers are equipped with Core Independent Peripherals (CIPs), which can facilitate the processing outside the core and can strengthen the hardware capabilities of the microcontroller. The CIPs have key attributes that make them powerful and robust. Once initialized, they can provide a steady-state, closed-loop embedded control with no intervention from the CPU. They are smartly interconnected to allow latency- free sharing of data, logic inputs, or analog signals without additional code or interruption of the CPU. Last, but not least, they allow smaller, lower power MCUs to perform extremely complex tasks, such as high-power lighting control and communication. This document includes an overview of the Configurable Custom Logic (CCL) peripheral, examples, and tips and tricks of its usage, such as how to implement basic functions using truth tables, how to apply delay to a signal, and how to divide a signal. For a better understanding of the CCL peripheral and its advantages, this training contains a core independent solution: generating a visual SOS signal on the CNANO board LED, with involvement of the core only during the initialization part. Starting from the Morse representation of the signal, using dots and dashes, this document will present the waveform associated with the SOS message, along with the peripherals used and additional waveforms. At the end of the document, there will be steps that can be followed in order to generate the SOS signal using MPLAB ® MCC and MPLAB ® X IDE. Prerequisites Hardware requirements: AVR128DA48 Curiosity Nano (DM164151) Software requirements: MPLAB ® X Integrated Development Environment (IDE), version 5.40 or above MPLAB ® Code Configurator (MCC), version 3.95.0 or above MPLAB ® XC8 Compiler, version 2.20 or above MCC 8-bit AVR ® MCUs Library, version 2.3.0 Documentation Materials: AVR128DA28/32/48/64 Data Sheet AVR128DA48 Device Overview MPLAB Code Configurator User's Guide © 2020 Microchip Technology Inc. Training Manual DS90003276A-page 1
Transcript
Core Independent Solution Using AVR DA Peripherals LabAVR® DA Training Manual Core Independent Solution Using AVR DA Peripherals Lab
Introduction
Plenty of computation in the embedded solutions can be done independently from the core, thus reducing the load and program memory space used. Most Microchip microcontrollers are equipped with Core Independent Peripherals (CIPs), which can facilitate the processing outside the core and can strengthen the hardware capabilities of the microcontroller.
The CIPs have key attributes that make them powerful and robust. Once initialized, they can provide a steady-state, closed-loop embedded control with no intervention from the CPU. They are smartly interconnected to allow latency- free sharing of data, logic inputs, or analog signals without additional code or interruption of the CPU. Last, but not least, they allow smaller, lower power MCUs to perform extremely complex tasks, such as high-power lighting control and communication.
This document includes an overview of the Configurable Custom Logic (CCL) peripheral, examples, and tips and tricks of its usage, such as how to implement basic functions using truth tables, how to apply delay to a signal, and how to divide a signal.
For a better understanding of the CCL peripheral and its advantages, this training contains a core independent solution: generating a visual SOS signal on the CNANO board LED, with involvement of the core only during the initialization part.
Starting from the Morse representation of the signal, using dots and dashes, this document will present the waveform associated with the SOS message, along with the peripherals used and additional waveforms.
At the end of the document, there will be steps that can be followed in order to generate the SOS signal using MPLAB® MCC and MPLAB® X IDE.
Prerequisites
Software requirements:
• MPLAB® X Integrated Development Environment (IDE), version 5.40 or above • MPLAB® Code Configurator (MCC), version 3.95.0 or above • MPLAB® XC8 Compiler, version 2.20 or above • MCC 8-bit AVR® MCUs Library, version 2.3.0
Documentation Materials:
2.1. SOS Sequence Morse Code Basics ........................................................................................... 7 2.2. SOS Sequence Logic Function Implementation ..........................................................................7 2.3. Solution...................................................................................................................................... 10
1. Configurable Custom Logic (CCL)
1.1 Overview The CCL is a programmable logic peripheral that can be connected to the device pins, to events, or to other internal peripherals. It serves as a ‘glue logic’ between the device peripherals and external devices.
The CCL can eliminate the need for external logic components and can also help the designer overcome real-time constraints by combining it with other Core Independent Peripherals (CIPs), to handle the time-critical parts of the application, independent of the CPU.
The CCL peripheral on the AVR128DA48 provides six Look-up Tables (LUTs). Each LUT consists of three inputs, a truth table, a synchronizer/filter, and an edge detector. This allows the user to generate an output as a programmable logic expression, with up to three inputs.
The CCL can be configured to filter the output value and to generate an interrupt request, on changes in the LUT outputs.
Neighboring LUTs can be combined to perform specific operations and the sequencers can be used for generating complex waveforms.
1.2 Implementing Logic Function Using TRUTH Tables Each LUT has three inputs and one truth table. This allows implementation of logic functions with up to three inputs and one output; with the unused inputs that can be tied low (masked).
The truth table for the desired combinational logic expression is defined by the bits in the LUTn Truth Table (CCL.TRUTHn) registers. Each combination of the input bits corresponds to one bit in this register.
Table 1-1. Truth Table of a LUT
LUTn-TRUTHSEL[2] LUTn-TRUTHSEL[1] LUTn-TRUTHSEL[0] OUT
0 0 0 TRUTH[0]
0 0 1 TRUTH[1]
0 1 0 TRUTH[2]
0 1 1 TRUTH[3]
1 0 0 TRUTH[4]
1 0 1 TRUTH[5]
1 1 0 TRUTH[6]
1 1 1 TRUTH[7]
1.2.1 Logic Functions Examples As already mentioned, the truth tables allow implementation of any combinational logic function of up to three inputs and one output. This section will provide two examples of standard functions that can be implemented.
1. Logic OR with Three Inputs The truth table for the OR function with three inputs is presented in the table below:
IN2 IN1 IN0 IN0 OR IN1 OR IN2
0 0 0 0 0 0 1 1
AVR® DA Training Manual Configurable Custom Logic (CCL)
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 3
...........continued IN2 IN1 IN0 IN0 OR IN1 OR IN2
0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1
In order to implement this logic function with a Truth table, the bits from the CCL.TRUTHn register should have the same value as their correspondents from the table above. This translates to the following configuration:
CCL.TRUTHn = 0xFE 2. Logic AND with Two Inputs
The truth table for the AND function with two inputs is presented in the table below:
X IN1 IN0 IN0 AND IN1
0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1
Because there are only two inputs, the third input channel is tied low (IN2 = 0). In order to implement this logic function with a truth table, the bits from the CCL.TRUTHn register should have the same value as their correspondents from the table above. This translates to the following configuration:
CCL.TRUTHn = 0x08
1.3 Using Filter Configuration for Additional Features One of the most common operations that needs to be performed when working with combinational logic is applying a delay (fixed number of clock cycles). The CCL can do this by writing the Filter Selection (FILTSEL) bit field in the LUT n Control A (CCL.LUTnCTRLA) registers.
When FILTSEL=SYNCH, the configuration can be used to synchronize the output with CLK_LUTn and to obtain two CLK_LUTn cycles delays.
AVR® DA Training Manual Configurable Custom Logic (CCL)
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 4
Figure 1-1. Two CLK_LUTn Cycles Delay
Using the LUT feedback feature, a divide by four configuration is obtained. The signal that will be divided must be used as clock input for the LUT and the output of the LUT must be linked to the input.
Figure 1-2. Divide by Four Configuration
When FILTSEL=FILTER and input signal have at least four input clocks, the output will be delayed by four clock cycles.
AVR® DA Training Manual Configurable Custom Logic (CCL)
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 5
Figure 1-3. Four CLK_LUTn Cycles Delay
Using LUT feedback feature, a divide by eight configuration is obtained. The signal that will be divided must be used as clock input for the LUT and the output of the LUT must be linked to the input.
Figure 1-4. Divide by Eight Configuration
AVR® DA Training Manual Configurable Custom Logic (CCL)
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 6
2. Core Independent Example – SOS Sequence Generator The following example will show how to generate an SOS signal without CPU intervention. The CCL peripheral is used together with Timers and the Event System to create the sequence and, aside from the initialization part, all operations are done independently from the core. The SOS sequence will be displayed using the CNANO board LED.
2.1 SOS Sequence Morse Code Basics Morse code is a method of encoding text characters using symbols: dots and dashes. There are rules to distinguish the dots from dashes:
• The length of a dot is one-time unit • The length of a dash is three-time units • The space between symbols (dots and dashes) of the same letter is one-time unit • The space between letters is three-time units • The space between words is seven-time units
Each letter has a unique representation in the Morse code. The letter ‘S’ is formed of three dots, while the letter ‘O’ is of three dashes.
Figure 2-1. Morse Representation of Letters S and O
S
O
SOS In a digital representation, the dots and dashes can be pulses (1 logic), while the spaces can be 0 logic. This translates to the following waveform:
Figure 2-2. SOS Digital Waveform
OS S
1 dot
The SOS message will be repeated continuously, which means the SOS waveform will be periodical. The period of the waveform is represented in the diagram above by the interval between the first and the last vertical dotted line.
Because the space between the words is seven-dot long, the period will have a length of 34 dots.
2.2 SOS Sequence Logic Function Implementation Before generating the waveforms, a time reference is needed. The dot has a period of 50 ms that translates to a duration of 34x50 = 1700 ms for the entire SOS waveform period. Starting from AVR resources, a symmetrical
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 7
sequence is much easier to implement. To create this symmetry, the period of the reference clock should be half of the dot period (25 ms).
Figure 2-3. Reference Clock
RCLK
SOS
The process of generating the SOS signal can be split into three parts: • Generating the waveform for the letters ‘S’ • Generating the waveform for the letter ‘O’ • Combining the waveforms
2.2.1 Generate the Waveform for the Letters ‘S’ The waveform of the letters ‘S’ can be obtained by generating a waveform that contains the pattern for the letter and the two signals acting as masks and applying a logic function on them.
Figure 2-4. Waveform for the Letters S
M1
M2
SS
S'
SOS
The operation mentioned above is: SS = M1 AND M2 AND S’
The truth table of the logic operation is presented in the table below:
M1 M2 S’ SS
0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 8
2.2.2 Generate the Waveform for the Letter ‘O’ The waveform of the letter ‘O’ can be obtained by generating three signals acting as masks and applying a logic function on them.
Figure 2-5. Waveform for the Letter ‘O’
M3
O
M4
M5
SOS
The truth table of the operation is shown in the table below:
M3 M4 M5 O
0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1
2.2.3 Obtain the Waveform for the SOS Message The SOS message waveform is obtained by performing an OR between SS and O waveforms: SOS = SS OR O
Figure 2-6. Waveform for SOS Message
SS
O
SOS
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 9
2.3 Solution
2.3.1 Block Diagram with Event System Connections The peripherals used for implementing this application are:
• Timer/Counter Type A (TCA) • Timer/Counter Type D (TCD) • Configurable Custom Logic (CCL) • Event System (EVSYS)
The block diagram below presents the peripherals and connections between them. The red-marked lines represent event channels, while the blue-marked lines represent internal signals.
Figure 2-7. Block Diagram
LUT3
LUT1
TCD0_CMPBSET
WO0
WO1
WO0
WO1
WO2
IN0
IN1
IN2
IN0
IN1
IN2
IN0
IN1
IN2
IN0
IN1
IN2
EV_CNTA
EV_CNTA
As mentioned in a section above, the reference clock must have a period of 25 ms (and a frequency of 40 Hz). It is generated using TCD0, which triggers events with that specific frequency. The event will be used as clock input for LUT0, TCA0, and TCA1.
TCA1 is used to generate M1 and M2 signals through TCA1-WO0 and TCA1-WO1 outputs, which will be connected to LUT0 and LUT3 as inputs.
TCA0 is used to generate M3, M4, and M5 signals through TCA0-WO2, TCA0-WO1, and TCA0-WO0 outputs, which will be connected to LUT2 as inputs.
LUT0 is used to generate the signal that contains the pattern for the letter ‘S’ (S’). The frequency of the S’ signal is double the frequency of the events that come from TCD0, because the Feedback feature was used.
LUT3 is used to perform the logic operation mentioned in Section 2.2.1 Generate the Waveform for the Letters ‘S’. Its output represents the SS signal and is connected with LUT1 through an event channel.
LUT2 is used to perform the logic operation mentioned in Section 2.2.2 Generate the Waveform for the Letter ‘O’. Its output represents the O signal and is connected with LUT1 through an event channel.
LUT1 is used to perform the logic operation mentioned in Section 2.2.3 Obtain the Waveform for the SOS Message and to output the SOS message on the CNANO board LED. Its inputs are represented by the events generated by LUT2 and LUT3.
The EVSYS is used to interconnect the peripherals.
2.3.2 Step-by-Step Design Implementation Using MCC Follow these steps to generate the project using MCC:
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 10
1. Create a new MPLAB X project for AVR128DA48. 1.1. Open MPLAB X IDE v 5.40. Go to File>New Project.
Figure 2-8. Create New Project
1.2. From the window that appeared on the screen, select Microchip Embedded, followed by Standalone Project, and then click Next. Figure 2-9. New Project – Choose Project
1.3. Select AVR128DA48 from the Device tab and the AVR128DA48 Curiosity Nano (click SN) from the Tool tab. Click Next.
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 11
Figure 2-10. New Project – Select Device
1.4. Select XC8 (v2.20) Compiler and click Next. Figure 2-11. New Project – Select Compiler
1.5. Insert a name for the project and select the location where to be saved. Make sure that Set as main project is checked and click Finish.
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 12
Figure 2-12. New Project – Select Project Name and Folder
2. Open the MCC from the toolbar. If the MCC is not installed, please follow the instructions provided on the Install MPLAB® Code Configurator (MCC) webpage.
Figure 2-13. MCC Icon
3. Add the peripherals and configure them: 3.1. From the Device Resources window, add CCL, EVSYS, TCA0, TCA1, and TCD0. Select the
peripheral to be added and click on the ‘+’ icon. Note: The image shows how to only add the CCL peripheral. Do the same operation for all the peripherals mentioned above.
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 13
The added peripherals can be found in Project Resources>Peripherals. Figure 2-15. Added Peripherals
3.2. Perform the following configuration for each peripheral: • TCD0 Configuration:
– Easy Setup>Hardware Settings:
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 14
Figure 2-16. TCD0-Easy Setup
• Enable TCD check box: checked • Clock Selection: Peripheral Clock • Counter Prescaler: Sync clock divided by 4 • Synchronization Prescaler: Selected Clock Source divided by 8
After the configurations made above, the TCD0 clock will have a frequency of 125 kHz.
Note: The application is using the default clock configuration (Internal High Frequency Oscillator at 4 MHz).
– Registers tab: Figure 2-17. TDC0-Registers-CMPBCLR and CMPBSET
• Compare B Clear: 0xC36 • Compare B Set: 0x61B
The TCD0 will be configured to generate an event every time the counter reaches the value from CMPBSET register. The time difference between two consecutive events is TCD0 clock/CMPBCLR.
Because the events must occur with a frequency of 40 Hz, results that CMPBCLR = TCD0 clock/40 Hz = 0xC36.
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 15
Figure 2-18. TDC0-Registers-CMPB and CMPBEN
• Compare B Value: enabled • Compare B Enable: enabled
After the configurations made above TCD will generate an event every 25 ms. This event will be later connected on this demo with the LUT0, TCA0 and TCA1.
• TCA0 Configuration: – Easy Setup>Hardware Settings:
Figure 2-19. TCA0-Easy Setup-Hardware Settings
• Enable Timer check box: checked • Clock Selection: System Clock • Timer mode: 16 Bit (Normal) • Count direction: Up
– Registers tab: Figure 2-20. TCA0-Registers-PER
• Period: 0x22
In decimal 0x22=34, which is the number of dots from a SOS message period. In this way the TCA0 output will have a resolution of 1 dot.
– Easy Setup>Waveform Generation Settings:
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 16
Figure 2-21. TCA0-Easy Setup-Waveform Generation Settings
• Waveform Generation mode: Dual Slope PWM, overflow on TOP and BOTTOM • Enable check box right next to Channel 0: checked • Duty Cycle right next to Channel 0: 9.00 • Enable check box right next to Channel 1: checked • Duty Cycle right next to Channel 1: 15.00 • Enable check box right next to Channel 2: checked • Duty Cycle right next to Channel 2: 32.00
– Registers tab: Figure 2-22. TCA0-Registers-CTRLC
• Compare Output Value 0: enabled • Compare Output Value 1: enabled • Compare Output Value 1: enabled
Figure 2-23. TCA0-Registers-EVCTRL
• Enable Counter Event Input A: enabled
TCA0 will count every time an event from TCD0 occurs. • TCA1 Configuration:
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 17
– Easy Setup>Hardware Settings: Figure 2-24. TCA1-Easy Setup-Hardware Settings
• Enable Timer check box: checked • Clock Selection: System Clock • Timer mode: 16 Bit (Normal) • Count direction: Up
– Registers tab: Figure 2-25. TCA1-Registers-PER
• Period: 0x22
In decimal 0x22=34, which is the number of dots from a SOS message period. In this way the TCA1 output will have a resolution of 1 dot.
– Easy Setup>Waveform Generation Settings: Figure 2-26. TCA1-Easy Setup-Waveform Generation Settings
• Waveform Generation mode: Dual Slope PWM, overflow on TOP and BOTTOM • Enable check box right next to Channel 0: checked • Duty Cycle right next to Channel 0: 50.00 • Enable check box right next to Channel 1: checked • Duty Cycle right next to Channel 1: 79.00
– Registers tab:
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 18
Figure 2-27. TCA1-Registers-CTRLC
• Compare Output Value 0: enabled • Compare Output Value 1: enabled
Figure 2-28. TCA1-Registers-EVCTRL
• Enable Counter Event Input A: enabled
TCA1 will count every time an event from TCD0 occurs. • CCL Configuration:
The different instances of LUT can be selected from Easy Setup>CCL Settings. Click on the instance to be configured and make sure Enable CCL check box is checked. Figure 2-29. LUT Selection
– Easy Setup>CCL Settings: • LUT0 Configuration:
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 19
Figure 2-30. LUT0 Configuration
– Enable LUT check box: checked – LUT-IN0: FEEDBACK – LUT-IN1: TCA1 – LUT-IN2: EVENTA – Enable LUT-OUT check box: checked – Filter Options: SYNCH – Clock Selection: IN2
The Filter from LUT0 is used in SYNC mode with feedback loop in order to obtain the signal which contains the pattern of letter ‘S’. It divides the frequency of events triggered by TCD0 with a factor of 4.
Figure 2-31. LUT0 Truth Table
– Truth Table: Custom – OUT: (from top to bottom) 00100000
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 20
• LUT1 Configuration: Figure 2-32. LUT1 Configuration
– Enable LUT check box: checked – LUT-IN0: EVENTA – LUT-IN1: EVENTB – LUT-IN2: MASK – Enable LUT-OUT check box: checked – Filter Options: DISABLE – Clock Selection: CLKPER
Figure 2-33. LUT1 Truth Table
– Truth Table: Custom – OUT: (from top to bottom) 10001111
The value of OUT bits is negated because the output of LUT1 will drive the CNANO board LED, which works on invert logic (logic ’0’ - ON, logic ‘1’ - OFF).
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 21
• LUT2 Configuration: Figure 2-34. LUT2 Configuration
– Enable LUT check box: checked – LUT-IN0: TCA0 – LUT-IN1: TCA0 – LUT-IN2: TCA0 – Enable LUT-OUT check box: checked – Filter Options: DISABLE – Clock Selection: CLKPER
Figure 2-35. LUT2 Truth Table
– Truth Table: Custom – OUT: (from top to bottom) 00001001
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 22
• LUT3 Configuration: Figure 2-36. LUT3 Configuration
– Enable LUT check box: checked – LUT-IN0: TCA1 – LUT-IN1: TCA1 – LUT-IN2: EVENTA – Enable LUT-OUT check box: checked – Filter Options: DISABLE – Clock Selection: CLKPER
Figure 2-37. LUT3 Truth Table
– Truth Table: Custom – OUT: (from top to bottom) 00100000
• EVSYS Configuration: – Event Generators:
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 23
Figure 2-38. EVSYS Event Generators
– Event Users • CHANNEL0: CCLLUT0A, TCA0CNTA, TCA1CNTA • CHANNEL1: CCLLUT3A • CHANNEL2: CCLLUT1A • CHANNEL3: CCLLUT1B
Figure 2-39. EVSYS Event Users (1)
Figure 2-40. EVSYS Event Users (2)
4. Go to Pin Manager>Grid View and perform the following configurations: – Set Port A pin 3 (RA3) as output for LUT0 – Set Port C pin 6 (RC6) as output for LUT1 – Set Port D pin 3 (RD3) as output for LUT2
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 24
– Set Port F pin 3 (RF3) as output for LUT3
Figure 2-41. Pin Module CLC
– Set Port A pins 0-2 (RA0-RA2) as output for TCA0 – Set Port B pins 0-2 (RB0-RB2) as output for TCA1 – Set Port A pins 4-7 (RA4-RA7) as output for TCD0
Figure 2-42. Pin Module Timers
Note: The SOS signal will be available on the RC6. The rest of the signals have a correspondent output pin only for debugging.
The output waveforms can be seen in the pictures below. There were captured with a logic analyzer. Figure 2-43. TCA1, LUT0, and LUT3 Output
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 25
Figure 2-44. TCA0 and LUT2 Output
Figure 2-45. SOS Message Waveform
View Code Example on GitHub Click to browse repository
AVR® DA Training Manual Core Independent Example – SOS Sequence ...
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 26
A 08/2020 Initial document release
AVR® DA Training Manual Revision History
© 2020 Microchip Technology Inc. Training Manual DS90003276A-page 27
The Microchip Website Microchip provides online support via our website at www.microchip.com/. This website is used to make files and information easily available to customers. Some of the content available includes:
• Product Support – Data sheets and errata, application notes and sample programs, design resources, user’s guides and hardware support documents, latest software releases and archived software
• General Technical Support – Frequently Asked Questions (FAQs), technical support requests, online discussion groups, Microchip design partner program member listing
• Business of Microchip – Product selector and ordering guides, latest Microchip press releases, listing of seminars and events, listings of Microchip sales offices, distributors and factory representatives
Product Change Notification Service Microchip’s product change notification service helps keep customers current on Microchip products. Subscribers will receive email notification whenever there are changes, updates, revisions or errata related to a specified product family or development tool of interest.
To register, go to www.microchip.com/pcn and follow the registration instructions.
Customer Support Users of Microchip products can receive assistance through several channels:
• Distributor or Representative • Local Sales Office • Embedded Solutions Engineer (ESE) • Technical Support
Customers should contact their distributor, representative or ESE for support. Local sales offices are also available to help customers. A listing of sales offices and locations is included in this document.
Technical support is available through the website at: www.microchip.com/support
Microchip Devices Code Protection Feature Note the following details of the code protection feature on Microchip devices:
• Microchip products meet the specification contained in their particular Microchip Data Sheet. • Microchip believes that its family of products is one of the most secure families of its kind on the market today,
when used in the intended manner and under normal conditions. • There are dishonest and possibly illegal methods used to breach the code protection feature. All of these
methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
• Microchip is willing to work with the customer who is concerned about the integrity of their code. • Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code
protection does not mean that we are guaranteeing the product as “unbreakable.”
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Legal Notice Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with
AVR® DA Training Manual
Trademarks The Microchip name and logo, the Microchip logo, Adaptec, AnyRate, AVR, AVR logo, AVR Freaks, BesTime, BitCloud, chipKIT, chipKIT logo, CryptoMemory, CryptoRF, dsPIC, FlashFlex, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST logo, MPLAB, OptoLyzer, PackeTime, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom, SyncServer, Tachyon, TempTrackr, TimeSource, tinyAVR, UNI/O, Vectron, and XMEGA are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, FlashTec, Hyper Speed Control, HyperLight Load, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus logo, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, Vite, WinPath, and ZL are registered trademarks of Microchip Technology Incorporated in the U.S.A.
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, BlueSky, BodyCom, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM, ECAN, EtherGREEN, In-Circuit Serial Programming, ICSP, INICnet, Inter-Chip Connectivity, JitterBlocker, KleerNet, KleerNet logo, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, SAM-ICE, Serial Quad I/O, SMART-I.S., SQI, SuperSwitcher, SuperSwitcher II, Total Endurance, TSHARC, USBCheck, VariSense, ViewSpan, WiperLock, Wireless DNA, and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.
The Adaptec logo, Frequency on Demand, Silicon Storage Technology, and Symmcom are registered trademarks of Microchip Technology Inc. in other countries.
GestIC is a registered trademark of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip Technology Inc., in other countries.
All other trademarks mentioned herein are property of their respective companies. © 2020, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved.
ISBN: 978-1-5224-6519-5
AVR® DA Training Manual
Australia - Sydney Tel: 61-2-9868-6733 China - Beijing Tel: 86-10-8569-7000 China - Chengdu Tel: 86-28-8665-5511 China - Chongqing Tel: 86-23-8980-9588 China - Dongguan Tel: 86-769-8702-9880 China - Guangzhou Tel: 86-20-8755-8029 China - Hangzhou Tel: 86-571-8792-8115 China - Hong Kong SAR Tel: 852-2943-5100 China - Nanjing Tel: 86-25-8473-2460 China - Qingdao Tel: 86-532-8502-7355 China - Shanghai Tel: 86-21-3326-8000 China - Shenyang Tel: 86-24-2334-2829 China - Shenzhen Tel: 86-755-8864-2200 China - Suzhou Tel: 86-186-6233-1526 China - Wuhan Tel: 86-27-5980-5300 China - Xian Tel: 86-29-8833-7252 China - Xiamen Tel: 86-592-2388138 China - Zhuhai Tel: 86-756-3210040
India - Bangalore Tel: 91-80-3090-4444 India - New Delhi Tel: 91-11-4160-8631 India - Pune Tel: 91-20-4121-0141 Japan - Osaka Tel: 81-6-6152-7160 Japan - Tokyo Tel: 81-3-6880- 3770 Korea - Daegu Tel: 82-53-744-4301 Korea - Seoul Tel: 82-2-554-7200 Malaysia - Kuala Lumpur Tel: 60-3-7651-7906 Malaysia - Penang Tel: 60-4-227-8870 Philippines - Manila Tel: 63-2-634-9065 Singapore Tel: 65-6334-8870 Taiwan - Hsin Chu Tel: 886-3-577-8366 Taiwan - Kaohsiung Tel: 886-7-213-7830 Taiwan - Taipei Tel: 886-2-2508-8600 Thailand - Bangkok Tel: 66-2-694-1351 Vietnam - Ho Chi Minh Tel: 84-28-5448-2100
Austria - Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Denmark - Copenhagen Tel: 45-4485-5910 Fax: 45-4485-2829 Finland - Espoo Tel: 358-9-4520-820 France - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Germany - Garching Tel: 49-8931-9700 Germany - Haan Tel: 49-2129-3766400 Germany - Heilbronn Tel: 49-7131-72400 Germany - Karlsruhe Tel: 49-721-625370 Germany - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Germany - Rosenheim Tel: 49-8031-354-560 Israel - Ra’anana Tel: 972-9-744-7705 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 Italy - Padova Tel: 39-049-7625286 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 Norway - Trondheim Tel: 47-72884388 Poland - Warsaw Tel: 48-22-3325737 Romania - Bucharest Tel: 40-21-407-87-50 Spain - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Sweden - Gothenberg Tel: 46-31-704-60-40 Sweden - Stockholm Tel: 46-8-5090-4654 UK - Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820
Worldwide Sales and Service
1.1. Overview
1.2.1. Logic Functions Examples
2.1. SOS Sequence Morse Code Basics
2.2. SOS Sequence Logic Function Implementation
2.2.1. Generate the Waveform for the Letters ‘S’
2.2.2. Generate the Waveform for the Letter ‘O’
2.2.3. Obtain the Waveform for the SOS Message
2.3. Solution
2.3.2. Step-by-Step Design Implementation Using MCC
3. Revision History
The Microchip Website
Legal Notice

Recommended