2013-03-21 2 views
10

SPI와 시리얼의 차이점은 무엇입니까? 프로세서 간 통신에 관한 기사를 읽으면서 직렬 인터페이스가 더 나은 /보다 빠른 통신을 위해 SPI로 대체되고 있다고 말합니다. 차이점은 무엇입니까?시리얼 대 SPI

답변

20

"직렬"이라는 단어는 그다지 의미하지 않습니다. 하지만 전통적인 직렬 통신 표준에 대해 이야기하고 있다고 가정합니다. SPI와 근본적으로 다른 점은 동기식입니다. 말하자면, RS-232, 비동기식 시그널링 표준.

비동기 시그널링의 중요한 특성은 전송률 (baudrate)로 바이트의 비트가 전송되는 빈도입니다. 수신기는 송신기에서 사용한 시계를 복구하기 위해 추가 작업을해야합니다. 일반적인 UART는 전송 속도의 16 배 속도로 신호를 서브 샘플링하여이를 수행합니다. 시작 비트는 중요하며 서브 샘플링 클럭을 동기화합니다. 바이트 사이의 지연은 임의적 일 수 있으며, 수신기는 각 개별 바이트에 대해 다시 동기화됩니다. 이 방식의 문제점은 송신기와 수신기 클록 주파수 및 클록 지터가 일치하지 않아 전송 속도를 효과적으로 제한하는 것입니다.

이것은 SPI에는 문제가되지 않지만 송신기와 수신기가 완전히 동일한 클럭을 사용하도록 클록 신호를 전송하는 여분의 신호 라인이 있습니다. 따라서 불일치와 지터가 없어 전송 속도가 향상됩니다. 클럭 주파수에서 안정성 요구 사항이 전혀 없기 때문에 신호를 소프트웨어에서 간단히 생성 할 수 있습니다. SPI의 또 다른 이름은 SSI, 동기 직렬 인터페이스입니다. 일반적인 4 개 개의 라인 배선은 다음과 같습니다

enter image description here

SCLK는 클럭 신호이다. MOSI 및 MISO는 데이터를 전송하고, SS는 칩 선택 신호이다. 공통 접지를 가정합니다. 이것에 대한 자세한 내용은 Wikipedia article입니다. electronics.stackexchange.com은 그것에 대해 더 많은 질문을하는 좋은 사이트입니다.

+1

"오버 샘플링"이 있어야하지만 실제로 좋은 설명입니까? 하위 샘플링은 관심있는 속도보다 낮다고 생각합니다. – mtrw

+0

고맙습니다. 정확히 내가 무엇을 찾고 있었는지. – jbh

+0

나는 그것을 McLovin '. 감사. – Coldblackice

0

SPI는 양방향 데이터 프로토콜입니다. 차이점은 SPI는 이진 데이터의 교환을 사용한다는 것입니다. 그리고 UART는 아스키를 사용하여 훨씬 느린 데이터 전송을합니다.

0

previous answer은 약간 오해의 소지가 있습니다.

SPI 및 UART는 하드웨어에 따라 이진 데이터를 바이트 및/또는 단어로 전송합니다. 위에서 설명한대로 하나는 동기식이고 하나는 비동기식입니다. 두 가지 모두 양방향성을 갖추려면 추가 데이터 라인이 필요합니다. ASCII는 바이너리 데이터에 대해 합의 된 해석이며 실제로는 둘 중 하나의 요소가 아닙니다.