작성
·
24
·
수정됨
0
SPI를 통해서 FND세그먼트를 제어하는데 궁금한게 있습니다. 똑같이 따라했는데 작동하지 않아 Clock Polarity를 LOW로 바꿨더니 정상적으로 작동을 합니다. Clock Polarity의 값을 정하는 기준이 정확히 무엇인지 잘 모르겠습니다. 제가 이해하기로는 평상시에 SCLK이 High이기 때문에 Clock Polarity도 High 가 되어야 하는걸로 알고있는데 왜 반대로 설정할때 정상적으로 작동하는 걸까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 남광식님.
SPI를 통한 FND 세그먼트 제어에서 Clock Polarity 설정에 대한 질문을 주셨네요. SPI 통신에서 Clock Polarity (CPOL)는 데이터 라인에 신호가 샘플링되는 시점을 결정하는 중요한 요소입니다. CPOL는 SPI 클록(CLK)이 평상시에 High
또는 Low
상태인지 설정합니다. 이는 실제로 사용된 하드웨어와의 호환성에 따라 달라지기 때문에, 설정에 주의가 필요합니다.
Low
이며, 클록 신호가 올라가는 에지에서 데이터가 전달됩니다.High
이며, 클록 신호가 내려가는 에지에서 데이터가 전달됩니다.일반적으로 클록 폴라리티와 위상이 데이터 전송 타이밍에 영향을 주기 때문에, SPI 디바이스가 어떤 폴라리티를 필요로 하는지 매뉴얼이나 데이터시트를 통해 확인해야 합니다. 남광식님이 하드웨어 및 다른 설정에서 CPOL = Low로 해야 정상 작동하는 이유는 클록의 다른 위상 (Clock Phase, CPHA) 설정 혹은 하드웨어의 사양 때문일 수 있습니다.
SPI 모드를 설정하는 데에는 CPOL과 CPHA 두 가지 설정이 조합됩니다. 이 두 설정의 조합에 따라 SPI 모드는 0부터 3까지 네 가지 모드 중 하나로 작동합니다.
아래 링크는 SPI 설정과 관련된 유사한 질문과 답변을 참고할 수 있습니다:
- SPIMaster에서의 Clock 설정에 대해 이해가 잘 되지 않습니다.: 다양한 클록 설정에 대한 설명과 문제 해결 방안을 제공합니다.
- STM32 SPI 설정 시 주의해야 할 사항: SPI 설정 과정에서 주의를 기울여야 하는 클록 및 위상 설정에 대해 다룹니다.
이 자료들을 통해서 각 설정이 기준에 따라 어떤 결과를 초래할 것인지에 대한 이해를 깊게 하실 수 있습니다. 하드웨어와 데이터시트의 설명을 꼼꼼히 읽고 설정을 맞추는 것이 중요합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.