STM32H7 vs STM32F7 GPIO 속도 테스트2 - 문제 해결
STM32 H7성능 테스트 하면서 오래동안 고심했던 H7 GPIO 속도 문제가 해결됬다.
STM32F7의 GPIO 토글 속도를 측정하면 8ns 정도 나오는데 STM32H7의 GPIO 토글 속도를 측정해 보면 28ns 정도나온다.
결론은 STM32H7, STM32F7의 하드웨어 구조의 차이에서 오는 문제였다.
우선 STM32F7의 경우 GPIO는 AXI -> AHB (216Mhz) 로 바로 출력이 가능하므로 2 머신 사이클에 제어 가능하다.
STM32F7 Series system architecture 를 보면 F7의 하드웨어 구조를 확인 할 수 있다.
STM32H7 의 경우 GPIO는 AXI AHB -> AHB4(200Mhz) 를 통해 제어 가능하기 때문에 지연이 생긴다고 한다.
그래서 DMA나 인터럽트를 통해 제어 하면 2머신 사이클에 제어 가능하다고 한다.
버스 구조가 복잡한 대신 하드웨어로 처리 해 주는 부분이 많아 코드상의 main 루프에서 접근하면 오히려 더 느리게 나왔던 것이다.
STM32H7의 성능 지표를 확인해 보면 속도 차이를 확인해 볼 수 있다.
반응형