[MSC1210-M EVM] 24bit ADC 내장 MCU M-Type 보드 제작



채널 24bit ADC를 내장한 TI사의 MSC121x 시리즈를 [M-Type EVM]으로 제작 했다. 표준 핀맵이라 다양한 기존 제작 했던 다양한 보드에 적용 가능하다. 



TI의 MSC1210, MSC1212, MSC1214 모두 적용 가능하도록 했다.



기존 [MSC1210 EVN] 와 달라진 점으로 시리얼 통신을 위해 CP2102을 직접 실장하지 않고 USB2UART모듈을 이용해 좀더 컴펙트 하고 재활용 가능하도록 했다. MSC1210은 시리얼로 다운로드 가능하므로 USB2UART모듈로 프로그램 할 수 있다.



[M-Type EVM] 핀맵이므로 다양한 확장 테스트 보드에 연결하여 테스트 가능하다.



MSC1210 과 TFT LCD를 연결하여 테스트




[MSC1210-M EVM] 회로도



정밀 레퍼런스 LM4040 (Precision Micropower Shunt Voltage Reference, 0.1% accuracy )





[MSC1210 EVM] rev2 회로 5V 측정 reference설정




5V (Vref) 측정을 위한 방법으로 두가지 방법이 있다.
외부 Ref전압을이용하는 방법과 내부 Ref를 이용하는 방법 두가지가 있다.

외부 Ref전압을 공급하는 방법
외부에 정밀 Ref전압을 공급해해서 측정. 외부 Ref회로가 필요하며 복잡해 지지만 정밀하게 측정할 수 있다.



내부 Ref전압을 이용하는 방법
내부에 2.5V ref가 있으므로 이를 이용하면 5V를 측정할 수 있다. 회로가 간단하고 편리하다.




MSC1210 보드 상의점퍼를 이용하여 Ref를 설정 할 수 있다.

[MSC121x EVM]- 타이머 제어 예제

[8051] | 2007.03.20 22:05
Posted by nexp

[MSC121x EVM]- 타이머 제어 예제

사용자 삽입 이미지






MSC1210 *1초마다 LED를 깜박이는 예제

//-----------------------------------------------------------------------------
// Main Funiction
//-----------------------------------------------------------------------------
void main(void)
{
 int led_flash = TRUE;
 
 //Initialize CPU
 SystemInit();

 //Timer0 Initialize
 InitTimer0();
 enable();
 while(1)
 {

  if(led_flash)
  {
   //50x100 = 500ms
   if(m_TimeTick50ms>100)
   {
    Led1Toggle();
    m_TimeTick50ms = 0;
   }
  }
 }
}
//-----------------------------------------------------------------------------

[MSC1210 EVM] 시리얼 포트제어 - VB로 LED제어



MSC1210 EVM과 VB를 이용하여 시리얼 포트로 LED를 제어하는 예제를 테스트 했다. PC프로그램은 기존에 작성했던 USB제어 프로그램을 이용하였다. 사용한  MCU는 MSC1214 이다.




TAG 8051, MSC1210, USB, vb

[MSC121x EVM] - ADC 테스트 프로그램

[8051] | 2007.03.18 22:04
Posted by nexp
[MSC121x EVM] - ADC 테스트 프로그램

사용자 삽입 이미지







[MSC121x EVM] - LED Test 예제

[8051] | 2007.03.18 21:53
Posted by nexp

[MSC121x EVM] -  LED Test 예제

사용자 삽입 이미지
 
 



[MSC1212  EVM] 보드의 LED는 P3.3에 연결되어 있고 0일때 Led On된다.

#define Led1On()                  (P3_3 = 0)
#define Led1Off()                  (P3_3 = 1)
#define Led1Toggle()             (P3_3 ^= 1)
 
void main(void)
{
     int led_flash = 1;
 
     //Initialize CPU
     SystemInit();
 
    Led1Init();
 
    while(1)
    {
         if(led_flash)
        {
           //Led Toggle
           Led1Toggle();

           P1 ^= 0xFF;
   
           //Delay
           Delay(300);
          }
    }
}

MSC1210 LED테스트 동영상

")//]]>

[MSC121x EVM] USB연결 - 펌웨어 다운로드

[8051] | 2007.03.18 09:47
Posted by nexp

[MSC121x EVM]USB연결 - 펌웨어 다운로드

사용자 삽입 이미지


MSC121x EVM (MSC1210, MSC1212)은 CP2101 USB칩을 탑제 하여 펌웨어를 다운로드 하거나 ADC값을 읽는등의 USB통신을 쉽게 할 수 있다.

CP1210 디바이스 드라이버

 

 
펌웨어 다운로드
디바이스 드라이버 설치 후 장치를 USB에 연결하면 COM포트가 할당된다.
장치관리자의 포트(COM 및 LPT)에서 확인할 수 있다. 내 PC에는 COM4에 할당 되었다.
 
 
 
J1(EA)핀을 이용하여 "다운로드"로 설정하고 리셋을 누른다.

TI에서 제공하는 다운로드 프로그램을 실행 시키고 다운로드 할 Hex파일을 설정한다.

TI_Downloader.zip




할당된 COM4를 설정하고 [OK] 버튼을 누르면 펌웨어를 다운로드 할 수 있다.

 
[MSC1210 EVM]Keil 컴파일러를 이용한 MSC1210 EVM환경 설정
 
사용자 삽입 이미지
TI사의 8051코어를 가진 24bit정밀 ADC CPU MSC1210. 많이 알려져 친숙한  8052코어에 초정밀 24bit ADC를 가지고 있어 아날로그 + 마이컴 어플리케이션에 사용하기 좋은 CPU이다. 요즘은 시리얼 ADC가 많이 나오긴 하지만 아무래도 하드웨어가 복잡해지고 소프트웨어의 부하도 생기고.. 가격적인 면이나 여러모로 원칩화된 MSC1210이 편리하다. 게다가 128 Gain, ADC타입설정, 하드웨어 필터등 아날로그적인 부분에서 많은 기능을 내장하고 있어 쉽게 사용할 수 있다.
소프트웨어 적인 측면에서 보아도 ADC값을 레지스터에서 직접 가져오면 되므로 상당히 편리하다.
 
단점으로 ADC의 속도가 좀 느리다. 최대 10Sps... 물론 24bit ADC에서 어플리케이션 자체가 속도에 그렇게 민감한 사항이 아니므로 그렇게 큰 문제는 아니지만 속도가 문제가 된다면 좀 부담이 되는 샘플링 속도다.
 
아무튼 ADC에 여러가지 장점이 있고 8051코어라 쉽게 사용 가능하다. 10분이면 설치히고 환경 완료해서 프로그램 및 다운로드 가능하니 취미 삼아 쉽게 놀아볼만 하다.
 
 
[MSC1210 EVM]환경설정
 
새로운 프로젝트 생성
새로운 프로젝트를 생성하고 Device를 TI->MSC1210을 선택 한다.
 

옵션 설정
[Target]탭에서 Code Rom Size 항목을 Compact로 설정한다.
 
 
 
[Output]탭에서 Create HEX File 항목을 체크 하여 Hex파일이 생성 되도록 한다.
 
 
 
 
소스코드 추가
[Target1]의 [Source Group1]에서 [Add Files to Group..]메뉴를 용하여 작성한 소스코드를 추가한다.
 

프로그램 다운로드

J1(EA)핀을 이용하여 "다운로드"로 설정하고 리셋을 누른다.

TI에서 제공하는 다운로드 프로그램을 실행 시키고 다운로드 할 Hex파일을 설정한다.




TI Downloader의 OK 버튼을 누르면 프로그램이 다운로드 되고 프로그램은 종료 된다.


 

프로그램 실행
프로그램 실행은 J1핀을 "실행"으로 설정하고 리셋버튼을 누르면 동작 하는것을 볼 수 있다.

 

[MSC1210 EVM] rev2 보드 관련 자료

[8051] | 2007.03.12 22:22
Posted by nexp
[MSC121x EVM] 조립및 테스트 완료



TI사의 8051core + 24bit ADC Microconvert MSC1210, MSC1212, MSC1213, MSC1214를 테스트 가능한  EVM보드를
 만들었다. 하지만 왠지 아쉬움이 남는다.


프로그램 및 실행



회로도

msc121x_sch.pdf















보드 제작시 주의 사항
Ref는 여러가지 사용될 수 있지만 정밀하다는  LM4040A41을 이용하였다. 패키자가 좀 달라서 아래 그림과 같이 땜할 필요가 있다.


DGND, AGND는 분리 하고 외부 보드에서 연결 할 수 있도록 했는데.. 외부에서 연결되지 않는 보드라면 상당히 심각한 문제를 발생할 수 있다. 엄청 뜨겁다.
그래서 아래 부분에 AGND와 GND를 연결 했다.



MSC1210 Application Board
보드는 MSC1212, MSC1214 모두 적용가능하다.



LED테스트 동영상

[MSC1210 EVM]rev2 보드 제작

[8051] | 2007.03.10 21:46
Posted by nexp
[MSC1210 EVM]rev2 보드 제작
기존 [MSC1210 EVM] 보드를 수정하여 새롭게 제작할 일이 있어 새롭게 만들었다. USB2Serial 칩을 추가하고 보드 자체에 ref회로를 추가 하였다.

블로그 이미지

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)