PMC_PCER (주변장치 클록 허용 레지스터)

Download Report

Transcript PMC_PCER (주변장치 클록 허용 레지스터)

AT91SAM7S256(LED 실습)
윤 상민
시작하기에 앞서

개발환경 구축에 관한 내용은 없습니다.


SAM-BA 프로그램의 다운과 ADS 프로그램의
설치부분은 넣지 않았습니다.
개발 환경이 갖추어 지고 난 뒤 제어를 어떻
게 할 것인지 부분을 다루기로 합니다
LED 실습

전력관리 제어기에서 클록 공급


(PMC 관련 레지스터)
I/O관련 레지스터에서 해당 핀에 설정

(PIO 관련 레지스터)
전력관리 제어기(PMC)

각종의 클록 신호 발생을 제어해주는 레지스
터.




각종 신호의 클록 발생이란 해당 장치가 동작 하
도록 클록을 넣어준다는 것은 우리가 일반적으로
전원을 넣어주는 행위와 비슷하다고 할 수 있다.
PCK( 프로세서 클록), 주변장치 클록
MCK( 마스터 클록), 프로그래머블 클록
UDPCK(USB 클록)
전력관리 제어기의 레지스터 맵핑

25.9 Power Management Controller (PMC)
User Interface( 참고 )





PMC_PCER (주변장치 클록 허용 레지스터)
PMC_PCDR (주변장치 클록 금지 레지스터
PMC_PCSR (주변장치 클록 상태 레지스터)
PMC_SCDR (시스템 클록 금지 레지스터)
PMC_SCSR (시스템 클록 상태 레지스터)
주변장치 클록의 허용


25.9.4 PMC Peripheral Clock Enable
Register (p.202)
PMC_PCER레지스터




0= 무효
(무효란 아무런 값을 설정 하지 않음을 말한다)
1= 대응하는 주변 장치에 클록 공급을 허용
(해당 비트에 1을 넣을 경우 클록 공급을 허용)
Peripheral Identifiers
(주변장치 식별자)

주변 장치에 대해서 번호를 지정함

PID0 ~ PID31번까지의 고유의 PID 번호를
가지고 있다.

ARM DataSheet 10.2 Peripheral Identifiers
PIOA에 클록 공급 허용하기

Paraller I/O Controller A를 사용하기 위해서
는 PID2 번에 클록 공급을 해야 한다.

그래서 PMC_PCER 레지스터의 PID2번에 1
을 설정해서 클록 공급을 허용한다.

Ex) PMC_PCER = (1<<2);
I/O제어 레지스터
27.6 Parallel Input/Output Controller :PIO
(p.246)
User InterfacePIO_PER : 병렬 입출력 허용 레
지스터





PIO_PDE : 병렬 입출력 금지 레지스터
PIO_PSR : 병렬 입출력 상태 레지스터
PIO_OER : PIO 출력 허용 레지스터
PIO_ODR : PIO 출력 금지 레지스터
PIO_OSR : PIO 출력 상태 레지스터
I/O제어 레지스터 맵핑
오프셋의 시작주소


PMC관련 레지스터 , PIO 관련 레지스터의
주소는 오프셋 값으로 나타내져 있다. 32비
트 주소에서 우리가 아는 값은 오프셋 값뿐
이다. 어디서 부터 오프셋을 시켜야 할까?
Figure 8-1.
AT91SAM7S512/256/128/64/321/32/161/
16 Memory Mapping (p.20)
레지스터 맵핑 코드




#define PMC_PCER (*(volatile unsigned
int *) 0xFFFFFC10)
#define PIO_PER (*(volatile unsigned int *)
0xFFFFF400)
#define PIO_OER (*(volatile unsigned int
*) 0xFFFFF410)
#define PIO_SODR (*(volatile unsigned int
*) 0xFFFFF430)
실습

위의 설명들을 토대로 LED제어