시리얼 은 값 비싼 용어를 사용하기 위해 "시분할 멀티플렉싱"인 모든 것을 의미합니다. 즉, 데이터는 시간이 지남에 따라, 대개는 한 비트 씩 차례로 전송됩니다. 이름을 짓는 모든 프로토콜은 직렬 프로토콜입니다.
UART, Universal Asynchronous Receiver Transmitter의 경우 가장 많이 사용되는 직렬 프로토콜 중 하나입니다. 거의 나만큼 나이가 많고 매우 간단합니다. 대부분의 컨트롤러에는 하드웨어 UART가 내장되어 있습니다. 전송을 위해 단일 데이터 라인을 사용하고 데이터를 수신하기 위해 단일 데이터 라인을 사용합니다. 대부분의 8 비트 데이터는 다음과 같이 전송됩니다. 1 시작 비트 (낮은 레벨), 8 데이터 비트 및 1 중지 비트 (높은 레벨). 로우 레벨 시작 비트 및 하이 레벨 정지 비트는 통신을 시작하기 위해 항상 하이에서 로우로의 전환이 있음을 의미합니다. 그것이 UART를 설명하는 것입니다. 전압 레벨이 없으므로 마이크로 컨트롤러가 사용하는 3.3V 또는 5V에서 사용할 수 있습니다. UART를 통해 통신하려는 마이크로 컨트롤러는 시작 비트가 동기화 에지로 떨어지기 때문에 전송 속도, 비트 전송률에 동의해야합니다. 이를 비동기 통신이라고합니다.
장거리 통신 (수백 미터 일 필요는 없음)의 경우 5V UART는 신뢰성이 높지 않으므로 "0"의 경우 + 12V, "12"의 경우 -12V의 높은 전압으로 변환됩니다. 1". 데이터 형식은 동일하게 유지됩니다. 그런 다음 RS-232 가 있습니다 (실제로 EIA-232로 전화해야하지만 아무도하지 않습니다).
타이밍 종속성은 UART의 큰 단점 중 하나이며, 범용 동기 / 비동기 수신기 송신기에 대한 솔루션은 USART 입니다. 이것은 UART뿐만 아니라 동기 프로토콜도 가능합니다. 동기에는 데이터뿐만 아니라 클럭도 전송됩니다. 각 비트마다 클럭 펄스가 수신기에 해당 비트를 래치해야한다고 알려줍니다. 동기식 프로토콜은 Manchester 인코딩의 경우와 같이 더 높은 대역폭이 필요하거나 SPI 및 I2C와 같은 클럭을위한 추가 와이어가 필요합니다.
SPI (Serial Peripheral Interface)는 또 다른 매우 간단한 직렬 프로토콜입니다. 마스터는 클럭 신호를 보내고 각 클럭 펄스에 따라 슬레이브로 1 비트 씩, 슬레이브에서 1 비트 씩 이동합니다. 따라서 신호 이름은 클럭의 경우 SCK, 마스터 출력 슬레이브 입력의 경우 MOSI, 마스터 입력 슬레이브 출력의 경우 MISO입니다. SS (Slave Select) 신호를 사용하여 마스터는 버스에서 하나 이상의 슬레이브를 제어 할 수 있습니다. 여러 슬레이브 장치를 하나의 마스터에 연결하는 두 가지 방법이 있습니다. 하나는 위에서 언급했습니다. 예를 들어 슬레이브 선택을 사용하고 다른 하나는 데이지 체인을 사용하며 적은 하드웨어 핀 (선택 라인)을 사용하지만 소프트웨어는 복잡합니다.
I2C"통합 된 회로,"I 제곱 C "로 발음 됨) 또한 동기 프로토콜이며,"지능 "이있는 것은 처음입니다. 다른 것들은 멍청하게 비트를 안팎으로 이동 시켰습니다. I2C는 클럭 (SCL)과 데이터 (SDA)에 각각 2 개의 와이어 만 사용합니다. 이는 마스터와 슬레이브가 동일한 와이어를 통해 데이터를 전송하고 클럭 신호를 생성하는 마스터에 의해 다시 제어됨을 의미합니다. I2C는 별도의 슬레이브 선택을 사용하지 않고 특정 장치를 선택하지만 주소를 지정합니다. 마스터가 보낸 첫 번째 바이트는 7 비트 주소 (버스에서 127 개의 장치를 사용할 수 있도록)와 읽기 / 쓰기 비트를 보유하며 다음 바이트도 마스터에서 오는지 또는 마스터에서 오는지를 나타냅니다. 노예. 각 바이트 후에 수신자는 바이트 수신을 확인하기 위해 "0"을 보내야합니다. 마스터는 9 번째 클럭 펄스로 래치합니다. 마스터가 바이트를 쓰려고하면 동일한 프로세스가 반복됩니다. 마스터는 버스에 비트 단위로 비트를 넣고 매번 데이터를 읽을 준비가되었다는 신호를주기 위해 클럭 펄스를 제공합니다. 마스터가 데이터를 수신하려면 클럭 펄스 만 생성합니다. 슬레이브는 클럭 펄스가 제공 될 때 다음 비트가 준비되도록주의해야합니다. 이 프로토콜은 NXP (이전 Phillips)에 의해 특허를 받았으며, 라이센스 비용을 절약하기 위해 Atmel은 I2C와 정확히 동일한 TWI (2 선 인터페이스)라는 단어를 사용하여 Atmel을 사용하므로 모든 AVR 장치에는 I2C가 없지만 TWI가 있습니다. 마스터가 데이터를 수신하려면 클럭 펄스 만 생성합니다. 슬레이브는 클럭 펄스가 제공 될 때 다음 비트가 준비되도록주의해야합니다. 이 프로토콜은 NXP (이전 Phillips)에 의해 특허를 받았으며, 라이센스 비용을 절약하기 위해 Atmel은 I2C와 정확히 동일한 TWI (2 선 인터페이스)라는 단어를 사용하여 Atmel을 사용하므로 모든 AVR 장치에는 I2C가 없지만 TWI가 있습니다. 마스터가 데이터를 수신하려면 클럭 펄스 만 생성합니다. 슬레이브는 클럭 펄스가 제공 될 때 다음 비트가 준비되도록주의해야합니다. 이 프로토콜은 NXP (이전 Phillips)에 의해 특허를 받았으며, 라이센스 비용을 절약하기 위해 Atmel은 I2C와 정확히 동일한 TWI (2 선 인터페이스)라는 단어를 사용하여 Atmel을 사용하므로 모든 AVR 장치에는 I2C가 없지만 TWI가 있습니다.
동일한 와이어에서 두 개 이상의 신호가 충돌을 일으킬 수 있으며 한 장치가 "1"을 보내고 다른 장치가 "0"을 보내면 문제가 발생합니다. 따라서 버스는 유선으로 연결됩니다. 두 개의 저항이 버스를 높은 레벨로 끌어 당기고 장치는 낮은 레벨 만 보냅니다. 그들이 높은 레벨을 보내려면 간단히 버스를 해제하십시오.
TTL (Transistor Transistor Logic)은 프로토콜이 아닙니다. 디지털 로직의 오래된 기술이지만 5 V 공급 전압을 나타내는 데 종종 사용되며 종종 UART라고 불리는 것을 잘못 지칭합니다.
이것들 각각에 대해 당신은 책을 쓸 수 있습니다. 이것은 매우 간단한 개요입니다. 설명이 필요한 경우 알려주십시오.