본문 바로가기

[MSP430]/MSP430F5x

[MSP430F5529 EVM] GPIO토글 속도 측정

[MSP430F5529 EVM]  GPIO토글 속도 측정



MSP430F55xx 시리즈는 클럭이 최대 32Mhz까지 입력 가능하므로 이전 MSP430보다는 많이 빨라 졌다. USB기능이 추가 되었기 때문에 속도도 중요한 요소가 되었기 때문이지 않을까...
아무튼 저렴하고 저전력의 MSP430코어가 속도도 빨라졌기 때문에 응용해 적용해 볼곳이 많이 있을것 같다.



MSP430F5529/MSP430F5510 GPIO토글 속도 테스트
[참고] MCU속도 측정 결과 

24Mhz 클럭 이용시 -> GPIO 토글 속도 1.7Mhz
33Mhz 클럭 이용시 -> GPIO 토글 속도 2.35Mhz
     39              while(1)
     40              {
     41                  Led1Toggle();
   \                     ??main_1:
   \   00005C   D2E36302     XOR.B   #0x1, &0x263
   \   000060   FD3F         JMP     ??main_1
   \   000062   0343         NOP



단순 On/Off 하는데 걸리는 시간 90 ns 대략 3Mhz
33Mhz 클럭 이용시 -> GPIO On/Off속도 4.1Mhz

     39              while(1)
     40              {
     41                  //Led1Toggle();
     42                  PORT8 = 1;
   \                     ??main_1:
   \   00005C   D2436302     MOV.B   #0x1, &0x263
     43                  PORT8 = 0;
   \   000060   C2436302     MOV.B   #0x0, &0x263
   \   000064   FB3F         JMP     ??main_1
   \   000066   0343         NOP



참고로 외부 클럭을 32Mhz로 사용하기 위해  TI에서 제공하는 코드(HAL_UCS)를 system.c 에 추가 하였다.
#if (__SYS_CLK__ == SYS_CLK_32MHZ_XTAL) 
    // Startup HF XT2 crystal
    P5SEL |= BIT2+BIT3;                       // Port select XT2 
    do{
        status = XT2_Start_Timeout(XT2DRIVE_0, 50000);
    }while(status == UCS_STATUS_ERROR); 

    SELECT_SMCLK(SELS__XT2CLK);               // Select XT2 as SMCLK source
    SELECT_MCLK(SELS__XT2CLK);
#endif

반응형