본문 바로가기
임베디드.일렉트로닉스/EFM8

EFM8 SB1. PCA 이용 RTC 분주 클럭 핀 출력하기.

by 리치굿맨 2015. 5. 2.

 

 

개요

 

 EFM8 의 PCA이용하여 클럭 MCU핀으로 출력하는 예를 보인다.

본 글에서의 구체적인 상황예는 PCA의 클럭소스로 RTC를 선택하고, PCA 채널0의 핀으로 클럭을 출력하게 한다.

RTC 클럭소스로 외부크리스탈 32.768 kHz 가 사용되게하여, 결론적으로 32.768KHz 크리스탈 클럭베이스로 한  2.048KHz/N 의 주파수의 구형파가 핀으로 출력되게 하는 것. 여기서, N = 1,2,..., 256 까지 가능하다. 

 

기본 배경지식

1. PCA : http://igotit.tistory.com/296

2. RTC : http://igotit.tistory.com/253

 

 

 

 

 

구현.

 

단계1. RTC 설정.

- 이 부분은 별도로 정리된 글에서의 설정과 완전 동일함. 보기 -> http://igotit.tistory.com/249 

 

단계2. PCA  설정. 

우리 프로젝트에서 PCA 를 선택하고 , PCA0 탭에서 Select PCA Counter/Timer Pulse(PCA에서 사용하는 클럭소스를 의미함) 를 RTC/8 로 선택한다.아래그림.

 

Channel0 탭에서 Channel Capture/Compare Mode 선택을 Frequency Output 으로 하고, Clock Divider 를 원하는 값으로 선택한다.

가능한 값의 범위는 1~256 까지이다. 256 을 선택하면 8Hz (= 2048/256) 의 구형파가 출력되게 된다.

 

PCA0 채널0 을 핀에 할당하는 처리를 아래 CROSSBAR 설정에서 PCA0_CEX0 를 체크하는 것으로 한다.

아래 그림 오른쪽 속성창에서 설정하면 Port I/O 에서 핀에 배정상황을 보여주는데, 기본 P0.0 에 배정되게된다. 아래 그림에서 PCA0_CEX0 은 P1.1 에 지정하였으며 이 핀으로 이동시키기 위해서는 P0.0 부터 P1.0 의 핀 설정에서 skip  속성을 skipped 로 선택하면 된다. <- skip하는 방법 상세설명 : http://igotit.tistory.com/228  의 단계3에 설명되어있음.

 

 

위 설정이 전부이다.

이후, 빌드하고 펌웨어 기록후 실행시켜보면 P1.1 에서 2048Hz 의 구형파가 출력된다.

 

 

 

 

 

 본 글이 포함된 상위 정리장소 : http://igotit.tistory.com/244

 

 

///299.

 

 

댓글0


   
현물 |선물 인버스 |선물 USDT     현물 | 선물 USDT |봇제작툴/카피트레이딩     현물 |선물 인버스 |선물 USDT     선물 인버스 |선물 USDT