GPSB 컨트롤러에서 SPI Mode value 문의

안녕하세요.
topst D3 HW 문서 중, ‘TCC805x IO SUB-SYSTEM’ 을 읽으며 SPI 프로토콜이 어떻게 구현이 되어있나 학습 중에 있습니다. 그런데 기존에 알고 있던 SPI 모드와 문서에서 기술된 레지스터 값 변경을 통해 제어하는 방식에 대해 이해가 안가는 부분이 있어 질문드립니다. 페이지 22p table 4.1을 보면 타이밍 모드 2에서 PWD가 0으로 되어 있는데, 28p에 기술된 PWD를 읽어보면 rising capture/falling launch로 되어 있습니다. 따라서 1이 되어야 하는 게 맞지 않나 라는 의문이 생깁니다. 제가 잘못 이해한 것이라면 정정해주시면 고맙겠습니다.
감사합니다.

안녕하세요.
해당 문의에 답변 드립니다.

  • PWD = 0: 클럭의 Rising Edge에서 데이터를 캡처하고, Falling Edge에서 데이터를 송출합니다.
  • PWD = 1: 클럭의 Rising Edge에서 데이터를 송출하고, Falling Edge에서 데이터를 캡처합니다.

위 PWD에 대한 설정은 CPHA를 따릅니다. CPHA는 0일 때 첫 번째 클럭 엣지에서 데이터를 샘플링합니다.

클럭 엣지에 따른 샘플링과 송출 타이밍 및 일관성을 맞춰야하기 때문입니다.

따라서, SPI Timing-2 모드에서 PWD가 0으로 설정된 이유는 CPHA=0 설정과 맞춰서 첫 번째 엣지에서 데이터를 안정적으로 샘플링하도록 하기 위함입니다.

감사합니다.

네 답변 감사합니다.
그러나 여전히 이해가 가지 않는 것이 SPI Timing-2 모드에서는 모드 0,1과는 다르게 CPOL(초기 클럭 극성 상태)값이 1로, 첫 번째 클럭 엣지에서 샘플링을 하게 되면 rising이 아닌, falling 샘플링이 되는데, 그러면 PWD = 0일 때 rising 샘플링이라는 것과 모순이 되는 것이 아닌지 여쭙고 싶습니다.

안녕하세요.
문서 78페이지에 SPI Timing-2의 타이밍 다이어그램을 보시면, Rising Edge에서 데이터를 샘플링하고 있습니다.
따라서 CPOL값이 1이고, CPHA가 0이어서 첫 번째 클럭의 Rising Edge에서 데이터를 샘플링하고 있는 것이 맞습니다.

감사합니다.