서강대학교 마이크로프로세서응용실험 11주차결과
- 최초 등록일
- 2014.01.02
- 최종 저작일
- 2013.06
- 9페이지/ 한컴오피스
- 가격 2,000원
목차
1. 실험 제목
2. 실험 목적
3. 이론
4. 실험내용 및 분석
5. 검토사항(exercises)
6. 결론
7. 참고 문헌
본문내용
1. 실험 제목
Direct Memory Access(DMA)
2. 실험 목적
● DMA의 동작원리를 이해한다. DMAC의 구동을 위해 필요한 요소들과 연관 입출력 소자의 DMA 지원을 위한 설정 등에 대해 파악한다.
● 앞서 10장에서 다룬 USART를 DMA를 이용해 구동해봄으로써 DMA의 동작 및 사용방법을 이해한다.
● ADC를 구동하는 방법을 이해한다.
● DMA를 이용하여 ADC를 구동한다.
3. 이론
● DMA
마이크로프로세서 기반 시스템을 입출력장치 없이 구현하는 것은 불가능하다. 입출력 장치 사용 중, 메모리의 데이터를 특정 출력장치를 통해 연속적으로 전송하거나 입력장치를 통해 데이터를 연속적으로 입력받아 이를 메모리에 저장하는 과정이 필요하다. 이런 과정을 프로세서를 이용해 수행할 경우 반복적인 명령어 fetch 및 수행이 필요하게 되며, 입출력 장치가 준비되었는지를 파악하는 시간까지 필요하기 때문에 처리상의 부담이 된다. 인터럽트를 사용하여 polling에 의한 부담을 경감한다 하다라도 프로세서가 처리해야 하는 것은 여전하므로 입출력 장치 사용시 프로세서에는 부담이 간다. 입출력 장치와 메모리 사이의 데이터 이동은 연속적인 데이터를 하나의 입출력 장치를 통해 전송하거나 전송받는 특징을 가지므로 그 동작이 단순하다. 이러한 데이터 이동을 처리하기 위해 DMA(direct memory access) 라는 방식이 고안되었으며 이를 위한 제어방식 또는 소자가 DMAC(DMA controller) 이다. 프로세서가 메모리의 특정 주소의 데이터를 가져와서 이를 출력장치로 출력하거나 또는 입력장치에서 데이터를 받아 메모리의 특정주소에 저장하듯이, DMAC는 이 동작을 프로세서 대신 수행한다. DMAC나 프로세서나 데이터 이동을 위해 같은 address, data bus를 사용하므로 bus 사용을 조정하기 위한 arbiter 기능이 필요하며, DMAC를 통해 데이터 전달을 위해 데이터가 저장된 주소, 한번에 전달한 양, 상대하는 입출력 소자의 주소 등을 설정하는 초기화 작업이 필요하다.
참고 자료
김경환,“마이크로프로세서개론” 강의교재Ch.11, 서강대학교, 2013.
Yiu, J, "The definitive guide to the ARM Cortex-M3", Newnes. 2010.