[INTERFACE]/AVR_W5100_EVM2008. 4. 21. 23:42

[Mega128 EVM]rev2 보드 관련 자료 - AVR Mega128 + Ethernet Module

[Mega128 EVM]rev2 보드 관련 자료 - AVR Mega128 + Ethernet Module

사용자 삽입 이미지


회로도:



[Mega128 EVM] rev2를 새롭게 만들었다. 기존 보드의 회로적인 실수도 수정하고 몇가지 보완해서 만들었다. 기본적인 형태나 배치는 동일하게 구성했다. PCB가 없서서 새롭게 만들어야 할 기회가 있었는데 시간 관계상 치명적 버그만 수정하는 형태이다.
기존 Ethernet LINK LED를 보드에 구성했던 것을 RJ45커넥터의 LED있는것으로 대체 하였다.



기존 보드와 거의 유사하지만.. USB커넥터 및 VR, 온도 센서가 추가 되었다.



USB는 아무래도 미니타입이 작고 많이 쓰는 커넥터라 수정했고 VR및 온도센서(LM35)을 추가하여  보드상에서 간단한 테스트를 해 볼수 있도록 했다.



기존에는 Serial0 + SPI가 빠져 있던 부분을 Seril0 + Serial1로 변경했다.



핀맵을 동일하게 해서 기존 확장보드를 이용할 수 있도록 했다. 모든 포트 빠져 있고 VR, S/W, PWM, TFT LCD등을 테스트 해 볼수 있다.


Posted by nexp

댓글을 달아 주세요

  1. 신봉수

    [Mega128 EVM]rev2 보드는 어디서 구할수 있나요?

    2008.09.12 01:02 [ ADDR : EDIT/ DEL : REPLY ]
  2. 광춘

    mega128 EVM rev2 구매하고싶습니다. 어디서 구매할수있는지요 gohgoh@empal.com 연락바랍니다.

    2009.08.25 11:11 [ ADDR : EDIT/ DEL : REPLY ]

[INTERFACE]/WIZNET_EVM2008. 1. 11. 09:16

[W5100-s EVM]초소형 이더넷 모듈

[W5100-s EVM]초소형 이더넷 모듈

사용자 삽입 이미지


기존 [W5100 EVM] 보드와 비교해서 정말 작습니다. 점점더 소형화 하고싶는 욕심이 생기다 보니...
그래도 여러  어플리케이션에 적용할 수 있지 않을까 생각해 봅니다.

보드는 0.8T 2장으로 구성되어 있습니다. MAC잭 부분만 따로 분리 하여 다른 용도로도 사용할 수 있도록 했습니다. 추후 만드는 보드는 MAC잭을 모듈로 처리하면 개발보드일 때는 재사용 가능하겠죠...





높이는 좀 높아 졌지만.. 0.8T라 그렇게 티는 않나는듯 하네요..


SPI단자를 기존 핀과 동일하게 구성하여 호환 되도록 구성하였습니다.






W5100 TCP/IP Ethernet Module

사용자 삽입 이미지



Posted by nexp

댓글을 달아 주세요

[INTERFACE]/USB2008. 1. 1. 09:47

[AT90USB1287 EVM]AVR + USB Host/Device Controller 보드 제작

[AT90USB1287 EVM]AVR + USB Host/Device Controller 보드 제작

[Mega128 EVM] (http://nexp.tistory.com/7) 은 Atmega128과 At90USB1287을 사용할 수 있도록 PCB를 제작 했다.
At90USB1287을 이용하여 보드를 조립 했는데.... USB Host로 구동해 메모리 스틱의 내용을 읽어 오도록 구성 해 보았다.








테스트 동영상
W5100과 At90USB1287을 이용하여 임베디드 FTP Server를 구현하고 임베디드 USB호스트를 이용하여 파일을 저장하도록 하였다.
 


Posted by nexp

댓글을 달아 주세요

  1. 김재훈

    혹시 OTG기능으로 동작하여 USB로 데이터를 읽어보셨나요? 요즘 계속 스터디 중인데 단순히 레지스터설정으로 아닌

    다른게 있는 거같은데 간단한 예제 코드정도 받을수있을런지요?

    2010.06.08 16:41 [ ADDR : EDIT/ DEL : REPLY ]

[INTERFACE]/AVR_W5100_EVM2007. 12. 28. 01:34

[Mega128 EVM] TCP Test Program

사용자 삽입 이미지





Mega128 EVM의 이더넷 제어는 W5100를 이용하고 우선 간단히 테스트 하기 위해 속도는 좀 느리지만 SPI모드로 구동하여 테스트 해 보았다.

사용자 삽입 이미지















 

이더넷 제어 관련 파일은 ../mega128_evm/01_drv/wiznet 폴더에 있고 w5100.c, wiznet.c파일을 추가하면 된다.

사용자 삽입 이미지












네트웍 MAC, IP..등의 초기화 설정은 main에서 간단히 설정할 수 있다.

//-----------------------------------------------------------------------------
#define MY_NET_MAC   "\x00\x08\xDC\x00\x00\x00"  // MY Mac Address : 00.08.DC.00.00.00
#define MY_NET_SIP   0xC0A80003 // MY Source IP     : 192.168.0.3
#define MY_NET_GWIP   0xC0A80001 // MY Gateway IP    : 192.168.0.1
#define MY_CH_DESTIP  0xC0A80002 // MY Destination   : 192.168.0.2
      :

예제 소스코드

예제는 TCP Server로 구성하고 클라이언트로 부터 전송되는 데이들 받아서 그값에 따라 Mega128 EVM의 LED를 제어하도록 하였다. 자세한 설명은 추후에 계속....

void EthernetTest(unsigned char *pRcvBuffer, unsigned int len)

{

        unsigned int i;

        if(pRcvBuffer[0] == CMD_LED_OUT)

        {

                if(pRcvBuffer[1] & 1)Led1On();

                else Led1Off();

                if(pRcvBuffer[1] & 2)Led2On();

                else Led2Off();

        }

               

        DebugPrint("Read Data[%d]\r\n", len);

       

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

        {

                //if(i%16==0)DebugPrint("\r\n");

                DebugPrint("%02X ", pRcvBuffer[i]);

        }

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

}

//TCP-Server 처리

void ProcessTcpSever(void)

{

        int len;                                                

        unsigned char data_buf[TX_RX_MAX_BUF_SIZE];

        uint16 port = MY_LISTEN_PORT;

       

        switch (getSn_SR(SOCK_TCPS))

        {

        case SOCK_ESTABLISHED:

                //check Rx data

                if((len = getSn_RX_RSR(SOCK_TCPS)) > 0)                 

                {

                        //if Rx data size is lager than TX_RX_MAX_BUF_SIZE

                        if (len > TX_RX_MAX_BUF_SIZE) len = TX_RX_MAX_BUF_SIZE;       

                        //read the received data

                        len = recv(SOCK_TCPS, data_buf, len);

                                               

                        EthernetTest(data_buf, len);

                }              

                break;

               

        case SOCK_CLOSE_WAIT:                                   

                //If the client request to close

                disconnect(SOCK_TCPS);

               

                m_SokStatus1 = 0;

                break;

               

        case SOCK_CLOSED:

                if(!m_SokStatus1)

                {

                        m_SokStatus1 = 1;

                        DebugPrint("Connect.");

                }

               

                //reinitialize the socket

                if(socket(SOCK_TCPS,Sn_MR_TCP, port,0x20) == 0)

                {

                        DebugPrint("Fail to create socket.");

                        m_SokStatus1 = 0;

                }

                else

                {

                        listen(SOCK_TCPS);

                }

               

                break;

        }

}

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



터미널 창의 제어 메세지

사용자 삽입 이미지














호스트 프로그램
호스트 프로그램은 VB를 이용하여 간단히 TCP클라언트로 구성하고 서버로 접속해서 LED를 제어하도록 작성하였다.

사용자 삽입 이미지


실행 동영상
호스트 측의 LED버튼을 클릭하여 EVM보드의 LED를 제어하고 있다.

Posted by nexp

댓글을 달아 주세요

[INTERFACE]/AVR_W5100_EVM2007. 12. 27. 20:14

[Mega128 EVM] Usb2Serail Test

[Mega128 EVM] Usb2Serail Test

사용자 삽입 이미지


ex03_serial.zip

 

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

  CP210x_VCP_Win2K.exe

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



[Mega128 EVM]의 USB2Serial은 UART1에 연결되어 있고 [/mega128_evm/00_hal/config.h]파일에 시리얼 출력 관련 정의가 되어 있다.


//UART1을 사용하기 위해
#define _UART1_ENABLE
#define _HAL_MEGA128_UART
//#define _UART0_ENABLE

//-----------------------------------------------------------------------------
#if 0
#define U0_printf      printf
#define DebugPrint      U0_printf
#define DebugInit      U0_Init
#define DebugGetByte     U0_GetByte
#define DebugIsByte      U0_IsGetByte
#endif


#if 1
#define DebugPrint      printf
#define DebugInit      U1_Init
#define DebugGetByte     U1_GetByte
#define DebugIsByte      U1_IsGetByte
#endif
//-----------------------------------------------------------------------------


예제 소스

//-----------------------------------------------------------------------------<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><?xml:namespace prefix = o />

// Main Routine

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

int main(void)

{

             SystemInit();

             //Serial Init

             DebugInit(BAUD_115200);

             DebugPrint("Mega128 EVM Serial Test Program.\r\n");

             //Init LED

             Led1Init();

             while(1)

             {

                           if(DebugIsByte())

                           {

                                        switch(DebugGetByte())

                                        {

                                                     case '1':

                                                                  Led1On();

                                                                  DebugPrint("LED1 On\r\n");

                                                                  break;

                                                    

                                                     case '2':

                                                                  Led1Off();

                                                                  DebugPrint("LED1 Off\r\n");

                                                                  break;

                                        }

                           }

             }

}

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


Posted by nexp
TAG ATMEGA128, AVR

댓글을 달아 주세요

  1. 참고 : C#을 이용한 시리얼 포트 제어 - Mega128 LED제어( http://nexp.tistory.com/272 )

    2008.04.29 00:41 신고 [ ADDR : EDIT/ DEL : REPLY ]