본문 바로가기

[ST_MICRO]/STM32F4

(40)
[STM32F4-RP] OV2640 카메라 테스트1 - W5300을 웹서버를 이용한 영상 전송 [STM32F4-RP] OV2640 카메라를 테스트 해보자. W5300에서 웹서버 테스트코드를 활용해서 웹에서 영상을 볼 수 있도록 해볼 예정이다. STM32 DCMI 회로도 [STM32F4-RP] 보드의 카메라 인터페이스(DCMI) 핀맵은 아래 그림과 같다. STM32CubeIDE 설정 STM32에서 카메라는 DCMI 장치에서 설정 할 수 있다. STM32CubeIDE 를 이용하여 DCMI설정을 해 준다. 인터럽트를 사용할 수 있도록 설정하고 DMA 설정도 해 준다. 카메라 모듈에는 Master 클럭을 입력해 주어야 하는데 STM32의 PA8을 MCO로 설정하여 16Mhz의 시스템 클럭이 출력 되도록 해 주었다. 카메라관련 설정은 I2C 인터페이스로 가능하고 I2C2를 활성화 하도록 했다. 설정을 완료..
[STM32F4-RP] W5300을 이용한 웹서버 테스트 STM32F4-RP 보드를 이용한 W5300 개발환경 구성하기에서 포팅한 ioLibrary 의 장점은 표준화된 코드로 다양한 네트워크 응용 프로그램을 쉽게 작성할 수 있다는 것이다. Wiz550web 예제( https://github.com/Wiznet/WIZ550web) 를 참고 하여 간단히 W5300 Web Server 로 보드를 제어 할 수 있다. 표시할 웹페이지에 들어갈 코드를 메모리에 할당한다. const unsigned char index_page[] = { "\ \ \ Embedded Webserver Test\ \ \ %s\r\n", uri_name); } else if(strstr(p_http_request->URI, "led_on.html")) { Led1On(); printf("LED..
[STM32F4-RP] W5300 TCP Loopback 전송속도 테스트 STM32F405에서 W5300를 FSMC 방식으로 연결하여 테스트 하기 소스코드를 이용하여 W5300 TCP Loopback 전송속도 테스트 를 해보자 W5300을 이용하여 TCP loopback 테스트를 하기 위해 loopback.c 파일을 사용하면 된다. 먼저 네트워크 환경을 wiz_NetInfo 구조체에 할당하고 초기화 코드를 작성해 준다. wiz_NetInfo gWIZNETINFO = { .mac = {0x00, 0x08, 0xdc, 0, 0, 0}, .ip = {172, 30, 1, 104}, .sn = {255, 255, 0, 0}, .gw = {172, 30, 1, 254}, .dns = {0, 0, 0, 0}, .dhcp = NETINFO_STATIC }; void Reset_W5300(..
[STM32F4-RP ] STM32F405에서 W5300을 FSMC 방식으로 연결하여 테스트 하기 소소코드 : https://github.com/elabsystem/STM32_RP/tree/master/ex10_w5300_loopback GitHub - elabsystem/STM32_RP Contribute to elabsystem/STM32_RP development by creating an account on GitHub. github.com W5300은 STM32의 Flexible static memory controller(이하 FSMC)에 연결하고 CS핀은 NE2에 연결을 했다. 카메라는 STM32의 Digital camera interface(이하 DCMI)에 연결 하고 카메라 설정은 I2C2에 연결 했다. W5300제어용 FSMC 설정 W5300은 STM32의 FSMC를 통해 제어 되므..
[STM32F4-RP] 기본 하드웨어 제어 하기 STM32F4-RP 보드에는 디비깅을 위한 기본 패리로 LED 및 스위치가 가 있다. #define LED_PORT1 GPIOC #define LED_BIT2 BIT2 #define Led1On() HAL_GPIO_WritePin(LED_PORT1, LED_BIT1, GPIO_PIN_SET); #define Led1Off() HAL_GPIO_WritePin(LED_PORT1, LED_BIT1, GPIO_PIN_RESET); #define LED_PORT2 GPIOB #define LED_BIT2 BIT1 #define Led2On() HAL_GPIO_WritePin(LED_PORT2, LED_BIT2, GPIO_PIN_SET); #define Led2Off() HAL_GPIO_WritePin(LED_PO..
[STM32F4-RP] STM32F405 UART 테스트 STM32F4-RP Board 보드에서 UART는 PA9(TXD), RXD(PA10) 에 연결되어 있다. 확장 테스트 핀맵은 Raspberry Pi 핀맵과 동일하며 RX, TX 크로스로 연결 될 수 있다. 그리고 보드내의 SSM 커넥터는 아래와 같이 연결 되어 USB UART SSM 모듈 보드를 연결하여 테스트 할 수 있다. 먼저 STM32CubeIDE를 이용하여 새로운 프로젝트를 생성하고 UART, FSMC, DCMI, I2C 등의 각종 장치들을 설정해야 한다. 우선 가장 기본이 되는 UART 통신으로 “W5300 Hello World” 메시지를 출력해 보자 . STM32CubeIDE에서 Connectivity항목에서 USART1의 Mode를 Asynchronous로 설정하고 디폴트 옵션으로 사용하면된..
[STM32F4-RP Board] 보드 제작 STM32를 테스트 할 수 있는 MCU Board로 표준화 된 핀맵의 테스트 보드를 제작 했다. 여러가지 확장성을 고려 하여 실험하기 편한 형태로 제작 해 공통의 표준화된 핀맵을 사용하고 추후 확장성도 고려해서 Raspberry Pi 형태로 제작 했다. 이보드를 이용하여 다양한 네트워크 관련 응용 예제를 작성해 볼 예정이다. 기존에 제작된 다양한 확장 테스트 보드를 활용하면 쉽게 여러 응용분야게 적용 할 수 있다. 보드에는 표준화된 SSM 타입의 확장 보드를 연결 할 수 있고 Ethernet PHY 보드를 연결하여 STM32의 내장 Ehternet 기능도 사용 할 수 있다. 라즈베리 파이 핀맵(https://pinout.xyz/) 형태로 핀맵을 통일화 해서 라즈베리 파이에 연결 하거나 기존에 제작된 다양..
[STM32-64 Ardu] STM32F405 - Iperf로 W5500의 TCP Throughput 측정 테스트 [STM32-64 Ardu] 보드에는 SSM Type의 모듈을 연결 할 수 있는 커넥터가 있고 W5500 Ethernet 모듈을 이용하여 이더넷을 구현할 수 있다. STM32F405에서 W5500의 TCP Throughput 을 측정해 보자. 우선 STM32CubeIDE를 이용하여 SPI 설정을 하자. 네트웍 전송율 테스트를 위해 PC에서는 iperf 프로그램을 사용하고 STM32에서는 W5500 TCP loopback 테스트 코를 조금 수정해 iperf 클라이언트 코드로 작성했다. int32_t iperf_tcps(uint8_t sn, uint8_t* buf, uint16_t port) { int32_t ret; uint16_t size = 0, sentsize=0; switch(getSn_SR(sn)..

반응형