중화사전망 - 옥스퍼드 사전 - 전자 산업에서 '감시자'란 무엇을 의미하나요?
전자 산업에서 '감시자'란 무엇을 의미하나요?
워치독(Watchdog) 타이머라고도 불리는 타이머 회로는 일반적으로 도그 피딩(Dog Feeding)이라는 입력과 MCU의 RST 단자로의 출력이 있다. WDT를 클리어하기 위해 개 급식 터미널에 신호가 전송됩니다. 개가 지정된 시간(보통 프로그램이 종료된 경우) 동안 급식을 하지 않고 WDT 시간 초과가 발생하면 재설정 신호가 전송됩니다. MCU에 대한 재설정입니다. MCU 충돌을 방지합니다. 워치독의 기능은 프로그램이 무한 루프에 빠지거나 프로그램이 실행되는 것을 방지하는 것입니다.
작동 원리: 시스템이 실행된 후 감시 카운터가 시작되고 감시가 자동으로 계산을 시작합니다. 일정 시간이 지난 후에도 감시가 삭제되지 않으면 감시 카운터가 오버플로됩니다. 워치독 인터럽트를 발생시키고 시스템을 재설정합니다. 따라서 워치독이 포함된 칩을 사용할 경우 워치독에 주의하시기 바랍니다.
하드웨어 워치독은 타이머를 사용하여 메인 프로그램의 실행을 모니터링합니다. 즉, 메인 프로그램이 실행되는 동안 타이머가 만료되기 전에 타이머를 재설정해야 합니다. 무한 루프이거나 PC 포인터가 다시 돌아올 수 없습니다. 그러면 타이머가 만료되면 마이크로컨트롤러가 재설정됩니다. MAX813, 5045, IMP 813 등 일반적으로 사용되는 WDT 칩은 가격이 4~10위안 정도이다.
소프트웨어 워치독 기술의 원리는 이와 유사하지만 소프트웨어를 이용해 구현된다. 우리는 여전히 51 시리즈를 예로 들어 51 마이크로컨트롤러에 두 개의 타이머가 있다는 것을 알고 있으며 이 두 개의 타이머를 사용하여 메인 프로그램의 작동을 모니터링할 수 있습니다. T0에 대한 특정 타이밍 시간을 설정하고 타이밍 인터럽트가 발생할 때 변수에 값을 할당할 수 있습니다. 이 변수는 이미 기본 프로그램 시작 시 초기 값을 가지고 있습니다. 여기서 설정하려는 타이밍 값은 다음보다 작아야 합니다. 메인 프로그램의 실행 시간으로, 메인 프로그램 종료 시 변수 값이 판단됩니다. 값이 예상대로 변경되면 T0 인터럽트가 정상임을 의미합니다. 다시 놓기. T1의 경우 이를 기본 프로그램의 작동을 모니터링하는 데 사용합니다. T1에 대한 특정 타이밍 시간을 설정하고 이를 기본 프로그램에서 재설정할 수 없으면 T1의 타이밍 인터럽트로 인해 마이크로컨트롤러가 작동하지 않습니다. 재설정합니다. 여기서 T1의 타이밍 시간은 메인 프로그램의 실행 시간보다 크게 설정되어야 하며 메인 프로그램에 대해 일정한 여유를 남겨두어야 합니다. T1의 인터럽트가 정상인지 아닌지는 T0 시간 제한 인터럽트 서브루틴에 의해 모니터링됩니다. 이는 하나의 사이클을 형성하기에 충분하며, T0은 T1을 모니터링하고, T1은 메인 프로그램을 모니터링하고, 메인 프로그램은 T0을 모니터링하여 시스템의 안정적인 작동을 보장합니다.
51 시리즈에는 시스템 주파수를 나누어 계산하는 전용 워치독 타이머가 있습니다. 타이머가 오버플로되면 워치독이 오버플로 속도를 설정할 수 있으며 단독으로도 사용할 수 있습니다. 타이머 사용.
Lingyang 61의 감시는 비교적 간단합니다. 하나는 단일 시간입니다. 두 번째는 실제로 기능을 사용할 때 루프에 Clear Dog 명령을 추가하면 됩니다. 좋아요.
C8051Fxxx 마이크로컨트롤러에는 시스템 시계를 사용하는 21비트 타이머도 있습니다. 이 타이머는 제어 레지스터에 대한 두 가지 특정 쓰기 작업 사이의 시간 간격을 감지합니다. 이 시간 간격이 프로그래밍된 한계를 초과하면 WDT 재설정이 생성됩니다.
------------------------------- ----- ------------------------
참고 워치독 사용 시: 대부분의 51 시리즈 마이크로컨트롤러에는 워치독이 있습니다. 워치독이 정기적으로 삭제되지 않으면 재설정이 발생합니다. 이렇게 하면 프로그램이 실행되는 것을 방지할 수 있습니다. 적절한 시간에 워치독을 지우기로 결정하려면 디자이너가 워치독 오버플로 시간을 알아야 합니다. 워치독을 너무 자주 지워서는 안 됩니다. 그렇지 않으면 리소스가 낭비될 수 있습니다. 프로그램이 정상적으로 실행 중일 때 소프트웨어는 오버플로 인터럽트로 인한 잘못된 재설정을 방지하기 위해 타이머를 일정한 간격(타이머의 오버플로 기간보다 짧은 간격)으로 설정합니다.
Watchdog 애플리케이션: Watchdog은 시스템의 정상적인 작동을 복원하고(광 드라이브 및 특정 프로그램을 잠그는 기능이 있음) 집에서 아이들이 놀지 못하도록 방지하는 효과적인 모니터링 관리자입니다. 통제할 수 없는 게임, 인터넷 서핑, 비디오 시청 등은 매우 좋은 응용 가치를 가지고 있습니다.
시스템 소프트웨어 "watchdog"의 디자인 아이디어:
1. Watchdog 설정 타이머 T0. 초기화 블록에서 T0의 작업 모드를 설정하고 인터럽트 및 카운팅 기능을 활성화합니다. 시스템 Fosc=12MHz, T0은 16비트 카운터, 최대 카운트 값은 (2의 10승)-1=65 535, T0 입력 카운팅 주파수는 입니다. Fosc/12에서 오버플로 기간은 (65 535+1)/1=65 536(μs)입니다.
2. 주 제어 프로그램이 한 번 순환하는 데 걸리는 시간을 계산합니다. 시스템의 각 기능 모듈과 해당 주기 시간을 고려하면 이 시스템의 주 제어 프로그램 실행 시간은 약 16.6ms입니다. 시스템은 "감시" 타이머 T0을 30ms로 설정합니다(T0의 초기 값은 65,536-30,000 = 35,536입니다). 주 제어 프로그램의 각 사이클은 T0의 초기 값을 새로 고칩니다. 프로그램이 "무한 루프"에 들어가고 T0의 초기 값이 30ms 이내에 새로 고쳐지지 않으면 "워치독" 타이머 T0이 오버플로되어 인터럽트를 적용합니다.
3. T0 오버플로에 해당하는 인터럽트 서비스 루틴을 설계합니다. 이 서브루틴에는 T0에 해당하는 인터럽트 벡터 주소(000BH)에 "무조건 전송" 명령을 쓰고, 컴퓨터를 전체 프로그램의 첫 번째 줄로 다시 끌어서 마이크로컨트롤러를 다시 초기화하고, 올바른 실행 순서.