검색결과 리스트
글
AMBA_BUS_APB_1
APB
AMBA BUS AHB 다음은 APB 이다!!
APB는 Advanced Peripheral Bus 라는건 다 아실테고 주변 장치... 그러니까 빠를 필요없는 보통 AHB와 같이 쓰인다. 어떻게 쓰이느냐 다음과 같이.....
그림과 같이 AHB 는 high performance, pipelined, burst operation 등등 그냥 좋은거 인데
APB 는 Low power, Simple interface, low bandwidth 등등 성능이 별로 좋을 필요 없는곳에....
다음은 APB 의 상태도이다. APB는 기본적으로 3가지 동작으로 이루어 진다
1. IDLE : the default state
2. SETUP : transfer 이 필요할때 첫 상태. selection 신호인 PSELx = 1
3. ENABLE : PSELx = 1 인 상태에서 enable 신호인 PENABLE 빵!
APB Write, APB Read 동작
Write 와 Read 동작 모두 아주 간단하다. Write냐 Read 냐의 차이는 PWRITE 가 1이냐 0이냐의 차이이다.
기본적인 Write Read 동작은 위 3단계에 맞추어 생각하면 될것같다
다음 두 그림은 AHB 와 연결하여 생각한 것이다.
첫번째 Write 를 보면
1. AHB의 Address phase
2. AHB의 Data phase
3. APB의 setup phase
4. APB의 enable phase
순이다.
READ는
1. AHB의 Address phase
2. APB의 setup phase
3. APB의 enable phase 에 data가 나오고 동시에 AHB의 Data phase
APB 의 Burst operation
평범한건 똑같다. 그냥 SET_UP, ENABLE 이 반복이 되고 IDLE 상태가 없어서 이득이 된다는 것이 좋은점이다.
한가지만 이야기 한다면 Burst_of_write 나 read 에서 동그라미 친 부분에서 보낸 opreation 1 의 APB 에서 일어나는 SET_UP, ENABLE 과정때문에 HREADY 를 Low로 내려서 1 cycle 을 지연시키는것을 볼 수 있다.
그 다음은 Back-to-back 임의의 주변장치를 대상으로 읽고, 쓰는 동작이 반복적으로 발생하는 상황이다. 그림 보고 설명 해봅시당
1. Operation 1 이 address phase 에서 write 로써 addr1 을 보내주고 있다.
2. Operation 2 가 따라오면서 read 로써 addr2 를 주고 있다. 동시에 Operation 은 data phase 로써 write 할 Data 1 을 주고 있다.
3. 기다려야 하기 때문에...... HREADY 를 low 로 내리고 APB로 넘어간 Operation 은 작업을 시작한다.
4. Operation 1 의 SET_UP
5. Operation 1 의 ENABLE
6. Operation 2 의 SET_UP
7. Operation 2 의 ENABLE
8. Operation 2 로 Data 2 가 툭 튀어나오는 동시에 rising edge 가 HIGH 로 복귀된 HREADY를 읽으면서 AHB 쪽 동작 즉 여기서는 Operation 3 의 Address phase가 진행되지
9. Opeation 4 의 Address phase 인 동시에 Operation 3의 data phase
10. 반복.............
즉 여기서 볼수 있듯이 Write 뒤에 Read가 올 시 Read 는 3-cycle 을 기다려야 한다. 뉴뉴
마지막으로 APH Overview
'Learning stuff' 카테고리의 다른 글
Switching techniques (0) | 2013.03.02 |
---|---|
NoC (0) | 2013.03.02 |
AMBA_Bus_transfer_3 (0) | 2013.02.28 |
AMBA_bus_transfer_2 (0) | 2013.02.27 |
AMBA_Bus_transfer_1 (0) | 2013.02.26 |