1 / 20

AT91SAM7S256(LED 실습 )

AT91SAM7S256(LED 실습 ). 윤 상 민. 시작하기에 앞서. 개발환경 구축에 관한 내용은 없습니다 . SAM-BA 프로그램의 다운과 ADS 프로그램의 설치부분은 넣지 않았습니다 . 개발 환경이 갖추어 지고 난 뒤 제어를 어떻게 할 것인지 부분을 다루기로 합니다. LED 실습. 전력관리 제어기에서 클록 공급 (PMC 관련 레지스터 ) I/O 관련 레지스터에서 해당 핀에 설정 (PIO 관련 레지스터 ). 전력관리 제어기 (PMC). 각종의 클록 신호 발생을 제어해주는 레지스터 .

eben
Download Presentation

AT91SAM7S256(LED 실습 )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AT91SAM7S256(LED 실습) 윤 상 민

  2. 시작하기에 앞서 • 개발환경 구축에 관한 내용은 없습니다. • SAM-BA 프로그램의 다운과 ADS 프로그램의 설치부분은 넣지 않았습니다. • 개발 환경이 갖추어 지고 난 뒤 제어를 어떻게 할 것인지 부분을 다루기로 합니다

  3. LED 실습 • 전력관리 제어기에서 클록 공급 • (PMC 관련 레지스터) • I/O관련 레지스터에서 해당 핀에 설정 • (PIO 관련 레지스터)

  4. 전력관리 제어기(PMC) • 각종의 클록 신호 발생을 제어해주는 레지스터. • 각종 신호의 클록 발생이란 해당 장치가 동작 하도록 클록을 넣어준다는 것은 우리가 일반적으로 전원을 넣어주는 행위와 비슷하다고 할 수 있다. • PCK( 프로세서 클록), 주변장치 클록 • MCK( 마스터 클록), 프로그래머블 클록 • UDPCK(USB 클록)

  5. 전력관리 제어기의 레지스터 맵핑 • 25.9 Power Management Controller (PMC) User Interface( 참고 ) • PMC_PCER (주변장치 클록 허용 레지스터) • PMC_PCDR (주변장치 클록 금지 레지스터 • PMC_PCSR (주변장치 클록 상태 레지스터) • PMC_SCDR (시스템 클록 금지 레지스터) • PMC_SCSR (시스템 클록 상태 레지스터)

  6. 주변장치 클록의 허용 • 25.9.4 PMC Peripheral Clock Enable Register (p.202) • PMC_PCER레지스터 • 0= 무효 • (무효란 아무런 값을 설정 하지 않음을 말한다) • 1= 대응하는 주변 장치에 클록 공급을 허용 • (해당 비트에 1을 넣을 경우 클록 공급을 허용)

  7. Peripheral Identifiers(주변장치 식별자) • 주변 장치에 대해서 번호를 지정함 • PID0 ~ PID31번까지의 고유의 PID 번호를 가지고 있다. • ARM DataSheet 10.2 Peripheral Identifiers

  8. PIOA에 클록 공급 허용하기 • Paraller I/O Controller A를 사용하기 위해서는 PID2 번에 클록 공급을 해야 한다. • 그래서 PMC_PCER 레지스터의 PID2번에 1을 설정해서 클록 공급을 허용한다. • Ex) PMC_PCER = (1<<2);

  9. 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 출력 상태 레지스터

  10. I/O제어 레지스터 맵핑

  11. 오프셋의 시작주소 • PMC관련 레지스터 , PIO 관련 레지스터의 주소는 오프셋 값으로 나타내져 있다. 32비트 주소에서 우리가 아는 값은 오프셋 값뿐이다. 어디서 부터 오프셋을 시켜야 할까? • Figure 8-1. AT91SAM7S512/256/128/64/321/32/161/16 Memory Mapping (p.20)

  12. 레지스터 맵핑 코드 • #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)

  13. 실습 • 위의 설명들을 토대로 LED제어

More Related