Table of Contents
Debuncing یک تکنیک است که در الکترونیک دیجیتال استفاده می شود تا اطمینان حاصل شود که تنها یک سیگنال واحد زمانی ثبت می شود که سوئیچ یا دکمه فشرده می شود. سوئیچ های مکانیکی اغلب سیگنال های متعدد را به دلیل پرش تماس ایجاد می کنند که می تواند باعث خطا در سیستم های دیجیتال شود.
درک Switch
هنگامی که یک سوئیچ مکانیکی فشرده یا آزاد می شود، تماس ها به صورت تمیزی حالت را تغییر نمی دهند، آنها به سرعت چندین بار قبل از حل این پدیده، که به عنوان پرش شناخته می شود، می توانند از چند میکرو ثانیه تا میلی ثانیه، که منجر به چندین سیگنال ناخواسته می شود، تماس بگیرند.
تکنیک های Debuncing
چندین روش برای کاهش ورودی های دیجیتال، از جمله روش های سخت افزاری و نرم افزار استفاده می شود. سخت افزار اغلب شامل فیلترهای RC یا محرک های Schmitt است، در حالی که نرم افزار از الگوریتم های زمان بندی برای نادیده گرفتن تغییرات سریع دولتی استفاده می کند.
اجرای Software Debuncing
توالی نرم افزار به طور معمول شامل نمونه برداری ورودی در فواصل منظم و تایید تغییر حالت تنها در صورتی است که در طول یک مدت مشخص پایدار بماند، این روش انعطاف پذیر و آسان برای اجرای در کد میکروکنترلر است.
به عنوان مثال، اگر ورودی دکمه هر 10 میلی ثانیه بخواند، سیستم می تواند تأیید کند که ورودی حداقل 50 میلی ثانیه قبل از ثبت تغییر باقی می ماند.این باعث کاهش محرک های کاذب ناشی از پرش می شود.
زمان Debculation Debounce
زمان debounce بستگی به ویژگی های سوئیچ و الزامات سیستم دارد.یک رویکرد مشترک این است که فاصله ای بین 5 تا 20 میلی ثانیه را انتخاب کنید.این محاسبه شامل اندازه گیری حداکثر مدت پرش و اضافه کردن حاشیه ایمنی است.
به عنوان مثال، اگر سوئیچ تا 10 میلی ثانیه پرش کند، تنظیم زمان debounce 20 میلی ثانیه تشخیص قابل اعتماد بدون تاخیر قابل توجه را تضمین می کند.
- حداکثر مدت پرش را شناسایی کنید
- یک فاصله ی دو اونس را کمی طولانی تر از زمان پرش انتخاب کنید
- پیاده سازی نمونه برداری دوره ای در کد
- تایید وضعیت پایدار قبل از ثبت نام ورودی