برای هر پایه ی برونبر (خروجی) دیجیتال میکروکنترلرها باید مداری باشه، تا ولتاژ و روانه(جریان) برون رونده رو فراهم کنه، به این مدار میگیم برونساز (درایور خروجی). در میکروکنترلر های STM32 این مدار میتونه به گونه دهنده-کشنده یا Push-Pull یا به گونه درین-باز یا Open-drain باشه. در این نوشته با این دو گونه برونساز آشنا میشید و کاربرد هر کدوم رو هم بررسی میکنیم.
پهرست
– برونساز دهنده-کشنده Push-Pull
– Push-pull و Open-drain برای روشن کردن led
– کاربرد Push-pull و Open-drain
برونساز درین-باز یا Open-drain
در گونه ی برونساز درین-باز Open-drain ( مشابه Open collector ) تنها یک NMOS بکار برده میشه که Drain این ماسفت که همون پایه ی برونبر میکروکنترلر هست به جایی بسته نیست. نامگذاری این گونه ی برونساز هم بر همین بنیان بوده.
ماسفت NMOS همچون یک کلید ساده تنها میتواند پایه ی برونبر رو به زمین ببندد و میکروکنترلر تنها میتونه روانه(جریان) رو فروبر(sink) کنه.
هنگامی که ترانزیستور خاموش است-> پایه ی برونبر به جایی بسته نیست.
هنگامی که ترانزیستور روشن است-> پایه ی برونبر بسته به زمین.
برونساز دهنده-کشنده یا Push-pull
در مدار برونساز (درایور خروجی) دهنده-کشنده یا Push-pull ،یک NMOS و یک PMOS بکار برده میشه، همچون یک کلید SPDT کار میکنه و میتونه پایه ی میکروکنترلر رو هم به زمین و هم به ولتاژ بالا ( VDD) ببنده.
کلید SPDT : کلیدی است که یک پایه ی درونبر دارد که میتواند به یکی از دو پایه ی بیرونبر بسته شود.
نامگذاری این گونه ی برونساز بر بنیان سوی روانه در دو فاز کارکرد آن هست. در فاز دهنده ، پایه ی برونبر روانه میدهد و در فاز کشنده، روانه میکشد.
در فاز کشنده یا Pull phase ماسفت NMOS روشن میشه :
- پایه ی برونبر میکروکنترلر به زمین بسته میشه.
- پایه ی میکرو، روانه رو به درون پایه میکشه یا روانه رو فرومیبره (سینک= Sink میکنه).
- سوی روانه به درون.
در فاز دهنده یا Push phase ماسفت PMOS روشن میشه:
- پایه ی برونبر میکروکنترلر به ولتاژ بالا بسته میشه.
- پایه ی میکرو، روانه رو بسوی بیرون میده یا روانه رو فرامیده (سورس میکنه).
- سوی روانه به بیرون.

نمونه بکار گیری از 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 هم خاموشه.

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

پایه ی میکرو بجای زمین و بکارگیری برونساز درین-باز
اگر پایه ی میکروکنترلر رو بجای زمین بذاریم، برونساز درین-باز یا Open-drain هم میشه بکار برد. در درین-باز پایه ی میکرو تنها میتونه به زمین بسته بشه. هنگامی که پایه ی میکرو زمین بشه در دو سر led ناهمسانی ولتاژ پدید میاد و روانه ی ردشونده از LED روشنش میکنه.
هنگامیکه NMOS خاموشه، میخواهیم که led هم خاموش باشه. برای خاموش بودن led :
1. نبود گذرگاهی پیوسته برای ردشدن روانه
هنگامی که NMOS خاموشه، راهی برای گذر روانه نیست و led هم خاموشه.
2. نبود ناهمسانی ولتاژ در دو سر led
ولی اگر بجای led، درونبر دیجیتال میکروکنترلر دیگه ای اونجا باشه، برای پیشگیری از نویز افتادن روی پایه و زمین شدن ناخواسته ی پایه ی میکرو، بایستی ولتاز روی پایه را هنگامی که NMOS خاموش است، با یک ایستاگر بالاکش (مقاومت pull-up ) استوار کنیم.نیاز هست که پایه ی میکرو رو با یک ایستاگر 5 تا 10 کیلو به VCC ببندیم.

کاربرد Push-pull و Open-drain
برونساز دهنده-کشنده یا push-pull رو هنگامی بکار میبریم که نیاز باشه پایه ی میکروکنترلر به VCC بسته بشه و روانه (جریان) بار رو فراهم کنه.
برونساز درین-باز یا Open-drain رو هنگامی بکار میبریم که نیاز نباشه و یا نباید پایه ی میکروکنترلر به ولتاژ بالا بسته بشه.
کاربرد درین-باز در داده گذر تک سیم یا 1-wire در حسگر های دما و نم
برای نمونه پایه داده در حسگر دما و نم AM2302 یا حسگر دمای DS18B20 با یک ایستاگر بالاکش به ولتاژ بالا بسته میشه و میکروکنترلر و حسگر هر دو تنها میتونن این پایه رو زمین کنند و این پایه هیچ جوره نباید بی میانجی به VCC بسته بشه.
کاربرد درین-باز در داده گذر I2C
