APB
-
AMBA3 APB protocol 2개발/Protocol 2022. 2. 3. 23:09
PSLVERR 신호는 옵션이다. 반드시 있을 필요는 없다. PSLVERR는 APB 트랜잭션에서 마지막 사이클에서만 값이 유효하다고 간주한다. (PSEL / PENABLE / PREADY 모두 1으로 유지되고 있을 때) 그 이전의 사이클에서는 아무 값을 가져도 의미가 없다. 트랜잭션에서 에러가 발생해도 slave에서는 상태가 바뀔수도 있고 안바뀔수도 있다. 이는 설계하기 나름이다. 쓰기 트랜잭션에서 에러가 발생해도 slave의 레지스터가 업데이트 되지 않았다고는 보장할수 없다. 읽기에서 에러가 발생한다면 slave에서 PRDATA 신호를 0으로 set할 필요는 없다. 쓰기 트랜잭션에서 마지막 사이클에서 PSLVERR가 set 되었다. 마찬가지 읽기 트랜잭션에서 마지막 사이클에서 PSLVERR가 set 되었..
-
AMBA3 APB protocol 1개발/Protocol 2022. 2. 3. 22:53
AMBA™ 3 APB Protocol v1.0 Specification 기준으로 정리함 APB 프로토콜은 ARM에서 발표한 AMBA3 프로토콜 스펙 중 하나다. APB는 높은 성능이 필요하지 않은 주변장치를 연결하는데 쓰인다. 저성능, 저전력의 프로토콜이다. 모든 신호는 clock 상승엣지에서 동작하며 하나의 트랜잭션에 적어도 2사이클이 소모된다. 아래에 APB의 신호들이 정리되어있다. APB의 모든 신호들은 P로 시작한다. PCLK은 APB master / slave 에 적용되는 공통 클락이다. 다른 신호들은 PCLK 상승엣지에 맞춰서 동작한다. PRESETn 은 APB master / slave asynchronous 리셋신호다. PADDR 는 slave의 주소를 나타낸다. PSELx 는 APB ma..