출처 : http://blog.daum.net/5975240/54
제일 큰 구별점은 소수점 연산이 가능해 졌다는 것이다. 그외 달라진 것은 더 진보한 주변회로 설계이다.
기존 2812에서는 PWM의 출력, 외부신호의 Capture, 엔코더펄스의 해석, 시간축의 이벤트 관리 등등을 모두 Event Manager이 관리했다.
Event Manager에는 4개의 16비트 타이머가 내정되어 있다. 위의 모든 기능들이 이 공용 타이머에 의해 관리되는 구조였다.
28335에서는 대신 그 역할을 ePWM, eCAP, eQEP라고 이름 지어진 3개의 독립모듈들이 수행한다.
1) PWM 및 시간축 이벤트의 관리자 - ePWM 모듈
ePWM모듈은 서로 독립적으로 존재하며 자신만의 16비트 타이머와 개별 회로들을 갖추고 있고, 이벤트 관련 서브모듈을 통해 칩에서 일어나는
각종 시간축의 이벤트들을 제어한다. 하나의 ePWM 모듈은 내부의 타이머와 비교회로를 통해 한 쌍의 PWM 채널을 관리한다. 즉 EPWMxA와
EPWMxB이다.
2) 외부 신호의 Edge Detector- eCAP
eCAP 모듈은 칩의 외부에서 들어오는 신호의 Edge를 잡아내고 이 Edge가의 시간 간격을 카운트하여 기록하는 역할을 한다. 2812에서는
공용타이머를 사용했기에 느린 외부의 신호간격을 카운트할 때 자주 카운터 값이 넘치게 되어 별도의 코드로 처리해줘야 하는 불편함이
있었지만, 28335에서는 내부에 자체 32비트 타이머를 가지게 되어, 외부 신호에 더 유연하게 대처할 수 있는 능력을 갖추게 되었다.
또한 외부신호의 Capture외에 APWM모드로 운용하면 단상 PWM을 외부로 출력할 수도 있다.
3) 엔코더 출력 펄스의 해석-eQEP
28계열이 주로 사용되는 분야 중 하나가 바로 모터제어이다. 이러한 칩이 목적에 걸맞게 28335에서는 모터의 엔코더 출력 신호를 해석하는
eQEP회로를 탑재하고 있다. 이 모듈도 내부에 자체 32비트 타이머를 내장하고 있으면, 신호를 통해 모터의 회전속도, 회전방향 등을 해석
해내는 역할을 한다. 또 별도로 QEP회로만을 위한 와치독 타이머를 가지고 있어, 모터의 stall 상태를 감지할 수 있다.
4) ADC 방식
첫째로 결과값의 옵셋을 조절할 수 있는 레지스터를 추가하였다. ADC는 아날로그 값을 디지털로 변화할 때 결과값에 오류를 포함하게 된다.
이 옵셋오류를 보정할 수 있는 레지스터를 28335에 추가하였다.
두번째 변화는 결과 저장 레지스터에 있다. 2812에서는 Peripherals Frame 0 영역에 결과저장 레지스터가 위치하고 변환의 결과는 항상
최상위 비트부터 채워지는 방식이었다. 28335에서는 듀얼 방식을 채용하여 Peripherals Frame 0 와 Peripherals Frame 2에 결과저장
레지스터가 위치해 있다. Peripherals Frame 0 영역에서는 기존의 방식대로 하면서 0Peripherals Frame 2에서는 값들은 좌측으로
정렬되어 최상위 비트부터 채워지는 방식의 결과값을 좌측으로 4비트 이동시킨 것과 동일한 값을 가지게끔 하여 2wait의 지연이
발생한다. 고속으로 샘플링해야 할 경우에는 기존방식으로, 저속의 샘플링도 괜찮은 경우에는 2영역의 결과값을 사용하는
선택의 여지가 생기게 된다.
세번째 변화는 인터럽터 벡터의 추가이다. 2812에서는 ADC회로에 인터럽트 벡터 하나가 배정되어 변환과정완료를 알리는 목적으로
사용되었다. 28335에서는 총 3개의 인터럽트 벡터가 할당되어 시퀀서를 독립적으로 운용할 경우 시퀀서별로 개별 운용하여 서로 다른
코드를 수행할 수 있게 되었다.
5) 늘어난 통신모듈의 숫자
'TMS320 > F28335' 카테고리의 다른 글
[예제분석] PWM (0) | 2014.08.20 |
---|---|
인터럽트 관련 소스 (0) | 2014.08.20 |
SCI (0) | 2014.08.19 |
Cpu Timer(2) (0) | 2014.08.19 |
Cpu Timer(1) (1) | 2014.08.19 |