직렬 전송(serial transmission)은 문자 같은 데이터 단위를 이루는 신호 요소를 한 전송 채널로 차례로 보내는 방식이다.[1][2] 이와 달리 병렬 전송은 신호 요소를 따로 떨어진 여러 전송 채널로 동시에 보낸다.[1] IEC 60050은 병렬 전송을 신호 요소 묶음을 그 수만큼의 병렬 경로로 동시에 보내는 방식으로 정의한다.[3]

CAN은 직렬 통신 프로토콜이다.[4] UART(Universal Asynchronous Receiver/Transmitter)는 비동기 직렬 통신을 하고[5][6], SPI(Serial Peripheral Interface)는 동기 직렬 통신을 한다.[6][7] I2C는 직렬로 데이터를 보내며, 그 이름은 Inter-IC 버스에서 왔다.[8] TI의 TMS570LS31x/21x 기술 참조 매뉴얼에 따르면 FlexRay는 직렬 통신 프로토콜이다.[9] 이더넷의 MAC(Medium Access Control) 부계층은 물리 계층에 직렬 비트 스트림을 넘긴다.[10]

비트율

ISO/IEC 2382:2015는 비트율을 비트를 전송하는 속도로 정의하고, 보통 초당 비트 수(bit/s)로 나타낸다.[1] IEC 60050은 비트율을 초당 전송되는 이진 숫자의 수로 정의한다.[11]

동기 전송

동기 전송에서는 각 신호 요소가 나타나는 시점이 고정된 시간 기준에 묶인다.[1] IEC 60050은 동기 전송을 송신 장치와 수신 장치가 대응하는 유의 순간 사이에 일정한 시간 차를 두고 계속 동작하는 전송으로 정의한다.[12]

SPI는 데이터 선과 따로 클록 선(SCK)을 두고, 마스터가 클록을 낸다. SPI는 클록 극성(CPOL)과 클록 위상(CPHA)의 조합으로 데이터를 잡는 클록 에지를 정하고, 마스터는 칩 선택(슬레이브 선택) 신호로 통신할 장치를 고른다.[6][7]

I2C는 직렬 데이터 선 SDA와 직렬 클록 선 SCL, 두 선을 쓰고, 전송을 시작하는 controller가 클록 신호를 낸다.[8]

I2C 명세에 따르면 2선 직렬 버스인 I2C는 연결을 줄여 IC(Integrated Circuit)의 핀과 PCB(Printed Circuit Board) 배선이 적어진다.[8] TI의 LVDS(Low-Voltage Differential Signaling) 핸드북에 따르면 직렬화기(serializer)는 병렬 데이터를 직렬 스트림으로 바꿔 보내 연결선의 비용과 크기를 줄이고, 넓은 병렬 데이터를 더 적은 수의 전송 선로로 보낼 수 있게 한다.[13]

비동기 전송

비동기 전송에서는 문자나 문자 블록의 시작 시점이 임의이지만, 시작한 뒤에는 각 신호 요소가 고정된 시간 기준과 같은 관계로 나타난다.[1] start-stop 전송은 문자마다 신호 요소 묶음의 앞에 start 신호를, 뒤에 stop 신호를 붙이는 비동기 전송이다.[1][14]

UART는 문자마다 앞에 start 비트를, 뒤에 stop 비트를 붙여 보낸다. UART 선은 쉬는 동안 high이고, start 비트는 low, stop 비트는 high다.[6][7] TL16C550D 데이터시트는 선의 high 수준을 marking 상태라 부른다.[5] UART 수신기는 idle(high)에서 start 비트(low)로 떨어지는 에지를 보고 문자의 시작을 알고, start 비트에 자기 클록을 맞춘 뒤 각 비트의 가운데를 샘플링한다. USART(Universal Synchronous/Asynchronous Receiver/Transmitter)는 클록 핀을 동기 모드에서만 쓴다.[6][7]

비동기 수신기는 송신 측과 수신 측 클록의 편차가 허용 오차 안에 있어야 제대로 받으며, 허용되는 편차는 프레임이 길수록 작다.[6][7] Analog Devices 기술 문서에 따르면 UART 수신기는 프레임마다 다시 동기하므로 클록 차이에 따른 타이밍 오차는 한 프레임 안에서 쌓이고, 가장 큰 오차는 마지막 샘플링 지점인 stop 비트에서 난다.[15]

Bosch CAN 2.0 규격은 버스를 비트를 나르는 채널 하나로 두고, 재동기화 정보를 이 데이터에서 얻게 한다. 이 규격은 비트 값이 바뀌는 에지로 재동기화하고, 위상 버퍼 세그먼트를 늘이거나 줄여 에지의 위상 오차를 보정하도록 정한다.[4] 이 과정은 CAN 동기화에서 다룬다.

UART 프레임은 오류 검사용 패리티 비트를 둘 수 있다.[5][7] LIN 프레임은 끝에 프레임 검증용 체크섬 바이트를 둔다.[16] CAN 데이터 프레임은 CRC 필드를 두고, 수신 측은 CRC 오류를 검출한다.[4]

[1]
ISO/IEC, “ISO/IEC 2382:2015 Information technology — Vocabulary (OBP preview).” 2015. Accessed: Sep. 26, 2026. [Online]. Available: https://www.iso.org/obp/ui/#iso:std:iso-iec:2382:ed-1:v2:en
[2]
IEC, “IEC 60050-704 International Electrotechnical Vocabulary — 704-16-27 serial (digital) transmission.” 1993. Accessed: Sep. 29, 2026. [Online]. Available: https://www.electropedia.org/iev/iev.nsf/display?openform&ievref=704-16-27
[3]
IEC, “IEC 60050-704 International Electrotechnical Vocabulary — 704-16-28 parallel (digital) transmission.” 1993. Accessed: Sep. 29, 2026. [Online]. Available: https://www.electropedia.org/iev/iev.nsf/display?openform&ievref=704-16-28
[4]
“CAN Specification Version 2.0,” Robert Bosch GmbH, 1991. Accessed: Sep. 25, 2026. [Online]. Available: https://web.archive.org/web/20171215103144/http://www.bosch-semiconductors.de:80/media/ubk_semiconductors/pdf_1/canliteratur/can2spec.pdf
[5]
“TL16C550D, TL16C550DI Asynchronous Communications Element With Autoflow Control,” Texas Instruments, 2008. Accessed: Sep. 29, 2026. [Online]. Available: https://www.ti.com/lit/ds/symlink/tl16c550d.pdf
[6]
“RM0008 Reference manual: STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and STM32F107xx advanced Arm-based 32-bit MCUs,” STMicroelectronics, 2021. Accessed: Sep. 25, 2026. [Online]. Available: https://web.archive.org/web/20260827132512/https://www.st.com/resource/en/reference_manual/cd00171190-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf
[7]
“ATmega48A/PA/88A/PA/168A/PA/328/P megaAVR Data Sheet,” Microchip Technology Inc., 2020. Accessed: Sep. 29, 2026. [Online]. Available: https://ww1.microchip.com/downloads/aemDocuments/documents/MCU08/ProductDocuments/DataSheets/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf
[8]
“UM10204 I2C-bus specification and user manual,” NXP Semiconductors, 2021. Accessed: Sep. 29, 2026. [Online]. Available: https://web.archive.org/web/20260927100142/https://www.nxp.com/docs/en/user-guide/UM10204.pdf
[9]
“TMS570LS31x/21x 16/32-Bit RISC Flash Microcontroller Technical Reference Manual,” Texas Instruments, 2018. Accessed: Sep. 29, 2026. [Online]. Available: https://www.ti.com/lit/ug/spnu499c/spnu499c.pdf
[10]
IEEE, “IEEE 802.3-2022 IEEE Standard for Ethernet.” 2022. Accessed: Sep. 26, 2026. [Online]. Available: https://standards.ieee.org/ieee/802.3/10422/
[11]
IEC, “IEC 60050-704 International Electrotechnical Vocabulary — 704-16-07 binary digit rate, bit rate.” 1993. Accessed: Sep. 29, 2026. [Online]. Available: https://www.electropedia.org/iev/iev.nsf/display?openform&ievref=704-16-07
[12]
IEC, “IEC 60050-721 International Electrotechnical Vocabulary — 721-03-05 synchronous transmission.” 1991. Accessed: Sep. 29, 2026. [Online]. Available: https://www.electropedia.org/iev/iev.nsf/display?openform&ievref=721-03-05
[13]
“LVDS Application and Data Handbook,” Texas Instruments, 2002. Accessed: Sep. 27, 2026. [Online]. Available: https://www.ti.com/lit/ug/slld009/slld009.pdf
[14]
IEC, “IEC 60050-721 International Electrotechnical Vocabulary — 721-03-07 start-stop transmission.” 1991. Accessed: Sep. 29, 2026. [Online]. Available: https://www.electropedia.org/iev/iev.nsf/display?openform&ievref=721-03-07
[15]
Analog Devices, “Determining Clock Accuracy Requirements for UART Communications.” 2003. Accessed: Sep. 29, 2026. [Online]. Available: https://web.archive.org/web/20251217055634/https://www.analog.com/en/resources/technical-articles/determining-clock-accuracy-requirements-for-uart-communications.html
[16]
ISO, “ISO 17987-1:2025 Road vehicles — Local Interconnect Network (LIN) — Part 1: General information and use case definition (OBP preview).” 2025. Accessed: Sep. 26, 2026. [Online]. Available: https://www.iso.org/obp/ui/#iso:std:iso:17987:-1:ed-2:v1:en