Table of Contents
마이크로 제어기는 전자 프로젝트에서 사용자 입력을 감지하는 데 일반적으로 사용됩니다. 그러나, 그들은 종종 여러 원치 않는 신호를 리드 할 수있는 접촉 보행으로 인한 신호를 생성합니다. Debouncing은 이러한 거짓 신호를 필터링하는 과정으로 정확한 감지를 보장합니다. 마이크로 제어기는 다양한 디버깅 기술을 구현하여 스위치 신뢰성을 향상시킵니다.
하드웨어 Debouncing 기술
하드웨어 디부킹은 외부 구성 요소를 추가하여 스위치 신호를 안정화시킵니다. 일반적인 방법은 RC 저하 패스 필터 또는 Schmitt 트리거를 사용합니다. 저항기 및 커패시터로 구성된 RC 필터는 붕싱에 의해 발생되는 신속한 신호 변경을 부드럽게합니다. 슐츠 트리거는 위생 입력으로도 깨끗이 전환을 보장합니다.
소프트웨어 Debouncing 방법
소프트웨어 debouncing은 마이크로 제어기 내에서 프로그래밍 논리에 의존합니다. 가장 똑바른 접근법은 일정한 간격으로 스위치 상태를 샘플링하고 설정 기간에 안정성을 확인하는 데 포함됩니다. 이것은 붕대에 기인한 트리거를 방지합니다. 지연을 구현하거나 타이머를 사용하여 기자 또는 릴리스를 등록하기 전에 일관된 스위치 상태를 확인할 수 있습니다.
debouncing Algorithm의 예
일반적인 소프트웨어 방법은 "state change detection" 알고리즘입니다. 그것은 스위치 입력 주기적으로 읽고 안정 상태 지속 가능한 상태 지속될 때 카운터 또는 타임스탬프를 업데이트하는 것을 포함합니다. 입력이 미리 정의된 기간 동안 일관성 유지되면 변경은 유효합니다.
- 표본 스위치 입력 매 몇몇 milliseconds
- 입력이 여러 샘플과 동일하게 유지되는 경우 확인
- 일관된 판독 후만 변경을 등록
- 탈부속 기간 내에 급속한 변동을 무시하십시오.