[Microchip]/dsPIC2011. 9. 30. 22:12

[dsPIC33 EVM] W5200 TCP/IP Loopback 전송 속도 테스트

[dsPIC33 EVM] W5200 TCP/IP Loopback 전송 속도 테스트



dsPIC33을 이용하여 SPI방식의 하드웨어 TCP/IP W5200 (W5100)의 전송 속도를 테스트 했다.

SPI클럭 13Mhz 에서 최대로 나오며 2.5Mbps 정도 출력 된다.

[3] iInChip Send: 2.3772 Mbps(6596649 bytes, 21.1710 sec)
iInChip Recv: 2.4131 Mbps(6596649 bytes, 20.8568 sec)
------------------------------------------------------------
[4] iInChip Send: 2.3933 Mbps(6596649 bytes, 21.0288 sec)
iInChip Recv: 2.4132 Mbps(6596649 bytes, 20.8557 sec)
------------------------------------------------------------





[NET EVM] 보드에서 W5200 핀맵





dsPIC33 W5100 HAL 드라이버 코드 소스
//-----------------------------------------------------------------------------
// W5100 HAL
#define W5100_CS_PORT     PORTG
#define W5100_CS_BIT     BIT9


#define W5100_RST_PORT     PORTF
#define W5100_RST_BIT     BIT6

#define IINCHIP_RSToff()    Cbi(W5100_RST_PORT, W5100_RST_BIT) 
#define IINCHIP_RSTon()     Sbi(W5100_RST_PORT, W5100_RST_BIT)


#define IINCHIP_CSoff()     Cbi(W5100_CS_PORT, W5100_CS_BIT)
#define IINCHIP_CSon()     Sbi(W5100_CS_PORT, W5100_CS_BIT)

#define W5100_IO_INIT()     Cbi(TRISG, W5100_CS_BIT);Cbi(TRISF, W5100_RST_BIT);

#define IINCHIP_SPI_MAX_SPEED()   SPI1_SetSpeed(SPI_SPEED_MAX)
#define IINCHIP_SPI_INIT()    SPI1_Init();IINCHIP_SPI_MAX_SPEED()
//#define IINCHIP_SpiSendData    SPI0_WriteByte
#define IINCHIP_SpiSendData    SPI1_WriteReadByte
#define IINCHIP_SpiRecvData    SPI1_WriteReadByte
//-----------------------------------------------------------------------------


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

댓글을 달아 주세요

[Microchip]/PIC322010. 11. 27. 21:33

[PIC32-SM EVM] TFT LCD (COM26T2844) 테스트 - AVR과 속도 비교

[PIC32-SM EVM] TFT LCD (COM26T2844)  테스트


[EXP-NET EVM] 보드는 W5100을 연결하여 이더넷 테스트를 하기 위한 보드로 제작 했는데 TFT LCD모듈도 연결하여 테스트 가능하다. PIC32의 속도를 좀더 테스트 해 보기 위해 테스트 자료정리를 좀 해 보았다.
추후 PIC32의 USB호스트 기능을 테스트 하거나 이더넷 테스트를 진행할 예정이다.


[EXP-NET EVM] 보드의 TFT LCD (COM26T2844)) 회로도




(한가지 아쉬운점이 있다면 RS신호를 RF4로 할당해야 하는데... 멀리 떨어져 있을뿐 아니라 16핀용 다른 MCU와 호환이 안된다. 다음에 화장보드 제작시에는 고려를 할 필요가 있을것 같다.)

TFT LCD Driver 코드
//-----------------------------------------------------------------------------
//LCD Driver
//-----------------------------------------------------------------------------
// TFT LCD(COM26T2844) Driver
#define TFT_DRV_COM44     1

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

#define LCD_RST_BIT      BIT6
#define LCD_RST_PORT     LATD
#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      BIT15
#define LCD_RS_PORT      LATB
#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      BIT4
#define LCD_WR_PORT      LATD
#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      BIT5
#define LCD_RD_PORT      LATD
#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      BIT7
#define LCD_BL_PORT      LATD
#define LCD_BL_OFF()     Cbi(LCD_BL_PORT, LCD_BL_BIT)
#define LCD_BL_ON()      Sbi(LCD_BL_PORT, LCD_BL_BIT)

#define TFTGpioInit()     Cbi(TRISE, 0xFF);\
          Cbi(TRISD, BIT4|BIT5|BIT6|BIT7);\
          Cbi(TRISF, BIT5);\
          Cbi(TRISB, BIT15);


PIC32-SM EVM TFT LCD테스트 동영상
거의 구분이 가지 않는다. 240x400 1프레임 그리는데 20ms정도 밖에 걸리지 않는다.  옵티마이즈와 오버 클럭하면 동영상도 가능할듯...



ATMega128 7.3728Mhz에서 TFT LCD테스트 동영상과 비교하면 차이가 많이 난다. 가격도 훨씬 더 저렴한 PIC32가 AVR과 성능 비교가 않될 정도 이다.


Posted by nexp

댓글을 달아 주세요