MICROCHIP dsPIC33/PIC24 DMT 데드맨 타이머 모듈

메모: 이 제품군 참조 매뉴얼 섹션은 장치 데이터 시트를 보완하는 역할을 합니다. 장치 변형에 따라 이 매뉴얼 섹션이 모든 dsPIC33/PIC24 장치에 적용되지 않을 수도 있습니다.
이 문서가 귀하가 사용 중인 장치를 지원하는지 확인하려면 현재 장치 데이터 시트의 "Deadman Timer(DMT)" 장 시작 부분에 있는 참고 사항을 참조하십시오.
장치 데이터 시트 및 제품군 참조 매뉴얼 섹션은 Microchip Worldwide에서 다운로드할 수 있습니다. Web사이트 위치: http://www.microchip.com.
소개
DMT(Deadman Timer) 모듈은 사용자가 지정한 타이밍 창 내에서 주기적인 타이머 인터럽트를 요구하여 사용자가 애플리케이션 소프트웨어의 상태를 모니터링할 수 있도록 설계되었습니다. DMT 모듈은 동기식 카운터이며 활성화되면 명령 페치 수를 계산하고 소프트 트랩/인터럽트를 일으킬 수 있습니다. 설정된 명령어 수 내에 DMT 카운터가 클리어되지 않으면 DMT 이벤트가 소프트 트랩인지 인터럽트인지 확인하려면 현재 디바이스 데이터 시트의 "인터럽트 컨트롤러" 장을 참조하십시오. DMT는 일반적으로 프로세서(TCY)를 구동하는 시스템 클럭에 연결됩니다. 사용자는 타이머 시간 초과 값과 비교 이벤트에 대해 고려되지 않는 카운트 범위인 창 범위를 지정하는 마스크 값을 지정합니다.
이 모듈의 주요 기능 중 일부는 다음과 같습니다.
- 구성 또는 소프트웨어 활성화 제어
- 사용자가 구성할 수 있는 제한 시간 또는 명령 수
- 타이머를 지우는 두 가지 명령 시퀀스
- 타이머를 지우는 32비트 구성 가능 창
그림 1-1은 Deadman Timer 모듈의 블록 다이어그램을 보여줍니다.
그림 1-1: Deadman 타이머 모듈 블록 다이어그램
메모
- DMT는 구성 레지스터인 FDMT 또는 특수 기능 레지스터(SFR)인 DMTCON에서 활성화될 수 있습니다.
- DMT는 시스템 시계를 사용하여 프로세서가 명령을 가져올 때마다 시계를 기록합니다. 예를 들어amp즉, GOTO 명령(4개 명령 사이클 사용)을 실행한 후 DMT 카운터는 한 번만 증가합니다.
- BAD1 및 BAD2는 부적절한 시퀀스 플래그입니다. 자세한 내용은 섹션 3.5 “DMT 재설정”을 참조하세요.
- DMT 최대 카운트는 FDMTCNL 및 FDMTCNH 레지스터의 초기 값에 의해 제어됩니다.
- DMT 이벤트는 마스크할 수 없는 소프트 트랩 또는 인터럽트입니다.
그림 1-2는 데드맨 타이머 이벤트의 타이밍 다이어그램을 보여줍니다.
그림 1-2: Deadman 타이머 이벤트
DMT 레지스터
메모: 각 dsPIC33/PIC24 제품군 장치 변형에는 하나 이상의 DMT 모듈이 포함될 수 있습니다.
자세한 내용은 해당 장치의 데이터 시트를 참조하세요.
DMT 모듈은 다음과 같은 특수 기능 레지스터(SFR)로 구성됩니다.
- DMTCON: Deadman 타이머 제어 레지스터
이 레지스터는 Deadman Timer를 활성화하거나 비활성화하는 데 사용됩니다. - DMTPRECLR: 데드맨 타이머 사전 클리어 레지스터
이 레지스터는 최종적으로 Deadman Timer를 지우기 위해 preclear 키워드를 작성하는 데 사용됩니다. - DMTCLR: 데드맨 타이머 클리어 레지스터
이 레지스터는 DMTPRECLR 레지스터에 사전 클리어 단어가 쓰여진 후 클리어 키워드를 쓰는 데 사용됩니다. 데드맨 타이머는 클리어 키워드 쓰기 후에 지워집니다. - DMTSTAT: 데드맨 타이머 상태 레지스터
이 레지스터는 잘못된 키워드 값이나 시퀀스, Deadman Timer 이벤트에 대한 상태와 DMT 지우기 창이 열려 있는지 여부를 제공합니다. - DMTCNTL: Deadman 타이머 카운트 레지스터 낮음 및
DMTCNTH: 데드맨 타이머 카운트 레지스터 높음
이러한 낮은 카운트 레지스터와 높은 카운트 레지스터는 32비트 카운터 레지스터로 함께 사용되어 사용자 소프트웨어가 DMT 카운터의 내용을 읽을 수 있습니다.
- DMTPSCNTL: 게시 상태 구성 DMT 카운트 상태 레지스터 낮음 및 DMTPSCNTH: 게시 상태 구성 DMT 카운트 상태 레지스터 높음
이러한 하위 및 상위 레지스터는 각각 FDMTCNTL 및 FDMTCNTH 레지스터의 DMTCNTx 구성 비트 값을 제공합니다.
- DMTPSINTVL: 게시 상태 DMT 간격 상태 등록 낮음 및 DMTPSINTVH 구성: 게시 상태 DMT 간격 상태 등록 높음 구성
이러한 하위 및 상위 레지스터는 각각 FDMTIVTL 및 FDMTIVTH 레지스터의 DMTIVTx 구성 비트 값을 제공합니다.
- DMTHOLDREG: DMT 홀드 레지스터
이 레지스터는 DMTCNTH 및 DMTCNTL 레지스터를 읽을 때 DMTCNTH 레지스터의 마지막 읽기 값을 보유합니다.
표 2-1: Deadman 타이머 모듈에 영향을 미치는 퓨즈 구성 레지스터
| 등록 이름 | 설명 |
| FDMT | 이 레지스터에 DMTEN 비트를 설정하면 DMT 모듈이 활성화되고, 이 비트가 지워지면 DMTCON 레지스터를 통해 소프트웨어에서 DMT를 활성화할 수 있습니다. |
| FDMTCNTL 및 FDMTCNTH | 하위(DMTCNT[15:0]) 및 상위(DMTCNT[31:16])
16비트는 32비트 DMT 명령 카운트 시간 초과 값을 구성합니다. 이 레지스터에 기록된 값은 DMT 이벤트에 필요한 총 명령어 수입니다. |
| FDMTIVTL 및 FDMTIVTH | 하위(DMTIVT[15:0]) 및 상위(DMTIVT[31:16])
16비트는 32비트 DMT 창 간격을 구성합니다. 이 레지스터에 기록된 값은 DMT를 지우는 데 필요한 최소 명령어 수입니다. |
지도 등록
DMT(Deadman Timer) 모듈과 관련된 레지스터 요약은 표 2-2에 제공됩니다.
표 2-2: DMT 등록 맵
| SFR 이름 | 비트 15 | 비트 14 | 비트 13 | 비트 12 | 비트 11 | 비트 10 | 비트 9 | 비트 8 | 비트 7 | 비트 6 | 비트 5 | 비트 4 | 비트 3 | 비트 2 | 비트 1 | 비트 0 |
| DMTCON | ON | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| DMTPRECLR | 1단계[7:0] | — | — | — | — | — | — | — | — | |||||||
| DMTCLR | — | — | — | — | — | — | — | — | 2단계[7:0] | |||||||
| DMTSTAT | — | — | — | — | — | — | — | — | 나쁨1 | 나쁨2 | DMT이벤트 | — | — | — | — | 위노프엔 |
| DMTCNTL | 카운터[15:0] | |||||||||||||||
| DMTCNTH | 카운터[31:16] | |||||||||||||||
| DMTHOLDREG | UPRCNT[15:0] | |||||||||||||||
| DMTPSCNTL | PSCNT[15:0] | |||||||||||||||
| DMTPSCNT | PSCNT[31:16] | |||||||||||||||
| DMTPSINTVL | PSINTV[15:0] | |||||||||||||||
| DMTPSINTVH | PSINTV[31:16] | |||||||||||||||
전설: = 구현되지 않음, '0'으로 읽음. 재설정 값은 XNUMX진수로 표시됨.
DMT 제어 레지스터
등록 2-1: DMTCON: Deadman 타이머 제어 레지스터
| R/W-0 | 유-0 | 유-0 | 유-0 | 유-0 | 유-0 | 유-0 | 유-0 |
| ON(1,2) | — | — | — | — | — | — | — |
| 비트 15 | 비트 8 |
| 유-0 | 유-0 | 유-0 | 유-0 | 유-0 | 유-0 | 유-0 | 유-0 |
| — | — | — | — | — | — | — | — |
| 비트 7 | 비트 0 |
| 전설:
R = 읽기 가능한 비트 W = 쓰기 가능한 비트 U = 구현되지 않은 비트, '0'으로 읽음 -n = POR의 값 '1' = 비트가 설정됨 '0' = 비트가 지워짐 x = 비트를 알 수 없음 |
비트 15
ON: Deadman 타이머 모듈 활성화 비트(1,2) 1 = Deadman 타이머 모듈이 활성화됨
0 = Deadman Timer 모듈이 활성화되지 않음
비트 14-0 구현되지 않음: '0'으로 읽음
메모
- 이 비트는 FDMT 레지스터에서 DMTEN = 0인 경우에만 제어권을 갖습니다.
- 소프트웨어에서는 DMT를 비활성화할 수 없습니다. 이 비트에 '0'을 쓰면 아무런 효과가 없습니다.
등록 2-2: DMTPRECLR: 데드맨 타이머 사전 클리어 레지스터
| R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 |
| 1단계[7:0](1) | |||||||
| 비트 15 | 비트 8 | ||||||
| 유-0 | 유-0 | 유-0 | 유-0 | 유-0 | 유-0 | 유-0 | 유-0 |
| — | — | — | — | — | — | — | — |
| 비트 7 | 비트 0 |
| 전설:
R = 읽기 가능한 비트 W = 쓰기 가능한 비트 U = 구현되지 않은 비트, '0'으로 읽음 -n = POR의 값 '1' = 비트가 설정됨 '0' = 비트가 지워짐 x = 비트를 알 수 없음 |
비트 15-8 STEP1[7:0]: DMT 사전 클리어 활성화 비트(1)
01000000 = Deadman Timer 사전 클리어 활성화(1단계)
비트 7-0 다른 모든 쓰기 패턴 = BAD1 플래그를 설정합니다. 구현되지 않음: '0'으로 읽음
참고사항 1: STEP15 및 STEP8의 올바른 시퀀스를 작성하여 DMT 카운터를 재설정하면 비트[1:2]가 지워집니다.
등록 2-3: DMTCLR: Deadman 타이머 지우기 레지스터
| 유-0 | 유-0 | 유-0 | 유-0 | 유-0 | 유-0 | 유-0 | 유-0 |
| — | — | — | — | — | — | — | — |
| 비트 15 | 비트 8 |
| R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 |
| 2단계[7:0](1) | |||||||
| 비트 7 | 비트 0 | ||||||
| 전설:
R = 읽기 가능한 비트 W = 쓰기 가능한 비트 U = 구현되지 않은 비트, '0'으로 읽음 -n = POR의 값 '1' = 비트가 설정됨 '0' = 비트가 지워짐 x = 비트를 알 수 없음 |
비트 15-8 구현되지 않음: '0'으로 읽음
비트 7-0 STEP2[7:0]: DMT 타이머 비트 지우기(1)
00001000 = STEP1[7:0] 비트를 올바른 순서로 올바르게 로드한 후에 STEP2[7:0], STEP1[7:0] 및 Deadman Timer를 지웁니다. 이러한 비트에 대한 쓰기는 DMTCNT 레지스터를 읽고 카운터가 재설정되는 것을 관찰하여 확인할 수 있습니다.
다른 모든 쓰기 패턴 = BAD2 플래그를 설정합니다. STEP1[7:0]의 값은 변경되지 않고 STEP2[7:0]에 의해 쓰여지는 새 값이 캡처됩니다.
참고사항 1: STEP7 및 STEP0의 올바른 시퀀스를 작성하여 DMT 카운터를 재설정하면 비트[1:2]가 지워집니다.
등록 2-4: DMTSTAT: 데드맨 타이머 상태 레지스터
| 유-0 | 유-0 | 유-0 | 유-0 | 유-0 | 유-0 | 유-0 | 유-0 |
| — | — | — | — | — | — | — | — |
| 비트 15 | 비트 8 |
| R-0 | R-0 | R-0 | 유-0 | 유-0 | 유-0 | 유-0 | R-0 |
| 나쁨1(1) | 나쁨2(1) | DMT이벤트(1) | — | — | — | — | 위노프엔 |
| 비트 7 | 비트 0 | ||||||
| 전설:
R = 읽기 가능한 비트 W = 쓰기 가능한 비트 U = 구현되지 않은 비트, '0'으로 읽음 -n = POR의 값 '1' = 비트가 설정됨 '0' = 비트가 지워짐 x = 비트를 알 수 없음 |
비트 15-8 구현되지 않음: '0'으로 읽음
비트 7 BAD1: STEP1[7:0] 값 감지 비트(1)가 잘못되었습니다.
1 = 잘못된 STEP1[7:0] 값이 감지되었습니다.
0 = 잘못된 STEP1[7:0] 값이 감지되지 않았습니다.
비트 6 BAD2: STEP2[7:0] 값 감지 비트(1)가 잘못되었습니다.
1 = 잘못된 STEP2[7:0] 값이 감지되었습니다.
0 = 잘못된 STEP2[7:0] 값이 감지되지 않았습니다.
비트 5 DMTEVENT: Deadman 타이머 이벤트 비트(1)
1 = Deadman Timer 이벤트가 감지되었습니다(카운터가 만료되었거나 카운터 증가 전에 잘못된 STEP1[7:0] 또는 STEP2[7:0] 값이 입력되었습니다)
0 = Deadman Timer 이벤트가 감지되지 않았습니다.
비트 4-1 구현되지 않음: '0'으로 읽음
비트 0 WINOPN: Deadman Timer Clear Window 비트
1 = Deadman Timer 클리어 창이 열려 있습니다.
0 = Deadman Timer 클리어 창이 열리지 않습니다.
참고사항 1: BAD1, BAD2 및 DMTEVENT 비트는 재설정 시에만 지워집니다.
등록 2-5: DMTCNTL: 데드맨 타이머 카운트 레지스터 낮음
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| 카운터[15:8] |
| 비트 15 비트 8 |
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| 카운터[7:0] |
| 비트 7 비트 0 |
| 전설:
R = 읽기 가능한 비트 W = 쓰기 가능한 비트 U = 구현되지 않은 비트, '0'으로 읽음 -n = POR의 값 '1' = 비트가 설정됨 '0' = 비트가 지워짐 x = 비트를 알 수 없음 |
비트 15-0 COUNTER[15:0]: 하위 DMT 카운터 비트의 현재 내용을 읽습니다.
등록 2-6: DMTCNTH: 데드맨 타이머 카운트 레지스터 높음
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| 카운터[31:24] |
| 비트 15 비트 8 |
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| 카운터[23:16] |
| 비트 7 비트 0 |
| 전설:
R = 읽기 가능한 비트 W = 쓰기 가능한 비트 U = 구현되지 않은 비트, '0'으로 읽음 -n = POR의 값 '1' = 비트가 설정됨 '0' = 비트가 지워짐 x = 비트를 알 수 없음 |
비트 15-0 COUNTER[31:16]: 상위 DMT 카운터 비트의 현재 내용 읽기
등록 2-7: DMTPSCNTL: 게시 상태 DMT 카운트 상태 레지스터 구성 낮음
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| PSCNT[15:8] | |||||||
| 비트 15 | 비트 8 | ||||||
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| PSCNT[7:0] |
| 비트 7 비트 0 |
| 전설:
R = 읽기 가능한 비트 W = 쓰기 가능한 비트 U = 구현되지 않은 비트, '0'으로 읽음 -n = POR의 값 '1' = 비트가 설정됨 '0' = 비트가 지워짐 x = 비트를 알 수 없음 |
비트 15-0 PSCNT[15:0]: 하위 DMT 명령어 수 값 구성 상태 비트
이는 항상 FDMTCNTL 구성 레지스터의 값입니다.
등록 2-8: DMTPSCCNTH: 게시 상태 DMT 카운트 상태 레지스터 구성 높음
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| PSCNT[31:24] | |||||||
| 비트 15 | 비트 8 | ||||||
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| PSCNT[23:16] | |||||||
| 비트 7 | 비트 0 | ||||||
| 전설:
R = 읽기 가능한 비트 W = 쓰기 가능한 비트 U = 구현되지 않은 비트, '0'으로 읽음 -n = POR의 값 '1' = 비트가 설정됨 '0' = 비트가 지워짐 x = 비트를 알 수 없음 |
비트 15-0 PSCNT[31:16]: 상위 DMT 명령어 수 값 구성 상태 비트
이는 항상 FDMTCNTH 구성 레지스터의 값입니다.
등록 2-9: DMTPSINTVL: 게시 상태 DMT 간격 상태 레지스터 구성 낮음
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| PSINTV[15:8] |
| 비트 15 비트 8 |
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| PSINTV[7:0] |
| 비트 7 비트 0 |
| 전설:
R = 읽기 가능한 비트 W = 쓰기 가능한 비트 U = 구현되지 않은 비트, '0'으로 읽음 -n = POR의 값 '1' = 비트가 설정됨 '0' = 비트가 지워짐 x = 비트를 알 수 없음 |
비트 15-0 PSINTV[15:0]: 하위 DMT 창 간격 구성 상태 비트
이는 항상 FDMTIVTL 구성 레지스터의 값입니다.
등록 2-10: DMTPSINTVH: 게시 상태 DMT 간격 상태 레지스터 구성 높음
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| PSINTV[31:24] | |||||||
| 비트 15 | 비트 8 | ||||||
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| PSINTV[23:16] | |||||||
| 비트 7 | 비트 0 | ||||||
| 전설:
R = 읽기 가능한 비트 W = 쓰기 가능한 비트 U = 구현되지 않은 비트, '0'으로 읽음 -n = POR의 값 '1' = 비트가 설정됨 '0' = 비트가 지워짐 x = 비트를 알 수 없음 |
비트 15-0 PSINTV[31:16]: 상위 DMT 창 간격 구성 상태 비트
이는 항상 FDMTIVTH 구성 레지스터의 값입니다.
등록 2-11: DMTHOLDREG: DMT 홀드 레지스터
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| UPRCNT[15:8](1) | |||||||
| 비트 15 | 비트 8 | ||||||
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| UPRCNT[7:0](1) | |||||||
| 비트 7 | 비트 0 | ||||||
| 전설:
R = 읽기 가능한 비트 W = 쓰기 가능한 비트 U = 구현되지 않은 비트, '0'으로 읽음 -n = POR의 값 '1' = 비트가 설정됨 '0' = 비트가 지워짐 x = 비트를 알 수 없음 |
비트 15-0 UPRCNT[15:0]: DMTCNTL 및 DMTCNTH 레지스터가 마지막 읽기 비트인 경우 DMTCNTH 레지스터의 값을 포함합니다(1)
참고사항 1: DMTHOLDREG 레지스터는 리셋 시 '0'으로 초기화되며 DMTCNTL 및 DMTCNTH 레지스터를 읽을 때만 로드됩니다.
DMT 운영
작동 모드
DMT(Deadman Timer) 모듈의 주요 기능은 소프트웨어 오작동 시 프로세서를 중단시키는 것입니다. 시스템 클록에서 작동하는 DMT 모듈은 자유 실행 명령 가져오기 타이머이며, 카운트 일치가 발생할 때까지 명령 가져오기가 발생할 때마다 시계가 기록됩니다. 프로세서가 절전 모드에 있으면 명령어를 가져오지 않습니다.
DMT 모듈은 32비트 카운터, 읽기 전용 DMTCNTL 및 DMTCNTH 레지스터로 구성되며, 두 개의 외부 16비트 구성 퓨즈 레지스터인 FDMTCNTL 및 FDMTCNTH에서 지정한 대로 타임아웃 카운트 일치 값이 있습니다. 카운트 일치가 발생할 때마다 DMT 이벤트가 발생하는데, 이는 소프트 트랩/인터럽트에 불과합니다. DMT 이벤트가 소프트 트랩인지 인터럽트인지 확인하려면 현재 장치 데이터 시트의 "인터럽트 컨트롤러" 장을 참조하십시오.
DMT 모듈은 일반적으로 임무 수행에 중요하고 안전이 중요한 애플리케이션에 사용되며, 이러한 애플리케이션에서는 소프트웨어 기능과 시퀀싱의 모든 오류를 감지해야 합니다.
DMT 모듈 활성화 및 비활성화
DMT 모듈은 장치 구성에 따라 활성화 또는 비활성화될 수 있으며, DMTCON 레지스터에 기록하여 소프트웨어를 통해 활성화될 수도 있습니다.
FDMT 레지스터의 DMTEN 구성 비트가 설정되면 DMT는 항상 활성화됩니다. ON 제어 비트(DMTCON[15])는 '1'을 읽어 이를 반영합니다. 이 모드에서는 소프트웨어에서 ON 비트를 지울 수 없습니다. DMT를 비활성화하려면 구성을 장치에 다시 작성해야 합니다. 퓨즈에서 DMTEN이 '0'으로 설정되면 하드웨어에서 DMT가 비활성화됩니다.
소프트웨어는 DMTCON(Deadman Timer Control) 레지스터의 ON 비트를 설정하여 DMT를 활성화할 수 있습니다. 그러나 소프트웨어 제어를 위해서는 FDMT 레지스터의 DMTEN 구성 비트를 '0'으로 설정해야 합니다. 일단 활성화되면 소프트웨어에서 DMT를 비활성화할 수 없습니다.
DMT 개수 창 간격
DMT 모듈에는 창 모드가 있습니다. FDMTIVTL 및 FDMTIVTH 레지스터의 DMTIVT[15:0] 및 DMTIVT[31:16] 구성 비트는 각각 창 간격 값을 설정합니다. 창 모드에서 소프트웨어는 카운트 일치가 발생하기 전에 카운터가 최종 창에 있을 때만 DMT를 지울 수 있습니다. 즉, DMT 카운터 값이 윈도우 간격 값에 쓰여진 값보다 크거나 같으면 DMT 모듈에는 클리어 시퀀스만 삽입될 수 있습니다. 허용된 창 이전에 DMT가 지워지면 Deadman Timer 소프트 트랩 또는 인터럽트가 즉시 생성됩니다.
절전 모드에서 DMT 작동
DMT 모듈은 명령어 가져오기에 의해서만 증가하므로 코어가 비활성 상태일 때 카운트 값은 변경되지 않습니다. DMT 모듈은 절전 및 유휴 모드에서 비활성 상태로 유지됩니다. 장치가 절전 또는 유휴 상태에서 깨어나자마자 DMT 카운터가 다시 증가하기 시작합니다.
DMT 재설정
DMT는 두 가지 방법으로 재설정할 수 있습니다. 한 가지 방법은 시스템 재설정을 사용하는 것이고 다른 방법은 DMTPRECLR 및 DMTCLR 레지스터에 순서가 지정된 시퀀스를 쓰는 것입니다. DMT 카운터 값을 지우려면 특별한 작업 순서가 필요합니다.
- DMTPRECLR 레지스터의 STEP1[7:0] 비트는 '01000000'(0x40)으로 기록되어야 합니다.
- STEP0x 비트에 40x1 이외의 값을 쓰면 DMTSTAT 레지스터의 BAD1 비트가 셋되고 DMT 이벤트가 발생하게 된다.
- 2단계 앞에 1단계가 없으면 BAD1 및 DMTEVENT 플래그가 설정됩니다. BAD1 및 DMTEVENT 플래그는 장치 재설정 시에만 지워집니다.
- DMTCLR 레지스터의 STEP2[7:0] 비트는 '00001000'(0x08)으로 기록되어야 합니다. 이는 1단계가 선행되고 DMT가 열린 창 간격에 있는 경우에만 수행될 수 있습니다. 올바른 값이 기록되면 DMT 카운터는 XNUMX으로 지워집니다. DMTPRECLR, DMTCLR 및 DMTSTAT 레지스터의 값도 XNUMX으로 지워집니다.
- 0x08 이외의 값이 STEP2x 비트에 기록되면 DMTSTAT 레지스터의 BAD2 비트가 설정되고 DMT 이벤트가 발생합니다.
- 열린 창 간격에서는 2단계가 수행되지 않습니다. BAD2 플래그가 설정됩니다. DMT 이벤트가 즉시 발생합니다.
- 연속 사전 클리어 시퀀스(0x40)를 작성하면 BAD2 플래그가 설정되고 DMT 이벤트가 발생합니다.
메모: 잘못된 프리클리어/클리어 시퀀스 후에는 BAD1/BAD2 플래그를 설정하는 데 최소 XNUMX사이클이 걸리고 DMTEVENT를 설정하는 데 최소 XNUMX사이클이 걸립니다.
BAD2 및 DMTEVENT 플래그는 장치 재설정 시에만 지워집니다. 그림 3-1의 흐름도를 참조하십시오.
그림 3-1 : DMT 이벤트 흐름도
메모
- 구성 퓨즈의 FDMT에 따라 DMT가 활성화됩니다(ON(DMTCON[15])).
- DMT 카운터는 카운터 만료 또는 BAD1/BAD2 발생 후 장치 재설정을 통해서만 재설정될 수 있습니다.
- STEP2x 이전의 STEP1x(DMTPRECLEAR 이전에 작성된 DMTCLEAR) 또는 BAD_STEP1(0x40과 같지 않은 값으로 작성된 DMTPRECLEAR).
- STEP1x(STEP1x 후에 다시 작성된 DMTPRECLEAR) 또는 BAD_STEP2(0x08과 같지 않은 값으로 작성된 DMTCLR) 또는 창 간격이 열려 있지 않습니다.
DMT 카운트 선택
데드맨 타이머 카운트는 각각 FDMTCNTL 및 FDMTCNTH 레지스터의 DMTCNTL[15:0] 및 DMTCNTH[31:16] 레지스터 비트에 의해 설정됩니다. 현재 DMT 카운트 값은 낮은 및 높은 데드맨 타이머 카운트 레지스터인 DMTCNTL 및 DMTCNTH를 읽어 얻을 수 있습니다.
DMTPSCNTL 및 DMTPSCNTH 레지스터의 PSCNT[15:0] 및 PSCNT[31:16] 비트를 사용하면 소프트웨어가 Deadman 타이머에 대해 선택된 최대 카운트를 읽을 수 있습니다. 이는 이러한 PSCNTx 비트 값이 구성 퓨즈 레지스터 FDMTCNTL 및 FDMTCNTH의 DMTCNTx 비트에 처음 기록된 값일 뿐임을 의미합니다. DMT 이벤트가 발생할 때마다 사용자는 항상 DMTCNTL 및 DMTCNTH 레지스터의 현재 카운터 값이 최대 카운트 값을 보유하는 DMTPSCNTL 및 DMTPSCNTH 레지스터의 값과 동일한지 확인하기 위해 비교할 수 있습니다.
DMTPSINTVL 및 DMTPSINTVH 레지스터의 PSINTV[15:0] 및 PSINTV[31:16] 비트를 사용하면 소프트웨어가 DMT 창 간격 값을 읽을 수 있습니다. 이는 이러한 레지스터가 FDMTIVTL 및 FDMTIVTH 레지스터에 기록된 값을 읽는다는 의미입니다. 따라서 DMTCNTL 및 DMTCNTH의 DMT 현재 카운터 값이 DMTPSINTVL 및 DMTPSINTVH 레지스터의 값에 도달할 때마다 창 간격이 열려 사용자가 클리어 시퀀스를 STEP2x 비트에 삽입할 수 있으며 이로 인해 DMT가 재설정됩니다.
DMTHOLDREG 레지스터의 UPRCNT[15:0] 비트는 DMTCNTL 및 DMTCNTH를 읽을 때마다 DMT 상위 카운트 값(DMTCNTH)의 마지막 읽기 값을 유지합니다.
관련 애플리케이션 노트
이 섹션에는 매뉴얼의 이 섹션과 관련된 애플리케이션 노트가 나열되어 있습니다. 이 애플리케이션 노트는 dsPIC33/PIC24 제품군에 맞게 특별히 작성되지는 않았지만 개념은 적절하며 수정 및 가능한 제한 사항과 함께 사용될 수 있습니다. DMT(Deadman Timer)와 관련된 현재 애플리케이션 노트는 다음과 같습니다.
제목
현재로서는 관련된 애플리케이션 노트가 없습니다.
메모: 마이크로칩을 방문해주세요. web사이트 (www.마이크로칩닷컴) 추가 애플리케이션 노트 및 코드 exampdsPIC33/PIC24 장치 제품군용 파일.
개정 내역
개정판 A(2014년 XNUMX월)
이는 이 문서의 최초 릴리스 버전입니다.
개정판 B(2022년 XNUMX월)
그림 1-1 및 그림 3-1을 업데이트했습니다.
레지스터 2-1, 레지스터 2-2, 레지스터 2-3, 레지스터 2-4, 레지스터 2-9 및 레지스터 2-10을 업데이트합니다. 표 2-1 및 표 2-2를 업데이트했습니다.
업데이트 섹션 1.0 "소개", 섹션 2.0 "DMT 레지스터", 섹션 3.1 "작동 모드", 섹션 3.2 "DMT 모듈 활성화 및 비활성화", 섹션 3.3 "DMT 카운트 윈도우 간격", 섹션 3.5 "DMT 재설정" 및 섹션 3.6 "DMT 카운트 선택".
레지스터 맵을 섹션 2.0 "DMT 레지스터"로 이동합니다.
Microchip 제품의 코드 보호 기능에 대한 자세한 내용은 다음과 같습니다.
- 마이크로칩 제품은 해당 마이크로칩 데이터 시트에 포함된 사양을 충족합니다.
- Microchip은 자사 제품군이 의도된 방식으로, 작동 사양 내에서, 정상적인 조건에서 사용될 경우 안전하다고 믿습니다.
- Microchip은 지적 재산권을 소중히 여기고 적극적으로 보호합니다. Microchip 제품의 코드 보호 기능을 위반하려는 시도는 엄격히 금지되며 디지털 밀레니엄 저작권법을 위반할 수 있습니다.
- Microchip이나 다른 반도체 제조업체는 코드의 보안을 보장할 수 없습니다. 코드 보호는 제품이 "깨지지 않는다"는 것을 보장한다는 것을 의미하지 않습니다. 코드 보호는 끊임없이 진화하고 있습니다. Microchip은 제품의 코드 보호 기능을 지속적으로 개선하기 위해 최선을 다하고 있습니다.
이 간행물과 여기에 있는 정보는 Microchip 제품과 함께만 사용할 수 있으며, 여기에는 Microchip 제품을 설계, 테스트 및 귀하의 애플리케이션과 통합하는 것이 포함됩니다. 이 정보를 다른 방식으로 사용하는 것은 이러한 약관을 위반하는 것입니다. 장치 애플리케이션과 관련된 정보는 귀하의 편의를 위해서만 제공되며 업데이트로 대체될 수 있습니다. 귀하의 애플리케이션이 귀하의 사양을 충족하는지 확인하는 것은 귀하의 책임입니다. 추가 지원이 필요하면 현지 Microchip 영업 사무실에 문의하거나 다음에서 추가 지원을 받으십시오. https://www.microchip.com/en-us/support/design-help/client-support-services.
이 정보는 MICROCHIP에서 "있는 그대로" 제공합니다. MICROCHIP은 비침해, 상품성 및 특정 목적에의 적합성에 대한 묵시적 보증을 포함하되 이에 국한되지 않는 정보와 관련하여 명시적이든 묵시적이든, 서면이든 구두이든, 법률적이든 기타이든 어떠한 종류의 진술이나 보증도 하지 않습니다. 또는 그 상태, 품질 또는 성능과 관련된 보증도 하지 않습니다.
어떠한 경우에도 MICROCHIP은 정보 또는 그 사용과 관련된 간접적, 특수적, 징벌적, 우발적 또는 결과적 손실, 피해, 비용 또는 경비에 대해 어떠한 원인으로 발생하든, MICROCHIP이 가능성을 통보받았거나 피해가 예측 가능한 경우에도 책임을 지지 않습니다. 법률에서 허용하는 최대 범위 내에서 정보 또는 그 사용과 관련된 모든 청구에 대한 MICROCHIP의 총 책임은 귀하가 정보에 대해 MICROCHIP에 직접 지불한 수수료 금액을 초과하지 않습니다(있는 경우).
생명 유지 및/또는 안전 애플리케이션에서 Microchip 장치를 사용하는 것은 전적으로 구매자의 위험이며, 구매자는 그러한 사용으로 인해 발생하는 모든 손해, 청구, 소송 또는 비용으로부터 Microchip을 방어, 보상하고 무해하게 보호하는 데 동의합니다. 달리 명시되지 않는 한, Microchip 지적 재산권에 따라 묵시적 또는 기타 방식으로 라이선스가 양도되지 않습니다.
Microchip의 품질 관리 시스템에 대한 정보는 다음을 방문하십시오. www.microchip.com/quality.
상표
Microchip 이름 및 로고, Microchip 로고, Adaptec, AnyRate, AVR, AVR 로고, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi 로고, MOST, MOST 로고, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 로고, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST 로고, SuperFlash , Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron 및 XMEGA는 미국 및 기타 국가에서 Microchip Technology Incorporated의 등록 상표입니다.
AgileSwitch, APT, ClockWorks, Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus 로고, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath 및 ZL은 미국에서 Microchip Technology Incorporated의 등록 상표입니다.
인접 키 억제, AKS, 디지털 시대의 아날로그, 모든 커패시터, AnyIn, AnyOut, 증강 스위칭, BlueSky, BodyCom, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, 동적 평균 매칭, DAM , ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, 회로 내 직렬 프로그래밍, ICSP, INICnet, 지능형 병렬 처리, 칩 간 연결, JitterBlocker, Knob-on-Display, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB 인증 로고, MPLIB, MPLINK, MultiTRAK, NetDetach, NVM Express, NVMe, Omniscient 코드 생성, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE , 리플 차단기, RTAX, RTG4, SAM-ICE, 직렬 쿼드 I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, 전체 내구성, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect 및 ZENA는 미국 및 기타 국가에서 Microchip Technology Incorporated의 상표입니다.
SQTP는 미국 Microchip Technology Incorporated의 서비스 상표입니다.
Adaptec 로고, 주문형 주파수, Silicon Storage Technology, Symmcom 및 Trusted Time은 기타 국가에서 Microchip Technology Inc.의 등록 상표입니다.
GestIC는 Microchip Technology Inc.의 자회사인 Microchip Technology Germany II GmbH & Co. KG의 다른 국가에 등록 상표입니다.
여기에 언급된 다른 모든 상표는 해당 회사의 자산입니다.
© 2014-2022, Microchip Technology Incorporated 및 그 자회사.
모든 권리는 보호됩니다.
ISBN: 978-1-6683-0063-3
서비스
아메리카
회사 사무실
2355 웨스트 챈들러 넓은길 Chandler, AZ 85224-6199 전화: 480-792-7200
팩스: 480-792-7277
기술 지원: http://www.microchip.com/support
Web 주소:
www.마이크로칩닷컴
애틀랜타
덜루스, 조지아주
전화: 678-957-9614
팩스: 678-957-1455
오스틴, 텍사스
전화: 512-257-3370
보스턴
웨스트버러, 매사추세츠
전화: 774-760-0087
팩스: 774-760-0088
시카고
이타스카, 일리노이주
전화: 630-285-0071
팩스: 630-285-0075
로스엔젤레스
미션 비에호, 캘리포니아
전화: 949-462-9523
팩스: 949-462-9608
전화: 951-273-7800
뉴욕,
뉴욕 전화: 631-435-6000
캐나다 - 토론토
전화: 905-695-1980
팩스: 905-695-2078
문서 / 리소스
![]() |
MICROCHIP dsPIC33/PIC24 DMT 데드맨 타이머 모듈 [PDF 파일] 사용자 매뉴얼 dsPIC33 PIC24, DMT 데드맨 타이머 모듈, dsPIC33 PIC24 DMT 데드맨 타이머 모듈, 데드맨 타이머 모듈, 타이머 모듈 |





