본문 바로가기

STM32H7_RP

(12)
[STM32H7S RP] STM32H7S3Z8 보드 제작 STM32H7S 시리즈는 STM32H7시리즈 중 고속으로 동작하는 마이크로컨트롤러로 600Mhz로 동작한다. 요즘 출시되는 STM32시리즈는 핀맵의 호환이 되지 않는 아쉬운점이 있어 기존의 STM32H743 과 동일한 PCB를 사용할 수 없다. 그래서 기존의 STM32H7-RP 시리즈와 동일한 핀맵으로 제작해 보았다. 600 MHz Cortex-M7 를 이용해서 코어 성능이 중요한 어플리케이션에 적용하면 좋을것 같다.STM32H7Sx-RP 주요 회로 핀맵
[STM32H757-RP] STM32H747/757 dual-core 보드 제작 STM32H747/STM32H757 은 STM32H7시리즈 중 가장 성능이 우수한 듀얼코어 마이크로컨트롤러 이다. 한가지 아쉬운점은 STM32F439, STM32F777, STM32H743은 동일한 핀맵으로 PCB를 호환해서 사용할 수 있지만 STM32H747은 핀맵이 많이 다르다. 그래서 기존의 STM32H7-RP 시리즈와 동일한 핀맵으로 제작해 보았다. 480 MHz Cortex-M7 코어와 240 MHz 의 Cortex-M4코어가 하나의 칩에 포함되어 있어 코어 성능이 중요한 어플리케이션에 적용하면 좋을것 같다.STM32H757-RP 주요 회로 핀맵
실시간 AI 처리를 위한 W5300 네트워크 카메라 만들기 일반적인 네트워크 카메라는 네트워크 대역폭 때문에 압축된 영상을 전송한다. 압축된 영상은 품질이 저하되기 때문에 영상 처리에 문제가 될수 있다. W5300 을 이용하여 압축되지 않은 원본 영상을 네트워크로 전송하고 영상 처리를 할 수 있는 카메라를 제작 하였다. W5300은 80Mbps 이상의 고속 네트웍 전송이 가능하기 때문에 카메라의 실시간 원본 이미지를 전송하는데 가장 좋은 예가 될 수 있다. 전송된 영상은 일반적인 영상 처리 뿐 아니라 AI 를 적용하여 좀더 스마트한 어플리케이션에 적용 할 수 있도록 하였다. AI를 적용한 네트워크 카메라는 실시간 감지와 분석을 통해 환경을 모니터링하고, 범죄 예방, 사고 감지, 자원 최적화 등 다양한 분야에서 중요한 역할 한다. 이를 통해 더 스마트하고 안전한 ..
STM32H7 - iperf를 이용한 내장 이더넷 전송률 테스트(iperf Throughput) STM32H7을 이용한 이더넷 테스트에서 고속전송에서의 에러가 많이 발생 했는데 최근 ST에서 제공하는 라이브러리는 업데이트가 많이 된것 같다. STM32H7-RP 보드는 STM32H7의 내장 이더넷 컨트롤러를 테스트 할수 있는 PHY커넥터가 있어 간단히 이더넷 테스트를 해 볼 수 있다. ST에서 제공하는 STM32H7 STM32CubeMX based Ethernet examples 를 참고로해서 새로운 프로젝트를 생성하고 iperf로 TCP전송률 테스트를 진행해 보았다. 우선 STM32CubeIDE를 최신으로 업데이트 하고 프로젝트를 생성한다. ETH를 RMII 모드로 설정하고 나머지 필요한 페리를 추가 해 준다. STM32F7 에서 LwIP 추가했던 방식과 달리 디폴트로 활성화 되어 있지 않다. 활성..
[STM32H7-RP] 네트웍 카메라 테스트 - W5300을 웹서버를 이용한 영상 전송 STM32F4-RP 보드에서 W5300을 웹서버를 이용한 영상 전송 테스트 코드로 테스트 하면 문제가 발생한다. STM32H7 에서는 기존 코드 구동시 계속 문제들이 발생하는것 같다. 우선 이미지 파일을 데이터를 보내 보자. HTML 요청이 있을때 데이터 전송은 하지만 한번 전송하고 끝나는것 같다. > HTTPSocket[2] : HTTP Method GET > HTTPSocket[2] : Request Type = 4 > HTTPSocket[2] : Request URI = cam_img.jpg image displey -> cam_img.jpg image send STM32F4 에서 정상적으로 전송될 경우 > HTTPSocket[3] : HTTP Method GET > HTTPSocket[3] : R..
[STM32H7-RP] DCMI 테스트 - OV2640 카메라 영상 전송 테스트 STM32H7-RP 보드에는 DCMI 인터페이스를 사용 할수 있어 카메라 모듈을 연결하여 테스트 할 수 있다. DCMI 핀맵은 아래와 같다. STM32CubeIDE 에서 DCMI 인터페이스를 설정하고 DMA를 추가 한다. DMCI 인터럽트도 사용할 수 있도록 설정해 준다. 카메라의 메인 클럭(MCLK)은 RCCMCO 핀(PA8)을 통해 가변 할 수 있도록 할당되어 있기 때문에 MCO를 사용할 수 있도록 설정한다. 카메라 모듈의 설정은 I2C1에 할당되어 있다. 기본적인 코드를 테스트 해보자. 카메라 라인 인터럽트 및 프레임 인터럽트루틴에서 플래그를 보내고 메인루프에서 처리 하도록 했다. void HAL_DCMI_VsyncEventCallback(DCMI_HandleTypeDef *hdcmi) { gCam..
[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] FMC 테스트 - TFT LCD 테스트 STM32H7-RP 보드에는 TFT-LCD 모듈을 연결 할 수 있다. LCD CS핀이 NE1에 할당 되어 있고 RS가 A1에 연결된다. 기존 테스트 코드를 이용하여 동작 시켰는데 LCD 화면에 아무것도 표시 되지 않는다. 일단 TFT LCD 관련 FMC 신호가 정상적으로 출력 되는지 확인 해 보자 FMC 출력 신호를 확인하기 위한 코드를 작성하자 #define TFTLCD_BASE ((unsigned long)(0x60000000 | 0x00000000)) #define TFTLCD ((TFTLCD_TypeDef *) TFTLCD_BASE) #define _LCD_DATA(p) (*(volatile uint16_t*) (TFTLCD_BASE + (p