[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

댓글을 달아 주세요

[INTERFACE]/WIZNET_EVM2011. 9. 9. 08:30

[W5200 EVM] 보드 제작

[W5200 EVM] 보드 제작


하드웨어 TCP/IP 스택을 지원하는 W5100의 신버전 W5200 테스트 보드를 제작했다. SPI방식만 지원해서 더 소형 으로 제작 가능하다. SPI 클럭속도가 훨씩 더 빨라지고 8개의 스택을 지원하므로 웹서와 같은 어플리케이션에 저렴하고 간단하게 적용할 수 있다. 




기존 W5100 EVM과 비교해서 크기가 더 작아지고



기존 보드와 핀맵을 동일하게 제작하여 확장보드에 연결 가능하다.



W5200, W5100 확장 테스트 보드 [NET-EVM]



[W5200 EVM] 핀맵 회로도



Posted by nexp

댓글을 달아 주세요

[INTERFACE]/WIZNET_EVM2011. 2. 11. 19:22

[W5100-s EVM] rev2 보드 관련 자료

[W5100-s EVM] rev2 보드 관련 자료


이더넷(W5100) 테스트를 위한 [NET-EVM] 보드 만들면서 [W5100-S EVM] rev2 보드를 만들었다. 기존 보드에서 전원핀맵을 통일해 USB 및 기타 모듈 보드와 동일한 핀맵으로 수정 제작 하였다.




W5100 EVM 회로도




rev1과 같이 SPI_EN핀을 따로 설정하지 않아도 자동으로 설정될 수 있도록 인버터가 있어 SPI EN핀을 따로 설정하지 않아도 된다.






[NET-EVM] 보드에 연결
확장 테스트 보드로 기존 MCU(AVR, ARM, PIC등등)를 이용하여 이더넷 테스트를 할 수 있는 보드 이다.




W5100을이용한 이더넷  테스트 동영상
UDP로 접속하여 이미지 데이터를 고속으로 전송하고 TFT LCD에 출력하도록 했다. [CANTUS EVM] 이더넷 전자엑자 테스트 참고.

Posted by nexp

댓글을 달아 주세요

[INTERFACE]/WIZNET_EVM2010. 6. 27. 23:48

[W5100-M EVM] Hardwired TCP/IP Module 제작

[W5100-M EVM] Hardwired TCP/IP Module 제작



 [W5100-S EVM] 모듈 은 소형으로 제작하기 위해 SPI, Indirect Mode(Data, A0, A1) 만을 지원하는 모듈이었는데...
크기는 조금 커지고 W5100의 전체 기능을 사용할 수 있는 형태의 모듈로 다시 제작 했다.




여러 Ethernet 테스트 확장 보드에 연결될 수 있도록 해서 다양한 MCU에서 테스트 가능하다.



Posted by nexp

댓글을 달아 주세요

[INTERFACE]/WIZNET_EVM2008. 10. 31. 15:45

[W5100 EVB] Simple UDP Test - 4 channel loop back source code

[W5100 EVB] Simple UDP Test - 4 channel loop back source code

간단한 UDP 루프백 테스트 프로그램 작성. 4개의 소켓을 생성해 UDP로 받은 데이터를 다시 송신하는 예제이다.




4개의 클라이언트 프로그램으로 UDP로 접속해 loopback 테스트를 할 수 있다.




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

/**

 * UDP loopback program.

 */

void     loopback_udp(SOCKET s, uint16 port)

{

             unsigned int len;

             unsigned char buf[MAX_BUF_SIZE];

             unsigned char destip[4];

             unsigned int destport;

 

             switch(getSn_SR(s))

             {

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

               case SOCK_UDP:                                     //

                            if((len=getSn_RX_RSR(s)) > 0)                   // check the size of received data

                            {

                                        len = recvfrom(s,buf,len,destip,&destport);  // receive data from a destination

                                       

                                        if(len !=sendto(s,buf,len,destip,destport))  // send the data to the destination

                                        {

                                           printf("%d : Sendto Fail.len=%ld,",s,len);

                                           printf("%d.%d.%d.%d(%d)\r\n",destip[0],destip[1],destip[2],destip[3],destport);

                                        }

                            }

                            break;

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

               case SOCK_CLOSED:                                  // CLOSED

                            close(s);                                       // close the SOCKET

                            socket(s,Sn_MR_UDP,port,0);                  // open the SOCKET with UDP mode

                            break;

               default:

                            break;

             }

}

 

 

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

// Main function

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

void main(void)

{

             InitMCU();

             initUART();

             InitNET();

 

             printf("W5100 Simple UDP Loopback Test Program.\r\n");

             DisplayConfig();

            

             while(1)

             {

                           loopback_udp(0, 5000);

                           loopback_udp(1, 5001);                    

                           loopback_udp(2, 5002);

                           loopback_udp(3, 5003);                    

             }

}

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

Posted by nexp

댓글을 달아 주세요