서강대학교 마이크로프로세서응용실험 8주차결과
- 최초 등록일
- 2014.01.02
- 최종 저작일
- 2013.06
- 10페이지/ 한컴오피스
- 가격 2,000원
목차
1. 실험 제목
2. 실험 목적
3. 실험내용 및 분석
4. 검토사항(exercises)
5. 결론
6. 참고 문헌
본문내용
1. 실험 제목
Interrupts and exceptions
2. 실험 목적
인터럽트의 동작원리를 전체적으로 이해한다.
Vector table의 구성과 역할에 대해 이해한다.
발생한 인터럽트를 처리하는 과정에서 프로세서가 stack을 어떻게 사용하는지 이해한다.
외부 소자로부터 입력되는 신호를 이용해서 인터럽트를 발생하기 위해 사용하는 레지스터들의 종류 및 역할을 이해한다.
<중 략>
이번 실험에 사용되는 소자는 LED와 SW이다. (a)의 Latch는 LED에 데이터를 전달하는 역할을 한다. (b)는 LED와 저항이 연결되어 있는데, 저항의 끝에 3.3V의 Vdd가 걸려있다. 따라서 LED쪽의 전압이 낮아지면 LED가 On되고 반대로 전압이 높아질 경우 전위차가 없으므로 Off된다. (c)는 스위치를 나타내고, 평소에는 Vdd 3.3V에 연결되어 있다가, 스위치를 누르게 되면 GND가 되고, 이 디지털 신호(각각, 1 또는 0)가 USER_BUTTON으로 전해진다. (c)에서 사용되는 SW8은 스위치를 누르게 되면 인터럽트가 발생한다. 실험에서 사용되는 GPIO의 위치는 다음과 같다. SW8은 PB8과 연결되어있고, LED는 PD2-9, latch를 업데이트하기 위한 clock신호는 PC4핀과 연결되어있다. 인터럽트를 받아들이는 핀인 PB8을 사용하게 해주어야하므로 AFIO_EXTICR3 레지스터 특정 bit를 enable시켜주어야 한다. 또한 EXTI 그 자체를 사용하게 해주어야하므로 EXTI8을 enable시켜준다. 또한 인터럽트 처리를 위해서 NVIC_ISER0의 특정bit를 enable해야한다. 또한 인터럽트의 실행과정도 이 레지스터로 확인할 수 있다. 이렇게 필요한 레지스터들을 enable해주어야 interrupt를 걸어줄 수 있다. 인터럽트는 interrupt request, interrupt pending state, interrupt active state 크게 3가지 과정으로 구성된다. 외부 인터럽트가 발생했을 때 인터럽트가 발생하는 것 자체를 interrupt request라고 한다.
참고 자료
김경환,“마이크로프로세서개론” 강의교재Ch.8,Appendix, 서강대학교, 2013.
Yiu, J, "The definitive guide to the ARM Cortex-M3", Newnes. 2010.