{"id":136,"date":"2014-11-05T20:33:07","date_gmt":"2014-11-05T18:33:07","guid":{"rendered":"http:\/\/ozenozkaya.com\/blog\/?p=136"},"modified":"2014-11-05T20:33:07","modified_gmt":"2014-11-05T18:33:07","slug":"gomulu-sistemler-11-mikrodenetleyici-io-modlari","status":"publish","type":"post","link":"http:\/\/ozenozkaya.com\/blog\/?p=136","title":{"rendered":"G\u00f6m\u00fcl\u00fc Sistemler \u2013 11 \u2013 Mikrodenetleyici I\/O Modlar\u0131"},"content":{"rendered":"<p>Mikrodenetleyicinin genel ama\u00e7l\u0131 giri\u015f \u00e7\u0131k\u0131\u015f (general purpose input\/output (GPIO)) pinleri, giri\u015f \u00e7\u0131k\u0131\u015f bak\u0131m\u0131ndan farkl\u0131 modlarda konfigure edilebilir. Giri\u015f modlar\u0131 aras\u0131nda\u00a0pull-up, pull-down diren\u00e7leri, hysteresis, ya da benzeri kombinasyonlar s\u00f6z konusu olabilir. Benzer \u015fekilde \u00e7\u0131k\u0131\u015f modlar\u0131\u00a0push-pull, high-drive ya da\u00a0open-drain olabilir.<\/p>\n<div id=\"attachment_137\" style=\"width: 650px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/i0.wp.com\/ozenozkaya.com\/blog\/wp-content\/uploads\/gpio-output-types.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-137\" class=\"wp-image-137 size-large\" src=\"https:\/\/i0.wp.com\/ozenozkaya.com\/blog\/wp-content\/uploads\/gpio-output-types.png?resize=640%2C232\" alt=\"gpio-output-types\" width=\"640\" height=\"232\" \/><\/a><p id=\"caption-attachment-137\" class=\"wp-caption-text\">Resim 1<\/p><\/div>\n<div class=\"su-spoiler su-spoiler-style-default su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>\u00d6NEML\u0130 B\u0130LG\u0130<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">G\u00f6m\u00fcl\u00fc sistemler \u00fczerinde \u00e7al\u0131\u015facak bir ki\u015finin I\/O modlar\u0131n\u0131 mutlaka bilmesi gerekmektedir.\u00a0<\/div><\/div>\n<h1>Giri\u015f Modlar\u0131<\/h1>\n<p id=\"input-modes\">GPIO giri\u015f modlar\u0131 genellikle, y\u00fcksek empedans(high impedance, high-z), pull-up, pull-down ve tekrarlay\u0131c\u0131(repeater) olarak tasarlan\u0131r. Yine baz\u0131 mikrodenetleyiciler I\/O aray\u00fczlerinde histerizis (hysteresis) \u00f6zelli\u011fi de bar\u0131nd\u0131r\u0131r ve bu sayede suni (bouncing gibi) durum de\u011fi\u015fiklikleri \u00f6nlenir.<\/p>\n<p>&nbsp;<\/p>\n<h4 id=\"pull-updown\">Pull Up\/Down<\/h4>\n<p>E\u011fer bir giri\u015f, dahili (mikrodenetleyicinin i\u00e7indeki) pull-up modunda ise o pin i\u00e7eride bir diren\u00e7 ile lojik bir seviyesine \u00e7ekilmi\u015ftir. Bu da \u015fu demektir ki, o pin d\u0131\u015far\u0131dan lojik s\u0131f\u0131ra s\u00fcr\u00fclene kadar, lojik 1 durumunda kalmaya devam edecektir. Tam tersi durum da pull-down i\u00e7in ge\u00e7erlidir.\u00a0E\u011fer bir giri\u015f, dahili \u00a0pull-down\u00a0modunda ise o pin i\u00e7eride bir diren\u00e7 ile lojik s\u0131f\u0131r\u00a0seviyesine \u00e7ekilmi\u015ftir. Bu da \u015fu demektir ki, o pin d\u0131\u015far\u0131dan lojik bire\u00a0s\u00fcr\u00fclene kadar, lojik s\u0131f\u0131r\u00a0durumunda kalmaya devam edecektir.<\/p>\n<p>Repeater: Baz\u0131 mikrokontrol\u00f6rlerde baz\u0131 pinlerin durumu dinamik olarak pull-up ya da pull-down olarak de\u011fi\u015ftirilebilmektedir ve bunun i\u00e7in repeater mod kullan\u0131l\u0131r.<\/p>\n<h4 id=\"floating-high-impedance-tri-stated\">Floating, High Impedance, Tri-Stated<\/h4>\n<p>High Impedance: Bir giri\u015f pini\u00a0 y\u00fcksek empedans(high impedance, high-z) durumunda oldu\u011funda pinin durumu, o pin lojik s\u0131f\u0131ra ya da lojik bire ba\u011flanana kadar bilinemez.<\/p>\n<p>Floating: Y\u00fcksek empedans yap\u0131s\u0131ndaki bir pin, lojik s\u0131f\u0131ra ya da lojik bire ba\u011flanmad\u0131ysa, pin floating\u00a0(belirsiz, sal\u0131nan) moddad\u0131r denir.<\/p>\n<p>Tri-stated: \u00dc\u00e7 durumlu anlam\u0131ndaki bu mod, floating ile ayn\u0131 durum i\u00e7in kullan\u0131l\u0131r.<\/p>\n<div class=\"su-spoiler su-spoiler-style-default su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>\u00d6NEML\u0130 B\u0130LG\u0130<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">Mikrokontrol\u00f6r\u00fcn\u00a0d\u0131\u015f\u0131nda herhangi bir yere ba\u011flanmam\u0131\u015f bir pinin floating durumda kalmas\u0131n\u0131 \u00f6nlemek i\u00e7in,mikrokontrol\u00f6r\u00fcn\u00a0i\u00e7erisindeki pull up\/down diren\u00e7leri aktive edilir. \u00a0<\/div><\/div>\n<h4 id=\"hysteresis\">Hysteresis<\/h4>\n<p>Bir pinin lojik s\u0131f\u0131rda m\u0131 lojik birde mi oldu\u011funa karar verebilmek i\u00e7in genelde bir e\u015fik de\u011feri kullan\u0131l\u0131r. Ancak bu e\u015fik de\u011feri bir aral\u0131k ifade etmedi\u011finden e\u015fik de\u011ferinin \u00e7ok az \u00fcst\u00fc de lojik bir olur, epey \u00fcst\u00fc de lojik bir olur. Benzer \u015fekilde\u00a0e\u015fik de\u011ferinin \u00e7ok az alt\u0131\u00a0da lojik s\u0131f\u0131r\u00a0olur, epey alt\u0131\u00a0da lojik s\u0131f\u0131r\u00a0olur. Ger\u00e7ek hayatta bu durum bouncing (sekme, sal\u0131nma) problemini do\u011furur. Siz lojik birdeki bir pini lojik s\u0131f\u0131ra \u00e7ekerken pin e\u015fik de\u011ferinin etraf\u0131nda karars\u0131z bir duruma girer ve ard\u0131\u015f\u0131l olarak 1,0,1,0,1,0 durumlar\u0131 g\u00f6r\u00fcl\u00fcr. Bunu \u00f6nlemek i\u00e7in g\u00fcvenli bir aral\u0131k belirlenmi\u015ftir.<\/p>\n<h1>\u00c7\u0131k\u0131\u015f Modlar\u0131<\/h1>\n<p>&nbsp;<\/p>\n<h4 id=\"push-pull\">Push-Pull<\/h4>\n<p>Push-pull bir \u00e7\u0131k\u0131\u015f hem source hem de sink ak\u0131m\u0131 ak\u0131tabilir. Bu da pin \u00e7\u0131k\u0131\u015f\u0131 s\u0131f\u0131ra da \u00e7ekilse, bire de \u00e7ekilse o pin \u00fczerinden ak\u0131m ak\u0131tabilmeyi sa\u011flar. TTL ve CMOS devreler push-pull \u00e7\u0131k\u0131\u015f kullan\u0131r.<\/p>\n<h4 id=\"open-drain\">Open-Drain<\/h4>\n<p>Resim 1&#8217;de &#8220;open-drain&#8221; yazan k\u0131sm\u0131 g\u00f6rebilirsiniz. Gerilimle s\u00fcr\u00fclen bir transist\u00f6r t\u00fcr\u00fc olan MOSFET&#8217;i tan\u0131yanlar i\u00e7in &#8220;open-drain&#8221; kavram\u0131 zaten a\u00e7\u0131klamaya mahal gerek b\u0131rakmayacak kadar anla\u015f\u0131l\u0131rd\u0131r. Ancak MOSFET&#8217;i bilmeyenler i\u00e7in anlatmak gerekirse bir MOSFET \u00fc\u00e7 pine sahiptir: gate(kap\u0131, giri\u015f), source (kaynak), drain(aka\u00e7). Open-drain durumda source\u00a0topra\u011fa ba\u011fl\u0131d\u0131r,gate i\u00e7eriden s\u00fcr\u00fclm\u00fc\u015f durumdad\u0131r ve drain a\u00e7\u0131ktad\u0131r. Open-drain \u00e7\u0131k\u0131\u015f yaln\u0131zca sink ak\u0131m\u0131 ak\u0131tabilir yani d\u0131\u015far\u0131dan ak\u0131m \u00e7ekebilir. D\u0131\u015far\u0131ya do\u011fru ak\u0131m basamaz. Esasen bu da iki durumda kalabilmesine imkan verir: d\u00fc\u015f\u00fck empedans ve y\u00fcksek empedans.<\/p>\n<h4 id=\"high-drive\">High Drive<\/h4>\n<p>High Drive (y\u00fcksek s\u00fcr\u00fc\u015fl\u00fc) pinler esasen y\u00fcksek ak\u0131m verebilen push-pull pinlerdir. Normal bir push pull pin +\/- 8mA ak\u0131m ak\u0131tabilirken high drive pinler 40mA&#8217;e kadar ak\u0131m ak\u0131tabilir. Ancak genelde elektriksel karakteristik datasheette belirtilir. E\u011fer pin ile do\u011frudan y\u00fcksek ak\u0131m \u00e7eken elemanlar s\u00fcr\u00fclecekse, pinin \u00fcst s\u0131n\u0131r\u0131na kadar ak\u0131m \u00e7ekecek cihazlar, ek bir devre olmas\u0131z\u0131n high drive pinler ile s\u00fcr\u00fclebilirler.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mikrodenetleyicinin genel ama\u00e7l\u0131 giri\u015f \u00e7\u0131k\u0131\u015f (general purpose input\/output (GPIO)) pinleri, giri\u015f \u00e7\u0131k\u0131\u015f bak\u0131m\u0131ndan farkl\u0131 modlarda konfigure edilebilir. Giri\u015f modlar\u0131 aras\u0131nda\u00a0pull-up, pull-down diren\u00e7leri, hysteresis, ya da benzeri kombinasyonlar s\u00f6z konusu olabilir. Benzer \u015fekilde \u00e7\u0131k\u0131\u015f modlar\u0131\u00a0push-pull, high-drive ya da\u00a0open-drain olabilir. Giri\u015f Modlar\u0131 GPIO giri\u015f modlar\u0131 genellikle, y\u00fcksek empedans(high impedance, high-z), pull-up, pull-down ve tekrarlay\u0131c\u0131(repeater) olarak tasarlan\u0131r. Yine <a class=\"read-more\" href=\"http:\/\/ozenozkaya.com\/blog\/?p=136\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_tr_post_content":"Mikrodenetleyicinin genel ama\u00e7l\u0131 giri\u015f \u00e7\u0131k\u0131\u015f (general purpose input\/output (GPIO)) pinleri, giri\u015f \u00e7\u0131k\u0131\u015f bak\u0131m\u0131ndan farkl\u0131 modlarda konfigure edilebilir. Giri\u015f modlar\u0131 aras\u0131nda\u00a0pull-up, pull-down diren\u00e7leri, hysteresis, ya da benzeri kombinasyonlar s\u00f6z konusu olabilir. Benzer \u015fekilde \u00e7\u0131k\u0131\u015f modlar\u0131\u00a0push-pull, high-drive ya da\u00a0open-drain olabilir.\n\n[caption id=\"attachment_137\" align=\"alignnone\" width=\"640\"]<a href=\"http:\/\/ozenozkaya.com\/blog\/wp-content\/uploads\/gpio-output-types.png\"><img class=\"wp-image-137 size-large\" src=\"http:\/\/ozenozkaya.com\/blog\/wp-content\/uploads\/gpio-output-types-1024x372.png\" alt=\"gpio-output-types\" width=\"640\" height=\"232\" \/><\/a> Resim 1[\/caption]\n\n[su_spoiler title=\"\u00d6NEML\u0130 B\u0130LG\u0130\"]G\u00f6m\u00fcl\u00fc sistemler \u00fczerinde \u00e7al\u0131\u015facak bir ki\u015finin I\/O modlar\u0131n\u0131 mutlaka bilmesi gerekmektedir.\u00a0[\/su_spoiler]\n\n<h1>Giri\u015f Modlar\u0131<\/h1>\n\n<p id=\"input-modes\">GPIO giri\u015f modlar\u0131 genellikle, y\u00fcksek empedans(high impedance, high-z), pull-up, pull-down ve tekrarlay\u0131c\u0131(repeater) olarak tasarlan\u0131r. Yine baz\u0131 mikrodenetleyiciler I\/O aray\u00fczlerinde histerizis (hysteresis) \u00f6zelli\u011fi de bar\u0131nd\u0131r\u0131r ve bu sayede suni (bouncing gibi) durum de\u011fi\u015fiklikleri \u00f6nlenir.<\/p>\n\n&nbsp;\n\n<h4 id=\"pull-updown\">Pull Up\/Down<\/h4>\n\nE\u011fer bir giri\u015f, dahili (mikrodenetleyicinin i\u00e7indeki) pull-up modunda ise o pin i\u00e7eride bir diren\u00e7 ile lojik bir seviyesine \u00e7ekilmi\u015ftir. Bu da \u015fu demektir ki, o pin d\u0131\u015far\u0131dan lojik s\u0131f\u0131ra s\u00fcr\u00fclene kadar, lojik 1 durumunda kalmaya devam edecektir. Tam tersi durum da pull-down i\u00e7in ge\u00e7erlidir.\u00a0E\u011fer bir giri\u015f, dahili \u00a0pull-down\u00a0modunda ise o pin i\u00e7eride bir diren\u00e7 ile lojik s\u0131f\u0131r\u00a0seviyesine \u00e7ekilmi\u015ftir. Bu da \u015fu demektir ki, o pin d\u0131\u015far\u0131dan lojik bire\u00a0s\u00fcr\u00fclene kadar, lojik s\u0131f\u0131r\u00a0durumunda kalmaya devam edecektir.\n\nRepeater: Baz\u0131 mikrokontrol\u00f6rlerde baz\u0131 pinlerin durumu dinamik olarak pull-up ya da pull-down olarak de\u011fi\u015ftirilebilmektedir ve bunun i\u00e7in repeater mod kullan\u0131l\u0131r.\n\n<h4 id=\"floating-high-impedance-tri-stated\">Floating, High Impedance, Tri-Stated<\/h4>\n\nHigh Impedance: Bir giri\u015f pini\u00a0 y\u00fcksek empedans(high impedance, high-z) durumunda oldu\u011funda pinin durumu, o pin lojik s\u0131f\u0131ra ya da lojik bire ba\u011flanana kadar bilinemez.\n\nFloating: Y\u00fcksek empedans yap\u0131s\u0131ndaki bir pin, lojik s\u0131f\u0131ra ya da lojik bire ba\u011flanmad\u0131ysa, pin floating\u00a0(belirsiz, sal\u0131nan) moddad\u0131r denir.\n\nTri-stated: \u00dc\u00e7 durumlu anlam\u0131ndaki bu mod, floating ile ayn\u0131 durum i\u00e7in kullan\u0131l\u0131r.\n\n[su_spoiler title=\"\u00d6NEML\u0130 B\u0130LG\u0130\"]Mikrokontrol\u00f6r\u00fcn\u00a0d\u0131\u015f\u0131nda herhangi bir yere ba\u011flanmam\u0131\u015f bir pinin floating durumda kalmas\u0131n\u0131 \u00f6nlemek i\u00e7in,mikrokontrol\u00f6r\u00fcn\u00a0i\u00e7erisindeki pull up\/down diren\u00e7leri aktive edilir. \u00a0[\/su_spoiler]\n\n<h4 id=\"hysteresis\">Hysteresis<\/h4>\n\nBir pinin lojik s\u0131f\u0131rda m\u0131 lojik birde mi oldu\u011funa karar verebilmek i\u00e7in genelde bir e\u015fik de\u011feri kullan\u0131l\u0131r. Ancak bu e\u015fik de\u011feri bir aral\u0131k ifade etmedi\u011finden e\u015fik de\u011ferinin \u00e7ok az \u00fcst\u00fc de lojik bir olur, epey \u00fcst\u00fc de lojik bir olur. Benzer \u015fekilde\u00a0e\u015fik de\u011ferinin \u00e7ok az alt\u0131\u00a0da lojik s\u0131f\u0131r\u00a0olur, epey alt\u0131\u00a0da lojik s\u0131f\u0131r\u00a0olur. Ger\u00e7ek hayatta bu durum bouncing (sekme, sal\u0131nma) problemini do\u011furur. Siz lojik birdeki bir pini lojik s\u0131f\u0131ra \u00e7ekerken pin e\u015fik de\u011ferinin etraf\u0131nda karars\u0131z bir duruma girer ve ard\u0131\u015f\u0131l olarak 1,0,1,0,1,0 durumlar\u0131 g\u00f6r\u00fcl\u00fcr. Bunu \u00f6nlemek i\u00e7in g\u00fcvenli bir aral\u0131k belirlenmi\u015ftir.\n\n<h1>\u00c7\u0131k\u0131\u015f Modlar\u0131<\/h1>\n\n&nbsp;\n\n<h4 id=\"push-pull\">Push-Pull<\/h4>\n\nPush-pull bir \u00e7\u0131k\u0131\u015f hem source hem de sink ak\u0131m\u0131 ak\u0131tabilir. Bu da pin \u00e7\u0131k\u0131\u015f\u0131 s\u0131f\u0131ra da \u00e7ekilse, bire de \u00e7ekilse o pin \u00fczerinden ak\u0131m ak\u0131tabilmeyi sa\u011flar. TTL ve CMOS devreler push-pull \u00e7\u0131k\u0131\u015f kullan\u0131r.\n\n<h4 id=\"open-drain\">Open-Drain<\/h4>\n\nResim 1'de \"open-drain\" yazan k\u0131sm\u0131 g\u00f6rebilirsiniz. Gerilimle s\u00fcr\u00fclen bir transist\u00f6r t\u00fcr\u00fc olan MOSFET'i tan\u0131yanlar i\u00e7in \"open-drain\" kavram\u0131 zaten a\u00e7\u0131klamaya mahal gerek b\u0131rakmayacak kadar anla\u015f\u0131l\u0131rd\u0131r. Ancak MOSFET'i bilmeyenler i\u00e7in anlatmak gerekirse bir MOSFET \u00fc\u00e7 pine sahiptir: gate(kap\u0131, giri\u015f), source (kaynak), drain(aka\u00e7). Open-drain durumda source\u00a0topra\u011fa ba\u011fl\u0131d\u0131r,gate i\u00e7eriden s\u00fcr\u00fclm\u00fc\u015f durumdad\u0131r ve drain a\u00e7\u0131ktad\u0131r. Open-drain \u00e7\u0131k\u0131\u015f yaln\u0131zca sink ak\u0131m\u0131 ak\u0131tabilir yani d\u0131\u015far\u0131dan ak\u0131m \u00e7ekebilir. D\u0131\u015far\u0131ya do\u011fru ak\u0131m basamaz. Esasen bu da iki durumda kalabilmesine imkan verir: d\u00fc\u015f\u00fck empedans ve y\u00fcksek empedans.\n\n<h4 id=\"high-drive\">High Drive<\/h4>\n\nHigh Drive (y\u00fcksek s\u00fcr\u00fc\u015fl\u00fc) pinler esasen y\u00fcksek ak\u0131m verebilen push-pull pinlerdir. Normal bir push pull pin +\/- 8mA ak\u0131m ak\u0131tabilirken high drive pinler 40mA'e kadar ak\u0131m ak\u0131tabilir. Ancak genelde elektriksel karakteristik datasheette belirtilir. E\u011fer pin ile do\u011frudan y\u00fcksek ak\u0131m \u00e7eken elemanlar s\u00fcr\u00fclecekse, pinin \u00fcst s\u0131n\u0131r\u0131na kadar ak\u0131m \u00e7ekecek cihazlar, ek bir devre olmas\u0131z\u0131n high drive pinler ile s\u00fcr\u00fclebilirler.","_tr_post_name":"gomulu-sistemler-11-mikrodenetleyici-io-modlari","_tr_post_excerpt":"","_tr_post_title":"G\u00f6m\u00fcl\u00fc Sistemler \u2013 11 \u2013 Mikrodenetleyici I\/O Modlar\u0131","_en_post_content":"","_en_post_name":"","_en_post_excerpt":"","_en_post_title":"","edit_language":"tr","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2}},"categories":[2,3],"tags":[],"class_list":["post-136","post","type-post","status-publish","format-standard","hentry","category-elektronik","category-gomulu-sistemler"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5gWM6-2c","jetpack-related-posts":[],"_links":{"self":[{"href":"http:\/\/ozenozkaya.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/ozenozkaya.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/ozenozkaya.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/ozenozkaya.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/ozenozkaya.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=136"}],"version-history":[{"count":0,"href":"http:\/\/ozenozkaya.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/136\/revisions"}],"wp:attachment":[{"href":"http:\/\/ozenozkaya.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/ozenozkaya.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=136"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/ozenozkaya.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}