2011년8월30일_ARM_향상된 인터럽트 제어기(Advanced Interrupt Controller, AIC)
(윤교수님 책을 참조)
AT91SAM7S256의 AIC는,
① 32개의 인터럽트 소스
② 8레벨의 우선순위 제어
③ 개별적인 인터럽트 허용
④ 벡터형 인터럽트 처리
등등의 특징이 있으며 S/W에 의한 시간지연을 줄여 빠른 인터럽트 처리 성능을 가진다.
● 인터럽트 검출방식
1. 레벨감지 ┬ High : 버튼을 누르지 않음.
└ Low : 버튼을 누름.
2. 에지트리거 ┬ 상승(Rising) Positive edge
└ 하강(Falling) Negative edge
▷ 모든 인터럽트는 벡터형 인터럽트로 처리 –> ISR으로 점프
32개의 모든 인터럽트소스에는 개별적인 인터럽트 벡터 레지스터가 있다.
▷임의의 내부 또는 외부 인터럽트를 인터럽트 nIRQ가 아니라 고속인터럽트 nFIQ로 빠르게 처리하도록 강제로 설정가능.
● AIC의 내부 구성
▷인터럽트 제어기는 항상 자동적으로 클록을 공급받음. (장치를 끌 수 없다.)
PMC(전력제어관리기)와 관계없이 언제나 정상으로 동작. (항상 전기를 소모 중이군)
▷ nFIQ출력신호는 Idle모드에 있는 ARM프로세서를 깨우는(Wake up)기능을 가진다.
(스크린세이버나 절전모드를 생각하면 이해가 쉬울듯)
p.141 (6) 가짜 인터럽트 를 다음에 해야 한다.
참조(Reference) |