ARM cortext M4 프로세서의 Bus Interface와 버스 구조, Clock Source 설명

워너비임베·2024년 12월 15일

STM32

목록 보기
2/4

Cortex M4 Bus Interface

프로세서와 Peripheral은 Bus Interface를 통해 통신한다.
STM32 MCU의 ARM Cortext M4 프로세서는 다양한 종류의 bus interface가 있다.

1. IBUS - 명령어 버스
2. DBUS - 데이터 버스
3. SBUS - 시스템 버스
이렇게 3가지가 버스 인터페이스가 존재한다.
ARM 프로세서는 Flash Memory에 있는 명령어를 읽는데 이때 명령어가 전달되는 버스가 instruction bus(명령어 버스)이고
Flash Memory에 저장되어있는 data를 읽을때 사용되는 버스가 data bus(데이터 버스)이다.

system bus는 MCU 프로세서와 모든 peripheral장치가 data와 명령어를 교환할 때 사용되어진다.
그리고 그 Cortext M4 코어의 시스템 버스(AHB나 AXI버스)가 최상위 레벨로 존재하고, 그 하위에 브리지 회로를 통해 AHB버스가 APB버스로 변환되어 생성된다.

⭐AHB

  • full form은 AHB(Advanced High-performance Bus)
  • 180MHz의 고속 동작 주파수를 가짐
    다음과 같이,USB나 Camera 인터페이스에 AHB2 버스가 연결되어 있는데 이는 카메라가 고속의 데이터 전송을 필요로하기 때문이다.
    카메라를 APB버스에 연결하면 low frequency로 인해 어려움을 겪을 수 있다.
  • GPIO Peripheral도 AHB버스에 연결되어 있다.

⭐APB

  • full form은 APB(Advanced Peripheral Bus)이다.
  • APB1은 45MHz의 저속 동작 주파수, APB2는 90Mhz의 고속 동작 주파수를 가짐
  • TIMER, UART, SPI Peripheral 장치들이 APB버스에 연결되어 있다.

📔참고
STM32 Cube IDE Clock configuration menu에서 HCLK은 AHB버스의 공급되는 클럭 주파수를 의미한다

Clock Source

시스템 클럭을 구동하기 위해서, 3개의 Clock source가 사용되어진다.
⭐1.Crystal Oscillator
크리스탈 오실레이터는 클럭을 공급하기위해 MCU에 연결되어야 하는 외부 구성요소임
HSE설정을 한다(High Speed External)

⭐2.The RC Oscillator
MCU안에 오실레이터가 내장되어있음.
외부적으로 클락 source를 연결해주지 않아도 된다.
HSI설정을 한다.(High Speed Internal)
MCU를 reset 혹은 power on 할때 HSI가 default clock source로 사용됨.

⭐3.PLL(Phase Locked Loop)
MCU안에 내장되어 있음.
낮은 주파수의 입력으로 더 높은 주파수의 클럭을 생성함

0개의 댓글