{"id":25082,"date":"2019-02-25T11:10:19","date_gmt":"2019-02-25T19:10:19","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=25082"},"modified":"2025-08-18T02:02:29","modified_gmt":"2025-08-18T09:02:29","slug":"oscilloscope-triggers-what-they-didnt-teach-me-in-school","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/oscilloscope-triggers-what-they-didnt-teach-me-in-school\/","title":{"rendered":"Oscilloscope Triggers: What They Didn&#8217;t Teach Me in School."},"content":{"rendered":"<p>When I first started working with <a href=\"https:\/\/digilent.com\/shop\/products\/mixed-signal-oscilloscopes\/\" target=\"_blank\" rel=\"noopener\">oscilloscopes<\/a> at UW Bothell, there were so many parameters and settings that it made me feel unsure about what I should start focusing on first. After a couple lab procedures, I was comfortable with hooking up scope probes, scaling the display appropriately to capture waveforms, and taking measurements. What I didn&#8217;t understand was how the oscilloscope usually displayed a dynamic waveform in a static state. Furthermore, when my lab partner and I had dynamic waveforms that were not being displayed statically, our lab instructor would come by and make a quick adjustment to the knob labeled &#8220;trigger&#8221;, stabilizing the waveform display. Triggers had not been a point of focus in our introductory material, and we all needed help adjusting them from time to time. \u00a0It seemed that most of the students didn&#8217;t know what was really going on with this &#8220;trigger thing&#8221;. So, we learned that sometimes it helped to just push in the trigger knob if our waveform was getting cray-cray on the screen. Really though, we just hoped we would throw the scope leads on our circuit, scale the display screen, and cross our fingers that the trigger didn&#8217;t need to &#8220;get pulled&#8221;. I like to call this the pray and hope method (generally ineffective with technology).<\/p>\n<figure id=\"attachment_25234\" aria-describedby=\"caption-attachment-25234\" style=\"width: 723px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-25234 size-full\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/praying-hands-2535750_960_720.png\" alt=\"\" width=\"723\" height=\"720\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/praying-hands-2535750_960_720.png 723w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/praying-hands-2535750_960_720-150x150.png 150w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/praying-hands-2535750_960_720-600x598.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/praying-hands-2535750_960_720-300x300.png 300w\" sizes=\"auto, (max-width: 723px) 100vw, 723px\" \/><figcaption id=\"caption-attachment-25234\" class=\"wp-caption-text\">The pray and hope method: generally ineffective with technology. Picture from <a href=\"https:\/\/pixabay.com\/en\/praying-hands-faith-hope-pray-2535750\/\">here<\/a>.<\/figcaption><\/figure>\n<p>As an Electrical and Computer intern at Digilent in Seattle, I have been working with the Marketing Team to develop fun and intriguing web-based &#8220;attractions&#8221; for the company and their products and services. After all, things have to be presentable, and that includes waveforms. Because of this, my supervisor gave me the rundown on triggers so I could finally understand what they do and why they are necessary. Now, I am pleased to be able to share that information with you!<\/p>\n<p>The trigger tells your oscilloscope during what event or condition to start the acquisition process, and displays that event or condition at time zero. For basic trigger operation, you adjust the trigger parameters to &#8220;hone-in&#8221; on a stable event for the wave that repeats at a regular interval.\u00a0Below is an example of me trying to capture a pulse width modulation (PWM) waveform on the Waveforms Oscilloscope with only default trigger settings.<\/p>\n<div style=\"width: 735px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]-->\n<video class=\"wp-video-shortcode\" id=\"video-25082-1\" width=\"735\" height=\"395\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/poor-trigger-setting-PWM.mp4?_=1\" \/><a href=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/poor-trigger-setting-PWM.mp4\">https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/poor-trigger-setting-PWM.mp4<\/a><\/video><\/div>\n<p>Notice how the waveform just flies across the display in a way that doesn&#8217;t help with any kind of analysis or measurement. So, I adjusted the trigger level from 0V to 1V, which resulted in the display you can see in the following screen capture. Note: the video also contains me making the adjustment so the first part still shows the previous waveform display.<\/p>\n<div style=\"width: 735px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-25082-2\" width=\"735\" height=\"395\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/improved-trigger-setting-PWM-2.mp4?_=2\" \/><a href=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/improved-trigger-setting-PWM-2.mp4\">https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/improved-trigger-setting-PWM-2.mp4<\/a><\/video><\/div>\n<p>Now, the waveform isn&#8217;t static per se, but that&#8217;s because it is a PWM wave and is dynamic in nature. But, instead of pulses flying around on the screen, the wave is sort of &#8220;locked&#8221; to the rising edge of a pulse, and displays a few periods showing that the width of that pulse is being modulated! I can clearly see how the duty cycle is changing in real time! In this stable condition, I can accurately take measurements and export data.<\/p>\n<p>So, what should you be aware of and comfortable adjusting? After some research, I have found that there are many types of triggers and many ways to customize how they are operating. Advanced trigger options can get really deep, especially digital and logic analyzer triggers, but there are 3 basic parameters that should dramatically help you if you are not already comfortable working with them:<\/p>\n<p><strong>Source:<\/strong> Considering what the trigger is using for the source of its data acquisition is the first step. The trigger may rely on a condition from one of its scope channels or from an external source if necessary. If you have two channels on your scope displaying waveforms, one might be more reliable than the other.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-25205\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/trigger-source-drop-down-2.png\" alt=\"\" width=\"178\" height=\"157\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/trigger-source-drop-down-2.png 178w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/trigger-source-drop-down-2-110x96.png 110w\" sizes=\"auto, (max-width: 178px) 100vw, 178px\" \/><\/p>\n<p><strong>Condition:<\/strong> This parameter tells the trigger what part of the wave to pay attention to when starting data acquisition. The two most commonly used conditions are &#8220;Rising Edge&#8221; and &#8220;Falling Edge.&#8221; What this means is that the trigger will start collecting data when it detects either a positive rate of change or negative rate of change in the wave. Just like sources, one of these edges may prove more reliable than the other.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-25206\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/trigger-condition-drop-down.png\" alt=\"\" width=\"188\" height=\"85\" \/><\/p>\n<p><strong>Level:\u00a0<\/strong>The level parameter tells the trigger what value for the set condition to start taking data. For example: if I had my condition set to rising edge, and I set the level to 1V (like in the previous video examples), the trigger will start taking data on the rising edge of the wave when it reaches 1V. The reason that helped so much with the video examples was because there was a lot more time spent at 0V, more noise at that voltage level, and the wave technically never &#8220;rose&#8221; to 0V, making it a poor choice for a trigger. 1V on the rising edge was a much more reliable and stable condition than at 0V, providing a more comprehensive representation of the waveform.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-25204\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/trigger-level-drop-down.png\" alt=\"\" width=\"179\" height=\"165\" \/><\/p>\n<p>As I mentioned previously, there are many more advanced settings for triggers that may or may not prove to be useful, it just depends on the application and the signal you are working with. Further experience and more complex waveforms can unveil the need to dive deeper into these advanced trigger options. Here is a screen capture of some of the Waveforms Oscilloscope advanced trigger options:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-25235\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/WF-Osc-Trigger-Adv-Settings-Drop-Down.png\" alt=\"\" width=\"1001\" height=\"109\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/WF-Osc-Trigger-Adv-Settings-Drop-Down.png 1001w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/WF-Osc-Trigger-Adv-Settings-Drop-Down-600x65.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/WF-Osc-Trigger-Adv-Settings-Drop-Down-768x84.png 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/WF-Osc-Trigger-Adv-Settings-Drop-Down-800x87.png 800w\" sizes=\"auto, (max-width: 1001px) 100vw, 1001px\" \/><\/p>\n<p>And for a taste, here is a screen capture of some of the Waveforms Logic Analyzer advanced trigger options:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-25246\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/2018-08-06-14_47_55-WaveForms-PWM-from-Arduino-on-WF-Scope.png\" alt=\"\" width=\"1365\" height=\"176\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/2018-08-06-14_47_55-WaveForms-PWM-from-Arduino-on-WF-Scope.png 1365w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/2018-08-06-14_47_55-WaveForms-PWM-from-Arduino-on-WF-Scope-600x77.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/2018-08-06-14_47_55-WaveForms-PWM-from-Arduino-on-WF-Scope-768x99.png 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/2018-08-06-14_47_55-WaveForms-PWM-from-Arduino-on-WF-Scope-1024x132.png 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/2018-08-06-14_47_55-WaveForms-PWM-from-Arduino-on-WF-Scope-800x103.png 800w\" sizes=\"auto, (max-width: 1365px) 100vw, 1365px\" \/><\/p>\n<p>Download<a href=\"https:\/\/digilent.com\/shop\/waveforms-previously-waveforms-2015\/\"> WaveForms<\/a> software for free, and run it in demo mode to experiment with different trigger options and to see for yourself how much the different trigger options can drastically affect the presentation of signals and their data!<\/p>\n<p>Below, I have included a few links to some articles that I consulted for writing this post, and that discuss some of these more advanced parameters and trigger types.<\/p>\n<ol>\n<li><a href=\"https:\/\/www.electronicdesign.com\/technologies\/test-measurement\/article\/21801795\/why-you-should-care-about-oscilloscope-trigger-system-basics\">https:\/\/www.electronicdesign.com\/technologies\/test-measurement\/article\/21801795\/why-you-should-care-about-oscilloscope-trigger-system-basics<\/a><\/li>\n<li><a href=\"http:\/\/www.tmatlantic.com\/encyclopedia\/index.php?ELEMENT_ID=12861\">http:\/\/www.tmatlantic.com\/encyclopedia\/index.php?ELEMENT_ID=12861<\/a><\/li>\n<li><a href=\"https:\/\/www.radio-electronics.com\/info\/t_and_m\/oscilloscope\/oscilloscope-trigger.php\">https:\/\/www.radio-electronics.com\/info\/t_and_m\/oscilloscope\/oscilloscope-trigger.php<\/a><\/li>\n<\/ol>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-25082 jlk' data-task='like' data-post_id='25082' data-nonce='3c15ebf169' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-25082 lc'>+4<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-25082 jlk' data-task='unlike' data-post_id='25082' data-nonce='3c15ebf169' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-25082 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-25082 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Ian provides a rundown on triggers and gives some tips on how to stabilize your waveforms!<\/p>\n","protected":false},"author":49,"featured_media":25206,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4323,4312,1563],"tags":[1736,452],"ppma_author":[4459],"class_list":["post-25082","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","category-usb-scopes-analyzers-generators","category-guide","tag-analog-discovery-2","tag-waveforms"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/08\/trigger-condition-drop-down.png","authors":[{"term_id":4459,"user_id":49,"is_guest":0,"slug":"ian","display_name":"Ian Etheridge","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/8a19055c49586a33bb17b9a5823ac103?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Etheridge","last_name_2":"","first_name":"Ian","first_name_2":"","job_title":"","description":""}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/25082","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=25082"}],"version-history":[{"count":4,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/25082\/revisions"}],"predecessor-version":[{"id":31953,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/25082\/revisions\/31953"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/25206"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=25082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=25082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=25082"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=25082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}