본문 바로가기

W5300

(24)
실시간 AI 처리를 위한 W5300 네트워크 카메라 만들기 일반적인 네트워크 카메라는 네트워크 대역폭 때문에 압축된 영상을 전송한다. 압축된 영상은 품질이 저하되기 때문에 영상 처리에 문제가 될수 있다. W5300 을 이용하여 압축되지 않은 원본 영상을 네트워크로 전송하고 영상 처리를 할 수 있는 카메라를 제작 하였다. W5300은 80Mbps 이상의 고속 네트웍 전송이 가능하기 때문에 카메라의 실시간 원본 이미지를 전송하는데 가장 좋은 예가 될 수 있다. 전송된 영상은 일반적인 영상 처리 뿐 아니라 AI 를 적용하여 좀더 스마트한 어플리케이션에 적용 할 수 있도록 하였다. AI를 적용한 네트워크 카메라는 실시간 감지와 분석을 통해 환경을 모니터링하고, 범죄 예방, 사고 감지, 자원 최적화 등 다양한 분야에서 중요한 역할 한다. 이를 통해 더 스마트하고 안전한 ..
[STM32H7-RP] W5300을 이용한 TCP 제어 서버 테스트 PC에서 전송되는 명령을 처리하는 부분은 ProcessCamTCPS() 함수에서 처리하고 있다. TCP 통신으로 영상 전송 시작 및 종료나 카메라 제어와 같은 명령을 전송할수 있다. int32_t ProcessCamTCPS(uint8_t sn, uint8_t* buf, uint16_t port) { int32_t ret; uint16_t size = 0, sentsize=0; unsigned int cmd; unsigned int para; switch(getSn_SR(sn)) { case SOCK_ESTABLISHED : if(getSn_IR(sn) & Sn_IR_CON) { setSn_IR(sn,Sn_IR_CON); } // Don't need to check SOCKERR_BUSY because i..
[STM32H7-RP]W5300 Iperf로 TCP Throughput 측정 테스트 STM32H7 RP 보드는 확장 테스트 모듈에 W5300 을 연결 할 수 있다. W5300을 이용하여 80Mbps 이상의 네트웍 성능를 사용할 수 있어 네트웍 고속의 데이터 전송에 적용해 볼 수 있다. STM32H7 RP 보드에서 NE2(PG9) 핀이 W5300의 CS 핀에 할당되어 있다. W5300 모듈 핀맵 STM32CubeIDE 를 이용하여 STM32H7의 FMC 설정을 해 준다. CS핀은 NE2에 할당하면 된다. CS핀 할당을 NE2에 했기 때문에 W5300메모리 제어 설정을 STM32H7의 FMC 메모리 블럭중 0x64000000 에 할당하면 된다. #define W5300_BANK_ADDR ((uint32_t)0x64000000) #define _W5300_DATA(p) (*(volatile ..
STM32H7 W5300 iperf TCP 전송률 테스트 - 영혼까지 끌어 올리기 STM32H7 보드에서 W5300 의 TCP 전송율 테스트를 해 보자. STM32H7 칩 내부에 Ethernet MAC가 포함되어 있어 이더넷 통신이 가능하지만 Ethernet 전송율이 34Mbps 정도로 그렇게 빠르지 않다. STM32F439보드에서 W5300을 이용하면 이더넷 전송율을 90Mbps 이상 나오므로 STM32H7에서는 좀더 여유롭지 않을까.. STM32H7 보드에 W5300은 NE1(PD7)에 연결되어 있고 PC3에 리셋이 할당되어 있다. 기존에 테스트 했던 예제를 이용하여 STM32H7 에서는 정상동작을 하지 않는다. getMR() = 0201 W5300 memory initialization failed Mac address: 01:68:01:68:01:68 IP address : 1..
W5300 을 이용한 네트워크 카메라 구현 3/3 - 카메라 이미지 출력 및 영상처리 개요 [SRM32F4-RP] 보드에서 W5300을 제어 하고 고속 TCP전송 테스트 가 완료 되었으므로 네트워크를 통해 카메라 영상을 전송하는 테스트를 진행 해 보자. STM32의 카메라 인터페이스 DCMI를 이용하여 카메라 영상을 얻어 네트워크로 이미지 영상을 보내고 PC 호스트 프로그램에서 영상을 받아서 간단히 영상 처리 할수 있는 프로그램을 작성 할것이다. W5300을 이용하여 TCP 전송률 테스트 결과 60Mbps 이상 전송 가능하므로 640x480x2 Byte RAW(RGB565) 이미지 데이터를 초당 10장을 전송할 수 있다. RAW Data를 사용하는 이유는 영상 처리에 있어 최대한 손실을 없도록 하기 위해서 이다. 640x480 해상도의 RAW 이미지를 초당 10프레임 보내어 출력하고 간단..
W5300 을 이용한 UDP loopback 전송률 테스트 W5300을 이용한 Wiznet ioLibrary Driver 포팅 및 TCP Loopback 전송률 테스트 결과 코드를 활용하여 UDP통신에서 전송률 테스트를 해 보았다. Wiznet ioLibrary Driver 코드에서 제공하는 loopback_udps 함수를 이용하여 UDP 테스트 코드를 작성 했다. int32_t loopback_udps(uint8_t sn, uint8_t* buf, uint16_t port) { int32_t ret; uint16_t size, sentsize; uint8_t destip[4]; uint16_t destport; switch(getSn_SR(sn)) { case SOCK_UDP : if((size = getSn_RX_RSR(sn)) > 0) { if(size >..
W5300 을 이용한 네트워크 카메라 구현 2/3 - TCP 전송률 테스트 Wiznet ioLibrary Driver 포팅 및 TCP Loopback 전송률 테스트 Wiznet ioLibrary Driver 포팅 W5300을 제어 하기 위해 가장 기본적으로 해야 할 일이 W5300의 레지스터에 원하는 값을 쓰고 읽어 보는 것이다. 레지스터의 값을 쓰고 읽는 함수는 Wiznet ioLibrary Driver에 포함되어 있고 보드에 맞도록 포팅해 주어야 한다. W5300 loopback 테스트 소스코드는 https://github.com/elabsystem/STM32_RP/tree/master/ex10_w5300_loopback 에서 확인 가능하다. W5300 테스트를 위한 [STM32F4-RP] 보드의 기본 개발환경 설정이 완료 되었다면 다운로드 받은 ioLibrary의 Ethe..
[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..

반응형