• 카테고리

    질문 & 답변
  • 세부 분야

    임베디드 · IoT

  • 해결 여부

    미해결

데이터 송수신 통신방식의 차이에 대해서 질문입니다

19.08.17 23:09 작성 조회수 103

2

회전각도를 400Hz마다 받게 되는데, 이렇게 되면 I2C나 SPI 속도가 영향이 있나요? 데이터시트를 확인하면 I2C도는 최대 400KHz, SPI는 3MHz인데 어차피 데이터가 저렇게 느린 속도로 뽑아내진다면 둘의 차이도 무의미해지지 않을까요?

답변 3

·

답변을 작성해보세요.

4

아 좋은 질문 주셨네요.

지금 주신 질문은 SPI와 I2C 통신의 개념에 대해서 정확히 이해하셔야 합니다.

먼저 SPI와 I2C의 동작 원리를 좀 찾아보시길 추천드립니다. (제 STM32F4 따라하기 강좌에 개념 설명이 되있습니다.)

I2C로 400kHz로 인터페이스 하나 SPI로 3MHz로 인터페이스하나 어차피 400Hz로 데이터 갱신되는건 똑같습니다. 하지만 통신하는데 걸리는 시간이 문제가 되죠. 제 강의 영상에 통신하는데 걸리는 시간에 대해서 많이 언급을 하고 있는데, I2C로 한다면 그 시간이 엄청 커지게 될 겁니다. 근데 우리는 1kHz(1ms) 안에 통신을 포함한 모든 기능이 다 동작해야 하기 때문에 통신하는데 시간이 많이 걸리게 되면 상대적으로 다른 작업을 할 시간이 줄어든다는 소리죠. 최악의 경우는 1kHz로 제어를 할 수 없게 될수도 있습니다. 그래서 무의미하지 않다는 겁니다.

제 설명이 잘 이해되지 않으신다면 SPI와 I2C에 대한 자료도 많이 찾아보시고 많이 고민해보세요!

0

네 그럴겁니다. 통신에 따른 출력 지연 역시 포함되있는거 같고 I2C를 사용하느냐 SPI를 사용하느냐에 따라 지연시간이 달라지긴 하겠지만 저희는 무시하고 사용해도 됩니다~

0

유영재님의 프로필

유영재

질문자

2019.08.18

네 추가적인 질문입니다

출력 주기인 400Hz 요소 중 communication latency가 포함되어있는 것으로 알고 있는데, 그러면 여기서 I2C 혹은 SPI를 선택함에 따라 달라질 수 있다는 말인가요?

사실 400Hz에서 발생되는 communication latency가 정확히 어떤 통신방식 기준에서 나오는지 헷갈려서 질문을 하게 됐습니다

아아! 제가 너무 회전각도에만 초점을 맞췄네요. 다른 데이터도 받기 위해서는 보다 빠른 SPI가 맞겠네요! 혹시 윗 부분에 대해서만 답을 주실 수 있는지요?