[INTERFACE]/W72002013. 1. 1. 23:30

[W7200 EVM] SD Card를 이용한 TFT LCD 테스트

[W7200 EVM] SD Card를 이용한 TFT LCD 테스트





W7200은 STM32-SM EVM보드와 호환이 가능하다. STM32코어 이므로 기존 코드를 활용하여 여러가지 테스틀 쉽게 해볼 수 있다.

SD Card를 이용하여 웹서버를 제작하기위해 먼저 SD카드 호환되는 TFT LCD보드를 테스트 해 보았다.




W7200 TFT-LCD 테스트 동영상




W7200 TFT-LCD 제어 드라이버 코드


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

//LED Driver

#define TFT_DRV_HD66791                 0

#define TFT_DRV_COM44                   0

#define TFT_DRV_ST7735                  1


#define LCD_LAT_BIT BIT14

#define LCD_LAT_PORT PORTA

#define LCD_LAT_ON() //Sbi(LCD_LAT_PORT, LCD_LAT_BIT) 

#define LCD_LAT_OFF() //Cbi(LCD_LAT_PORT, LCD_LAT_BIT) 

#define LCD_DATA_LATCH() //LCD_LAT_ON();LCD_LAT_OFF();


#define LCD_EN_BIT BIT13

#define LCD_EN_PORT GPIOA

#define LCD_ENABLE() cbi(LCD_EN_PORT, LCD_EN_BIT) 

#define LCD_DISABLE() sbi(LCD_EN_PORT, LCD_EN_BIT) 


#define LCD_RST_BIT //BIT8

#define LCD_RST_PORT //PORTB

#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 BIT14

#define LCD_RS_PORT GPIOA

#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 BIT15

#define LCD_WR_PORT GPIOA

#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 ///BIT9

#define LCD_RD_PORT //PORTB

#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 BIT9

#define LCD_BL_PORT GPIOB

#define LCD_BL_OFF() cbi(LCD_BL_PORT, LCD_BL_BIT) 

#define LCD_BL_ON() sbi(LCD_BL_PORT, LCD_BL_BIT)


#define _LCD_DAT_OUT(Data) PORTB = (PORTB&0xFF00) | (Data&0xFF);


#define TFTGpioInit() RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);\

GPIO_InitStructure.GPIO_Pin = BIT13|BIT14|BIT15;\

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;\

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;\

GPIO_Init(GPIOA, &GPIO_InitStructure);\

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);\

GPIO_InitStructure.GPIO_Pin = 0xFF|BIT9;\

GPIO_Init(GPIOB, &GPIO_InitStructure);


Posted by nexp
TAG tft-lcd, W7200

댓글을 달아 주세요

[INTERFACE]/W72002013. 1. 1. 23:00

[W7200 EVM] TCP/IP 테스트 - W7200 TCP Server 전송 속도 테스트

[W7200 EVM] TCP/IP 테스트 - W7200 TCP Server 전송 속도 테스트




W7200은 Cortex-M3 STM32와 W5200이 한칩에 들어 있는 Internet MCU 이다.


소스코드는 기존 STM32-SM + W5200과 호환이 되지만 SPI(SPI0), CS(PA4), RST(PB8), PowerDown(PB9) 핀은 하드웨어 적으로 고정되어 있다.



W7200 TCP Server 전송 속도

TCP 서버 송수신 속도는 3Mbps정도로 측정된다. STM32-SM EVM (2.5Mbps)과 동일한 코드로 테스트 해보면 W7200이 속도가 좀더 빠르게 나오는데... 아무래도 한칩에 포함되어 있어 그런것이 아닐까 생각해 본다.




W7200 W5200 제어 드라이버 코드

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

// W5100 HAL

#define _SPI0_ENABLE 1


#define W5100_CS_PORT GPIOA

#define W5100_CS_BIT BIT4


#define W5100_RST_PORT GPIOB

#define W5100_RST_BIT BIT8

#define IINCHIP_RSToff() cbi(W5100_RST_PORT, W5100_RST_BIT)

#define IINCHIP_RSTon() sbi(W5100_RST_PORT, W5100_RST_BIT)



#define W5100_PD_PORT GPIOB

#define W5100_PD_BIT BIT9

#define IINCHIP_PDoff() cbi(W5100_PD_PORT, W5100_PD_BIT)

#define IINCHIP_PDon() sbi(W5100_PD_PORT, W5100_PD_BIT)




#define W5100_IO_INIT() RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE);\

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;\

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;\

GPIO_InitStructure.GPIO_Pin=W5100_CS_BIT;\

GPIO_Init(GPIOA, &GPIO_InitStructure);\

GPIO_InitStructure.GPIO_Pin=W5100_RST_BIT|W5100_PD_BIT;\

GPIO_Init(GPIOB, &GPIO_InitStructure);\

                                        IINCHIP_RSTon();IINCHIP_PDoff();



#define IINCHIP_CSoff() cbi(W5100_CS_PORT, W5100_CS_BIT)

#define IINCHIP_CSon() sbi(W5100_CS_PORT, W5100_CS_BIT)




#define IINCHIP_SPI_INIT() SPI0_Init();SPI0_SetSpeed(SPI_SPEED_MAX);

#define IINCHIP_SpiSendData SPI0_WriteReadByte

#define IINCHIP_SpiRecvData SPI0_WriteReadByte

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








Posted by nexp

댓글을 달아 주세요

[INTERFACE]/W72002013. 1. 1. 22:00

[W7200 EVM] Internet MCU 보드제작 - Cortex M3 with hardwired TCP/IP, MAC & PHY

[W7200 EVM] Internet MCU 보드제작 - Cortex M3 with hardwired TCP/IP, MAC & PHY




H/W TCP/IP 포함된 Wiznet 사의 Cortex-M3(STM32) W7200 보드를 제작 했다. W7200은 한 칩에 MAC PHY, H/W TCP/IP(W5200), STM32가 들어 있어 소형의 임베디드 네트웍을 구성할 수 있다.


[STM32-SM EVM] 보드와 핀맵을 호환할 수 있도록 제작했고, STM32코어 이므로 때문에 소스코드는 그대로 사용가능하다.



W7200 특징


W7200 ARM 32-bit Cortex-M3

  - 72MHz maximum frequency (1.25 DMIPS/MHz)
  - 20KBytes Data Memory (RAM)
  - 128KBytes Code Memory
  - Low Power: Support Sleep, Stop and Standby modes
  - 7 timers
  - Three 16-bit timers, each with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input
  - 2 watchdog timers (Independent and Window)
  - SysTick timer 24-bit down counter
  - Full-duplex UART
  - Programmable Watchdog Timer
  - CRC calculation unit, 96-bit unique ID
  - GPIO, SPI, USART and USB Interfaces
  - 10BaseT/100BaseTX Ethernet PHY embedded



W7200 블록도




[W7200 EVM]




W7200 - H/W TCP IP W5200, MAC, PHY, STM32 가 하나의 칩으로 구성되어 있어 소형으로 제작 가능하다.

다만 페키기가 QFN타입이 아니라 수작업으로 납땜하기에는 약간의 기술을 요한다.




STM32 코어 이기 때문에 USB2UART를 이용하여 시리얼 포트로 펌웨어 다운로드 할 수 있다.




[ST-Type EVM]형태로 제작해서 기존 확장 보드와 쉽게 호환 가능하다.






W7200 회로도




Posted by nexp

댓글을 달아 주세요