السن

خروجی Push-pull و Open-drain

دهنده – کشنده یا push-pull و درین باز یا open-drain دو گونه ی خروجی دیجیتال (دوحالته) میکروکنترلر هستند .

خروجی درین-باز یا Open-drain

 

در گونه ی خروجی درین-باز Open-drain ( مشابه Open collector ) تنها یک NMOS بکار برده میشه که Drain این ماسفت که همون پایه ی خروجی میکروکنترلر هست به جایی بسته نیست. نامگذاری این گونه ی خروجی هم بر همین بنیان بوده.

ماسفت NMOS همچون یک سوئیچ ساده تنها میتواند پایه ی خروجی رو به زمین ببندد و میکروکنترلر تنها میتونه جریان رو فروکش (sink) کنه. 

 

هنگامی که ترانزیستور خاموش است-> پایه ی خروجی به جایی بسته نیست.

هنگامی که ترانزیستور روشن است-> پایه ی خروجی بسته به امیتر که به زمین بسته شده.

 

خروجی open-drian و سینک جریان

خروجی دهنده-کشنده یا Push-pull

در خروجی دهنده-کشنده یا Push-pull ، یک NMOS و یک PMOS بکار برده میشه، همچون یک کلید SPDT کار میکنه و میتونه پایه ی میکروکنترلر رو هم به زمین و هم به ولتاژ بالا ( VDD) ببنده.

کلید SPDT : کلیدی است که یک پایه ی ورودی دارد که میتواند به یکی از دو پایه ی خروجی بسته شود.

در فاز کشنده  یا Pull phase ماسفت NMOS روشن میشه :

  • پایه ی خروجی میکروکنترلر به زمین بسته میشه.
  • پایه ی میکروکنترلر، جریان رو به ولتاژ پایین فرومیکشه ( سینک= Sink میکنه ) . 
  • سوی جریان به درون.

 

در فاز دهنده یا Push phase ماسفت PMOS روشن میشه:

  • پایه ی خروجی میکروکنترلر به ولتاژ بالا بسته میشه.
  • پایه ی میکرو، جریان رو از ولتاژ بالا  فرامیده (سورس میکنه). 
  • سوی جریان به بیرون.

درایور push-pull و کلید SPDT. فاز push و فاز pull

نمونه بکار گیری از Push-pull و Open-drain برای روشن کردن led

پندارید میخواهیم یک led رو روشن کنیم. برای روشن کردن led باید در دو سوی این مصرف کننده ناهمسانی ولتاژ (اختلاف ولتاژ) بسازیم ، تاجریان) از بار (مصرف کننده) رد شود و led روشن گردد. 

سوی جریان هم مهم هست و در led ها سوی جریان باید از آند به سوی کاتد باشه. پس ولتاژ بالا یا VCC رو با یک مقاومت به آند و کاتد رو هم به زمین متصل میکنیم. مقاومت برای مهار جریانی است که از LED رد میشود.

 

جهت جریان الکتریکی

 

در ادامه میخواهیم این led رو با یکی از پایه های میکروکنترلر روشن و خاموش کنیم. دو گزینه داریم ، میتونیم پایه ی میکروکنترلر رو جای زمین یا ولتاژ بالا (VCC) بذاریم. 

 

اتصال مصرف کننده به پین میکروکنترلر

 

پایه ی میکرو بجای ولتاژ بالا

اگر پایه ی میکروکنترلر رو جایگزین ولتاژ بالا (VCC) کنیم ، هنگامی که بخواهیم led روشن بشه ، پایه ی میکروکنترلر باید VCC باشه و هنگام خاموش، پایه ی میکروکنترلر باید زمین بشه. چون درین-باز نمیتونه پایه ی میکروکنترلر رو به VCC ببنده در این سیم بندی باید  خروجی دهنده-کشنده یا Push-pull بکار ببریم. 

در فاز دهندگی یا Push phase پایه ی میکروکنترلر به VCC بسته میشه ، میکروکنترلر جریان رو فرامیده (سورس میکنه) و سوی جریان به بیرون میکروکنترلر هست و led روشن میشه.

در فاز کشندگی یا Pull phase پایه ی میکروکنترلر به زمین بسته است و از آنجا که دو سوی بار به زمین بسته هست ، در دو سوی بار ، ناهمسانی ولتاژ نداریم و جریانی هم نیست و led هم خاموشه.

 

جهت جریان الکتریکی در فاز pull

 

پایه ی میکرو بجای زمین و بکارگیری خروجی دهنده-کشنده

اگر پایه ی میکروکنترلر رو جایگزین زمین کنیم و طرف دیگر بار به VCC وصل باشد ، هم خروجی Push-pull و هم Open-drain را میتوان بکار برد. 

نخست خروجی دهنده-کشنده یا Push-pull رو بررسی میکنیم. در فاز کشندگی یا Pull phase پایه ی میکروکنترلر زمین میشه ، یک سوی led به ولتاژ بالا (vcc) و سوی دیگه با بکارگیری پایه ی میکرو به زمین بسته میشه. و جریان در led روان میشه و led روشن میشه. در این شیوه، سوی جریان به درون میکرو هست و میکروکنترلر جریان رو فرومیبره (سینک میکنه). 

در فاز دهندگی یا Push phase پایه ی میکرو به VCC بسته میشه و چون ناهمسانی ولتاژ در دو سوی led نیست، led خاموشه. 

 

جهت جریان الکتریکی در فاز push

 

پایه ی میکرو بجای زمین و بکارگیری خروجی درین-باز

اگر پایه ی میکروکنترلر رو بجای زمین بذاریم، خروجی درین-باز یا Open-drain هم میشه بکار برد. در درین-باز پایه ی میکرو تنها میتونه به زمین بسته بشه. هنگامی که پایه ی میکرو زمین بشه در دو سر led ناهمسانی ولتاژ پدید میاد و جریان ردشونده از LED روشنش میکنه.

هنگامیکه NMOS خاموشه، میخواهیم که led هم خاموش باشه. برای خاموش بودن led :

 

1. نبود گذرگاهی پیوسته برای ردشدن جریان 

هنگامی که NMOS خاموشه، راهی برای گذر جریان نیست و led هم خاموشه.

 

2. نبود ناهمسانی ولتاژ در دو سر led 

ولی اگر بجای led، ورودی دیجیتال میکروکنترلر دیگه ای اونجا باشه، برای پیشگیری از نویز افتادن روی پایه و زمین شدن ناخواسته ی پایه ی میکرو، بایستی ولتاز روی پایه را هنگامی که NMOS خاموش است، با یک مقاومت بالاکش ( pull-up ) تثبیت کنیم.نیاز هست که پایه ی میکرو رو با یک مقاومت 5 تا 10 کیلو به VCC ببندیم.

 

جهت جریان الکتریکی در open-drain

کاربرد Push-pull و Open-drain

خروجی دهنده-کشنده یا push-pull رو هنگامی بکار میبریم که نیاز باشه پایه ی میکروکنترلر به VCC بسته بشه و جریان بار رو فراهم کنه.

خروجی درین-باز یا Open-drain رو هنگامی بکار میبریم که نیاز نباشه و یا نباید پایه ی میکروکنترلر به ولتاژ بالا بسته بشه.

 

کاربرد درین-باز در پروتکل ارتباطی تک سیم یا 1-wire در حسگر های دما و نم

برای نمونه پایه داده در حسگر دما و نم AM2302 یا حسگر دمای DS18B20 با یک مقاومت بالاکش به ولتاژ بالا بسته میشه و میکروکنترلر و حسگر هر دو تنها میتونن این پایه رو زمین کنند و این پایه هیچ جوره نباید مستقیم به VCC بسته بشه. 

 

کاربرد درین-باز در پروتکل I2C

درباره ی سیم های SCL و SDA  در پروتکل I2C هم ، این سیم ها بالاکش میشن و همه ی دستگاه های روی باس تنها میتونند این باس ها رو زمین کنند و باس هرگز نباید به VCC بسته بشه ، برای پایه ی SCL و SDA هم باید خروجی درین-باز یا Open drain بکار بره.

 

بستر سخت افزار I2C

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پیمایش به بالا