[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

댓글을 달아 주세요

[ST_MICRO]/STM32F103-SM2012. 6. 17. 09:46

[STM32-SM] SUB 1Ghz RF 모듈 테스트

[STM32-SM] SUB 1Ghz RF 모듈 테스트

 

 

 

 

 

SUB 1Ghz RF모듈을  [EXP_ FT2232H EVM]보드에 연결하여 테스트 했다. SPI모듈 연결할 수 있는 커넥터 있고 소형이기 때문에 테스트 하기에 딱 좋은 보드이다.

 

 

 

SPI 모듈 (W5100) 핀맵

 

RF모듈 핀맵

 

 

STM32-SM 핀맵

 

 

 

 

[EXP_ FT2232H EVM] 보드의 RF모듈 드라이버 소스코드

 


#define NRF_PWR_UP                      BIT1
#define NRF_PWR_HIGH()     sbi(GPIOB, NRF_PWR_UP)
#define NRF_PWR_LOW()     cbi(GPIOB, NRF_PWR_UP)

#define NRF_TXEN                        BIT4
#define NRF_TXEN_HIGH()     sbi(GPIOA, NRF_TXEN)
#define NRF_TXEN_LOW()     cbi(GPIOA, NRF_TXEN)


#define NRF_TRX_CE                      BIT0
#define NRF_TXCE_HIGH()     sbi(GPIOB, NRF_TRX_CE)
#define NRF_TXCE_LOW()     cbi(GPIOB, NRF_TRX_CE)

#define NRF_CS_PORT      GPIOB
#define NRF_CS_BIT      BIT12

#define NRF_CS_HIGH()     sbi(NRF_CS_PORT, NRF_CS_BIT)
#define NRF_CS_LOW()     cbi(NRF_CS_PORT, NRF_CS_BIT)

#define NRF_DR_BIT      BIT5
#define NRF_GET_DR()     (GPIOB->IDR&NRF_DR_BIT)

#define NRF_AM_BIT      BIT3
#define NRF_GET_AM()     (GPIOB->IDR&NRF_AM_BIT)


#define NRF_SendByte     SPI1_WriteReadByte
#define NRF_InitSpi()     SPI1_Init()
#define NRF_SpiSpeed_Low()    SPI1_SetSpeed(SPI_SPEED_1MHZ)
#define NRF_SpiSpeed_High()    SPI1_SetSpeed(SPI_SPEED_4MHZ)


#define NRF_PORT_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=BIT0|BIT1|BIT12;\
          GPIO_Init(GPIOB, &GPIO_InitStructure);\
          GPIO_InitStructure.GPIO_Pin=BIT4;\
          GPIO_Init(GPIOA, &GPIO_InitStructure);\
          GPIO_InitStructure.GPIO_Pin = BIT3|BIT5;\
                                        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;\
          GPIO_Init(GPIOB, &GPIO_InitStructure);\
                                        NRF_CS_HIGH()

 


 

[STM32-SM] RF모듈 테스트 동영상 

 

Posted by nexp

댓글을 달아 주세요

[ST_MICRO]/STM32F103-SM2012. 1. 28. 20:45

[STM32-SM2 EVM] W5200 이더넷 테스트 - NET-EVM 보드

[STM32-SM2 EVM] W5200 이더넷 테스트 -  NET-EVM 보드



STM32를 이용하여 [NET-EVM] 보드에서 W5200 모듈을 테스트 했다.





[NET-EVM] W5100/W5200용 커넥터




STM32-SM2는 핀맵이 약간 수정되었는데.. W5200의 /RST(INT0) 핀이 3.3V로 연결되기 때문에 3.3V끊고 PA15와 0옴으로 연결해 주어야 한다.




W5200 드라이버 코드
//-----------------------------------------------------------------------------
// W5100 HAL
#define _SPI1_ENABLE     1

#define W5100_CS_PORT     GPIOB
#define W5100_CS_BIT     BIT12
#define IINCHIP_RSToff()    cbi(W5100_RST_PORT, W5100_RST_BIT) 
#define IINCHIP_RSTon()     sbi(W5100_RST_PORT, W5100_RST_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=BIT12;\
          GPIO_Init(GPIOB, &GPIO_InitStructure);\
          GPIO_InitStructure.GPIO_Pin=BIT15;\
          GPIO_Init(GPIOA, &GPIO_InitStructure);


#define W5100_RST_PORT     GPIOA
#define W5100_RST_BIT     BIT15

#define IINCHIP_CSoff()     cbi(W5100_CS_PORT, W5100_CS_BIT) 
#define IINCHIP_CSon()     sbi(W5100_CS_PORT, W5100_CS_BIT)

#define IINCHIP_SPI_INIT()    SPI1_Init()
#define IINCHIP_SpiSendData    SPI1_WriteReadByte
#define IINCHIP_SpiRecvData     SPI1_WriteReadByte




STM32 TCP/IP 전송 속도 테스트
최대 SPI클럭 18Mhz 인 STM32에서 전송 속도는 2Mbps정도 출력된다.

코드 옵티마이즈 후 2.5Mbps 까지 가능하다.





Posted by nexp

댓글을 달아 주세요

[ST_MICRO]/STM32F103-SM2009. 2. 26. 09:47

[STM32-SM EVM] rev02 보드 관련 자료

STM32-SM EVM] STM32F103 - 48LQFP 소형 모듈 제작




[SM-Type EVM] UART, SPI, I2C, ADC, Data8 등 표준화된 핀맵을 정의해서 소형으로 만든 보드이다.

회로도





시리얼 다운로드 모드 설정



 

기존 제작 했던 [STM32-48 EVM]에서 필요 없는 기능 빼고 USB2UART모듈 연결되도록 제작해 USB로 펌웨어를 다운로드 할 수 있어 개발환경이 상당을 상당히 간단하게 했다.



Ethernet 모듈 전용 확장 테스트 보드



EXP-ARM 확장 테스트 보드
Posted by nexp

댓글을 달아 주세요