CINXE.COM

How does DMA enable efficient data transfer in microcontrollers?

<!DOCTYPE html> <html lang="en-US"> <head > <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <style type="text/css"> .slide-excerpt { width: 100%; } .slide-excerpt { top: 0; } .slide-excerpt { left: 0; } .flexslider { max-width: 737px; max-height: 400px; } .slide-image { max-height: 400px; } </style> <!-- This site is optimized with the Yoast SEO Premium plugin v24.0 (Yoast SEO v24.4) - https://yoast.com/wordpress/plugins/seo/ --> <title>How does DMA enable efficient data transfer in microcontrollers?</title><style id="perfmatters-used-css">html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0;}main{display:block;}h1{font-size:2em;margin:.67em 0;}a{background-color:transparent;}b,strong{font-weight:bolder;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0;}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText;}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0;}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto;}[type=search]{-webkit-appearance:textfield;outline-offset:-2px;}[type=search]::-webkit-search-decoration{-webkit-appearance:none;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}[hidden],template{display:none;}html,input[type="search"]{box-sizing:border-box;}*,*::before,*::after{box-sizing:inherit;}.author-box::before,.clearfix::before,.entry::before,.entry-content::before,.footer-widgets::before,.nav-primary::before,.nav-secondary::before,.pagination::before,.site-container::before,.site-footer::before,.site-header::before,.site-inner::before,.widget::before,.wrap::before{content:" ";display:table;}.author-box::after,.clearfix::after,.entry::after,.entry-content::after,.footer-widgets::after,.nav-primary::after,.nav-secondary::after,.pagination::after,.site-container::after,.site-footer::after,.site-header::after,.site-inner::after,.widget::after,.wrap::after{clear:both;content:" ";display:table;}html{font-size:62.5%;}body > div{font-size:1.6rem;}body{background-color:#f6f5f2;color:#666;font-family:Raleway,sans-serif;font-size:16px;font-size:1.6rem;font-weight:400;line-height:1.625;}a,button,input:focus,input[type="button"],input[type="reset"],input[type="submit"],textarea:focus,.button{transition:all .1s ease-in-out;}::selection{background-color:#000;color:#fff;}a{color:#db0000;text-decoration:none;}a img{margin-bottom:-4px;}a:focus,a:hover{color:#000;}p{margin:0 0 24px;padding:0;}strong{font-weight:700;}ol,ul{margin:0;padding:0;}h1,h2,h3,h4,h5,h6{color:#000;font-weight:700;line-height:1.2;margin:0 0 16px;}h1{font-size:36px;font-size:3.6rem;}h2{font-size:30px;font-size:3rem;}h3{font-size:24px;font-size:2.4rem;}embed,iframe,img,object,video,.wp-caption{max-width:100%;}img{height:auto;}input,select,textarea{background-color:#fff;border:1px solid #e3e3e3;box-shadow:1px 1px 3px #eee inset;color:#767676;font-size:14px;font-size:1.4rem;padding:16px;width:100%;}input[type="checkbox"],input[type="radio"],input[type="image"]{width:auto;}input:focus,textarea:focus{border:1px solid #999;outline:none;}::-moz-placeholder{color:#767676;opacity:1;}::-webkit-input-placeholder{color:#767676;}button,input[type="button"],input[type="reset"],input[type="submit"],.button,.entry-content .button{background-color:#000;border:none;border-radius:3px;box-shadow:none;color:#fff;cursor:pointer;font-size:14px;font-size:1.4rem;line-height:1;padding:16px;text-transform:uppercase;white-space:normal;width:auto;}button:focus,input:focus[type="button"],input:focus[type="reset"],input:focus[type="submit"],.button:focus,.entry-content .button:focus,button:hover,input:hover[type="button"],input:hover[type="reset"],input:hover[type="submit"],.button:hover,.entry-content .button:hover{background-color:#db0000;color:#fff;}.site-container button:disabled,.site-container button:disabled:hover,.site-container input:disabled,.site-container input:disabled:hover,.site-container input[type="button"]:disabled,.site-container input[type="button"]:disabled:hover,.site-container input[type="reset"]:disabled,.site-container input[type="reset"]:disabled:hover,.site-container input[type="submit"]:disabled,.site-container input[type="submit"]:disabled:hover{background-color:#ddd;border-width:0;color:#565656;cursor:not-allowed;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-results-button{display:none;}.screen-reader-shortcut,.screen-reader-text,.screen-reader-text span{border:0;clip:rect(0,0,0,0);height:1px;overflow:hidden;position:absolute !important;width:1px;word-wrap:normal !important;}.genesis-nav-menu .search input[type="submit"]:focus,.screen-reader-shortcut:focus,.screen-reader-text:focus,.widget_search input[type="submit"]:focus{clip:auto !important;display:block;font-size:1em;font-weight:700;height:auto;padding:20px 23px;text-decoration:none;width:auto;z-index:100000;}.screen-reader-shortcut:focus,.screen-reader-text:focus{background-color:#fff;}.site-container-wrap{background-color:#fff;border:1px solid #e3e3e3;margin:60px auto;max-width:1140px;}.site-inner{clear:both;}.content{float:right;width:778px;}.content-sidebar .content,.content-sidebar-sidebar .content{border-right:1px solid #e3e3e3;float:left;}.sidebar-primary{float:right;width:359px;}.search-form{overflow:hidden;position:relative;}.genesis-nav-menu .search input[type="submit"],.widget_search input[type="submit"]{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;padding:0;position:absolute;right:0;top:0;width:1px;}a.aligncenter img{display:block;margin:0 auto;}img.centered,.aligncenter{display:block;margin:0 auto 20px;}.alignright{float:right;text-align:right;}a.alignleft,a.alignnone,a.alignright{max-width:100%;}a.alignleft,img.alignleft,.wp-caption.alignleft{margin:0 24px 16px 0;}a.alignright,img.alignright,.wp-caption.alignright{margin:0 0 24px 16px;}.entry-title{font-size:36px;font-size:3.6rem;line-height:1;}.entry-title a,.sidebar .widget-title a{color:#000;}.entry-title a:focus,.entry-title a:hover{color:#db0000;}.widget-title{border-top:3px solid #000;border-bottom:1px solid #e3e3e3;color:#000;font-size:14px;font-size:1.4rem;font-weight:400;margin-bottom:24px;padding:16px;text-align:center;text-transform:uppercase;}.widget{word-wrap:break-word;}.featured-content .entry{margin-bottom:20px;padding:0;}.featured-content .entry-title{font-size:20px;font-size:2rem;line-height:1.2;}.featured-content p{margin-bottom:20px;}.genesis-skip-link{margin:0;}.genesis-skip-link li{height:0;width:0;list-style:none;}:focus{color:#333;outline:#ccc solid 1px;}.site-header{background-color:#fff;border-bottom:3px solid #000;}.site-header .wrap{padding:40px 0;}.title-area{float:left;padding-left:40px;width:300px;}.site-title{font-size:48px;font-size:4.8rem;font-weight:700;line-height:1;margin:0;text-transform:uppercase;}.site-title a,.site-title a:focus,.site-title a:hover{color:#000;}.site-description{color:#767676;font-size:16px;font-size:1.6rem;font-weight:400;letter-spacing:2px;line-height:1;margin:10px 0 0;text-transform:uppercase;}.header-image .site-description,.header-image .site-title a{display:block;text-indent:-9999px;}.header-image .site-title a{background-position:top left !important;background-size:contain !important;float:left;min-height:90px;width:100%;}.widget-area{word-wrap:break-word;}.site-header .widget-area{float:right;padding-right:40px;text-align:right;width:800px;}.site-header .widget-area li{list-style-type:none;}.site-header .search-form{float:right;margin-top:24px;}.genesis-nav-menu{clear:both;color:#000;font-size:12px;font-size:1.2rem;font-weight:700;line-height:1.5;width:100%;}.genesis-nav-menu .menu-item{display:inline-block;text-align:left;margin-right:-4px;}.genesis-nav-menu a{border-right:1px solid #e3e3e3;color:#000;display:block;padding:20px 24px;position:relative;}.genesis-nav-menu a:focus,.genesis-nav-menu a:hover,.genesis-nav-menu .current-menu-item > a{background-color:#000;color:#fff;}.genesis-nav-menu > .menu-item > a{text-transform:uppercase;}.genesis-nav-menu .sub-menu{border-top:1px solid #e3e3e3;left:-9999px;opacity:0;position:absolute;transition:opacity .4s ease-in-out;width:200px;z-index:99;}.genesis-nav-menu .sub-menu a{background-color:#fff;border:1px solid #e3e3e3;border-top:none;padding:12px 24px;position:relative;width:200px;}.genesis-nav-menu .sub-menu a:focus,.genesis-nav-menu .sub-menu a:hover,.genesis-nav-menu .sub-menu .current-menu-item > a{background-color:#000;color:#fff;}.genesis-nav-menu .sub-menu .sub-menu{margin:-44px 0 0 199px;}.genesis-nav-menu .menu-item:hover{position:static;}.genesis-nav-menu .menu-item:hover > .sub-menu{left:auto;opacity:1;}.site-header .genesis-nav-menu a{border:none;}.site-header .genesis-nav-menu .sub-menu a{border:1px solid #e3e3e3;border-top:none;}.nav-primary{border-bottom:1px solid #e3e3e3;}.menu .menu-item:focus{position:static;}.menu .menu-item > a:focus + ul.sub-menu,.menu .menu-item.sfHover > ul.sub-menu{left:auto;opacity:1;}.entry{border-bottom:1px solid #e3e3e3;padding:40px;}.entry-content ol,.entry-content p,.entry-content ul,.quote-caption{margin-bottom:26px;}.entry-content ol,.entry-content ul{margin-left:40px;}.entry-content ul > li{list-style-type:disc;}.entry-content ol ol,.entry-content ul ul{margin-bottom:0;}.entry-content .search-form{margin-bottom:40px;width:50%;}.entry-meta{color:#767676;font-size:12px;font-size:1.2rem;text-transform:uppercase;}.entry-header .entry-meta{margin-bottom:24px;}.entry-footer .entry-meta{border-top:1px dotted #e3e3e3;margin:0 -40px;padding:32px 40px 8px;}.entry-categories,.entry-tags{display:block;}.after-entry ol,.after-entry ul,.news-pro-home .content ol,.news-pro-home .content ul,.sidebar ol,.sidebar ul{margin-bottom:12px;}.after-entry li,.news-pro-home .content li,.sidebar li{border-bottom:1px dotted #e3e3e3;list-style-position:inside;margin-bottom:12px;padding-bottom:12px;word-wrap:break-word;}.after-entry ol li:last-child,.after-entry ul li:last-child,.news-pro-home .content ol li:last-child,.news-pro-home .content ul li:last-child,.sidebar ol li:last-child,.sidebar ul li:last-child{border-bottom-width:0;margin-bottom:0;padding-bottom:0;}.after-entry ul > li,.news-pro-home .content ul > li,.sidebar ul > li{list-style-type:none;}.after-entry ul > li::before,.news-pro-home .content ul > li::before,.sidebar ul > li::before{content:"›";font-size:12px;font-size:1.2rem;margin:0 10px;}.after-entry li ol,.after-entry li ul,.news-pro-home .content li ol,.news-pro-home .content li ul,.sidebar li ol,.sidebar li ul{border-top:1px dotted #e3e3e3;margin-bottom:0;margin-top:12px;padding-left:20px;padding-top:12px;}.sidebar .widget{background-color:#fff;border-bottom:1px solid #e3e3e3;padding:20px;}.footer-widgets{background-color:#000;color:#fff;clear:both;padding:40px 40px 16px;}.footer-widgets-1,.footer-widgets-2,.footer-widgets-3,.footer-widgets-4,.footer-widgets-5,.footer-widgets-6{width:160px;}.footer-widgets-1,.footer-widgets-2,.footer-widgets-3,.footer-widgets-4{margin-right:20px;}.footer-widgets-1,.footer-widgets-2,.footer-widgets-3,.footer-widgets-4,.footer-widgets-5{float:left;}.footer-widgets a{color:#fff;}.footer-widgets a:focus,.footer-widgets a:hover{color:#ddd;-webkit-text-decoration:underline #db0000;text-decoration:underline #db0000;}.footer-widgets .widget{margin-bottom:24px;}.footer-widgets .widget-title{border:none;color:#fff;font-weight:700;padding:0;margin-bottom:16px;text-align:left;}.footer-widgets li{list-style-type:none;margin-bottom:6px;word-wrap:break-word;}.footer-widgets .search-form input:focus{border:1px solid #ddd;}.site-footer{background-color:#000;border-top:1px solid #333;color:#999;font-size:14px;font-size:1.4rem;padding:40px 0;text-align:center;}.site-footer a{color:#aaa;}.site-footer a:focus,.site-footer a:hover{color:#ddd;-webkit-text-decoration:underline #db0000;text-decoration:underline #db0000;}.site-footer p{margin-bottom:0;}@media only screen and (max-width: 1188px){.site-container-wrap{max-width:960px;}.content{width:658px;}.site-header .widget-area{width:620px;}.sidebar-primary{width:300px;}.footer-widgets-1,.footer-widgets-2,.footer-widgets-3,.footer-widgets-4,.footer-widgets-5,.footer-widgets-6{width:130px;}.site-title{margin-top:0;}}@media only screen and (max-width: 1023px){.site-container-wrap{max-width:780px;width:96%;}.content,.content-sidebar-sidebar .content,.content-sidebar-sidebar .content-sidebar-wrap,.sidebar-content-sidebar .content,.sidebar-content-sidebar .content-sidebar-wrap,.sidebar-primary,.sidebar-secondary,.sidebar-sidebar-content .content,.sidebar-sidebar-content .content-sidebar-wrap,.site-header .widget-area,.site-inner,.title-area,.wrap{width:100%;}.entry,.entry-comments,.comment-respond{padding:20px;}.footer-widgets-1,.footer-widgets-2,.footer-widgets-3,.footer-widgets-4,.footer-widgets-5,.footer-widgets-6{margin:0;width:33.3333%;}.site-header .title-area,.site-header .widget-area{padding:0;}.site-header .title-area{padding-bottom:16px;}.header-image .site-title a{background-position:top center !important;}.site-header .wrap{padding:20px 0;}.genesis-nav-menu li,.site-header ul.genesis-nav-menu,.site-header .search-form{float:none;}.genesis-nav-menu,.home-top .featured-content .entry-title,.site-description,.site-header .search-form,.site-header .title-area,.site-header .widget-area,.site-title{text-align:center;}.genesis-nav-menu a,.genesis-nav-menu > .first > a,.genesis-nav-menu > .last > a{border:none;padding:12px;}.site-container-wrap,.site-header .search-form{margin:16px auto;}.content{border:none;}.site-footer{padding:24px;}.content-sidebar .content,.content-sidebar-sidebar .content,.sidebar-sidebar-content .sidebar-primary{border:none;}}@media only screen and (max-width: 600px){.five-sixths,.footer-widgets-1,.footer-widgets-2,.footer-widgets-3,.footer-widgets-4,.footer-widgets-5,.footer-widgets-6,.four-sixths,.home-middle-left,.home-middle-right,.one-fourth,.one-half,.one-sixth,.one-third,.three-fourths,.three-sixths,.two-fourths,.two-sixths,.two-thirds{margin:0;width:100%;}.header-image .site-header .site-title a{background-size:contain !important;}.entry-title{font-size:26px;font-size:2.6rem;}}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none;}:where(.wp-block-columns){margin-bottom:1.75em;}:where(.wp-block-columns.has-background){padding:1.25em 2.375em;}:where(.wp-block-post-comments input[type=submit]){border:none;}:where(.wp-block-cover-image:not(.has-text-color)),:where(.wp-block-cover:not(.has-text-color)){color:#fff;}:where(.wp-block-cover-image.is-light:not(.has-text-color)),:where(.wp-block-cover.is-light:not(.has-text-color)){color:#000;}.wp-block-embed.alignleft,.wp-block-embed.alignright,.wp-block[data-align=left]>[data-type="core/embed"],.wp-block[data-align=right]>[data-type="core/embed"]{max-width:360px;width:100%;}.wp-block-embed.alignleft .wp-block-embed__wrapper,.wp-block-embed.alignright .wp-block-embed__wrapper,.wp-block[data-align=left]>[data-type="core/embed"] .wp-block-embed__wrapper,.wp-block[data-align=right]>[data-type="core/embed"] .wp-block-embed__wrapper{min-width:280px;}.wp-block-cover .wp-block-embed{min-height:240px;min-width:320px;}.wp-block-embed{overflow-wrap:break-word;}.wp-block-embed figcaption{margin-bottom:1em;margin-top:.5em;}.wp-block-embed iframe{max-width:100%;}.wp-block-embed__wrapper{position:relative;}.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper:before{content:"";display:block;padding-top:50%;}.wp-embed-responsive .wp-has-aspect-ratio iframe{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;}.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before{padding-top:42.85%;}.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper:before{padding-top:50%;}.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper:before{padding-top:56.25%;}.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper:before{padding-top:75%;}.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper:before{padding-top:100%;}.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper:before{padding-top:177.77%;}.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper:before{padding-top:200%;}:where(.wp-block-file){margin-bottom:1.5em;}:where(.wp-block-file__button){border-radius:2em;display:inline-block;padding:.5em 1em;}:where(.wp-block-file__button):is(a):active,:where(.wp-block-file__button):is(a):focus,:where(.wp-block-file__button):is(a):hover,:where(.wp-block-file__button):is(a):visited{box-shadow:none;color:#fff;opacity:.85;text-decoration:none;}@keyframes turn-on-visibility{0%{opacity:0;}to{opacity:1;}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible;}99%{opacity:0;visibility:visible;}to{opacity:0;visibility:hidden;}}@keyframes lightbox-zoom-in{0%{left:var(--lightbox-initial-left-position);top:var(--lightbox-initial-top-position);transform:scale(var(--lightbox-scale-width),var(--lightbox-scale-height));}to{left:var(--lightbox-target-left-position);top:var(--lightbox-target-top-position);transform:scale(1);}}@keyframes lightbox-zoom-out{0%{left:var(--lightbox-target-left-position);top:var(--lightbox-target-top-position);transform:scale(1);visibility:visible;}99%{visibility:visible;}to{left:var(--lightbox-initial-left-position);top:var(--lightbox-initial-top-position);transform:scale(var(--lightbox-scale-width),var(--lightbox-scale-height));}}:where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment)){line-height:1.1;}:where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment-excerpt p)){line-height:1.8;}ol,ul{box-sizing:border-box;}:where(.wp-block-navigation.has-background .wp-block-navigation-item a:not(.wp-element-button)),:where(.wp-block-navigation.has-background .wp-block-navigation-submenu a:not(.wp-element-button)){padding:.5em 1em;}:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu a:not(.wp-element-button)),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu button.wp-block-navigation-item__content),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-pages-list__item button.wp-block-navigation-item__content){padding:.5em 1em;}@keyframes overlay-menu__fade-in-animation{0%{opacity:0;transform:translateY(.5em);}to{opacity:1;transform:translateY(0);}}:where(p.has-text-color:not(.has-link-color)) a{color:inherit;}:where(.wp-block-post-excerpt){margin-bottom:var(--wp--style--block-gap);margin-top:var(--wp--style--block-gap);}:where(.wp-block-pullquote){margin:0 0 1em;}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px;}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;box-sizing:border-box;padding:4px;}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px;}:where(.wp-block-term-description){margin-bottom:var(--wp--style--block-gap);margin-top:var(--wp--style--block-gap);}:where(pre.wp-block-verse){font-family:inherit;}.editor-styles-wrapper,.entry-content{counter-reset:footnotes;}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px;}.aligncenter{clear:both;}.screen-reader-text{clip:rect(1px,1px,1px,1px);word-wrap:normal !important;border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;}.screen-reader-text:focus{clip:auto !important;background-color:#ddd;-webkit-clip-path:none;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000;}html :where(.has-border-color){border-style:solid;}html :where([style*=border-top-color]){border-top-style:solid;}html :where([style*=border-right-color]){border-right-style:solid;}html :where([style*=border-bottom-color]){border-bottom-style:solid;}html :where([style*=border-left-color]){border-left-style:solid;}html :where([style*=border-width]){border-style:solid;}html :where([style*=border-top-width]){border-top-style:solid;}html :where([style*=border-right-width]){border-right-style:solid;}html :where([style*=border-bottom-width]){border-bottom-style:solid;}html :where([style*=border-left-width]){border-left-style:solid;}html :where(img[class*=wp-image-]){height:auto;max-width:100%;}:where(figure){margin:0 0 1em;}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px);}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px;}}#prestitial{height:100vh;text-align:center;z-index:99999;position:relative;}#prestitial-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-size:cover;background-repeat:no-repeat;background-position:center center;z-index:-9999999;display:none;background:-webkit-gradient(linear,left top,left bottom,from(gray),to(lightgray));background:linear-gradient(gray,lightgray);}.prestitial-logo{grid-area:headerlogo;margin-top:20px;margin-left:20px;text-align:left;}#prestitial-banner{grid-area:banner;}.close-cta{font-family:"Open Sans",sans-serif;text-transform:uppercase;font-size:122%;font-weight:bold;text-align:right;color:black;cursor:pointer;grid-area:headercta;margin-top:20px;margin-right:20px;}@media (max-width: 480px){.close-cta{margin-top:10px;margin-bottom:10px;}}@media (min-width: 768px){#prestitial-grid{display:grid;grid-template-columns:121px auto auto 121px;grid-template-rows:150px auto;grid-template-areas:"headerlogo headerlogo headercta headercta" "blank banner banner otherblank";}}@media screen and (min-width: 1181px){body .extendedwopts-hide.extendedwopts-desktop{display:none !important;}}@media screen and (max-width: 1024px) and (orientation: Portrait){body .extendedwopts-hide.extendedwopts-tablet{display:none !important;}}@media screen and (max-width: 1180px) and (orientation: landscape){body .extendedwopts-hide.extendedwopts-tablet{display:none !important;}}@media screen and (max-width: 767px) and (orientation: Portrait){body .extendedwopts-hide.extendedwopts-tablet:not(.extendedwopts-mobile){display:block !important;}body .extendedwopts-hide.extendedwopts-mobile{display:none !important;}}@media screen and (max-width: 991px) and (orientation: landscape){body .extendedwopts-hide.extendedwopts-tablet:not(.extendedwopts-mobile){display:block !important;}body .extendedwopts-hide.extendedwopts-mobile{display:none !important;}}.addtoany_content{clear:both;margin:16px auto;}.addtoany_list{display:inline;line-height:16px;}.a2a_kit a:empty,.a2a_kit a[class^="a2a_button_"]:has(.a2a_s_undefined){display:none;}.addtoany_list a,.widget .addtoany_list a{border:0;box-shadow:none;display:inline-block;font-size:16px;padding:0 4px;vertical-align:middle;}.addtoany_list a img{border:0;display:inline-block;opacity:1;overflow:hidden;vertical-align:baseline;}.addtoany_list a span{display:inline-block;float:none;}.addtoany_list.a2a_kit_size_32 a{font-size:32px;}.addtoany_list.a2a_kit_size_32 a:not(.addtoany_special_service)>span{height:32px;line-height:32px;width:32px;}.addtoany_list a:not(.addtoany_special_service)>span{border-radius:4px;display:inline-block;opacity:1;}.site .a2a_kit.addtoany_list a:focus,.addtoany_list a:hover,.widget .addtoany_list a:hover{background:none;border:0;box-shadow:none;}.addtoany_list a:hover img,.addtoany_list a:hover span{opacity:.7;}</style> <meta name="description" content="DMA enables the CPU to perform other high-priority tasks and ensures faster data transfers in the background." /> <link rel="canonical" href="https://www.microcontrollertips.com/how-does-dma-enable-efficient-data-transfer-in-microcontrollers/" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="How does DMA enable efficient data transfer in microcontrollers?" /> <meta name="twitter:description" content="DMA enables the CPU to perform other high-priority tasks and ensures faster data transfers in the background." /> <meta name="twitter:image" content="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Featured-Image.jpeg" /> <meta name="twitter:creator" content="@MicroContrlTips" /> <meta name="twitter:site" content="@MicroContrlTips" /> <meta name="twitter:label1" content="Written by" /> <meta name="twitter:data1" content="Rakesh Kumar" /> <meta name="twitter:label2" content="Est. reading time" /> <meta name="twitter:data2" content="5 minutes" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.microcontrollertips.com/how-does-dma-enable-efficient-data-transfer-in-microcontrollers/","url":"https://www.microcontrollertips.com/how-does-dma-enable-efficient-data-transfer-in-microcontrollers/","name":"How does DMA enable efficient data transfer in microcontrollers?","isPartOf":{"@id":"https://www.microcontrollertips.com/#website"},"primaryImageOfPage":{"@id":"https://www.microcontrollertips.com/how-does-dma-enable-efficient-data-transfer-in-microcontrollers/#primaryimage"},"image":{"@id":"https://www.microcontrollertips.com/how-does-dma-enable-efficient-data-transfer-in-microcontrollers/#primaryimage"},"thumbnailUrl":"https://www.microcontrollertips.com/wp-content/uploads/2024/09/Featured-Image.jpeg","datePublished":"2024-09-27T15:09:48+00:00","dateModified":"2024-09-30T20:32:14+00:00","author":{"@id":"https://www.microcontrollertips.com/#/schema/person/04e2ca29e433922bcdc37fce8520b9a2"},"description":"DMA enables the CPU to perform other high-priority tasks and ensures faster data transfers in the background.","breadcrumb":{"@id":"https://www.microcontrollertips.com/how-does-dma-enable-efficient-data-transfer-in-microcontrollers/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://www.microcontrollertips.com/how-does-dma-enable-efficient-data-transfer-in-microcontrollers/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.microcontrollertips.com/how-does-dma-enable-efficient-data-transfer-in-microcontrollers/#primaryimage","url":"https://www.microcontrollertips.com/wp-content/uploads/2024/09/Featured-Image.jpeg","contentUrl":"https://www.microcontrollertips.com/wp-content/uploads/2024/09/Featured-Image.jpeg","width":740,"height":400},{"@type":"BreadcrumbList","@id":"https://www.microcontrollertips.com/how-does-dma-enable-efficient-data-transfer-in-microcontrollers/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.microcontrollertips.com/"},{"@type":"ListItem","position":2,"name":"How does DMA enable efficient data transfer in microcontrollers?"}]},{"@type":"WebSite","@id":"https://www.microcontrollertips.com/#website","url":"https://www.microcontrollertips.com/","name":"Microcontroller Tips","description":"Microcontroller engineering resources, new microcontroller products and electronics engineering news","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.microcontrollertips.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https://www.microcontrollertips.com/#/schema/person/04e2ca29e433922bcdc37fce8520b9a2","name":"WTWH Editor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.microcontrollertips.com/#/schema/person/image/","url":"https://secure.gravatar.com/avatar/2c07597082f845049ad34791d8540d76?s=96&d=mm&r=g","contentUrl":"https://secure.gravatar.com/avatar/2c07597082f845049ad34791d8540d76?s=96&d=mm&r=g","caption":"WTWH Editor"},"url":""}]}</script> <!-- / Yoast SEO Premium plugin. --> <link rel='dns-prefetch' href='//static.addtoany.com' /> <link rel='dns-prefetch' href='//kit.fontawesome.com' /> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel="alternate" type="application/rss+xml" title="Microcontroller Tips &raquo; Feed" href="https://www.microcontrollertips.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="Microcontroller Tips &raquo; Comments Feed" href="https://www.microcontrollertips.com/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="Microcontroller Tips &raquo; How does DMA enable efficient data transfer in microcontrollers? Comments Feed" href="https://www.microcontrollertips.com/how-does-dma-enable-efficient-data-transfer-in-microcontrollers/feed/" /> <link rel="stylesheet" id="news-pro-css" href="https://www.microcontrollertips.com/wp-content/themes/news-pro/style.css?ver=3.2.3" type="text/css" media="print" onload="this.media=&#039;all&#039;;this.onload=null;"> <link rel="stylesheet" id="wp-block-library-css" href="https://www.microcontrollertips.com/wp-includes/css/dist/block-library/style.min.css?ver=6.7.2" type="text/css" media="print" onload="this.media=&#039;all&#039;;this.onload=null;"> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <link rel='stylesheet' id='google-fonts-css' href='//fonts.googleapis.com/css?family=Raleway%3A400%2C700&#038;ver=3.2.3' type='text/css' media='all' /> <style id='akismet-widget-style-inline-css' type='text/css'> .a-stats { --akismet-color-mid-green: #357b49; --akismet-color-white: #fff; --akismet-color-light-grey: #f6f7f7; max-width: 350px; width: auto; } .a-stats * { all: unset; box-sizing: border-box; } .a-stats strong { font-weight: 600; } .a-stats a.a-stats__link, .a-stats a.a-stats__link:visited, .a-stats a.a-stats__link:active { background: var(--akismet-color-mid-green); border: none; box-shadow: none; border-radius: 8px; color: var(--akismet-color-white); cursor: pointer; display: block; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen-Sans', 'Ubuntu', 'Cantarell', 'Helvetica Neue', sans-serif; font-weight: 500; padding: 12px; text-align: center; text-decoration: none; transition: all 0.2s ease; } /* Extra specificity to deal with TwentyTwentyOne focus style */ .widget .a-stats a.a-stats__link:focus { background: var(--akismet-color-mid-green); color: var(--akismet-color-white); text-decoration: none; } .a-stats a.a-stats__link:hover { filter: brightness(110%); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06), 0 0 2px rgba(0, 0, 0, 0.16); } .a-stats .count { color: var(--akismet-color-white); display: block; font-size: 1.5em; line-height: 1.4; padding: 0 13px; white-space: nowrap; } </style> <link rel="stylesheet" id="addtoany-css" href="https://www.microcontrollertips.com/wp-content/plugins/add-to-any/addtoany.min.css?ver=1.16" type="text/css" media="print" onload="this.media=&#039;all&#039;;this.onload=null;"> <link rel="stylesheet" id="wtwh-uni-gam-prestitial-style-css" href="https://www.microcontrollertips.com/wp-content/plugins/wtwh-universal-gam/assets/css/frontend/prestitial/prestitial.css?ver=1.1.1" type="text/css" media="print" onload="this.media=&#039;all&#039;;this.onload=null;"> <link rel="stylesheet" id="slider_styles-css" href="https://www.microcontrollertips.com/wp-content/plugins/genesis-responsive-slider/assets/style.css?ver=1.0.1" type="text/css" media="print" onload="this.media=&#039;all&#039;;this.onload=null;"> <script type="text/javascript" id="addtoany-core-js-before"> /* <![CDATA[ */ window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={}; a2a_config.track_links = 'bitly'; a2a_config.track_links_key = 'addtoany|R_cc6a4017b0274d1d86f2397771b70136'; // username|API key delimited by | a2a_config.templates = { twitter: "${title} ${link} @MicroContrlTips" }; /* ]]> */ </script> <script type="text/javascript" defer src="https://static.addtoany.com/menu/page.js" id="addtoany-core-js"></script> <script type="text/javascript" src="https://www.microcontrollertips.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" defer src="https://www.microcontrollertips.com/wp-content/plugins/add-to-any/addtoany.min.js?ver=1.1" id="addtoany-jquery-js"></script> <script type="text/javascript" src="https://kit.fontawesome.com/371676a4da.js?ver=1.1.1" id="wtwh-uni-gam-prestitial-font-awesome-js"></script> <link rel="https://api.w.org/" href="https://www.microcontrollertips.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.microcontrollertips.com/wp-json/wp/v2/posts/15570" /><link href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABmJLR0T///////8JWPfcAAAACXBIWXMAAABIAAAASABGyWs+AAAAF0lEQVRIx2NgGAWjYBSMglEwCkbBSAcACBAAAeaR9cIAAAAASUVORK5CYII=" rel="icon" type="image/x-icon" /><!-- Google Tag Manager for Global Container--> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MMC9PJ9');</script> <!-- End Google Tag Manager --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KZX8HNL');</script> <!-- End Google Tag Manager end here --> <style type="text/css">.site-title a { background: url(/wp-content/uploads/2016/11/2016-microcontroller-logo-2.png) no-repeat !important; }</style> <style type="text/css"> body[class^="guest-author"] a[href=''] { pointer-events: none; color: inherit; text-decoration: inherit; } </style> <link rel="icon" href="https://www.microcontrollertips.com/wp-content/uploads/2016/11/cropped-favicon-512x512-1-32x32.png" sizes="32x32" /> <link rel="icon" href="https://www.microcontrollertips.com/wp-content/uploads/2016/11/cropped-favicon-512x512-1-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.microcontrollertips.com/wp-content/uploads/2016/11/cropped-favicon-512x512-1-180x180.png" /> <meta name="msapplication-TileImage" content="https://www.microcontrollertips.com/wp-content/uploads/2016/11/cropped-favicon-512x512-1-270x270.png" /> <style type="text/css" id="wp-custom-css"> /*** MOBILE SLIDER TITLE ***/ @media only screen and (max-width: 600px) { .slide-excerpt { display: block !important; } } @media only screen and (max-width: 600px) { h2 { font-size: 18px; } } /*** LYTICS IMAGE RESIZE ***/ .pf-widget.pf-widget-variant-2.image-widget, .pf-widget-img { border-radius: 0px !important; width: 100% !important; height: auto !important; top: 0px !important; left: 0px !important; margin: 0px !important; } .pf-widget.pf-widget-variant-2.image-widget, .pf-widget-content, .pf-widget-headline { margin-top: 100px; } .pf-widget.pf-widget-variant-2.image-widget .pf-widget-img { z-index: 0; } .pf-widget.image-widget, .pf-widget-close { color: white !important; z-index: 1; } /*** END LYTICS IMAGE RESIZE ***/ /*EE Classrooms Drop Down Menu*/ .motion-design-guides { font-size: 14px; font-family: Raleway, sans-serif; width: 270px; height: 50px; text-align: center; text-align-last: center; -moz-text-align-last: center; border-radius: 0px; background-color: white; color: #000; border-top: 3px solid #000; border-left: none; border-right: none; border-bottom: 1px solid #e3e3e3; text-transform: uppercase; white-space: wrap; } .motion-design-guide-option { text-align: center; text-align-last: center; -moz-text-align-last: center; text-transform: uppercase; width: 270px; white-space: wrap; } /* THREE FOOTERS */ .footer-widgets-1, .footer-widgets-2, .footer-widgets-3 { width: 330px !important; } @media only screen and (min-width: 970px) { #genesis-footer-widgets > div { display: flex; flex-direction: row; justify-content: space-evenly !important; } } .dropbtn { background-color: #04AA6D; color: white; padding: 16px; font-size: 16px; border: none; } .dropdown { display: inline-block; } .dropdown-content { display: none; position: absolute; background-color: #f1f1f1; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; } .dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; } .dropdown-content a:hover {background-color: #ddd;} .dropdown:hover .dropdown-content {display: block;} .dropdown:hover .dropbtn {background-color: #3e8e41;} /*Design Guide Drop Down Menu*/ .motion-design-guides { font-size: 14px; font-family: Raleway, sans-serif; width: 270px; height: 50px; text-align: center; text-align-last: center; -moz-text-align-last: center; border-radius: 0px; background-color: white; color: #000; border-top: 3px solid #000; border-left: none; border-right: none; border-bottom: 1px solid #e3e3e3; text-transform: uppercase; white-space: wrap; } .motion-design-guide-option { text-align: center; text-align-last: center; -moz-text-align-last: center; text-transform: uppercase; width: 270px; white-space: wrap; } .motion-design-guides:after { content: ""; border: solid #000; border-width: 0 2px 2px 0; margin-left: 30px; margin-bottom: 3px; display: inline-block; padding: 2.5px; transform: rotate(45deg); -webkit-transform: rotate(45deg); } #algolia-powered-by { display:none; } /*** FEATURED CONTRIBUTIONS ***/ #featured-post-5 h4.entry-title { font-size: 15px; } /* Search Page */ body.search .site-inner { padding-left: unset; padding-right: unset; } </style> <script async id="wtwh-uni-gam-ad-manager-lib" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script id="wtwh-uni-gam-keyword-ads-variables">var KEYWORDADS = {"hasKeywordAds":0};</script> <script id="wtwh-uni-gam-ott-variables">var OTTINFO = { "hasOTT":0, "name":"", "prestital_behavior":"", "jumbo_banner_behavior":"" };</script> <script id="wtwh-uni-gam-ad-units"> window.googletag = window.googletag || {cmd: []}; googletag.cmd.push(function() { googletag .defineSlot( '/5272491/ee_network/microcontroller_header', [[728, 90],[300, 250]], 'div-gpt-microcontroller-header' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [728, 90]) .addSize([768, 0], [728, 90]) .addSize([320, 0], [300, 250]) .addSize([0, 0], [300, 250]) .build() ) .setTargeting( 'articletitle', ['how-does-dma-enable-efficient-data-transfer-in-microcontrollers'] ) .setTargeting( 'cat_target', ['c4ab673a46cfa65dcd206bd8e9879f0e,faq,featured,ros'] ) .setTargeting( 'contentHash', ['c4ab673a46cfa65dcd206bd8e9879f0e'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/ee_network/microcontroller_wallpaper', [1, 1], 'div-gpt-microcontroller_wallpaper' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [1, 1]) .addSize([768, 0], [1, 1]) .addSize([320, 0], [1, 1]) .addSize([0, 0], [1, 1]) .build() ) .setTargeting( 'articletitle', ['how-does-dma-enable-efficient-data-transfer-in-microcontrollers'] ) .setTargeting( 'cat_target', ['c4ab673a46cfa65dcd206bd8e9879f0e,faq,featured,ros'] ) .setTargeting( 'contentHash', ['c4ab673a46cfa65dcd206bd8e9879f0e'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/ee_network/microcontroller_allstreamflex', [1, 1], 'div-gpt-microcontroller_allstreamflex' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [1, 1]) .addSize([768, 0], [1, 1]) .addSize([320, 0], [1, 1]) .addSize([0, 0], [1, 1]) .build() ) .setTargeting( 'articletitle', ['how-does-dma-enable-efficient-data-transfer-in-microcontrollers'] ) .setTargeting( 'cat_target', ['c4ab673a46cfa65dcd206bd8e9879f0e,faq,featured,ros'] ) .setTargeting( 'contentHash', ['c4ab673a46cfa65dcd206bd8e9879f0e'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/ee_network/microcontroller_allstreamprelude', [1, 1], 'div-gpt-microcontroller_allstreamprelude' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [1, 1]) .addSize([768, 0], [1, 1]) .addSize([320, 0], [1, 1]) .addSize([0, 0], [1, 1]) .build() ) .setTargeting( 'articletitle', ['how-does-dma-enable-efficient-data-transfer-in-microcontrollers'] ) .setTargeting( 'cat_target', ['c4ab673a46cfa65dcd206bd8e9879f0e,faq,featured,ros'] ) .setTargeting( 'contentHash', ['c4ab673a46cfa65dcd206bd8e9879f0e'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/ee_network/microcontroller_sidebar1', [[300, 250],[300, 600]], 'div-gpt-microcontroller_sidebar1' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [[300, 250],[300, 600]]) .addSize([768, 0], [[300, 250],[300, 600]]) .addSize([320, 0], [300, 250]) .addSize([0, 0], [300, 250]) .build() ) .setTargeting( 'articletitle', ['how-does-dma-enable-efficient-data-transfer-in-microcontrollers'] ) .setTargeting( 'cat_target', ['c4ab673a46cfa65dcd206bd8e9879f0e,faq,featured,ros'] ) .setTargeting( 'contentHash', ['c4ab673a46cfa65dcd206bd8e9879f0e'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/ee_network/microcontroller_sidebarbottom', [[300, 250],[300, 600]], 'div-gpt-microcontroller_sidebarbottom' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [[300, 250],[300, 600]]) .addSize([768, 0], [[300, 250],[300, 600]]) .addSize([320, 0], [300, 250]) .addSize([0, 0], [300, 250]) .build() ) .setTargeting( 'articletitle', ['how-does-dma-enable-efficient-data-transfer-in-microcontrollers'] ) .setTargeting( 'cat_target', ['c4ab673a46cfa65dcd206bd8e9879f0e,faq,featured,ros'] ) .setTargeting( 'contentHash', ['c4ab673a46cfa65dcd206bd8e9879f0e'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/ee_network/microcontroller_prestitial', [[640, 480],[300, 225]], 'gam-holder-prestitial-banner' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [640, 480]) .addSize([768, 0], [640, 480]) .addSize([320, 0], [300, 225]) .addSize([0, 0], [300, 225]) .build() ) .setTargeting( 'articletitle', ['how-does-dma-enable-efficient-data-transfer-in-microcontrollers'] ) .setTargeting( 'cat_target', ['c4ab673a46cfa65dcd206bd8e9879f0e,faq,featured,ros'] ) .setTargeting( 'contentHash', ['c4ab673a46cfa65dcd206bd8e9879f0e'] ) .addService( googletag.pubads() ); googletag .defineSlot( '/5272491/ee_network/microcontroller_largeleader', [[970, 90],[970, 250]], 'div-gpt-microcontroller_largeleader' ) .defineSizeMapping( googletag .sizeMapping() .addSize([991, 0], [[970, 90],[970, 250]]) .addSize([768, 0], [[970, 90],[970, 250]]) .addSize([320, 0], [0, 0]) .addSize([0, 0], [0, 0]) .build() ) .setTargeting( 'articletitle', ['how-does-dma-enable-efficient-data-transfer-in-microcontrollers'] ) .setTargeting( 'cat_target', ['c4ab673a46cfa65dcd206bd8e9879f0e,faq,featured,ros'] ) .setTargeting( 'contentHash', ['c4ab673a46cfa65dcd206bd8e9879f0e'] ) .addService( googletag.pubads() ); // googletag.pubads().enableSingleRequest(); googletag.pubads().collapseEmptyDivs(); googletag.enableServices(); }); </script> <script id="wtwh-uni-gam-content-hash-variables"> var contentHash = "c4ab673a46cfa65dcd206bd8e9879f0e"; var cat_target = "c4ab673a46cfa65dcd206bd8e9879f0e,faq,featured,ros"; </script> <noscript><style>.perfmatters-lazy[data-src]{display:none !important;}</style></noscript><style>.perfmatters-lazy-youtube{position:relative;width:100%;max-width:100%;height:0;padding-bottom:56.23%;overflow:hidden}.perfmatters-lazy-youtube img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;max-width:100%;height:auto;margin:auto;border:none;cursor:pointer;transition:.5s all;-webkit-transition:.5s all;-moz-transition:.5s all}.perfmatters-lazy-youtube img:hover{-webkit-filter:brightness(75%)}.perfmatters-lazy-youtube .play{position:absolute;top:50%;left:50%;right:auto;width:68px;height:48px;margin-left:-34px;margin-top:-24px;background:url(https://www.microcontrollertips.com/wp-content/plugins/perfmatters/img/youtube.svg) no-repeat;background-position:center;background-size:cover;pointer-events:none;filter:grayscale(1)}.perfmatters-lazy-youtube:hover .play{filter:grayscale(0)}.perfmatters-lazy-youtube iframe{position:absolute;top:0;left:0;width:100%;height:100%;z-index:99}.perfmatters-lazy.pmloaded,.perfmatters-lazy.pmloaded>img,.perfmatters-lazy>img.pmloaded,.perfmatters-lazy[data-ll-status=entered]{animation:500ms pmFadeIn}@keyframes pmFadeIn{0%{opacity:0}100%{opacity:1}}body .perfmatters-lazy-css-bg:not([data-ll-status=entered]),body .perfmatters-lazy-css-bg:not([data-ll-status=entered]) *,body .perfmatters-lazy-css-bg:not([data-ll-status=entered])::before,body .perfmatters-lazy-css-bg:not([data-ll-status=entered])::after,body .perfmatters-lazy-css-bg:not([data-ll-status=entered]) *::before,body .perfmatters-lazy-css-bg:not([data-ll-status=entered]) *::after{background-image:none!important;will-change:transform;transition:opacity 0.025s ease-in,transform 0.025s ease-in!important;}</style></head> <body class="post-template-default single single-post postid-15570 single-format-standard custom-header header-image content-sidebar genesis-breadcrumbs-hidden genesis-footer-widgets-visible news-pro-blue guest-author-2.5"> <!-- xyzzy top --> <div id="prestitial" class="prestitial-no-show" style="opacity: 0;"> <div id="prestitial-overlay"></div> <div id="prestitial-grid"></div> </div> <div class="site-container"><ul class="genesis-skip-link"><li><a href="#genesis-nav-primary" class="screen-reader-shortcut"> Skip to primary navigation</a></li><li><a href="#genesis-content" class="screen-reader-shortcut"> Skip to main content</a></li><li><a href="#genesis-sidebar-primary" class="screen-reader-shortcut"> Skip to primary sidebar</a></li><li><a href="#genesis-footer-widgets" class="screen-reader-shortcut"> Skip to footer</a></li></ul><div class="site-container-wrap"><header class="site-header"><div class="wrap"><div class="title-area"><p class="site-title"><a href="https://www.microcontrollertips.com/">Microcontroller Tips</a></p><p class="site-description">Microcontroller engineering resources, new microcontroller products and electronics engineering news</p></div><div class="widget-area header-widget-area"><section id="text-15" class="widget widget_text"><div class="widget-wrap"> <div class="textwidget"><div id='div-gpt-microcontroller-header'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-microcontroller-header'); }); </script> </div></div> </div></section> <section id="search-2" class="widget widget_search"><div class="widget-wrap"><form class="search-form" method="get" action="https://www.microcontrollertips.com/" role="search"><label class="search-form-label screen-reader-text" for="searchform-1">Search this website</label><input class="search-form-input" type="search" name="s" id="searchform-1" placeholder="Search this website"><input class="search-form-submit" type="submit" value="Search"><meta content="https://www.microcontrollertips.com/?s={s}"></form></div></section> </div></div></header><nav class="nav-primary" aria-label="Main" id="genesis-nav-primary"><div class="wrap"><ul id="menu-main-menu" class="menu genesis-nav-menu menu-primary js-superfish"><li id="menu-item-18" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-18"><a href="https://www.microcontrollertips.com/category/products/"><span >Products</span></a> <ul class="sub-menu"> <li id="menu-item-22" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-22"><a href="https://www.microcontrollertips.com/category/products/8bit/"><span >8-bit</span></a></li> <li id="menu-item-19" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-19"><a href="https://www.microcontrollertips.com/category/products/16bit/"><span >16-bit</span></a></li> <li id="menu-item-20" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-20"><a href="https://www.microcontrollertips.com/category/products/32bit/"><span >32-bit</span></a></li> <li id="menu-item-21" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-21"><a href="https://www.microcontrollertips.com/category/products/64bit/"><span >64-bit</span></a></li> </ul> </li> <li id="menu-item-11" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-11"><a href="https://www.microcontrollertips.com/category/applications/"><span >Applications</span></a> <ul class="sub-menu"> <li id="menu-item-14991" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-14991"><a href="https://www.microcontrollertips.com/category/applications/5g/"><span >5G</span></a></li> <li id="menu-item-12" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-12"><a href="https://www.microcontrollertips.com/category/applications/automotive/"><span >Automotive</span></a></li> <li id="menu-item-13" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-13"><a href="https://www.microcontrollertips.com/category/applications/connectivity/"><span >Connectivity</span></a></li> <li id="menu-item-14" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-14"><a href="https://www.microcontrollertips.com/category/applications/consumer/"><span >Consumer Electronics</span></a></li> <li id="menu-item-14993" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-14993"><a href="https://www.microcontrollertips.com/category/ev-engineering/"><span >EV Engineering</span></a></li> <li id="menu-item-15" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-15"><a href="https://www.microcontrollertips.com/category/applications/industrial/"><span >Industrial</span></a></li> <li id="menu-item-14995" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-14995"><a href="https://www.microcontrollertips.com/category/applications/iot/"><span >IoT</span></a></li> <li id="menu-item-16" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-16"><a href="https://www.microcontrollertips.com/category/applications/medical/"><span >Medical</span></a></li> <li id="menu-item-17" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-17"><a href="https://www.microcontrollertips.com/category/applications/security/"><span >Security</span></a></li> <li id="menu-item-14994" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-14994"><a href="https://www.microcontrollertips.com/category/applications/telecommunications/"><span >Telecommunications</span></a></li> <li id="menu-item-14992" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-14992"><a href="https://www.microcontrollertips.com/category/applications/wearables/"><span >Wearables</span></a></li> <li id="menu-item-14996" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-14996"><a href="https://www.microcontrollertips.com/category/applications/wireless-applications/"><span >Wireless</span></a></li> </ul> </li> <li id="menu-item-8119" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-8119"><a target="_blank"><span >Learn</span></a> <ul class="sub-menu"> <li id="menu-item-7505" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7505"><a href="https://www.eeworldonline.com/category/tech-tips/"><span >eBooks / Tech Tips</span></a></li> <li id="menu-item-14998" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14998"><a href="https://eetrainingdays.com/"><span >EE Training Days</span></a></li> <li id="menu-item-10460" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-10460"><a href="https://www.microcontrollertips.com/category/faq/"><span >FAQs</span></a></li> <li id="menu-item-14999" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14999"><a href="https://www.eeworldonline.com/learning-center"><span >Learning Center</span></a></li> <li id="menu-item-15528" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15528"><a target="_blank" href="https://www.eeworldonline.com/category/tech-toolboxes/"><span >Tech Toolboxes</span></a></li> <li id="menu-item-7509" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7509"><a target="_blank" href="https://www.eeworldonline.com/ee-world-webinars-and-digital-events/"><span >Webinars/Digital Events</span></a></li> </ul> </li> <li id="menu-item-7504" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-7504"><a href="#"><span >Resources</span></a> <ul class="sub-menu"> <li id="menu-item-13237" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13237"><a target="_blank" href="https://www.eeworldonline.com/design-guide-library"><span >Design Guide Library</span></a></li> <li id="menu-item-5218" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5218"><a target="_blank" href="https://www.DesignFast.com/"><span >DesignFast</span></a></li> <li id="menu-item-7507" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7507"><a target="_blank" href="https://www.eeworldonline.com/2023-leap-awards-winners-are-announced/"><span >LEAP Awards</span></a></li> <li id="menu-item-7508" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7508"><a href="https://www.eeworldonline.com/category/podcasts/"><span >Podcasts</span></a></li> <li id="menu-item-7510" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7510"><a href="http://www.engineeringwhitepapers.com/category/electricalelectronic/"><span >White Papers</span></a></li> </ul> </li> <li id="menu-item-2118" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2118"><a href="https://www.microcontrollertips.com/ee-world-videos/"><span >Videos</span></a> <ul class="sub-menu"> <li id="menu-item-14467" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14467"><a target="_blank" href="https://www.eeworldonline.com/videos/"><span >EE Videos &#038; Interviews</span></a></li> <li id="menu-item-14468" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14468"><a target="_blank" href="https://www.eeworldonline.com/teardown-videos/"><span >Teardown Videos</span></a></li> </ul> </li> <li id="menu-item-2112" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-2112"><a href="#"><span >EE Forums</span></a> <ul class="sub-menu"> <li id="menu-item-2110" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2110"><a target="_blank" href="https://www.edaboard.com/"><span >EDABoard.com</span></a></li> <li id="menu-item-2111" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2111"><a target="_blank" href="http://www.electro-tech-online.com"><span >Electro-Tech-Online.com</span></a></li> </ul> </li> <li id="menu-item-15000" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15000"><a href="https://eetrainingdays.com/"><span >Engineering Training Days</span></a></li> </ul></div></nav> <div style="padding-top:10px;text-align:center"><div id='jumbo-banner-ad-container' style='min-width: 970px; min-height: 90px;'><script>googletag.cmd.push(function() { googletag.display("jumbo-banner-ad-container"); });</script></div></div> <div class="site-inner"><div class="content-sidebar-wrap"><main class="content" id="genesis-content"><article class="post-15570 post type-post status-publish format-standard has-post-thumbnail category-faq category-featured tag-faq entry" aria-label="How does DMA enable efficient data transfer in microcontrollers?"><header class="entry-header"><h1 class="entry-title">How does DMA enable efficient data transfer in microcontrollers?</h1> <p class="entry-meta"><time class="entry-time">September 27, 2024</time> By <span class="entry-author"><a href="" class="entry-author-link" rel="author"><span class="entry-author-name">Rakesh Kumar</span></a></span> <span class="entry-comments-link"><a href="https://www.microcontrollertips.com/how-does-dma-enable-efficient-data-transfer-in-microcontrollers/#respond">Leave a Comment</a></span> </p></header><div class="entry-content"><div class="addtoany_share_save_container addtoany_content addtoany_content_top"><div class="a2a_kit a2a_kit_size_16 addtoany_list" data-a2a-url="https://www.microcontrollertips.com/how-does-dma-enable-efficient-data-transfer-in-microcontrollers/" data-a2a-title="How does DMA enable efficient data transfer in microcontrollers?"><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.microcontrollertips.com%2Fhow-does-dma-enable-efficient-data-transfer-in-microcontrollers%2F&amp;linkname=How%20does%20DMA%20enable%20efficient%20data%20transfer%20in%20microcontrollers%3F" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_x" href="https://www.addtoany.com/add_to/x?linkurl=https%3A%2F%2Fwww.microcontrollertips.com%2Fhow-does-dma-enable-efficient-data-transfer-in-microcontrollers%2F&amp;linkname=How%20does%20DMA%20enable%20efficient%20data%20transfer%20in%20microcontrollers%3F" title="X" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.microcontrollertips.com%2Fhow-does-dma-enable-efficient-data-transfer-in-microcontrollers%2F&amp;linkname=How%20does%20DMA%20enable%20efficient%20data%20transfer%20in%20microcontrollers%3F" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.microcontrollertips.com%2Fhow-does-dma-enable-efficient-data-transfer-in-microcontrollers%2F&amp;linkname=How%20does%20DMA%20enable%20efficient%20data%20transfer%20in%20microcontrollers%3F" title="Email" rel="nofollow noopener" target="_blank"></a></div></div><p>Direct memory access (DMA) allows peripherals to transfer data directly to and from memory without requiring the CPU to handle each cycle. As the CPU&#8217;s role is minimized, DMA enables the CPU to perform other high-priority tasks and ensures faster data transfers in the background.</p> <h3>How does the DMA controller work to reduce the load on the CPU?</h3> <p>The key benefits of the DMA controller in <a href="https://www.microcontrollertips.com/a-beginners-guide-to-microcontrollers-faq/" target="_blank" rel="noopener">microcontrollers</a> are that it offloads data transfer tasks from the CPU, allows the CPU to perform other operations during transfers, and enables high-speed data transfer between I/O and memory. The working of a DMA controller can be broken down into six steps, as shown in <strong>Figure 1</strong>.</p> <figure id="attachment_15571" aria-describedby="caption-attachment-15571" style="width: 640px" class="wp-caption aligncenter"><a href="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-1.jpeg"><img decoding="async" class="wp-image-15571 size-full perfmatters-lazy" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;640&#039;%20height=&#039;360&#039;%20viewBox=&#039;0%200%20640%20360&#039;%3E%3C/svg%3E" alt="dma" width="640" height="360" data-src="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-1.jpeg" data-srcset="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-1.jpeg 640w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-1-300x169.jpeg 300w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-1-150x84.jpeg 150w" data-sizes="(max-width: 640px) 100vw, 640px" /><noscript><img decoding="async" class="wp-image-15571 size-full" src="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-1.jpeg" alt="dma" width="640" height="360" srcset="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-1.jpeg 640w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-1-300x169.jpeg 300w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-1-150x84.jpeg 150w" sizes="(max-width: 640px) 100vw, 640px" /></noscript></a><figcaption id="caption-attachment-15571" class="wp-caption-text">Figure 1. The six stages of DMA controller operation. (Image: <a href="https://www.linkedin.com/in/rakesh-kumar-phd/" target="_blank" rel="noopener">Rakesh Kumar, Ph.D.</a>)</figcaption></figure> <p>In the first step, the CPU initializes the DMA controller by programming its registers with source address, destination address, number of bytes/words to transfer, direction of transfer, and transfer mode. While the direction of memory can be either read-from-memory or write-to-memory, the transfer mode can be single, block, or demand.</p> <p>The second step is when an I/O device sends a DMA request signal to the DMA controller for data transfer. In the next step, known as bus arbitration, the DMA controller requests control of the system buses from the CPU by asserting the bus request signal. Once the CPU completes its ongoing instruction, it grants bus control to the DMA controller by asserting the bus grant signal.</p> <p>Data transfer happens in the fourth step when the DMA controller generates memory addresses and control signals to read/write data directly between <a href="https://www.microcontrollertips.com/how-many-internal-memories-does-an-mcu-have-faq/" target="_blank" rel="noopener">memory</a> and the I/O device. It increments the addresses and decrements the transfer count after each byte/word transfer.</p> <p>In the fifth step, when the specified number of bytes have been transferred, the DMA controller terminates the transfer and releases control of the system buses back to the CPU. The controller also generates an <a href="https://www.microcontrollertips.com/exceptions-traps-and-interrupts-whats-the-difference-faq/" target="_blank" rel="noopener">interrupt</a> to signal the completion process to the CPU. In the last step, the CPU services the interrupt and resumes standard processing.</p> <h3>How is DMA used in Smartwatch for efficient data transfer?</h3> <p>One of the several use cases of DMA can be seen in smartwatches (<strong>Figure 2</strong>). The DMA has been used in high throughput data flow, such as Bluetooth, gyroscope, accelerometer, and LCD screen. The DMA ensures that there is a smooth flow of data between RAM and peripherals.</p> <figure id="attachment_15572" aria-describedby="caption-attachment-15572" style="width: 640px" class="wp-caption alignright"><a href="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-2.png"><img decoding="async" class="wp-image-15572 size-full perfmatters-lazy" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;640&#039;%20height=&#039;315&#039;%20viewBox=&#039;0%200%20640%20315&#039;%3E%3C/svg%3E" alt="dma" width="640" height="315" data-src="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-2.png" data-srcset="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-2.png 640w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-2-300x148.png 300w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-2-150x74.png 150w" data-sizes="(max-width: 640px) 100vw, 640px" /><noscript><img decoding="async" class="wp-image-15572 size-full" src="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-2.png" alt="dma" width="640" height="315" srcset="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-2.png 640w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-2-300x148.png 300w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-2-150x74.png 150w" sizes="(max-width: 640px) 100vw, 640px" /></noscript></a><figcaption id="caption-attachment-15572" class="wp-caption-text">Figure 2. Architecture of a microcontroller-based smart watch illustrating the use of DMA to interact with the peripherals of the device directly. (Image: <a href="https://www.ndss-symposium.org/ndss-paper/auto-draft-258/" target="_blank" rel="noopener">NDSS Symposium</a>)</figcaption></figure> <p>The core processor is seen to be behind the memory protection unit (MPU), where the data flow is regulated through memory-mapped I/O (MMIO) operations. Therefore, the DMA takes up the load of the CPU to ensure that routine data transfer is taken care of by itself to free up the CPU for higher-priority tasks.</p> <h3>Case study</h3> <p>Researchers at the University of Castilla-La Mancha, Spain, and the Ulster University, Belfast, have successfully used DMA to improve energy efficiency and writing speed compared to existing file systems when using microSD cards as a storage system for wearable devices.</p> <p>A PSoC (CYBLE-222014-01) microcontroller with an ARM Cortex-M0 architecture was used along with two microSD as storage systems, one with 4 GB and the other with 8 GB. The <a href="https://www.microcontrollertips.com/how-does-spi-protocol-work-faq/" target="_blank" rel="noopener">serial peripheral interface</a> (SPI) protocol was used as an interface because of its lower power consumption compared to standard interfaces such as UART, <a href="https://www.microcontrollertips.com/i2c-k-squared-c/" target="_blank" rel="noopener">I2C</a>, and SPI.</p> <p>The evaluation comparison was conducted between FatFs, a standard embedded file system used in wearable devices, and the proposed DMA system with an SPI interface. The results are shown in <strong>Figure 3,</strong> where both the processes were compared for average energy consumption and time required for writing 15,872 bytes from RAM to the microSD card.</p> <figure id="attachment_15573" aria-describedby="caption-attachment-15573" style="width: 640px" class="wp-caption aligncenter"><a href="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-3.png"><img decoding="async" class="wp-image-15573 size-full perfmatters-lazy" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;640&#039;%20height=&#039;227&#039;%20viewBox=&#039;0%200%20640%20227&#039;%3E%3C/svg%3E" alt="dma" width="640" height="227" data-src="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-3.png" data-srcset="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-3.png 640w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-3-300x106.png 300w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-3-150x53.png 150w" data-sizes="(max-width: 640px) 100vw, 640px" /><noscript><img decoding="async" class="wp-image-15573 size-full" src="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-3.png" alt="dma" width="640" height="227" srcset="https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-3.png 640w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-3-300x106.png 300w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/Figure-3-150x53.png 150w" sizes="(max-width: 640px) 100vw, 640px" /></noscript></a><figcaption id="caption-attachment-15573" class="wp-caption-text">Figure 3. Charts show how the use of DMA resulted in reduced average energy consumption (mJ) (left) and reduced average time required (ms) (right) for writing 15,872 bytes. (Image: <a href="https://doi.org/10.3390/s24154982" target="_blank" rel="noopener">MDPI</a>)</figcaption></figure> <p>It is clear from the chart that the use of DMA at 2 Hz resulted in lesser energy consumption, 3.4 times and 7.8 times compared to FatFs, for the 4 GB and 8 GB cards, respectively. At 5 Hz, DMA&#8217;s energy savings had increased to 3.7 times and 10.6 times compared to FatFs for 4 GB and 8 GB cards, respectively.</p> <p>The writing speed has also increased using DMA for 15,872 bytes from RAM to the SD card. DMA at 2 Hz led to a faster performance at 2.3 times and 3.9 times compared to FatFs for the 4 GB and 8 GB cards, respectively. While at 5 Hz, the improvements were 2.2 times and 7.8 times compared to FatFs for the 4 GB and 8 GB cards, respectively.</p> <h3>Summary</h3> <p>DMA helps speed up data transfer and lower power consumption by reducing the CPU&#8217;s involvement. As seen in the smartwatch example, DMA efficiently handles streaming data like accelerometers, heart rate monitors, etc. This is because DMA transfers this data to memory buffers without waking the CPU for every sample.</p> <p>DMA is also helpful in parallel operation, depending on the microcontroller architecture, and improves real-time responsiveness. In the long run, it leads to enhanced battery life, an essential feature in low-power applications such as smart watches, drones, etc., where connection to a reliable and continuous power supply is absent.</p> <h3>References</h3> <p><a href="https://www.ndss-symposium.org/ndss-paper/auto-draft-258/" target="_blank" rel="noopener">D-Box: DMA-enabled Compartmentalization for Embedded Application</a>, NDSS Symposium<br /> <a href="https://www.spiceworks.com/tech/hardware/articles/direct-memory-access/" target="_blank" rel="noopener">What Is Direct Memory Access (DMA)? Meaning, Types, Principles, Working, and Benefits</a>, spiceworks<br /> <a href="https://www.geeksforgeeks.org/direct-memory-access-dma-controller-in-computer-architecture/" target="_blank" rel="noopener">Direct Memory Access (DMA) Controller in Computer Architecture</a>, Geeksforgeeks<br /> <a href="https://doi.org/10.3390/s24154982" target="_blank" rel="noopener">Direct Memory Access-Based Data Storage for Long-Term Acquisition Using Wearables in an Energy-Efficient Manner</a>, MDPI</p> <div class="bawmrp"> <h3>You may also like:</h3> <ul> <li style="float:left;width:120px;height:auto;overflow:hidden;list-style:none;border-right: 1px solid #ccc;text-align:center;padding:0px 5px;" class="bawmrp_manual"><a href="https://www.microcontrollertips.com/how-can-in-package-optical-interconnects-enhance-chaplet-generative-ai-performance/"><img decoding="async" width="100" height="100" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;100&#039;%20height=&#039;100&#039;%20viewBox=&#039;0%200%20100%20100&#039;%3E%3C/svg%3E" class="attachment-100x100 size-100x100 wp-post-image perfmatters-lazy" alt data-src="https://www.microcontrollertips.com/wp-content/uploads/2024/02/How-can-in-package-optical-interconnects-enhance-chiplet-Figure-2-150x150.jpg" /><noscript><img decoding="async" width="100" height="100" src="https://www.microcontrollertips.com/wp-content/uploads/2024/02/How-can-in-package-optical-interconnects-enhance-chiplet-Figure-2-150x150.jpg" class="attachment-100x100 size-100x100 wp-post-image" alt="" /></noscript><br />How can in-package optical interconnects enhance chiplet generative AI performance?</a></li> <li style="float:left;width:120px;height:auto;overflow:hidden;list-style:none;border-right: 1px solid #ccc;text-align:center;padding:0px 5px;" class="bawmrp_manual"><a href="https://www.microcontrollertips.com/what-is-the-heterogeneous-integration-roadmap-and-how-does-it-support-generative-ai/"><img decoding="async" width="100" height="100" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;100&#039;%20height=&#039;100&#039;%20viewBox=&#039;0%200%20100%20100&#039;%3E%3C/svg%3E" class="attachment-100x100 size-100x100 wp-post-image perfmatters-lazy" alt data-src="https://www.microcontrollertips.com/wp-content/uploads/2024/02/What-is-the-heterogeneous-integration-roadmap-Figure-1-150x150.jpg" /><noscript><img decoding="async" width="100" height="100" src="https://www.microcontrollertips.com/wp-content/uploads/2024/02/What-is-the-heterogeneous-integration-roadmap-Figure-1-150x150.jpg" class="attachment-100x100 size-100x100 wp-post-image" alt="" /></noscript><br />What is the heterogeneous integration roadmap, and how does it&hellip;</a></li> <li style="float:left;width:120px;height:auto;overflow:hidden;list-style:none;border-right: 1px solid #ccc;text-align:center;padding:0px 5px;" class="bawmrp_manual"><a href="https://www.microcontrollertips.com/what-is-the-mipi-i3c-hci-good-for/"><img decoding="async" width="100" height="100" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;100&#039;%20height=&#039;100&#039;%20viewBox=&#039;0%200%20100%20100&#039;%3E%3C/svg%3E" class="attachment-100x100 size-100x100 wp-post-image perfmatters-lazy" alt data-src="https://www.microcontrollertips.com/wp-content/uploads/2023/11/What-is-the-MIPI-I3C-HCI-good-for-Figure-2-1-150x150.jpg" /><noscript><img decoding="async" width="100" height="100" src="https://www.microcontrollertips.com/wp-content/uploads/2023/11/What-is-the-MIPI-I3C-HCI-good-for-Figure-2-1-150x150.jpg" class="attachment-100x100 size-100x100 wp-post-image" alt="" /></noscript><br />What is the MIPI I3C HCI good for?</a></li> <li style="float:left;width:120px;height:auto;overflow:hidden;list-style:none;border-right: 1px solid #ccc;text-align:center;padding:0px 5px;" class="bawmrp_manual"><a href="https://www.microcontrollertips.com/how-timing-propagates-in-a-5g-network/"><img decoding="async" width="100" height="100" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;100&#039;%20height=&#039;100&#039;%20viewBox=&#039;0%200%20100%20100&#039;%3E%3C/svg%3E" class="attachment-100x100 size-100x100 wp-post-image perfmatters-lazy" alt data-src="https://www.microcontrollertips.com/wp-content/uploads/2023/03/5GHB23_SiTime_Fig2-150x150.jpg" /><noscript><img decoding="async" width="100" height="100" src="https://www.microcontrollertips.com/wp-content/uploads/2023/03/5GHB23_SiTime_Fig2-150x150.jpg" class="attachment-100x100 size-100x100 wp-post-image" alt="" /></noscript><br />How timing propagates in a 5G network</a></li> <li style="float:left;width:120px;height:auto;overflow:hidden;list-style:none;border-right: 1px solid #ccc;text-align:center;padding:0px 5px;" class="bawmrp_manual"><a href="https://www.microcontrollertips.com/what-embedded-protocols-can-you-use-for-optical-connectivity/"><img decoding="async" width="100" height="100" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;100&#039;%20height=&#039;100&#039;%20viewBox=&#039;0%200%20100%20100&#039;%3E%3C/svg%3E" class="attachment-100x100 size-100x100 wp-post-image perfmatters-lazy" alt data-src="https://www.microcontrollertips.com/wp-content/uploads/2023/03/What-embedded-protocols-can-you-use-for-optical-Figure-1-150x150.png" /><noscript><img decoding="async" width="100" height="100" src="https://www.microcontrollertips.com/wp-content/uploads/2023/03/What-embedded-protocols-can-you-use-for-optical-Figure-1-150x150.png" class="attachment-100x100 size-100x100 wp-post-image" alt="" /></noscript><br />What embedded protocols can you use for optical connectivity?</a></li> </ul> </div> <div style="clear:both;"></div> </div><footer class="entry-footer"><p class="entry-meta"><span class="entry-categories">Filed Under: <a href="https://www.microcontrollertips.com/category/faq/" rel="category tag">FAQ</a>, <a href="https://www.microcontrollertips.com/category/featured/" rel="category tag">Featured</a></span> <span class="entry-tags">Tagged With: <a href="https://www.microcontrollertips.com/tag/faq/" rel="tag">FAQ</a></span></p></footer></article><h2 class="screen-reader-text">Reader Interactions</h2> <div id="respond" class="comment-respond"> <h3 id="reply-title" class="comment-reply-title">Leave a Reply <small><a rel="nofollow" id="cancel-comment-reply-link" href="/how-does-dma-enable-efficient-data-transfer-in-microcontrollers/#respond" style="display:none;">Cancel reply</a></small></h3><form action="https://www.microcontrollertips.com/wp-comments-post.php?wpe-comment-post=microcontro" method="post" id="commentform" class="comment-form" novalidate><p class="comment-notes"><span id="email-notes">Your email address will not be published.</span> <span class="required-field-message">Required fields are marked <span class="required">*</span></span></p><p class="comment-form-comment"><label for="comment">Comment <span class="required">*</span></label> <textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" required></textarea></p><p class="comment-form-author"><label for="author">Name <span class="required">*</span></label> <input id="author" name="author" type="text" value="" size="30" maxlength="245" autocomplete="name" required /></p> <p class="comment-form-email"><label for="email">Email <span class="required">*</span></label> <input id="email" name="email" type="email" value="" size="30" maxlength="100" aria-describedby="email-notes" autocomplete="email" required /></p> <p class="form-submit"><input name="submit" type="submit" id="submit" class="submit" value="Post Comment" /> <input type='hidden' name='comment_post_ID' value='15570' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </p><p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="1c1a3c5908" /></p><p style="display: none !important;" class="akismet-fields-container" data-prefix="ak_"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="248"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div><!-- #respond --> </main><aside class="sidebar sidebar-primary widget-area" role="complementary" aria-label="Primary Sidebar" id="genesis-sidebar-primary"><h2 class="genesis-sidebar-title screen-reader-text">Primary Sidebar</h2><section id="search-3" class="widget widget_search"><div class="widget-wrap"><form class="search-form" method="get" action="https://www.microcontrollertips.com/" role="search"><label class="search-form-label screen-reader-text" for="searchform-2">Search this website</label><input class="search-form-input" type="search" name="s" id="searchform-2" placeholder="Search this website"><input class="search-form-submit" type="submit" value="Search"><meta content="https://www.microcontrollertips.com/?s={s}"></form></div></section> <section id="text-9" class="widget widget_text"><div class="widget-wrap"> <div class="textwidget"><center><div id='div-gpt-microcontroller_sidebar1'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-microcontroller_sidebar1'); }); </script> </div></center></div> </div></section> <section id="featured-post-5" class="widget featured-content featuredpost"><div class="widget-wrap"><h3 class="widgettitle widget-title">Featured Contributions</h3> <article class="post-15831 post type-post status-publish format-standard has-post-thumbnail category-applications category-connectivity category-consumer category-faq category-featured category-featured-contributions category-iot category-wireless-applications tag-matter tag-silicon-labs entry" aria-label="What’s new with Matter: how Matter 1.4 is reshaping interoperability and energy management"><a href="https://www.microcontrollertips.com/whats-new-with-matter-how-matter-1-4-is-reshaping-interoperability-and-energy-management/" class="alignleft" aria-hidden="true" tabindex="-1"><img width="150" height="84" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;150&#039;%20height=&#039;84&#039;%20viewBox=&#039;0%200%20150%2084&#039;%3E%3C/svg%3E" class="entry-image attachment-post perfmatters-lazy" alt decoding="async" data-src="https://www.microcontrollertips.com/wp-content/uploads/2025/01/smart-home-technology-1-150x84.jpg" data-srcset="https://www.microcontrollertips.com/wp-content/uploads/2025/01/smart-home-technology-1-150x84.jpg 150w, https://www.microcontrollertips.com/wp-content/uploads/2025/01/smart-home-technology-1-300x168.jpg 300w, https://www.microcontrollertips.com/wp-content/uploads/2025/01/smart-home-technology-1-768x431.jpg 768w, https://www.microcontrollertips.com/wp-content/uploads/2025/01/smart-home-technology-1.jpg 1000w" data-sizes="(max-width: 150px) 100vw, 150px" /><noscript><img width="150" height="84" src="https://www.microcontrollertips.com/wp-content/uploads/2025/01/smart-home-technology-1-150x84.jpg" class="entry-image attachment-post" alt="" decoding="async" srcset="https://www.microcontrollertips.com/wp-content/uploads/2025/01/smart-home-technology-1-150x84.jpg 150w, https://www.microcontrollertips.com/wp-content/uploads/2025/01/smart-home-technology-1-300x168.jpg 300w, https://www.microcontrollertips.com/wp-content/uploads/2025/01/smart-home-technology-1-768x431.jpg 768w, https://www.microcontrollertips.com/wp-content/uploads/2025/01/smart-home-technology-1.jpg 1000w" sizes="(max-width: 150px) 100vw, 150px" /></noscript></a><header class="entry-header"><h4 class="entry-title"><a href="https://www.microcontrollertips.com/whats-new-with-matter-how-matter-1-4-is-reshaping-interoperability-and-energy-management/">What’s new with Matter: how Matter 1.4 is reshaping interoperability and energy management</a></h4></header></article><article class="post-15638 post type-post status-publish format-standard has-post-thumbnail category-applications category-artificial-intelligence category-automotive category-featured category-featured-contributions category-neural-networking tag-digikey tag-edge-ai entry" aria-label="Edge AI: Revolutionizing real-time data processing and automation"><a href="https://www.microcontrollertips.com/edge-ai-revolutionizing-real-time-data-processing-and-automation/" class="alignleft" aria-hidden="true" tabindex="-1"><img width="150" height="98" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;150&#039;%20height=&#039;98&#039;%20viewBox=&#039;0%200%20150%2098&#039;%3E%3C/svg%3E" class="entry-image attachment-post perfmatters-lazy" alt decoding="async" data-src="https://www.microcontrollertips.com/wp-content/uploads/2024/10/DigiKey-edge-AI-image_vehicle-A-featuredI-150x98.png" data-srcset="https://www.microcontrollertips.com/wp-content/uploads/2024/10/DigiKey-edge-AI-image_vehicle-A-featuredI-150x98.png 150w, https://www.microcontrollertips.com/wp-content/uploads/2024/10/DigiKey-edge-AI-image_vehicle-A-featuredI-300x195.png 300w, https://www.microcontrollertips.com/wp-content/uploads/2024/10/DigiKey-edge-AI-image_vehicle-A-featuredI.png 740w" data-sizes="(max-width: 150px) 100vw, 150px" /><noscript><img width="150" height="98" src="https://www.microcontrollertips.com/wp-content/uploads/2024/10/DigiKey-edge-AI-image_vehicle-A-featuredI-150x98.png" class="entry-image attachment-post" alt="" decoding="async" srcset="https://www.microcontrollertips.com/wp-content/uploads/2024/10/DigiKey-edge-AI-image_vehicle-A-featuredI-150x98.png 150w, https://www.microcontrollertips.com/wp-content/uploads/2024/10/DigiKey-edge-AI-image_vehicle-A-featuredI-300x195.png 300w, https://www.microcontrollertips.com/wp-content/uploads/2024/10/DigiKey-edge-AI-image_vehicle-A-featuredI.png 740w" sizes="(max-width: 150px) 100vw, 150px" /></noscript></a><header class="entry-header"><h4 class="entry-title"><a href="https://www.microcontrollertips.com/edge-ai-revolutionizing-real-time-data-processing-and-automation/">Edge AI: Revolutionizing real-time data processing and automation</a></h4></header></article><article class="post-15541 post type-post status-publish format-standard has-post-thumbnail category-faq category-featured category-featured-contributions tag-nvent entry" aria-label="Building the quantum future: how to master quantum control design"><a href="https://www.microcontrollertips.com/building-the-quantum-future-how-to-master-quantum-control-design/" class="alignleft" aria-hidden="true" tabindex="-1"><img width="150" height="81" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;150&#039;%20height=&#039;81&#039;%20viewBox=&#039;0%200%20150%2081&#039;%3E%3C/svg%3E" class="entry-image attachment-post perfmatters-lazy" alt decoding="async" data-src="https://www.microcontrollertips.com/wp-content/uploads/2024/09/quantum-computing-concept-150x81.jpg" data-srcset="https://www.microcontrollertips.com/wp-content/uploads/2024/09/quantum-computing-concept-150x81.jpg 150w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/quantum-computing-concept-300x162.jpg 300w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/quantum-computing-concept-737x400.jpg 737w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/quantum-computing-concept.jpg 740w" data-sizes="(max-width: 150px) 100vw, 150px" /><noscript><img width="150" height="81" src="https://www.microcontrollertips.com/wp-content/uploads/2024/09/quantum-computing-concept-150x81.jpg" class="entry-image attachment-post" alt="" decoding="async" srcset="https://www.microcontrollertips.com/wp-content/uploads/2024/09/quantum-computing-concept-150x81.jpg 150w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/quantum-computing-concept-300x162.jpg 300w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/quantum-computing-concept-737x400.jpg 737w, https://www.microcontrollertips.com/wp-content/uploads/2024/09/quantum-computing-concept.jpg 740w" sizes="(max-width: 150px) 100vw, 150px" /></noscript></a><header class="entry-header"><h4 class="entry-title"><a href="https://www.microcontrollertips.com/building-the-quantum-future-how-to-master-quantum-control-design/">Building the quantum future: how to master quantum control design</a></h4></header></article><article class="post-15512 post type-post status-publish format-standard has-post-thumbnail category-automotive category-connectivity category-ethernet category-faq category-featured category-featured-contributions tag-faq entry" aria-label="10Base-T1S simplifies automotive zonal architectures"><a href="https://www.microcontrollertips.com/10base-t1s-simplifies-automotive-zonal-architectures/" class="alignleft" aria-hidden="true" tabindex="-1"><img width="150" height="81" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;150&#039;%20height=&#039;81&#039;%20viewBox=&#039;0%200%20150%2081&#039;%3E%3C/svg%3E" class="entry-image attachment-post perfmatters-lazy" alt decoding="async" data-src="https://www.microcontrollertips.com/wp-content/uploads/2024/08/Screen-Shot-2024-08-15-at-4.31.31-PM-150x81.png" data-srcset="https://www.microcontrollertips.com/wp-content/uploads/2024/08/Screen-Shot-2024-08-15-at-4.31.31-PM-150x81.png 150w, https://www.microcontrollertips.com/wp-content/uploads/2024/08/Screen-Shot-2024-08-15-at-4.31.31-PM-300x162.png 300w, https://www.microcontrollertips.com/wp-content/uploads/2024/08/Screen-Shot-2024-08-15-at-4.31.31-PM-737x400.png 737w, https://www.microcontrollertips.com/wp-content/uploads/2024/08/Screen-Shot-2024-08-15-at-4.31.31-PM.png 740w" data-sizes="(max-width: 150px) 100vw, 150px" /><noscript><img width="150" height="81" src="https://www.microcontrollertips.com/wp-content/uploads/2024/08/Screen-Shot-2024-08-15-at-4.31.31-PM-150x81.png" class="entry-image attachment-post" alt="" decoding="async" srcset="https://www.microcontrollertips.com/wp-content/uploads/2024/08/Screen-Shot-2024-08-15-at-4.31.31-PM-150x81.png 150w, https://www.microcontrollertips.com/wp-content/uploads/2024/08/Screen-Shot-2024-08-15-at-4.31.31-PM-300x162.png 300w, https://www.microcontrollertips.com/wp-content/uploads/2024/08/Screen-Shot-2024-08-15-at-4.31.31-PM-737x400.png 737w, https://www.microcontrollertips.com/wp-content/uploads/2024/08/Screen-Shot-2024-08-15-at-4.31.31-PM.png 740w" sizes="(max-width: 150px) 100vw, 150px" /></noscript></a><header class="entry-header"><h4 class="entry-title"><a href="https://www.microcontrollertips.com/10base-t1s-simplifies-automotive-zonal-architectures/">10Base-T1S simplifies automotive zonal architectures</a></h4></header></article><article class="post-15458 post type-post status-publish format-standard has-post-thumbnail category-applications category-artificial-intelligence category-faq category-featured category-featured-contributions category-machine-learning tag-faq tag-ldra entry" aria-label="How software segregation minimizes the impact of AI/ML on safety-critical software"><a href="https://www.microcontrollertips.com/how-software-segregation-minimizes-the-impact-of-ai-ml-on-safety-critical-software/" class="alignleft" aria-hidden="true" tabindex="-1"><img width="150" height="100" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;150&#039;%20height=&#039;100&#039;%20viewBox=&#039;0%200%20150%20100&#039;%3E%3C/svg%3E" class="entry-image attachment-post perfmatters-lazy" alt decoding="async" data-src="https://www.microcontrollertips.com/wp-content/uploads/2024/07/LDRA-featurd-image-150x100.jpg" data-srcset="https://www.microcontrollertips.com/wp-content/uploads/2024/07/LDRA-featurd-image-150x100.jpg 150w, https://www.microcontrollertips.com/wp-content/uploads/2024/07/LDRA-featurd-image-300x200.jpg 300w, https://www.microcontrollertips.com/wp-content/uploads/2024/07/LDRA-featurd-image.jpg 740w" data-sizes="(max-width: 150px) 100vw, 150px" /><noscript><img width="150" height="100" src="https://www.microcontrollertips.com/wp-content/uploads/2024/07/LDRA-featurd-image-150x100.jpg" class="entry-image attachment-post" alt="" decoding="async" srcset="https://www.microcontrollertips.com/wp-content/uploads/2024/07/LDRA-featurd-image-150x100.jpg 150w, https://www.microcontrollertips.com/wp-content/uploads/2024/07/LDRA-featurd-image-300x200.jpg 300w, https://www.microcontrollertips.com/wp-content/uploads/2024/07/LDRA-featurd-image.jpg 740w" sizes="(max-width: 150px) 100vw, 150px" /></noscript></a><header class="entry-header"><h4 class="entry-title"><a href="https://www.microcontrollertips.com/how-software-segregation-minimizes-the-impact-of-ai-ml-on-safety-critical-software/">How software segregation minimizes the impact of AI/ML on safety-critical software</a></h4></header></article><p class="more-from-category"><a href="https://www.microcontrollertips.com/category/featured-contributions/" title="Featured Contributions">More Featured Contributions</a></p></div></section> <section id="custom_html-8" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h3 class="widgettitle widget-title">EE TECH TOOLBOX</h3> <div class="textwidget custom-html-widget"><center> <div style="display: flex; flex-direction: column; justify-content: center; width: 300px;"> <div align="center"><a href="https://www.eeworldonline.com/tech-toolbox-connectivity/" target="_blank"><img src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;0&#039;%20height=&#039;0&#039;%20viewBox=&#039;0%200%200%200&#039;%3E%3C/svg%3E" alt="“ee" tech class="perfmatters-lazy" data-src="https://www.eeworldonline.com/wp-content/uploads/2025/01/EE-TechToolbox-Connectors_Page_01-scaled.jpg" /><noscript><img src="https://www.eeworldonline.com/wp-content/uploads/2025/01/EE-TechToolbox-Connectors_Page_01-scaled.jpg" alt=“ee tech toolbox”></noscript></a></div> <div align="center" style="width: 300px; line-height: 20px; padding-top: 10px;"><span style="font-weight: bold; color: #0c506d; text-align: center; font-size: 20px;">Tech Toolbox: Connectivity</span></div> <div align="center" style="line-height: 16px; padding-top: 5px;"><span style="text-align: center; font-size: 16px;"> In this Tech Toolbox, we keep you connected to the connectivity technologies enabling Industry 4.0, AI/ML, and high-performance computing. Gain practical insights into selecting and implementing the right connector solutions. </span></div> <div align="center" style="padding-top: 10px;"><a href="https://www.eeworldonline.com/tech-toolbox-connectivity/" target="_blank"><button style="background-color: #57bf9b; color: white; font-weight: bold; border: none; padding: 10px; font-size: 16px; cursor: pointer;">Download PDF</button></a></div> <div align="center" style="padding-top: 10px;"><a href="https://www.eeworldonline.com/category/tech-toolboxes/" target="_blank"><button style="background-color: #57bf9b; color: white; font-weight: bold; border: none; padding: 10px; font-size: 16px; cursor: pointer;">View All Tech Toolboxes</button></a></div> </div> </center> </div></div></section> <section id="custom_html-3" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h3 class="widgettitle widget-title">EE Learning Center</h3> <div class="textwidget custom-html-widget"><center><div style="display: flex; flex-direction: column; width: 270px;"><a href="https://www.eeworldonline.com/learning-center" target="_blank" rel="noopener"><img width="300" height="250" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;300&#039;%20height=&#039;250&#039;%20viewBox=&#039;0%200%20300%20250&#039;%3E%3C/svg%3E" alt="EE Learning Center" style="max-width: 270px;" class="perfmatters-lazy" data-src="https://www.microcontrollertips.com/wp-content/uploads/2024/08/300x250-2-EE-LearnCtr.png" /><noscript><img width="300" height="250" src="https://www.microcontrollertips.com/wp-content/uploads/2024/08/300x250-2-EE-LearnCtr.png" alt="EE Learning Center" style="max-width: 270px;" /></noscript></a> </div> </center></div></div></section> <section id="custom_html-6" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h3 class="widgettitle widget-title">EE ENGINEERING TRAINING DAYS</h3> <div class="textwidget custom-html-widget"><center><div style="display: flex; flex-direction: column; width: 270px;"><a href="https://eetrainingdays.com/" target="_blank" rel="noopener"><img src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;0&#039;%20height=&#039;0&#039;%20viewBox=&#039;0%200%200%200&#039;%3E%3C/svg%3E" alt="engineering" class="perfmatters-lazy" data-src="https://www.eeworldonline.com/wp-content/uploads/2024/12/300x250-side-bar-graphic.png" /><noscript><img src="https://www.eeworldonline.com/wp-content/uploads/2024/12/300x250-side-bar-graphic.png" alt="engineering" /></noscript></a> </div> </center></div></div></section> <section id="custom_html-7" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center><a href="https://www.eeworldonline.com/category/bill-schweber-blogs/" target="_blank"><img src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;0&#039;%20height=&#039;0&#039;%20viewBox=&#039;0%200%200%200&#039;%3E%3C/svg%3E" alt="“bills" class="perfmatters-lazy" data-src="https://www.eeworldonline.com/wp-content/uploads/2023/03/300x250-V2.5.jpg" /><noscript><img src="https://www.eeworldonline.com/wp-content/uploads/2023/03/300x250-V2.5.jpg" alt=“bills blog”></noscript></a></center></div></div></section> <section id="text-6" class="widget widget_text"><div class="widget-wrap"> <div class="textwidget"><center> <div style="display: flex; flex-direction: column; justify-content: center; width: 300px;"> <div align="center"><a href="https://www.microcontrollertips.com/newsletter-subscription-form/" target="_blank"><img width="300" height="100" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;300&#039;%20height=&#039;100&#039;%20viewBox=&#039;0%200%20300%20100&#039;%3E%3C/svg%3E" alt="“microcontroller" class="perfmatters-lazy" data-src="https://www.microcontrollertips.com/wp-content/uploads/2023/03/Microcontrollers-300x100-1.jpg" /><noscript><img width="300" height="100" src="https://www.microcontrollertips.com/wp-content/uploads/2023/03/Microcontrollers-300x100-1.jpg" alt=“microcontroller newsletter”></noscript></a></div> <div align="center" style="width: 300px; line-height: 20px; padding-top: 10px;"><span style="font-weight: bold; color: #0c506d; text-align: center; font-size: 20px;">EXPAND YOUR KNOWLEDGE AND STAY CONNECTED</span></div> <div align="center" style="line-height: 16px; padding-top: 5px;"><span style="text-align: center; font-size: 16px;">Get the latest info on technologies, tools and strategies for EE professionals.</span></div> <div align="center" style="padding-top: 10px;"><a href="https://www.microcontrollertips.com/newsletter-subscription-form/" target="_blank"><button style="background-color: #57bf9b; color: white; font-weight: bold; border: none; padding: 10px; font-size: 16px; cursor: pointer;">GET THE ENEWSLETTER</button></a></div> </div> </center></div> </div></section> <section id="custom_html-4" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center><div id='div-gpt-microcontroller_sidebarbottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-microcontroller_sidebarbottom'); }); </script> </div></center></div></div></section> <section id="rss-2" class="widget widget_rss"><div class="widget-wrap"><h3 class="widgettitle widget-title"><a class="rsswidget rss-widget-feed" href="http://www.edaboard.com/external.php?type=RSS"><img class="rss-widget-icon perfmatters-lazy" style="border:0" width="14" height="14" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;14&#039;%20height=&#039;14&#039;%20viewBox=&#039;0%200%2014%2014&#039;%3E%3C/svg%3E" alt="RSS" data-src="https://www.microcontrollertips.com/wp-includes/images/rss.png" /><noscript><img class="rss-widget-icon" style="border:0" width="14" height="14" src="https://www.microcontrollertips.com/wp-includes/images/rss.png" alt="RSS" /></noscript></a> <a class="rsswidget rss-widget-title" href="https://www.edaboard.com/">Current EDABoard.com discussions</a></h3> <ul><li><a class='rsswidget' href='https://www.edaboard.com/threads/mixer-downconversion-noise-output-level-db-hz.413927/'>mixer downconversion noise output level dB/Hz</a></li><li><a class='rsswidget' href='https://www.edaboard.com/threads/measure-a-mosfet-gate-with-a-digital-multimeter.414054/'>measure a mosfet gate with a digital multimeter</a></li><li><a class='rsswidget' href='https://www.edaboard.com/threads/building-a-power-supply-for-my-project.414053/'>Building a Power Supply for My Project</a></li><li><a class='rsswidget' href='https://www.edaboard.com/threads/measurement-of-power-supply-inductance.414056/'>Measurement of power supply inductance</a></li><li><a class='rsswidget' href='https://www.edaboard.com/threads/power-supply-inductance-and-plane-capacitance-configuration.414055/'>Power supply inductance and plane capacitance configuration</a></li></ul></div></section> <section id="rss-3" class="widget widget_rss"><div class="widget-wrap"><h3 class="widgettitle widget-title"><a class="rsswidget rss-widget-feed" href="https://www.electro-tech-online.com/forums/-/index.rss"><img class="rss-widget-icon perfmatters-lazy" style="border:0" width="14" height="14" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;14&#039;%20height=&#039;14&#039;%20viewBox=&#039;0%200%2014%2014&#039;%3E%3C/svg%3E" alt="RSS" data-src="https://www.microcontrollertips.com/wp-includes/images/rss.png" /><noscript><img class="rss-widget-icon" style="border:0" width="14" height="14" src="https://www.microcontrollertips.com/wp-includes/images/rss.png" alt="RSS" /></noscript></a> <a class="rsswidget rss-widget-title" href="https://www.electro-tech-online.com/">Current Electro-Tech-Online.com Discussions</a></h3> <ul><li><a class='rsswidget' href='https://www.electro-tech-online.com/threads/how-to-identify-a-screen-part-for-repair.167334/'>How to identify a screen part for repair ?</a></li><li><a class='rsswidget' href='https://www.electro-tech-online.com/threads/rc-delay-for-opamp-input-how-to-calculate.167315/'>RC delay for opamp input: how to calculate</a></li><li><a class='rsswidget' href='https://www.electro-tech-online.com/threads/funny-images-thread.130358/'>Funny Images Thread!</a></li><li><a class='rsswidget' href='https://www.electro-tech-online.com/threads/infrared-sensor-array-to-detect-mosquito-entry.167320/'>Infrared sensor array to detect mosquito entry</a></li><li><a class='rsswidget' href='https://www.electro-tech-online.com/threads/datasheet-for-led-filament.167312/'>Datasheet for LED filament</a></li></ul></div></section> <section id="custom_html-2" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h3 class="widgettitle widget-title">DesignFast</h3> <div class="textwidget custom-html-widget"><style type="text/css">/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */ /* Document ========================================================================== */ /** * 1. Correct the line height in all browsers. * 2. Prevent adjustments of font size after orientation changes in iOS. */ html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ } /* Sections ========================================================================== */ /** * Remove the margin in all browsers. */ body { margin: 0; } /** * Correct the font size and margin on `h1` elements within `section` and * `article` contexts in Chrome, Firefox, and Safari. */ h1 { font-size: 2em; margin: 0.67em 0; } /* Grouping content ========================================================================== */ /** * 1. Add the correct box sizing in Firefox. * 2. Show the overflow in Edge and IE. */ hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /* Text-level semantics ========================================================================== */ /** * Remove the gray background on active links in IE 10. */ a { background-color: transparent; } /** * 1. Remove the bottom border in Chrome 57- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */ abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ } /** * Add the correct font weight in Chrome, Edge, and Safari. */ b, strong { font-weight: bolder; } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /** * Add the correct font size in all browsers. */ small { font-size: 80%; } /** * Prevent `sub` and `sup` elements from affecting the line height in * all browsers. */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } /* Embedded content ========================================================================== */ /** * Remove the border on images inside links in IE 10. */ img { border-style: none; } /* Forms ========================================================================== */ /** * 1. Change the font styles in all browsers. * 2. Remove the margin in Firefox and Safari. */ button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ } /** * Show the overflow in IE. * 1. Show the overflow in Edge. */ button, input { /* 1 */ overflow: visible; } /** * Remove the inheritance of text transform in Edge, Firefox, and IE. * 1. Remove the inheritance of text transform in Firefox. */ button, select { /* 1 */ text-transform: none; } /** * Correct the inability to style clickable types in iOS and Safari. */ button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; } /** * Remove the inner border and padding in Firefox. */ button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; } /** * Restore the focus styles unset by the previous rule. */ button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; } /** * Correct the padding in Firefox. */ fieldset { padding: 0.35em 0.75em 0.625em; } /** * 1. Correct the text wrapping in Edge and IE. * 2. Correct the color inheritance from `fieldset` elements in IE. * 3. Remove the padding so developers are not caught out when they zero out * `fieldset` elements in all browsers. */ legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ } /** * Add the correct vertical alignment in Chrome, Firefox, and Opera. */ progress { vertical-align: baseline; } /** * Remove the default vertical scrollbar in IE 10+. */ textarea { overflow: auto; } /** * 1. Add the correct box sizing in IE 10. * 2. Remove the padding in IE 10. */ [type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } /** * Correct the cursor style of increment and decrement buttons in Chrome. */ [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } /** * 1. Correct the odd appearance in Chrome and Safari. * 2. Correct the outline style in Safari. */ [type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } /** * Remove the inner padding in Chrome and Safari on macOS. */ [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } /** * 1. Correct the inability to style clickable types in iOS and Safari. * 2. Change font properties to `inherit` in Safari. */ ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } /* Interactive ========================================================================== */ /* * Add the correct display in Edge, IE 10+, and Firefox. */ details { display: block; } /* * Add the correct display in all browsers. */ summary { display: list-item; } /* Misc ========================================================================== */ /** * Add the correct display in IE 10+. */ template { display: none; } /** * Add the correct display in IE 10. */ [hidden] { display: none; } #box { background-color: #1d2765; width: 300px; height: 250px; } .img-padding { padding-top: 5%; } .center { text-align: center; } #header { display: flex; } #header-text { font-family: 'Open Sans', Arial, sans-serif !important; font-size: 21px; color: #ffffff !important; line-height: 20px !important; text-align: center; display: inline-block; flex: 0 60%; } /* Style used in WP Ad, overriding here. */ #df-form input { box-shadow: none; padding: 0; } #df-form { display: flex; justify-content: center; margin-top: 5%; } #header-image { display: inline-block; flex: 0 40%; } #header-image img { width: 100px; height: 100px; } #search-input { background-color: #36428c; border: 10px solid #36428c; max-width: 70%; color:#fff; font-size: 12px; } #search-input::placeholder { color: #fff; } #submit-btn { color: #000; background-color: #ff9993; border: 10px solid #ff9993; } </style><style>/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */ /* Document ========================================================================== */ /** * 1. Correct the line height in all browsers. * 2. Prevent adjustments of font size after orientation changes in iOS. */ html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ } /* Sections ========================================================================== */ /** * Remove the margin in all browsers. */ body { margin: 0; } /** * Correct the font size and margin on `h1` elements within `section` and * `article` contexts in Chrome, Firefox, and Safari. */ h1 { font-size: 2em; margin: 0.67em 0; } /* Grouping content ========================================================================== */ /** * 1. Add the correct box sizing in Firefox. * 2. Show the overflow in Edge and IE. */ hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /* Text-level semantics ========================================================================== */ /** * Remove the gray background on active links in IE 10. */ a { background-color: transparent; } /** * 1. Remove the bottom border in Chrome 57- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */ abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ } /** * Add the correct font weight in Chrome, Edge, and Safari. */ b, strong { font-weight: bolder; } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /** * Add the correct font size in all browsers. */ small { font-size: 80%; } /** * Prevent `sub` and `sup` elements from affecting the line height in * all browsers. */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } /* Embedded content ========================================================================== */ /** * Remove the border on images inside links in IE 10. */ img { border-style: none; } /* Forms ========================================================================== */ /** * 1. Change the font styles in all browsers. * 2. Remove the margin in Firefox and Safari. */ button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ } /** * Show the overflow in IE. * 1. Show the overflow in Edge. */ button, input { /* 1 */ overflow: visible; } /** * Remove the inheritance of text transform in Edge, Firefox, and IE. * 1. Remove the inheritance of text transform in Firefox. */ button, select { /* 1 */ text-transform: none; } /** * Correct the inability to style clickable types in iOS and Safari. */ button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; } /** * Remove the inner border and padding in Firefox. */ button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; } /** * Restore the focus styles unset by the previous rule. */ button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; } /** * Correct the padding in Firefox. */ fieldset { padding: 0.35em 0.75em 0.625em; } /** * 1. Correct the text wrapping in Edge and IE. * 2. Correct the color inheritance from `fieldset` elements in IE. * 3. Remove the padding so developers are not caught out when they zero out * `fieldset` elements in all browsers. */ legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ } /** * Add the correct vertical alignment in Chrome, Firefox, and Opera. */ progress { vertical-align: baseline; } /** * Remove the default vertical scrollbar in IE 10+. */ textarea { overflow: auto; } /** * 1. Add the correct box sizing in IE 10. * 2. Remove the padding in IE 10. */ [type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } /** * Correct the cursor style of increment and decrement buttons in Chrome. */ [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } /** * 1. Correct the odd appearance in Chrome and Safari. * 2. Correct the outline style in Safari. */ [type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } /** * Remove the inner padding in Chrome and Safari on macOS. */ [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } /** * 1. Correct the inability to style clickable types in iOS and Safari. * 2. Change font properties to `inherit` in Safari. */ ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } /* Interactive ========================================================================== */ /* * Add the correct display in Edge, IE 10+, and Firefox. */ details { display: block; } /* * Add the correct display in all browsers. */ summary { display: list-item; } /* Misc ========================================================================== */ /** * Add the correct display in IE 10+. */ template { display: none; } /** * Add the correct display in IE 10. */ [hidden] { display: none; } #box { background-color: #1d2765; width: 300px; height: 250px; } .img-padding { padding-top: 5%; } .center { text-align: center; } #header { display: flex; } #header-text { font-family: 'Open Sans', Arial, sans-serif !important; font-size: 21px; color: #ffffff !important; line-height: 20px !important; text-align: center; display: inline-block; flex: 0 60%; } /* Style used in WP Ad, overriding here. */ #df-form input { box-shadow: none; padding: 0; } #df-form { display: flex; justify-content: center; margin-top: 5%; } #header-image { display: inline-block; flex: 0 40%; } #header-image img { width: 100px; height: 100px; } #search-input { background-color: #36428c; border: 10px solid #36428c; max-width: 70%; color:#fff; font-size: 12px; } #search-input::placeholder { color: #fff; } #submit-btn { color: #000; background-color: #ff9993; border: 10px solid #ff9993; } </style> <div id="box"> <!-- Design Fast Logo --> <div class="center img-padding"> <img src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;0&#039;%20height=&#039;0&#039;%20viewBox=&#039;0%200%200%200&#039;%3E%3C/svg%3E" alt="Design Fast Logo" class="perfmatters-lazy" data-src="https://images.designworldonline.com/newsletters/images/c4988f59a6e50d1a1d4c5d5f9e5dcd72.png" /><noscript><img src="https://images.designworldonline.com/newsletters/images/c4988f59a6e50d1a1d4c5d5f9e5dcd72.png" alt="Design Fast Logo"></noscript> </div> <!-- Header Start --> <div id="header"> <!-- Header Text --> <div id="header-text"> Component Selection Made Simple.<br><br>Try it Today </div> <!-- Globe Image --> <div id="header-image"> <img alt="design fast globle" src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;0&#039;%20height=&#039;0&#039;%20viewBox=&#039;0%200%200%200&#039;%3E%3C/svg%3E" class="perfmatters-lazy" data-src="https://images.designworldonline.com/newsletters/images/037373d010e86f50d2d8462d161945b4.png" /><noscript><img alt="design fast globle" src="https://images.designworldonline.com/newsletters/images/037373d010e86f50d2d8462d161945b4.png" /></noscript> </div> </div> <!-- Header End --> <!-- Form Start --> <form id="df-form"> <input type="text" name="searchbox" id="search-input" size="32" placeholder="Search for a part or datasheet" /> <input type="submit" value="GO" id="submit-btn" /> </form> <!-- Form End --> </div> <script type="text/javascript">!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){n(1),n(3);let r=document.querySelector("#df-form");function o(){const e=r.elements[0].value;window.open("https://www.app.designfast.com/search?q="+e)}r.addEventListener("submit",function(e){if(!e)window.event;e.preventDefault(),o()}),r.addEventListener("keydown",function(e){13===e.key&&o()})},function(e,t,n){},,function(e,t,n){}]);</script> </div></div></section> </aside></div></div><div class="footer-widgets" id="genesis-footer-widgets"><h2 class="genesis-sidebar-title screen-reader-text">Footer</h2><div class="wrap"><div class="widget-area footer-widgets-1 footer-widget-area"><section id="text-17" class="widget widget_text"><div class="widget-wrap"> <div class="textwidget"><img src="data:image/svg+xml,%3Csvg%20xmlns=&#039;http://www.w3.org/2000/svg&#039;%20width=&#039;260&#039;%20height=&#039;23&#039;%20viewBox=&#039;0%200%20260%2023&#039;%3E%3C/svg%3E" width="260" height="23" alt="Microcontroller Tips" class="perfmatters-lazy" data-src="/wp-content/uploads/2016/11/2016-microcontroller-logo-white-1.png" /><noscript><img src="/wp-content/uploads/2016/11/2016-microcontroller-logo-white-1.png" width="260" height="23" alt="Microcontroller Tips" /></noscript></div> </div></section> </div><div class="widget-area footer-widgets-2 footer-widget-area"><section id="text-16" class="widget widget_text"><div class="widget-wrap"><h3 class="widgettitle widget-title">EE World Online Network</h3> <div class="textwidget"><ul> <li><a href="https://www.5gtechnologyworld.com/" target="_blank">5G Technology World</a></li> <li><a href="http://www.eeworldonline.com/" target="_blank">EE World Online</a></li> <li><a href="https://www.engineersgarage.com/" target="_blank">Engineers Garage</a></li> <li><a href="http://www.analogictips.com/" target="_blank">Analog IC Tips</a></li> <li><a href="https://www.batterypowertips.com/" target="_blank">Battery Power Tips</a></li> <li><a href="http://www.connectortips.com/" target="_blank">Connector Tips</a></li> <li><a href="https://www.DesignFast.com/" target="_blank">DesignFast</a></li> <li><a href="http://www.edaboard.com/" target="_blank">EDA Board Forums</a></li> <li><a href="http://www.electro-tech-online.com/" target="_blank">Electro Tech Online Forums</a></li> <li><a href="https://www.evengineeringonline.com/" target="_blank">EV Engineering</a></li> <li><a href="https://www.powerelectronictips.com/" target="_blank">Power Electronic Tips</a></li> <li><a href="http://www.sensortips.com/" target="_blank">Sensor Tips</a></li> <li><a href="http://www.testandmeasurementtips.com/" target="_blank">Test and Measurement Tips</a></li> </ul></div> </div></section> </div><div class="widget-area footer-widgets-3 footer-widget-area"><section id="list-2" class="widget widget_link_list"><div class="widget-wrap"><h3 class="widgettitle widget-title">Microcontroller Tips</h3> <ul class="list"> <li class=''><a href='/newsletter-subscription-form/'>Subscribe to our newsletter</a></li><li class=''><a href='https://marketing.wtwhmedia.com/2024-ee-world-online-media-guide/'>Advertise with us</a></li><li class=''><a href='/contact-us/'>Contact us</a></li><li class=''><a href='/about-us/'>About us</a></li></ul></div></section> <section id="a2a_follow_widget-2" class="widget widget_a2a_follow_widget"><div class="widget-wrap"><div class="a2a_kit a2a_kit_size_34 a2a_follow addtoany_list"><a class="a2a_button_linkedin_company" href="https://www.linkedin.com/company/ee-world-online" title="LinkedIn Company" rel="noopener" target="_blank"></a><a class="a2a_button_youtube_channel" href="https://www.youtube.com/channel/UCiii-uV5Stls72T19oVWKTQ" title="YouTube Channel" rel="noopener" target="_blank"></a></div></div></section> </div></div></div><footer class="site-footer"><div class="wrap"><p>Copyright &#x000A9;&nbsp;2025 &middot; WTWH Media LLC and its licensors. All rights reserved.<br /> The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media.</p> <a href="http://www.wtwhmedia.com/privacy-policy/" target="_blank" rel="nofollow">Privacy Policy</a> </div></footer></div></div><!-- Google Tag Manager (noscript) Global --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MMC9PJ9" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KZX8HNL" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) finished --> <div id='div-gpt-microcontroller_wallpaper'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-microcontroller_wallpaper'); }); </script> </div> <div id='div-gpt-microcontroller_allstreamflex'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-microcontroller_allstreamflex'); }); </script> </div> <div id='div-gpt-microcontroller_allstreamprelude'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-microcontroller_allstreamprelude'); }); </script> </div> <script type='text/javascript'>jQuery(document).ready(function($) {$(".flexslider").flexslider({controlsContainer: "#genesis-responsive-slider",animation: "slide",directionNav: 0,controlNav: 1,animationDuration: 600,slideshowSpeed: 6000 }); });</script><script type="text/javascript" src="https://www.microcontrollertips.com/wp-includes/js/comment-reply.min.js?ver=6.7.2" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script type="text/javascript" src="https://www.microcontrollertips.com/wp-includes/js/hoverIntent.min.js?ver=1.10.2" id="hoverIntent-js"></script> <script type="text/javascript" src="https://www.microcontrollertips.com/wp-content/themes/genesis/lib/js/menu/superfish.min.js?ver=1.7.10" id="superfish-js"></script> <script type="text/javascript" src="https://www.microcontrollertips.com/wp-content/themes/genesis/lib/js/menu/superfish.args.min.js?ver=3.5.0" id="superfish-args-js"></script> <script type="text/javascript" src="https://www.microcontrollertips.com/wp-content/themes/genesis/lib/js/skip-links.min.js?ver=3.5.0" id="skip-links-js"></script> <script type="text/javascript" src="https://www.microcontrollertips.com/wp-content/themes/news-pro/js/jquery.matchHeight.min.js?ver=3.2.3" id="news-match-height-js"></script> <script type="text/javascript" src="https://www.microcontrollertips.com/wp-content/themes/news-pro/js/global.js?ver=3.2.3" id="news-global-js-js"></script> <script type="text/javascript" id="news-responsive-menus-js-extra"> /* <![CDATA[ */ var genesis_responsive_menu = {"mainMenu":"Menu","subMenu":"Submenu","menuClasses":{"combine":[".nav-secondary",".nav-primary",".nav-header"]}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.microcontrollertips.com/wp-content/themes/news-pro/js/responsive-menus.min.js?ver=3.2.3" id="news-responsive-menus-js"></script> <script type="text/javascript" src="https://www.microcontrollertips.com/wp-content/plugins/genesis-responsive-slider/assets/js/jquery.flexslider.js?ver=1.0.1" id="flexslider-js"></script> <script type="text/javascript" id="q2w3_fixed_widget-js-extra"> /* <![CDATA[ */ var q2w3_sidebar_options = [{"use_sticky_position":false,"margin_top":0,"margin_bottom":0,"stop_elements_selectors":"","screen_max_width":0,"screen_max_height":0,"widgets":[]}]; /* ]]> */ </script> <script type="text/javascript" src="https://www.microcontrollertips.com/wp-content/plugins/q2w3-fixed-widget/js/frontend.min.js?ver=6.2.3" id="q2w3_fixed_widget-js"></script> <script type="text/javascript" id="perfmatters-lazy-load-js-before"> /* <![CDATA[ */ window.lazyLoadOptions={elements_selector:"img[data-src],.perfmatters-lazy,.perfmatters-lazy-css-bg",thresholds:"0px 0px",class_loading:"pmloading",class_loaded:"pmloaded",callback_loaded:function(element){if(element.tagName==="IFRAME"){if(element.classList.contains("pmloaded")){if(typeof window.jQuery!="undefined"){if(jQuery.fn.fitVids){jQuery(element).parent().fitVids()}}}}}};window.addEventListener("LazyLoad::Initialized",function(e){var lazyLoadInstance=e.detail.instance;var target=document.querySelector("body");var observer=new MutationObserver(function(mutations){lazyLoadInstance.update()});var config={childList:!0,subtree:!0};observer.observe(target,config);});function perfmattersLazyLoadYouTube(e){var t=document.createElement("iframe"),r="ID?";r+=0===e.dataset.query.length?"":e.dataset.query+"&",r+="autoplay=1",t.setAttribute("src",r.replace("ID",e.dataset.src)),t.setAttribute("frameborder","0"),t.setAttribute("allowfullscreen","1"),t.setAttribute("allow","accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"),e.replaceChild(t,e.firstChild)} /* ]]> */ </script> <script type="text/javascript" async src="https://www.microcontrollertips.com/wp-content/plugins/perfmatters/js/lazyload.min.js?ver=2.3.9" id="perfmatters-lazy-load-js"></script> <script type="text/javascript" id="wtwh-uni-gam-prestitial-core-js-extra"> /* <![CDATA[ */ var PRESTITIALINFO = {"logoHeight":"100","logoWidth":"100","backgroundColor":"clear","siteUrl":"https:\/\/www.microcontrollertips.com","siteName":"Microcontroller Tips","siteLogo":"svg","mainCss":"https:\/\/www.microcontrollertips.com\/wp-content\/plugins\/wtwh-universal-gam\/assets\/css\/frontend\/prestitial\/main.css?=1.1.1","prestitialCss":"https:\/\/www.microcontrollertips.com\/wp-content\/plugins\/wtwh-universal-gam\/assets\/css\/frontend\/prestitial\/prestitial.css?=1.1.1"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.microcontrollertips.com/wp-content/plugins/wtwh-universal-gam/assets/js/frontend/prestitial/adlogic.js?ver=1.1.1" id="wtwh-uni-gam-prestitial-core-js"></script> <script type="text/javascript" async data-no-optimize="1" src="https://www.microcontrollertips.com/wp-content/plugins/perfmatters/vendor/instant-page/pminstantpage.min.js?ver=2.3.9" id="perfmatters-instant-page-js"></script> <script defer type="text/javascript" src="https://www.microcontrollertips.com/wp-content/plugins/akismet/_inc/akismet-frontend.js?ver=1738852325" id="akismet-frontend-js"></script> </body></html>

Pages: 1 2 3 4 5 6 7 8 9 10