태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

1. 실습 목적

이번 예제는 TMS320F28377D의 CMPSS(Comparator Subsystem) 회로의 Digital Filter 기능을 테스트 해보는 예제입니다. TMS320F28377D의 CMPPS는 아래 그림과 같이 비교기 출력단 쪽에 Digital Filter가 달려 있습니다. 이 기능은 비교기 입력단의 순간적인 노이즈가 출력단에 미치는 영향을 줄여주고,  (-)입력단과 (+)입력단의 전압이 거의 비슷해서 출력 신호가 불안한 경우에도 흔들리지 않는 명확한 출력신호를 만들어주는데도 도움을 줍니다.

 

 

 

이러한 CMPSS 출력단의 Digital Filter의 구조는 아래 그림과 같습니다.

 

 

작동원리는 비교기 출력신호를 SYSCLK를 일정한 분주비율(CLKPRESCALE)로 분주된 속도로 샘플링하여, 샘플링된 출력값이 High(1)가 많은지 Low(0)가 많은지 설정된 임계값(THRESH)과 비교해서, 우세한 값을 실제 출력으로 내놓는 것입니다. 여기서 샘플링 갯수는 0~32까지 사용자가 지정할 수 있습니다. 이러한 필터 작성원리는 C 코드로 표현해 보면 다음과 같습니다.

 

if (FILTER_OUTPUT == 0) {
     if (Num_1s_in_SAMPWIN >= THRESH) {
          FILTER_OUTPUT = 1;
     }
}

else {
     if (Num_0s_in_SAMPWIN >= THRESH) {
          FILTER_OUTPUT = 0;
     }
}

 

 

 

2. 실습 준비

예제를 실습하기 위해서 아래와 같은 개발환경이 필요합니다.

 


A. 실습 장비
1) CCSv6 가 설치된 PC
2) Defino 개발보드 + (TMS320F28377D-377 모듈 + 전용 어댑터) or (TMS320F28377D-176 모듈 + 전용 어댑터)
3) 미니 5P USB 케이블

4) JTAG 에뮬레이터

 

B. 실습 예제
1) TI의 ControlSUITE가 PC에 설치되어 있어야 합니다.
    >> ControlSUITE (다운로드하러 가기) ← Click


2) 실습예제를 PC에설치합니다..
    >> F28377D_CMPSS02_CCSv6.zip (다운로드)← Click

 


3) 예제 설치경로
    >> CCSv6용 : C:\SyncWorks\DELFINO_EVM_28377D\Example_V600_Cpu1

 

 

3. 실습해 보기

우선 Delfino 개발보드의 CN3100의 점퍼를 아래 그림과 같이 모두  연결해서 LED1~16을 사용할 수 있는 상태로 만듭니다.

 

 

 

그리고 예제를 실행 시킨 상태에서 아래 그림과 같은 Potentiometer P2210 노브를 좌우로 조절하면서 Delfino 개발보드의 LED 상태가 어떻게 변하는 지 확인해 봅니다.

 

 

예제 코드는 CMPSS7 모듈의 COMPH와 COMPL 비교기 2개를 모두 사용하며, 각 비교기의 (-) 입력에는 내장 DAC를 사용해서 각각 약 2.48V(D-Value:3072)와 약 0.83V(D-Vlaue:1024)이 걸리게 끔 설정되어 있고, COMPH의 출력은 반전으로 COMPL의 출력은 비반전으로 출력하게 끔 설정되어 있습니다.

 

 

즉, Potentiometer의 가변 DC 전압에 따라서 다음과 같이 비교기 신호가 출력됩니다.  또한 그에 따라서 Delfino 개발보드의 16개 LED도 일부 점등됩니다.

 

 

 0.83V 이하라면

 COMPH->High 출력/ COMPL->Low 출력

 LED1~8 점등

 0.83V ~ 2.48V 사이라면

 COMPH->High 출력/ COMPL->High 출력

 LED5~12 점등

 2.48V 이상라면  COMPH->Low 출력/ COMPL->High 출력

 LED9~16 점등

 

 

이렇게 출력된 신호는 Output X-bar 회로를 통해서 COMPH 출력은 GPIO31으로, COMPL 출력은 GPIO34으로 핀으로 출력됩니다.

 

 

CCS의 Expressions 창에 위와 같이 레지스터 구조체 변수를 입력해서 리얼타임 모니터링 하면, 현재의 Potentiometer의 가변 DC 전압의 디지털 값과 비교기 COMPH / COMPL 의 출력상태를 확인해 볼 수 있습니다.

 

 

여기까지는 기존 CMPSS01 예제와 같다. 하지만, 이제 Potentiometer를 세밀하게 조절해서 DC 전압이 0.48V(D-Value:3072)나 혹은 약 0.83V(D-Vlaue:1024)에 아주 가깝게 만들고, Delfino 개발보드의 16개 LED의 상태를 확인해보시기 바랍니다. 아마도, 출력상태가 하나로 안정되지 않고 불안정해서서 LED1~12까지 혹은 LED5~16 까지가 모드 점등되거나 와따가따 하거나, LED 어두워지는 등의 현상이 나타날 것입니다.

 

 

이때 위 그림과 같이 Expressions 창에 Cmpss7Regs.COMPCTL.bit.CTRIPOUTHSEL 와 Cmpss7Regs.COMPCTL.bit.CTRIPOUTLSEL 레지스터를 등록하고, 설정값을 각각 2로 해보시기 바랍니다.

 

그러면 디지털 필터 설정이 적용되고 출력 불안정 현상이 해소되는 것을 확인해 볼 수 있습니다.

 

 

 

 

 

 

Posted by syncworks

댓글을 달아 주세요

티스토리 툴바