[AnalogDevice]/ADucM3602014. 6. 8. 22:00

ADucM360 EVM 보드 제작 - 24bit 정밀 ADC 포함 MCU

ADucM360 EVM 보드 제작 - 24bit 정밀 ADC 포함 MCU



Cortex 코어의 대세 속에서 아날로그디바이스사도 Cortex-M3코어 MCU ADucM36x를 출시 했다.

아날로그가 강점인 Analog Device사의 특징을 살려 24bit ADC를 내장한 MCU이다.


ADC특징으로 3.9 kSPS, 24-bit, 0.1% 정밀 레퍼런스를 포함하고 있다. 그리고 12bit (NPN mode for 4mA to 20mA)  DAC가 있다.

 24bit ADC를 내장한 MCU 중에는 가장 성능이 좋지 않을까 생각된다.


다만 아쉬운점은 MCU클럭 속도가 16Mhz라 속도가 필요 할때는 한계가 있다는 것이다.





ADucM360 EVM 보드 회로도 










ADucM360 블록도

블록도를 보면 24bit ADC가 독립적으로 2채널이 있고 버퍼 및 게인과 필터 까지 아날로그 측면에서는 완벽해 보인다.






ADucM360 EVM 보드는 표준화 핀맵을 이용하기 위해 SM-Type EVM 형태로 제작했다.









Posted by nexp

댓글을 달아 주세요

[AnalogDevice]/ADuc7K2012. 11. 17. 16:32

[ADuc7061 EVM] 24bit ADC 테스트

[ADuc7061 EVM] 24bit ADC 테스트

ADuc7061에는 24bit ADC가 내장되어 있고 아날로그 파트에 있어 여러가지 옵션 설정을 쉽게 할수 있는 장점이 많다.

 

 

ADuc7061 ADC24 블록도

 

 

 

Aduc7601 ADC24 초기화 코드  

  
 // Configure ADC0 for continuous conversions, 1Khz, AIN0 in Single-ended mode
 ADCMSKI = BIT0; // Enable ADC0 result ready interrupt source
   ADCFLT = 0x7; // Chop off, 1Khz samping rate, SF = 7. No averaging
   ADCMDE = BIT0 + BIT7; // Continuous Conversion mode, Normal mode, 4Mhz clock source to ADC.
   ADC0CON = BIT1 +
     BIT6 +   // AIN0 selected in Single ended mode
     BIT10 +   // Unipolar ADC output
     BIT15;  // Gain = 1, Buffer on. Also, Int reference,
       
 ADCCFG = 0;
 IRQEN = BIT10; // Enable ADC interrupts   

 

  

 

 

 

 

 

 

 

 

Aduc7061 24bit ADC테스트 동영상

 

 

 

ADUC7061 테스트용 PC프로그램

 

 

 

ADuc7061 ADC인터럽트 처리코드

24bit ADC를 가진 MSP430AFE 와 비교 했을때 24bit ADC결과 레지스터가 32bit로 되어 있기 때문에 속도나 처리하는데 있어 상당히 편리하다.

__irq __arm void IRQ_Handler(void)
{
 unsigned long IRQSTATUS = 0;

 IRQSTATUS = IRQSTA;    // Read off IRQSTA register


 if ((IRQSTATUS & BIT10) == BIT10) //If ADC0 interrupt source
 {
    ulADC0Result = ADC0DAT; // Read ADC0 conversion result
 }

 

 

 

ADuc7061 24bit ADC테스트 예제코드

int main(void)
{
    unsigned int cnt = 0;
    SystemInit();
 
    Led1Init();

    //Serial Init
    DebugInit(BAUD_115200);
    DebugPrint("Aduc7061 EVM ADC Program.\r\n");

   
 ADC_Init();

    enable();
 while(1)
 {
  //UART Debug
  if(U0_IsGetByte())
  {
   switch(DebugGetByte())
   {
    case 'g':
                    DebugPrint("adc = %lu\r\n", ulADC0Result);
                    IRQEN |= BIT10;
                    Led1Off();
     break;
            }
        }
 }
}

 

 

 

 

Posted by nexp

댓글을 달아 주세요

[AnalogDevice]/ADuc7K2012. 11. 16. 16:08

[ADuc7061 EVM] 정밀 아날로그 마이크로 컨트롤러 보드 제작

[ADuc7061 EVM] 정밀 아날로그 마이크로 컨트롤러 보드 제작

 

 

 

ARM Core와 정밀 24bit ADC를 내장한 아날로그 디바이스사의 ADUC7061 EVM보드를 제작 했다. 가장 큰 특징은 24bit ADC, 14bit DAC,  On-chip precision reference (±10 ppm/°C)  와 같은 정밀한 아날로그 페리이다. 물론 가격은 다른 아날로그 MCU들에 비해 다소 비싸다.

 

 

ARM7코어에 소형임에도 UART, PWM, SPI, I2C등의 페리가 있다. FLASH가 32Kbyte 이기 때문에 IAR 무료 버전 컴파일러를 이용해서 컴파이 할 수 있고 UART를 이용하여 펌웨어를 다운로드 할 수 있어 개발환경 구축이 간단하다.

 

 

 

 

 

S-Type EVM 형태로 제작 했기 때문에 다양한 확장보드를 이용하여 테스트 해 볼수 있다. 

 

 

 

[ADuc7061 EVM] 핀맵

 

 

 

 

 

Posted by nexp

댓글을 달아 주세요

[MSP430]/MSP430_AFE2012. 10. 29. 18:26

[MSP430AFE EVM] 24bit ADC테스트 - LCD에 ADC24 데이터 그래프 표시하기

[MSP430AFE EVM] 24bit ADC테스트 - LCD에 ADC24 데이터 그래프 표시하기

 

 

MSP430AFE2xx 의 가장 큰 특징은 24bit ADC를 내장하고 저전력, 저가격의 MCU이다.

ADC특징을 보면 아래와 같다.

 

Features of the SD24_A include
-Up to three 24-bit second-order ΣΔ ADC
- Differential inputs o Simultaneous sampling
- Oversampling of up to 1024
- Integrated Programmable Gain amplifier of gains up to 32
- Integrated temperature and voltage sensor
- Integrated accurate 1.2V ADC reference with 18ppm/ ºC

 

 

MSP430AFE253은 DIFF 3채널의 24bit ADC가 있다.

 

 

 

 

MSP430AFE2xx ADC24블록도

 

 

 

 

MSP430 ADC24 출력 포멧

24bit ADC 이지만 출력레지스터 SD24MEMx는 16비트 레지스트 이고 24bit를 읽기 위해서는 SD24CCTLx의 SD24LSBACC비트를 설정해 주어야 한다.

SD24LSBACC = 0 -> 상위 16비트

SD24LSBACC = 1 -> 하위 16비트

 

 

 

MSP430 AFE ADC24 초기화

    SD24CTL = SD24REFON+SD24SSEL0;            // 1.2V ref, SMCLK
    SD24CCTL0 |= SD24IE + SD24DF;            // CH0, enable interrupt

 

    for (i = 0; i < 0x3600; i++);             // Delay for 1.2V ref startup

 

 

 

ADC 인터럽트 처리 코드

24bit로 데이터 받으면 값이 좀 이상하다.(아무래도 오버샘플링으로 비트수를 늘이는것 같은데, 이부분은 좀더 들여다 봐야 할것 같다.)

우선 상위 16비트만을 이용해 처리하도록 했다.

 #pragma vector=SD24_VECTOR
__interrupt void SD24AISR(void)
{
  switch (SD24IV)
  {
  case 2:                                   // SD24MEM Overflow
    break;

 

  case 4:                                   // SD24MEM0 IFG

      //하위 16비트 데이터
      Sbi(SD24CCTL0, SD24LSBACC);
      adc_value = SD24MEM0;

 

      //상위 16비트 데이터

      Cbi(SD24CCTL0, SD24LSBACC);
      //adc_value = (SD24MEM0<<16) | adc_value;

      adc_value = (SD24MEM0);
    break;


  case 6: 


    break;
  case 8:                                   // SD24MEM2 IFG
                       // Save CH2 results (clears IFG)
    break;
  }

   __bic_SR_register_on_exit(LPM0_bits);    // Exit LPM0
}

 

 

 

 

 

MSP430AEF ADC24 테스트 동영상

24bit ADC A0, A1에 연결되 VR값을 TFT LCD에 출력하는 예제를 테스트 했다.

 

Posted by nexp

댓글을 달아 주세요

[8051]/MSC121x2011. 10. 8. 00:47

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

[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 )





Posted by nexp

댓글을 달아 주세요