본문 바로가기

[DSP]/DSP6000

[TMS320C6720 EVM] 보드 개발기 - GPIO 제어 (LED 테스트)

[TMS320C6720 EVM] 보드 개발기 -  GPIO 제어 (LED 테스트)



TMS320C6720 EVM 에는 GPIO테스트를 위한 2개의 LED가 있다. 각각 AXR0[14], AXR0[15]에 연결되어 있다.



AXR은 McASP 핀으로 GPIO로 설정 가능하다. AMUTE를 제외한 모든 McASP핀은 양방향 입출력핀이다. 

설정 레지스터
· Pin function register (PFUNC): McASP or GPIO 선택
· Pin direction register (PDIR): 방향 설정
· Pin data input register (PDIN): shows data input at the pin
· Pin data output register (PDOUT): data to be output at the pin if the pin is configured as GPIO output

참고로 C6713과 레지스터주소가 다르므로 헤더파일 수정할 필요가 있다. C671x는 그나마 예제가 좀 있긴한데 C672x는 전혀 자료가 없다. 이쪽은 지원을 안하는건지..



TMS320C6720 GPIO블록도



[TMS320C6720 EVM] LED제어 드라이버 설정
#define PFUNC0      *(volatile int *)0x44000010
#define PDIR0      *(volatile int *)0x44000014
#define PDOUT0     *(volatile int *)0x44000018
#define PDIN0      *(volatile int *)0x4400001C
#define PDSET0      *(volatile int *)0x4400001C
#define PDCLR0     *(volatile int *)0x44000020

#define Led1Off()      Sbi(PDSET0, LED1_BIT);NOP()
#define Led1On()      Sbi(PDCLR0, LED1_BIT);NOP()
#define Led1Toggle()     Tbi(PDOUT0, LED1_BIT)
#define Led1Init()       Sbi(PFUNC0, LED1_BIT);Sbi(PDIR0, LED1_BIT);


TMS320C6720 LED제어 예제 소스코드
void main()
{

 SystemInit();

 printf("[TMS320C6720 EVM] Test Program.\n");

 //Led Init..
 Led1Init();
 Led2Init();

 Led1Off();
 Led2On();

 while(1)
 {
  Led1On();
  Led2Off();
  Delay(300);

  Led1Off();
  Led2On();
  Delay(300);
 }
}


C6720 LED제어 테스트 동영상

반응형