MSP432 EVM 보드 제작


TI사의 새로운 저전력 MCU인 MSP432 EVM 보드를 M-Tupe EVM 형태로 제작 했다.

48Mhz Cortex-M4 코어를 적용하고 기존 저전력 MCU인 MCP430보다 코어 속도 및 FPU가 추가되어  저전력 이면서 성능 향상시킨 모델이다.





MSP432 EVM 회로도









MSP432 EVM 보드는 M-Type EVM 형태의 표준 핀맵으로 제작 해서 기존의 다양한 확장 보드에서 테스트 가능하다.





Ethernet W5500, W5200 테스트 확장보드




MP3, Ehternet 확장 테스트 보드




TFT-LCD 확장 테스트 보드










STM32F401 - ST의 저렴한 Cortex-M4

ST에서 저렴한 Cortex-M4코어를 출시 했다. 최대 84Mhz로 동작하고 저렴한 가격으로 FPU가 필요한 어플리케이션에 적용하도록 타겟하고 있다.


기존 STM32F4x 시리즈와 핀맵 호환하면서 가격및 성능을 줄인 버전으로 초기에 STM32F4로 개발하고 양산으로 STM32F401로 적용하면 좋을것 같다. 물론 하드웨어적으로 약간의 수정이 필요하다.






소매점에서 5천원대 이므로 양산구매시는 상당히 저렴해 질수 있을것 같다.






TM4C123 EVM - Tiva™ C Series Cortex-M4 보드 제작



TI의 새로운 MCU 라인인  Tiva C시리즈인 TM4C123 EVM 보드를 제작 했다. TI의 코텍스 시리즈인 Stellaris LM3S 후속으로 Cortex-M4 코어의 TM4C 를 출시 했다. 소문에 의하면 Stellaris 시리즈는 공정상 단종을 한다고 한다. 가장 잘나갔던 LM3S8962 관련해서 TI 홈페이지를 보면 더이상 지원 하지 않는다고 나와 있다.


아무튼 Tiva C시리즈는 새로운 공정으로 막강한 페리를 앞세우고도 저렴하게 판매하고 있다.

64핀 페키지에 Cortex-M4코어, 8개의 UART, 4개의 SPI, 6개의 I2C, 2 개의 CAN, USB(Host/Device/OTG), 2개의 QEI, ADC... 아주 막강하다.

다만 속도는 80Mhz로 타사 Cortex-M4 시리즈에 비해 느려서 아쉬운데.. 왜 이렇게 했는지 모르겠다. 교육용으로는 좋을것 같지만 하나라도 줄여서 단가를 낮추어야 하는 가격에 민감한 어플리케이션에서는 아쉬움이 남는다. 



아무튼 저렴하고 성능도 나쁘지 않고 소형의 Cortex-M4 시리즈가 필요하다면 사용해 볼만하다.

특히 PWM이 16개까지 출력 가능하고 CAN, QEI가 2채널이 있어 모터 제어 어플리케이션에 저렴하게 적용해 볼 수 있을것 같다.





TM4C123 확장 테스트 보드

SM-Type EVM 형태로 핀맵을 통일화 해서 기존 확장 테스트 보드에서 쉽게 테스트 가능하도록 했다.












TM4C123 EVM 회로도





FreeScale Cortex-M4 Kinetis K20 EVM 보드제작




소매가 기준 3000원대 저렴한 Cortex-M4 가 눈에 띄어 보드 제작해 보았다.

저렴하며 소형이며 성능또한 나쁘지 않아 SM-Type EVM 형태로 제작 해서 기존 확장 테스트 보드에서 호환할 수 있도록 했다.



K20은 128K Flash, 16K Ram, 50Mhz로 동작하는 저렴한 Cortex-M4 코어이다. 물론 속도는 느리지만 저렴함을 강점으로 내새우고 있다. M4코어 이므로 FPU를 지원한다. 그리고 16bit ADC, 12bit DAC를 내장하고 있어 아날로그 파트도 강점이다.

엘레파츠에서 소량 구매시 3천원대에 구매할 수 있다.





K20 EVM 보드는 기존 여러 확장 보드에 연결하여 테스트 가능하다. 

MP3 확장 테스트 보드



TFT-LCD 확장 테스트 보드



LCD 및 FND VR 등을 테스트 할 수 있는 STM32-SM EXP 확장 보드



Ethernet 테스트 할 수 있는 [NET_EV SM EVM] 확장 테스트 보드





[K20 EVM] 회로도 핀맵

기존 SM-Type EVM 형태로 핀맵 호환 되도록 제작해서 여러 확장 보드에 사용할수 있도록 했다.










[LM4F] LM4F232H 의 GPIO속도 테스트

[TI]/LM4F | 2011.12.09 21:00
Posted by nexp

[LM4F] LM4F232H 의 GPIO속도 테스트



TI사의 Cortex-M4 시리즈 LM4F232 가 출시 되었다. 
기존 Cortex-M3 에 비해 향상된 부분은 속도가 50Mhz에서 80Mhz로 증가 되었고 FPU가 추가 되었다.
그래서 대략적인 속도 체크를 해 보았다.
(같은 Cortex-M4 코어 STM32F4 속도 측정 결과 참고)


시스템 클럭이 변경되었기 때문에 PLL설정 부분에 코드 수정이 필요하다.

void SystemInit(void)
{
    // Set Clock to illegal 100Mhz
   // SysCtlClockSet(SYSCTL_SYSDIV_2 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |  SYSCTL_XTAL_16MHZ);

    // Set Clock to 80Mhz MAX. legal speed
    //SysCtlClockSet(SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |  SYSCTL_XTAL_16MHZ);
}

  

메인 클럭 80Mhz에서 GPIO토글 속도는 10Mhz정도의 출력 속도를 보인다.

 가격이 저렴하긴 (5~6$ @1K) 하지만 그렇게 매리트 있지는 않는것 같다.
단순 비교는 좀 그렇지만 8$대의 STM32F4 와비교해 보면 ST가 더 좋은것 같다.

[참고] MCU속도 측정 결과 

[LM4F232 EKI] TI Cortex-M4 EVM 보드 테스트



TI의 Cortex-M4 LM4F  EKI LM4F232 보드에 연결되어 있는 LED를 제어 해 보았다.

PORTG에 연결되어 있고 기존 Setllaris 시리즈 코드와 호환 되기 때문에 별 수정없이 그대로 동작한다.






[LM4F232 EVM]  HAL 드라이버 코드

#define LED1_BIT    BIT2
#define LED1_PORT    GPIOG

#define Led1Off()    cbi(LED1_PORT, LED1_BIT)
#define Led1On()    sbi(LED1_PORT, LED1_BIT)
#define Led1Toggle()   Tbi(PROTG, LED1_BIT)

#define Led1Init()     SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);\
        GPIOPinTypeGPIOOutput(GPIO_PORTG_BASE, LED1_BIT);\
        GPIOPadConfigSet(GPIO_PORTG_BASE, LED1_BIT, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);





[LM4F232 EVM] LED 제어 테스트 예제 코드
#include "system.h"

int main()
{
    SystemInit();

    Led1Init();
    Led1On();

    while(1)
    {
        Led1Toggle();
        Delay(1000);
    }
}

[LM4F] 개발환경 설정

[TI]/LM4F | 2011.12.08 20:30
Posted by nexp

[LM4F] 개발환경 설정

Cortex-M4 코어는 IAR EWARM 6.x 에서 개발 가능하다. 



프로젝트 생성후 옵션에서 Target에서 Cortex-MF4 설정 한다.






EWARM을 위해 icf 파일을 등록한다







기존 드라이버 파일은 driverlib-cm4f.a로 변경되었고 startup코드도 변경되었으니 수정해 주면 기존 코드 수정없이 컴파일 된다.
 

[STM32F4] 속도 측정 - GPIO 토글 속도 테스트



STM32는 Cortex-M4F 코어로 168Mhz로 동작한다. GPIO 토글 테스트로 MCU의 속도를 테스트 해 보았다.
물론 클럭속도가 중요한 요소는 아지만 마이컴에서 GPIO속도는 중요할 때가 많이 있다. STM32F4는 FPU가 있어 DSP기능도 뛰어난것 같다.
[참고] MCU속도 측정 결과 

클럭 설정없이 그냥 GPIO On/Off 시키니 10Mhz 출력된다. 느린데..
뭔가 이상한것 같다.

PLL설정후 STM32F4의 GPIO토글 속도는  33Mhz 까지 출력된다.
STM32F103에서 12Mhz가 출력 되었던과 비교하면 확실히 빨라진것을 확인 할 수 있다. 메인클럭이 72Mhz -> 168Mhz로 되었기 때문이다.


STM32F4 클럭 테스트를 위한 코드는 비트제어 방식으로  했고 아래 와 같다.

     25              while (1)
     26              {
     27                  Led1On();
   \                     ??main_1:
   \   00000082   3E83               STRH     R6,[R7, #+24]
     30                  Led1Off();
   \   00000084   7E83               STRH     R6,[R7, #+26]
   \   00000086   FCE7               B.N      ??main_1
   \                     ??main_0:
   \   00000088   ........           DC32     GPIO_InitStructure
   \   0000008C   00000240           DC32     0x40020000
   \   00000090   00180240           DC32     0x40021800
[STM32F4] Cortex-M4 테스트 보드제작




우선 기존의 [STM32-MType EVM] 보드의 PCB를 이용하여 테스트 했다. 핀맵이 동일한데 전원핀 두개가 변경되었다.
STM32F405 를 이용하여 테스트 했다.




STM32F4는 Flash Loader 2.4에서 다운로드 가능하다.

Flash_Loader_Demonstrator_v2.4.0_Setup.exe



현제 인식되고 다운로드 까지는 되지만 코드가 실행이 안되는것 같다.
컴파일러 문제 인듯...
컴파일러를 최신으로 설치 하니 정상적으로 동작한다.





기존 확장 테스트 보드를 그대로 사용하여 테스트 가능하다.






[STM32F4 - MType EVM] 회로도





STM32F1과 STM32F4 핀맵 차이

[ST_MICRO]/STM32 | 2011.11.29 21:00
Posted by nexp
STM32F1과  STM32F4 핀맵 차이

STM32F1xx 와 STM32F4xx는 핀맵이 호환된다고 한다.
하지만 전원핀이 조금 다르다고 하는데... (왜 이렇게 만들었지?)
암튼 몇군데 손보면 옛날 PCB 그대로 사용할 수 있을것 같다.
















블로그 이미지

nexp

카테고리

분류 전체보기 (1560)
[MyProject] (48)
[TI] (75)
[NXP] (51)
[ST_MICRO] (129)
[FreeScale] (31)
[MSP430] (140)
[Microchip] (131)
Cortex-M (36)
[ATMEL] (29)
[AnalogDevice] (22)
[Embedded] (2)
ARM9 (24)
[AVR] (80)
[DSP] (111)
[8051] (21)
[MCU] (50)
[INTERFACE] (213)
[AppBoard] (23)
[ROBOT] (25)
[MODULE] (129)
[SENSOR] (41)
[DATA] (21)
[FPGA] (32)
[EVB] (1)
[Proramming] (38)
[MyLog] (6)
[IDEA] (0)
[Utility] (19)
[Book] (24)
취미생활 (4)
[Link] (2)