본문 바로가기

[INTERFACE]/iMCU_W7100

(11)
[W7100 EVM] TFT LCD 테스트 - [LCD-IF MODULE] 이용 속도 테스트 [W7100 EVM] TFT LCD 테스트 - [LCD-IF MODULE] 이용 속도 테스트 [W7100 EVM]모듈에서 [LCD-IF MODULE]을 이용하여 TFT LCD를 테스트 해 보았다. iMCU W7100은 이더넷 전송 속도가 빠르기 때문에 ([W7100 EVM] 이더넷 전송 속도테스트] ), 이더넷으로 TFT-LCD 이미지 전송 테스트를 해보려고 한다. PIC32 이더넷 전자 액자 테스트 동영상 PC의 이미지 파일을 열어 16Bit BMP파일로 변환하고 이를 이더넷 UDP로 전송하면 TFT LCD에 출력하는 예제이다. 보드측에서는 이더넷으로 이미지 파일을 전송 받아 출력하므로 별도의 메모리 없이 고속으로 이미지를 업데이트 할 수 있다. LCD-IF MODULE]에 20핀 커넥터를 연결하고 드..
[W7100 EVM] UDP 테스트 [W7100 EVM] UDP 테스트 UDP는 신뢰성을 보장하지 않는 대신 커넥션이 필요 없으므로 속도가 빠르고 간단하게 제어 할수 있다. 접속필요 없이 IP와 포트를 알고 있으면 바로 데이터를 보낼 수 있다. UDP처리를 간단히 코드로 나타내면 아래와 같이 된다. //UDP처리 void ProcessUDP(void) { //소켓번호 int s = SOCK_UDP; //포트번호 int port = 3000; switch (getSn_SR()) { //연결되어 데이터를 수신하게 되면 case SOCK_UDP: //UDP 데이터전송되면 len = recvfrom(s, data_buf, len, (uint8*)gDestip, &dDestport); // 처리 한다. EthernetTest(data_buf, le..
[W7100 EVM] 외부 인터럽트 테스트 - 스위치 제어 예제 [W7100 EVM] 외부 인터럽트 테스트 - 스위치 제어 예제 W7100 EVM 보드에서 스위치는 INT3에 연결되어 있다. INT3은 인터럽트 소스 이고 GPIO로 접근할수 없다. EIF레지스터에서 인터럽트 플래그를 체크해서 확인할수 있다. 물론 이때는 인터럽트를 Enable해야 하고 확인후 플래그를 클리어 해야 한다. EIF 레지스터 인터럽트 확인할 수 있는 레지스터로 확인후 클리어 해야 한다. EIE레지스터 인터럽트 Enable설정 레지스터이다. 참고로 Keil에서 레지스터 비트 정의로 아래와 같이 설정하면 sbit EIF1 = EIF^0; 에러가 발생하는데... 메뉴얼을 살표 보니 P1과 같이 레지스터가 8bit로 구성되어 있으면 문제가 없는데 EIF와 같이 4bit로 되어 있다면 정의가 안된다..
[W7100 EVM] 예제프로그램 - 초간단 TCP Server를 이용한 보드 제어 [W7100 EVM] 예제프로그램 - 초간단 TCP Server를 이용한 보드 제어 이더넷 전송 제어의 가장 기본인 TCP 프로토콜을 이용한 테스트를 해보자. TCP 는 서버모드와, 클라이언트모드가 있는데 서버모드는 클라이언트의 연결을 기다리고 있다 요청이 들어오면 연결되어 통신이 이루어진다. W7100이 TCP Server모드로 동작하기 위한 대략적인 흐름을 보면 Socket를 OPEN하고 클라이언트의 요청을 기다린다(Listen). 연결이 되면 데이터 송수신하고(ESTABLISEH) 연결을 종료 하기위해 CLOSE 하면 된다. TCP Server를 간단히 코드로 나타내면 아래와 같이 된다. //TCP-Server 처리 void ProcessTcpSever(void) { //소켓번호 int s = SO..
[W7100 EVM] TCP/IP 테스트 - 간단한 임베디드 웹서버 테스트 [iMCU W7100 EVM] TCP/IP 테스트 - 간단한 임베디드 웹서버 테스트 W7100은 64kbyte 코드 영역외 256kbyte의 데이터 영역 flash를 내장하고 있어 외부 메모리 없이 간단한 웹서버 제작에 상당히 용이하다. MCU하나에 간단한 이더넷 처리하는 어플리케이션으로 최적이지 않을까... 그래서 간단히 웹서버를 올려서 테스트 해 보았다. 기존 LM3S8962 EVM에서 테스트한 웹페이지를 수정하여 테스트 해보았다. 코드는 간단하며 하드웨어 TCP/IP이므로 포트는 미리 열어 두어야 한다. 4개 정도를열어 두면 크게 문제 없다. 참고로 IE에서 웹페이지 요청할때 파일이나 이미지가 많으면 동시에 여러개의 포트를 열어서 요청하므로 포트가 부족하거나 빠른 처리가 되지 않는다면 무시될 수 있..
[W7100 EVM] TCP/IP 테스트 (TCP 전송 속도 테스트) [iMCU W7100 EVM] TCP/IP 테스트 (TCP 전송 속도 테스트) W7100은 W5100코어가 포함되어 있기 때문에 기존 하드웨어 독립적으로 작성한 예제를 이용하면 수정없이 사용가능하다. 일단 이더넷 속도 테스를위해 루프백(수신 데이터를 그대로 전송) 테스트를 해 보았다. TCP 서버 데이터 처리 ProcessTcpSever() 함수에서 TCP 시퀀스를 폴링으로 처리 한다. 소켓의 상태를 검사 하다 데이터가 수신되면 recv()함수로 수신된 바이트를 읽어오면 된다. //TCP-Server 처리 void ProcessTcpSever(void) { int len; unsigned char data_buf[TX_RX_MAX_BUF_SIZE]; unsigned int port = MY_LISTEN_..
[W7100 EVM] 예제프로그램 작성 - TCP/IP 테스트 (Ping테스트) [W7100 EVM] 예제프로그램 작성 - TCP/IP 테스트 (Ping테스트) W7100은 8051코어에 W5100코어가 내장되어 있는 MCU이므로 기존 W5100코드를 이용하면 크게 수정없이 사용 가능하다. (물론 Wiznet에서 제공하는 코드는 호환성이 좀 떨어지므로 레이어를 두어 수정을 좀 했다.) 네트웍 초기화 MAC Address는 고유하 번호를 할당받아야 하지만 테스트용으로 충돌 나지 않는 할당하면 된다. 보드의 IP역시 충돌나지 않는 값으로 설정하면되지만 공유기를 사용하는 경우 자동 할당번호 내의 값으로 설정해야 한다. #define MY_NET_MAC {0x00, 0x08, 0xdc, 0x00, 0x00, 0x00} // MY Mac Address : 00.08.DC.00.00.00 #d..
[W7100 EVM] 예제프로그램 작성 - UART 제어 (printf 를 이용한 디버깅) [W7100 EVM] 예제프로그램 작성 - UART 제어 (printf 를 이용한 디버깅) 8051에서 UART제어를 위한 보레이트 설정 모드는 Mode0~3의 4가지가 있다. 작성중... Keil 에서 printf를 사용하기위해서는 putchar()함수를 재 정의해 주어야 한다. serial.c 에 아래 함수들 추가하면 된다. char putchar (char c) { // Write data into serial-buffer. SBUF = c; // Wait till data recording is finished. while(!TI); TI = 0; return c; } W7100 UART테스트 예제 코드 void main() { unsigned int cnt = 0; SystemInit(); //..

반응형