[AVR]/Mega1282012. 5. 3. 21:20

AMega128 Ethernet Test 보드 - 테스트 하기

AMega128 Ethernet Test 보드 - 테스트 하기

 

 

 

 소스코드
테스트 소스코드 는 TCP 서버 테스트를 위한 예제코드

 


 

//-----------------------------------------------------------------------------
//수신데이터 처리
void EthernetTest(unsigned char *pRcvBuffer, unsigned int len)
{
 unsigned int i;

 DebugPrint("Read Data[%d]\r\n", len);
 
 for(i=0;i<len;i++)
 {
  //if(i%16==0)DebugPrint("\r\n");
  DebugPrint("%c", pRcvBuffer[i]);
 }

 DebugPrint("\r\nReceive OK!\r\n");

 //-----------------------------------------------------------------------------

 

 


 

USB2UART 를 위해 USB를 연결하고, 랜 캐이블을 연결한다.

  

 

CP2012 칩의 드라이버 파일은 아래 링크에서 최신파일을 받을 수 있다.

  CP210x_VCP_Win2K.exe

 http://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx

 

 

 

펌웨어 다운로드 하고 USB 연결후 하이퍼 터미널(보레이트 115200bps)에 아래와 같이 레지스터 정보를 표시되면 정상동작을 확인할 수 있다.

 

 

코드상에서 보드의 IP를 설정할 수 있다. 여기서는 192.168.0.100 , Port 5000 으로 설정되어 있다.

 // MY Source IP     : 192.168.0.100
#define MY_SOURCEIP {192,  168, 0,  100}

 

// MY Listen Port  : 5000

#define MY_LISTEN_PORT 5000      

 

 


 

테스트용 PC프로그램

PC측 호스트 프로그램은 TCP루프백 테스트를 할 수 있는 AX 플그램을 사용한다.

 


 

 

기본 테스트하기

1) TCP 연결

 

 

보드 IP 192.168.0.100, 5000으로 접속

 

 

정상적으로 접속되면 메세지가 출력된다.

 

 

 

테스트 메세지 전송

 

 

테스트로 100개의 데이터 전송

 

 

 

수신된 데이터 확인

하이퍼 터미널에서 수신된 데이터를 확인 할 수 있다.

 

 

 

 

 

 

Posted by nexp

댓글을 달아 주세요

[AVR]/Mega1282012. 4. 29. 16:00

[AT90USB1287-EX] 보드에서 Atmega128사용하기

[AT90USB1287-EX] 보드에서 Atmega128사용하기

 

 

 

[AT90USB1287 EVM-EX] 보드는 USB호스트 기능이 있는 AT90USB1287을 테스트 하기 위한 보드 이지만 ATMega128도 실장하여 테스트 가능하다.

핀맵이 약간 다르기 때문에 조립하기전 0옴 저항으로 선택해서 조립할 수 있도록 했다.

 

 

 

ATMega128를 실장할 경우 아래와 같이 프로젝트 파일 및 드라이버 파일에서 약간의 수정이 필요하다.

 

[config.h] 

#define __MCU_TYPE__    AVR_TYPE_MEGA128

 

#define _UART1_ENABLE

 

 

//-----------------------------------------------------------------------------
// On board LED
#define LED1_PROT     PORTG
#define LED1_BIT     BIT3
#define Led1Init()     Sbi(DDRG, LED1_BIT)
#define Led1Off()     Sbi(LED1_PROT, LED1_BIT)
#define Led1On()     Cbi(LED1_PROT, LED1_BIT)


#define LED2_PROT     PORTG
#define LED2_BIT     BIT4
#define Led2Init()     Sbi(DDRG, LED2_BIT)
#define Led2Off()     Sbi(LED2_PROT, LED2_BIT)
#define Led2On()     Cbi(LED2_PROT, LED2_BIT)
//-----------------------------------------------------------------------------

 

 

ATMega128을 실장한 보드

 

 

 

Posted by nexp

댓글을 달아 주세요

[AVR]/Mega1282012. 4. 25. 21:42

ATMega128A 저렴한 구매처

 

http://icbank.co.kr/shop/default.asp?file=product_detail.asp&prod_code=P000102657

 

 

 

Posted by nexp

댓글을 달아 주세요

[AVR]/Mega1282009. 11. 22. 05:26

ATMega128 TFT LCD(COM26T2844) 테스트

ATMega128 TFT LCD(COM26T2844) 테스트


ATMega128을 이용하여 [LCD_EXP EVM] 보드를 테스트 했다.
자료 정리 차원에서 정리해 본다.

ATMega128 TFT LCD(COM26T2844) Pinmap



ATMega128 TFT LCD(COM26T2844) Driver Code
//-----------------------------------------------------------------------------
// TFT LCD(COM26T2844) Driver
#define TFT_DRV_COM44     1

#define LCD_EN_BIT      BIT5
#define LCD_EN_PORT      PORTB
#define LCD_ENABLE()     Cbi(LCD_EN_PORT, LCD_EN_BIT)
#define LCD_DISABLE()     Sbi(LCD_EN_PORT, LCD_EN_BIT)

#define LCD_RST_BIT      BIT4
#define LCD_RST_PORT     PORTD
#define LCD_RST_ON()     Sbi(LCD_RST_PORT, LCD_RST_BIT)
#define LCD_RST_OFF()     Cbi(LCD_RST_PORT, LCD_RST_BIT)

#define LCD_RS_BIT      BIT7
#define LCD_RS_PORT      PORTE
#define LCD_RS_OFF()     Cbi(LCD_RS_PORT, LCD_RS_BIT)
#define LCD_RS_ON()      Sbi(LCD_RS_PORT, LCD_RS_BIT)

#define LCD_WR_BIT      BIT3
#define LCD_WR_PORT      PORTG
#define LCD_WR_OFF()     Cbi(LCD_WR_PORT, LCD_WR_BIT)
#define LCD_WR_ON()      Sbi(LCD_WR_PORT, LCD_WR_BIT)

#define LCD_RD_BIT      //BIT7
#define LCD_RD_PORT      //PORTA
#define LCD_RD_OFF()     //Cbi(LCD_RD_PORT, LCD_RD_BIT)
#define LCD_RD_ON()      //Sbi(LCD_RD_PORT, LCD_RD_BIT)

#define LCD_BL_BIT      BIT4
#define LCD_BL_PORT      PORTB
#define LCD_BL_OFF()     Cbi(LCD_BL_PORT, LCD_BL_BIT)
#define LCD_BL_ON()      Sbi(LCD_BL_PORT, LCD_BL_BIT)

#define TFTGpioInit()     DDRA = 0xFF;\
          DDRC = 0xFF;\
          Sbi(DDRB, BIT4|BIT5);\
          Sbi(DDRD, BIT4);\
          Sbi(DDRE, BIT7);\
          Sbi(DDRG, BIT3);

#define DATA_OUT(Data)     PORTA = (Data&0xFF); PORTC = ((Data>>8)&0xFF)


TFT LCD 기본 테스트 예제코드
#include "system.h"
#include "serial.h"
#include "tft_lcd.h"

//-----------------------------------------------------------------------------
int main(void)
{
 SystemInit();
 int delay_time = 1;
  
 Led1Init();
 Led1On();

 //Serial Init
 U0_Init(BAUD_115200);
 printf("myAVR Mega128 Test Program1\r\n");
 
 TftLcd_Init();         //Initial LCD 

 while(1)
 {
   Disp_Full_Color(Red);
  Delay(delay_time);
  Disp_Full_Color(Green);
  Delay(delay_time);
  Disp_Full_Color(Blue);
  Delay(delay_time);

  Ver_8Gray_Disp() ;
  Delay(delay_time);
  Hor_8Gray_Disp() ;
  Delay(delay_time);
  Ver_8Color_Disp() ;
  Delay(delay_time);
  Hor_8Color_Disp() ;
  Delay(delay_time); 
 }
}
//-----------------------------------------------------------------------------


테스트 동영상
ATMega128 7.3728Mhz에서 TFT LCD테스트



Posted by nexp

댓글을 달아 주세요

[AVR]/Mega1282008. 10. 28. 22:35

[myAVR] M-Type AVR보드 제작

[myAVR] M-Type AVR보드 제작


Atmega128 보드를 새로운 형태로 제작했다. [M-Type EVM] 형태로 제작 했고, 50 I/O이상은 앞으로 이 표준으로 제작 할 예정이다. UART, SPI, PWM, I2C, Data8, Ctrl8, GPIO, CAN등의 표준을 지킬 생각이다.

LED, Switch, Buzzer, VR, SD Card, Data Flash 기본 테스트 페리가를 가지고 있다.



자이로, 가속도 등의 센서를 연결할 수 있도록 하고 USB, Ethernet(Enc28J60), Bluetooth등의 인터페이스도 표준으로 연결 가능하도록 했다.





Posted by nexp

댓글을 달아 주세요