서강대학교 23년도 마이크로프로세서응용실험 11주차 Lab011 결과레포트 (A+자료)
- 최초 등록일
- 2024.03.24
- 최종 저작일
- 2023.06
- 24페이지/ MS 워드
- 가격 2,000원
소개글
"서강대학교 23년도 마이크로프로세서응용실험(마프실) 11주차(Lab011) 결과레포트 (A+자료)"입니다
목차
1. 목적
2. 이론
3. 실험과정
4. Exercises
5. 추가실험
6. 결론
7. 참고문헌
본문내용
1.목적
- DMA의 동작원리와 구동방법을 이해한다. DMA 구동을 위한 설정 레지스터와 입출력소자의 DMA지원을 위한 설정 등을 이해한다.
- ADC를 구동하는 방법을 이해한다. polling과 DMA를 이용하여 ADC를 구동한다.
2.이론
2-1. DMA introduction
메모리에 저장된 block data를 외부로 연속적으로 전송하거나, 외부로부터 데이터를 차례로 저장할 때, CPU 대신 DMA를 통해서 하는 것이 CPU의 부담을 줄일 수 있다. 이를 위한 제어소자가 DMAC이다. 이때 DMAC도 같은 address bus, data bud를 사용하기에, 이를 조정하는 arbiter가 필요하다. DMAC는 입출력 소자의 주소, 데이터의 양, 메모리의 주소, 데이터를 연속적으로 전송(burst)할지, 단위 데이터로 전송할지 설정해야 한다.
DMAC는 다수의 입출력장치와 channel을 통해 DMA를 수행한다. 이때 각 channel에 대해 우선순위를 4개까지 부여한다. 각 channel에는 내장된 연결소자들의 DMA request를 선택적으로 연결할 수 있다.
STM32F103VB는 한 개의 DMA, 7개의 channel을 지닌다. DMA는 central data buffer storage를 여러 peripheral과 사용할 수 있게 해준다. 이 buffer는 주로 SRAM에 위치한다. 각 채널들은 여러 peipheral중 하나를 선택하여 DMA를 수행한다.
2-2. DMA functional description
DMAC는 system bus를 CPU core와 공유한다. DMA는 CPU가 같은 주소를 targeting할때, CPU의 bus access를 stop시키는 request를 한다. bus matrix는 round-robin 스케쥴링을 수행하기에, CPU의 system bus bandwidth를 적어도 절반은 보장한다.
참고 자료
Cortex™-M3 Devices Generic User Guide
마이크로프로세서개론(실험교재, 2023) pp.111-121
The Definitive Guide to ARM Cortex-M3 and CORTEX®-M4 Processors, Joseph Yiu(2014)
Cortex™ -M3 Technical Reference Manual