[8051]2006. 6. 13. 20:33

Aduc841 속도 측정 - Aduc841, 8051, AVR 속도 비교

Aduc841 속도 측정 - Aduc841, 8051, AVR 속도 비교

Aduc841 301ns @20Mhz



같은 코드로 측정시 AVR (316ns)과 비교 해서 300ns이므로 AVR에 비해 코드 효율이 좀 떨어지는것 같다. 하지만 기존 8051에 비해서는 상당한 속도향상을 보이고 있다. AVR속도 측정 참고

Standard 8051(11.0592Mhz) P1 On/Off 출력. (4.3us)



Atmega128(16Mhz) PB On/Off 출력. (316ns)

Posted by nexp

댓글을 달아 주세요

[AnalogDevice]/ADuc81x2005. 5. 1. 13:11

[Aduc84x EVM]DAC를 이용한 사인파 출력 테스트

[Aduc84x EVM]DAC를 이용한 사인파 출력 테스트



Aduc841의 DAC출력을 이용하여 사인파 출력 테스를 진행하였다.




사인파 출력 후 오실로스코프로 측정한 결과
Aduc812보드로 진행할 때 보다 속도가 빨라 그런지 아날로그 DAC출력에 대한 성능은 충분히 만족할 정도로 나오고 있다.



사인파 출력 소스코드

#include <stdio.h>

#include <ADuC841.h>

 

sbit LED = 0x0B4;

 

void main (void)

{

                  unsigned code values[64][2]={

                  {0x07, 0xFF},{0x08, 0xC8},{0x09, 0x8E},{0x0A, 0x51},{0x0B, 0x0F},

                  {0x0B, 0xC4},{0x0C, 0x71},{0x0D, 0x12},{0x0D, 0xA7},{0x0E, 0x2E},

                  {0x0E, 0xA5},{0x0F, 0x0D},{0x0F, 0x63},{0x0F, 0xA6},{0x0F, 0xD7},

                  {0x0F, 0xF5},{0x0F, 0xFF},{0x0F, 0xF5},{0x0F, 0xD7},{0x0F, 0xA6},

                  {0x0F, 0x63},{0x0F, 0x0D},{0x0E, 0xA5},{0x0E, 0x2E},{0x0D, 0xA7},

                  {0x0D, 0x12},{0x0C, 0x71},{0x0B, 0xC4},{0x0B, 0x0F},{0x0A, 0x51},

                  {0x09, 0x8E},{0x08, 0xC8},{0x07, 0xFF},{0x07, 0x36},{0x06, 0x70},

                  {0x05, 0xAD},{0x04, 0xEF},{0x04, 0x3A},{0x03, 0x8D},{0x02, 0xEC},

                  {0x02, 0x57},{0x01, 0xD0},{0x01, 0x59},{0x00, 0xF1},{0x00, 0x9B},

                  {0x00, 0x58},{0x00, 0x27},{0x00, 0x09},{0x00, 0x00},{0x00, 0x09},

                  {0x00, 0x27},{0x00, 0x58},{0x00, 0x9B},{0x00, 0xF1},{0x01, 0x59},

                  {0x01, 0xD0},{0x02, 0x57},{0x02, 0xEC},{0x03, 0x8D},{0x04, 0x3A},

                  {0x04, 0xEF},{0x05, 0xAD},{0x06, 0x70},{0x07, 0x36}};

                 

    DACCON = 0x0D;                //DAC0 on 12-bit Asynchronous

                     

    DAC0H = 0x08;                    //DAC0 mid scale

    DAC0L = 0x00;

 

                  while (1)

                  {

                                   int i;

                                   for ( i = 0 ; i < 64; i++)

                                   {

                                                     DAC0H = values[i][0];

                                                     DAC0L = values[i][1];

                                   }

                                    LED ^= 1;

                  }

}

                 

Posted by nexp
TAG 8051, ADUC841

댓글을 달아 주세요

[AnalogDevice]/ADuc81x2005. 4. 30. 07:57

[Aduc841 EVM] 보드 성능 테스트

[Aduc841 EVM] 보드 성능 테스트

P3에 연결된 LED를 Flash하는 프로그램을 작성해 보았는데 예전 Aduc812(8051)에 사용 했던 코드에서 조금 수정했다.
역시 20MIPS의 속도가 장난이 아니다. Delay부분에서 예전 소스의 20배 느리게 했는데 오히려 더 빠른것 같다.

수치적으로 봐도 예전 8051은 1Mips정도 이지만 Aduc841은 20Mips니까...




Aduc841 예제 소스코드

//======================================================================

//

// ADUC8xx EVM Test Program

//

// Author         : nexp76(http://cafe.naver.com/elab)

// Date          : [2003.10.08]

// File            : dio1.c

//

//======================================================================

// Description   

// - PORT Flash Test

//

//======================================================================

#include <stdio.h>

#include "../ADuC841.h"

void Delay(unsigned int MilliSec);

void main(void)

{

        // LED ON

        // Loop forever

        for(;;)

        {

                P3 ^= 0xFF;

                P1 ^= 0xFF;

       

                Delay(300);

        }

}

// Delay routine

#define MILISEC_TICK      (115*20)

void Delay(unsigned int MilliSec)

{

        unsigned int tick;

        while(MilliSec--)

                for (tick = 0; tick <MILISEC_TICK; tick++);

}

Posted by nexp
TAG 8051, ADUC841

댓글을 달아 주세요

[8051]2005. 4. 10. 16:06

[Aduc841 EVM] 개발환경 설정

[Aduc841 EVM] 개발환경 설정
실험 보드 준비
 
1.USB로 전원을 공급 한다.
 
2.스위치를 다운로드 모드로 설정 한다.
 
3.시리얼 포트로 케이블을 연결한다.
 
 
 
Aduc8x MCU는 MCU자체에 부트로더가 있어 시리얼 포트를 통해 펌웨어를 다운로드 가능하다.
시리얼 부트 로더를 실행하기 위해 /PSEN(40번)핀을 풀다운 하고 리셋을 걸면 된다.
 


컴파일
8051 컴파일러는 그 유명한 Keil uVision을 사용 한다.
물론 유료지만 홈페이지를 방문하면 데모버젼을 다운 받을 수 있고 데모만 사용해도 충분히 배울 수 있다.
 
ADUC841을 사용하기 위해 Head파일이 필요 한데 Keil홈페이지에 Keil ADUC841 업데이트 파일다운로드 할 수 있다. 
 

 

다운로드
컴파일 완료 후 보드에 다운로드 하는 툴은 아날로그 디바이스에서 제공하는 WSD를 사용하면 된다.
링크가 깨졌다면 직접 다운로드



유로로 판매 하는 마이크로 테크놀러지사의 WinBurn을 사용해도 된다고 하는데 역시 유료다. 돈 없는 엔지니어라면...그냥 AD꺼 써야지 뭐... WSD도 예전버전에는 문제가 많았는데 요즘에는 훌륭하게 잘 동작 한다.

Posted by nexp
TAG 8051, ADUC841

댓글을 달아 주세요

[8051]2005. 4. 4. 20:04

[ADUC841 EVM] 보드 관련 자료

 
[ADUC841 EVM]보드 관련 자료
 
특징
- 최대 20MIPS의 빠른 속도를 가진 ADUC841칩 사용
- 64k 온보드 시리얼 플래쉬 라이트 기능
- 2k 온칩 램
- 8채널 420kps 12비트 ADC
- 2채널 DAC, 2채널 PWM
- 고속 DMA탑제
- 온칩 온도 센서
- 온칩 전압감시
- UART, I2C, SPI
 
 








예제 소스코드



- PDIUSBD12 USB 칩 내장

 




기본 회로도


Aduc812, Aduc841, Aduc8xx 보드에 적용가능
Posted by nexp
TAG 8051, ADUC841

댓글을 달아 주세요