본문 바로가기

[ST_MICRO]

(264)
#STM32F439 EV W5300이용한 이더넷 TCP/IP 전송 속도 테스트 ( STM32CubeIDE Hal코드 ) W5300을 테스트 하기 위해 이번에서 새롭게 STM32CubeIDE 환경을 이용하여 TCP/IP 전송 속도를 테스트 해보았다. STM32F439 EV 보드는 FMC 확장 포트가 CN27, CN30에 연결되어 있고 W5300 확장 테스트 보드를 연결하여 테스트 가능하다. W5300의 연결은 NE1(PD7) -> CS_A0, PC3 -> /RESET 핀에 되어 있다. W5300 확장 테스트 보드 회로도 핀맵 W5300 모듈 핀맵 회로도 W5300 모듈은 STM32F4의 FMC 인터페이스에 연결된다. STM32CubeMx를 이용하여 FMC를 초기화 할 수 있다. STM32의 클럭는 STM32F439의 최대 클럭인 180Mhz로 설정하였다. STM32F439 FMC 초기화 코드 STM32CubeIDE에서 자동..
[STM32F4-64 SM] STM32F415 보드 제작 ST Micro사의 STM32F4 시리즈중 64핀 패키지를 테스트 할수 있는 보드를 표준 핀맵의 SM-Type EVM 형태로 제작 했다.
STM32F439 이더넷 TCP/IP 전송 속도 테스트 - STM32CubeMx Hal코드 이용 STM32F439에 내장된 이더넷을 연결할 수 있는 MAC가 포함되어 있고 Ethernet Phy 칩만 연결하면 쉽게 이더넷을 연결 할수 있다. 이번에는 STM32CubeMx를 이용하여 아주 간단하게 LwIP TCP / IP 스택을 올려서 테스트 해보았다. STM32F439 EVM 보드는 이더넷 Phy 칩을 연결하면 STM32F4의 이더넷을 테스트 할 수 있다. 이더넷 Phy는 칩을 직접 납땜하거나 Ethernet Phy 모듈을 연결 할 수 있다. Ethernet Phy 모듈은 핀맵을 표준화 해서 다양한 종류의 Ehternet Phy 칩을 테스트 할 수 있다. STM32CubeMx 를 이용하여 이더넷 인터페이스를 설정한다. Ethernet PHY는 RMII 모드로 연결되어 있기 때문에 모드를 RMII로 ..
STM32 CubeMX - PWM HAL Code 테스트 STM32 CubeMX - PWM HAL Code 테스트 STM32F0의 TIMx 클럭은 PCLK가 소스가 된다. 쵀대 48Mhz로 설정 가능 STM32CubeMX 를 이용하여 TIM1, TIM3 설정탭에서 PWM을 설정한다. 파라 미터 설정은 적정한 값으로 설정한다. 10khz 주파수로 PWM 출력을 하려면 어떻게 설정 해야 할까?10Khz는 100us 이므로 ARR 레지스터에 100us가 되는 값을 설정하면 된다. 먼저 48Mhz를 48로 나누어 1Mhz -> 1us로 되도록 하고 ARR값에 100을 넣으면 100us 가 된다. (주의 사항은 0부터 시작하므로 1을 빼준 값을 설정해야 한다.) //프리스케이일 TIM1->PSC = 48-1; //주파수 편경 freq = 100;// 100us TIM1..
STM32F0 성능 테스트 - STM32CubeMX HAL Code STM32F0 성능 테스트 - STM32CubeMX HAL Code STM32F0는 Cortex-M0코어 1$이하의 저렴한 MCU로 가격에 민감한 제품에 사용하기 좋은 제품이다.GPIO On/Off 주기를 측정해 MCU 성능 체크 해 보고 있는데 [STM32F0-SS EVM] 보드를 이용해서 테스트 해 보았다. [참고]STM32 MCU 성능 측정 테스트 우선 최대 클럭 48Mh로 설정하고 STM32CubeMX 기본 초기화 코드 생성하고 PB1 을 토글했다. static void MX_GPIO_Init(void){ GPIO_InitTypeDef GPIO_InitStruct; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIO..
[STM32F439 EVM] 외부인터럽트 테스트 [STM32F439 EVM] 외부인터럽트 테스트 STM32F439 의 외부 인터럽트 소스는 각 포트0에서 15까지로 설정 가능하고 아래와 같이 그룹별로 관리 가능하다.0에서 4번까지는 각각의 인터럽트 소스를 할당 할 수 있고 5~9, 10~15는 그룹으로되어 있어서 인터럽트 핸들러 내에서 구분해서 사용해야 한다. EXTI0_IRQnEXTI1_IRQnEXTI2_IRQnEXTI3_IRQnEXTI4_IRQnEXTI9_5_IRQnEXTI15_10_IRQn STM32F439 EVM 보드의 스위치 회로는 아래과 같고 PA8에 연결되어 있는 스위치를 이용하여 인터럽트 테스트 예제를 작성해 보았다. STM32F439 외부 인터럽트 초기화 코드static void EXTILine9_5_Config(void){ GPIO_..
[STM32F4_ZE_NET] FSMC 테스트 - W5300 이더넷 전송 속도 테스트 [STM32F4_ZE_NET] FSMC 테스트 - W5300 이더넷 전송 속도 테스트 [STM32F4_ZE_EVM] 보드는 FSMC에 Hardwired TCP/IP 칩인 W5300 모듈을 연결할 수 있다. STM32F405도 MII(RMII) 이더넷 인터페이스가 있긴하지만 이더넷 전송속를 높일 수 있는 W5300을 이용하여 TCP/IP 전송율을 테스트 해 보자 [STM32F4_ZE_EVM] 보드에 STM32F405 FSMC NE2(PG9)에 CS가 연결되어 있고 Data Bus는 16bit 모드 이다. 기본 설정을 이용하여 STM32F405에서 W5300 TCP 루프백 전송율을 테스트 해본 결과 5Mbps 정도 측정이 된다. 이때 CS 타임이 1.6us 정도 이다. /CS time -> 1.6us SRA..
[STM32F439 EVM] I2C 테스트 [STM32F439 EVM] I2C 테스트 [STM32F439 EVM] 에는 PB8(SCL), PB9(SDA)에 I2C가 할당되어 있다. STM32F439 I2C 초기화 코드I2C_HandleTypeDef I2cHandle; #define I2Cx I2C1#define I2Cx_CLK_ENABLE() __I2C1_CLK_ENABLE()#define I2Cx_SDA_GPIO_CLK_ENABLE() __GPIOB_CLK_ENABLE()#define I2Cx_SCL_GPIO_CLK_ENABLE() __GPIOB_CLK_ENABLE() #define I2Cx_FORCE_RESET() __I2C1_FORCE_RESET()#define I2Cx_RELEASE_RESET() __I2C1_RELEASE_RESET() ..