AMBA APB(Advanced Peripheral Bus)는 ARM에서 설계된 버스 프로토콜이다. 주로 저속 주변 장치와의 간단한 데이터 통신을 위해 사용된다.
IHI0024D_amba_apb_protocol_spec.pdf
0.40MB
APB는 고성능보다는 단순성과 효율성을 목표로 한다. SoC(System-on-Chip) 내에서 주변 장치(Peripheral Devices)와의 인터페이스에 적합하며, 마스터와 슬레이브 간 상호작용을 기반으로 작동한다.
1. APB의 기본 구조
- 마스터 (Master)
데이터 전송을 제어하는 역할이다. 일반적으로 프로세서(CPU)나 간단한 컨트롤러가 마스터 역할을 수행한다.
- 슬레이브 (Slave)
마스터의 요청에 응답하여 데이터를 제공하거나 수용하는 역할을 한다. 타이머, UART, GPIO 컨트롤러, I2C 모듈 등이 있다.
2. APB의 데이터 전송 메커니즘
APB는 단일 버스를 통해 주소, 데이터, 제어 신호를 처리한다. 데이터 전송은 SETUP과 ACCESS라는 두 단계로 나뉘며, PREADY 신호를 기반으로 한 간단한 핸드셰이크 메커니즘을 사용한다.
- 주요 신호
- PSEL (Peripheral Select): 마스터가 특정 슬레이브를 선택했음을 나타낸다. 각 슬레이브마다 고유한 PSEL 신호가 할당된다 (1: 선택됨, 0: 선택 안됨).
- PENABLE: 데이터 전송의 ACCESS 단계를 활성화한다 (1: 활성화, 0: 비활성화). SETUP 단계에서는 PENABLE = 0이다. ACCESS 단계에서는 PENABLE = 1이다.
- PADDR (Address): 마스터가 읽기/쓰기 작업을 수행할 슬레이브 내의 특정 레지스터 주소를 지정한다.
- PWRITE: 읽기/쓰기 여부를 제어한다 (1: 쓰기, 0: 읽기).
- PWDATA (Write Data): 마스터가 슬레이브로 전송하는 쓰기 데이터이다.
- PRDATA (Read Data): 슬레이브가 마스터로 반환하는 읽기 데이터이다.
- PREADY: 슬레이브가 데이터 처리를 완료했음을 마스터에 알린다. 준비되었음을 나타낸다 (1: 준비됨, 0: 준비 안됨).
- APB 전송 상태
- IDLE: 기본 상태이다. 전송이 진행되지 않는다 (PSEL = 0, PENABLE = 0).
- SETUP: 마스터가 슬레이브를 선택한다. 주소 및 제어 신호를 설정하는 단계이다 (PSEL = 1, PENABLE = 0).
- ACCESS: 실제 데이터 전송이 이루어진다. PSEL = 1, PENABLE = 1이다. 슬레이브가 PREADY = 1일 때 전송이 완료된다.
'AMBA BUS > APB BUS' 카테고리의 다른 글
AMBA APB BUS - 02. Example of APB PROTOCOL (0) | 2025.03.05 |
---|