[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-SM2010. 8. 26. 19:23

STM32F100 Value Line 테스트

STM32F100 Value Line 테스트


ST사의 Cortex-M3코어의 Value Line시리즈 STM32F100 을 테스트 했다.

새롭게 출시 되면서 좀더 추가된 기능에 저렴한 어플리케이션에 적용할 수 있도록 제작되었다. 타이머가 6개, DAC가 추가되었고 온도센서도 내장되어 있다. 반면 저렴함 때문에 RAM이 줄어들고 클럭도 24Mhz가 최대 이다. 저전력 어플리케이션이나 가격에 민감한 어플리케이션에 적용하면 좋을것 같다.






STM32F100 테스트
테스트를 위해서 다운로드 환경을 최신으로 받아야 인식을 한다. 그리고 예전 코드를 그대로 사용하면 문제가 있다. 클럭이 최대 24Mhz이므로 PLL설정을 다시 해야 한다. (이것 때문에 시간좀 허비함)
STM홈페이지에 최신 예제및 드라이버 파일이 올라와 있는데 컴파일 하면 엄청난 오류가 있다. 설정이 문제인지 개발환경의 문제인지 다시 한번 알아볼 필요가 있다.

아무튼 클럭 설정으로 예전 STM32F103코드 잘 동작한다.



[system.c] RCC_Configuration() 함수 수정
    /* PLLCLK = 12MHz * 2 : 24 MHz */
    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_2);
 
 
[stm32f10x_conf.h] 수정
#define HSE_Value    ((u32)12000000) /* Value of the External oscillator in Hz*/
Posted by nexp

댓글을 달아 주세요

  1. 샤인

    관리자의 승인을 기다리고 있는 댓글입니다

    2011.12.09 13:26 [ ADDR : EDIT/ DEL : REPLY ]

[ST_MICRO]/STM32F103-SM2009. 3. 29. 16:58

[STM32-SM EVM] USB이용 플래시 다운로드 환경 (STM32 Flash Loader)

[STM32-SM EVM] USB이용 플래시 다운로드 환경 (STM32 Flash Loader)



[STM32-SM EVM]은 SM시리즈로 USB2UART 모듈을 연결할 수 있는 소형 보드 이므로 USB2UART 보드를 연결하면 USB를 이용하여 특별한 개발장비 없이 STM32F103 을 쉽게 플래시 프로그래밍 가능하다.
Flash_Loader_Demonstrator_V1.3_Setup.exe

 

Flash_Loader_Demonstrator_v2.4.0_Setup.exe




시리얼 다운로드 모드 설정
시리얼 다운로드를 위해 BOOT0핀을 GND로 연결한다.





1)최신 Flash loader (V1.3) 프로그램을 실행한다.
USRT를 설정하고 다음



2)정상 부트모드라면 플래시 용량이 출력된다.




3)그냥 기본 설정 상태로 다음




4)플래시 프로그램
다운로드 할 파일 선택하고 다음을 선택하면 플래시 퓨징된다.
"Jump to the user program"  항목을 선택하면 자동으로 부트모드에서 프로그램이 실행된다.
상당히 편리한 기능이다. 간단히 테스트 할때는 점퍼 변경없이 다운로드하고 테스트후 리셋만 누르면 다시 다운로드 가능하다.





5)새로운 파일 프로그램 플래시
다운로드 후 "Back"를 클릭하면 다시 처음 상태로 돌아 갈수 있어 새로운 파일을 다운로드 가능하다.

Posted by nexp

댓글을 달아 주세요

  1. 비밀댓글입니다

    2009.05.04 09:30 [ ADDR : EDIT/ DEL : REPLY ]

[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

댓글을 달아 주세요