
컴퓨터에 대한 가장 기본적인 외부 연결 중 하나로 간주되는 직렬 포트 는 20년 이상 동안 대부분의 컴퓨터에서 없어서는 안될 부분이었습니다. 많은 최신 시스템이 USB 연결 을 위해 직렬 포트를 완전히 없앴 지만 일부 프린터, PDA 및 디지털 카메라 와 마찬가지로 대부분의 모뎀은 여전히 직렬 포트를 사용합니다 . 2개 이상의 직렬 포트가 있는 컴퓨터는 거의 없습니다.
기본적으로 직렬 포트는 모뎀과 같은 장치를 컴퓨터에 연결할 수 있는 표준 커넥터와 프로토콜을 제공합니다. How Stuff Works 의 이번 판에서는 병렬 포트와 직렬 포트의 차이점, 각 핀이 하는 일, 흐름 제어가 무엇인지 배울 것입니다.
- UART 필요
- 직렬 연결
- 흐름과 함께하기
UART 필요

직렬 포트가 수십 년 동안 사용되어 왔기 때문에 오늘날 사용되는 모든 컴퓨터 운영 체제 는 직렬 포트를 지원합니다. 병렬 포트 는 보다 최근에 개발된 것으로 직렬 포트보다 훨씬 빠릅니다. USB 포트 는 불과 몇 년 전이며 앞으로 몇 년 동안 직렬 및 병렬 포트를 완전히 대체할 것입니다.
"직렬"이라는 이름은 직렬 포트가 데이터를 "직렬화"한다는 사실에서 비롯됩니다. 즉, 한 바이트 의 데이터를 가져와서 한 번에 하나씩 바이트의 8비트를 전송합니다. 이점은 직렬 포트가 8비트를 전송하는 데 하나의 와이어만 필요하다는 것입니다(병렬 포트는 8이 필요함). 단점은 8개의 전선이 있을 때보다 데이터를 전송하는 데 8배의 시간이 더 걸린다는 것입니다. 직렬 포트는 케이블 비용을 낮추고 케이블을 더 작게 만듭니다.
데이터의 각 바이트 전에 직렬 포트는 시작 비트를 전송합니다. 이 비트는 값이 0인 단일 비트입니다. 각 데이터 바이트 후에는 바이트가 완료되었다는 신호를 보내기 위해 정지 비트를 보냅니다. 패리티 비트를 보낼 수도 있습니다.
통신(COM) 포트 라고도 하는 직렬 포트 는 양방향 입니다. 양방향 통신을 통해 각 장치는 데이터를 수신하고 전송할 수 있습니다. 직렬 장치는 다른 핀을 사용하여 데이터를 수신하고 전송합니다. 동일한 핀을 사용하면 통신이 반이중으로 제한 되어 정보가 한 번에 한 방향으로만 이동할 수 있습니다. 다른 핀을 사용하면 정보가 한 번에 양방향으로 이동할 수 있는 전이중 통신이 가능합니다.
직렬 포트는 제대로 작동하기 위해 특수 컨트롤러 칩인 UART(Universal Asynchronous Receiver/Transmitter) 에 의존합니다 . UART 칩은 컴퓨터 시스템 버스의 병렬 출력을 가져와 직렬 포트를 통한 전송을 위해 직렬 형식으로 변환합니다. 더 빠르게 작동하기 위해 대부분의 UART 칩에는 16~64KB의 버퍼 가 내장되어 있습니다. 이 버퍼를 사용하면 칩 이 직렬 포트로 나가는 데이터를 처리하는 동안 시스템 버스에서 들어오는 데이터 를 캐시 할 수 있습니다 . 대부분의 표준 직렬 포트는 최대 전송 속도가 115Kbps(초당 킬로비트)이지만 ESP(Enhanced Serial Port) 및 Super ESP( Super Enhanced Serial Port ) 와 같은 고속 직렬 포트, 460Kbps의 데이터 전송 속도에 도달할 수 있습니다.
직렬 연결

직렬 포트의 외부 커넥터는 9핀 또는 25핀일 수 있습니다. 원래 직렬 포트의 주요 용도는 모뎀을 컴퓨터에 연결하는 것이었습니다. 핀 할당은 이를 반영합니다. 모뎀이 연결될 때 각 핀에서 어떤 일이 발생하는지 자세히 살펴보겠습니다.
9핀 커넥터:
- Carrier Detect - 모뎀이 작동하는 전화선에 연결되어 있는지 확인합니다.
- 데이터 수신 - 컴퓨터가 모뎀에서 보낸 정보를 수신합니다.
- 데이터 전송 - 컴퓨터가 모뎀에 정보를 보냅니다.
- 데이터 터미널 준비 - 컴퓨터가 모뎀에 말할 준비가 되었다고 알려줍니다.
- 신호 접지 - 핀이 접지되어 있습니다.
- 데이터 세트 준비 - 모뎀이 컴퓨터에 말할 준비가 되었음을 알려줍니다.
- 보내기 요청 - 컴퓨터가 모뎀에 정보를 보낼 수 있는지 묻습니다.
- Clear To Send - 모뎀은 정보를 보낼 수 있다고 컴퓨터에 알립니다.
- 벨소리 표시기 - 전화가 걸려오면 컴퓨터는 벨소리가 감지되었다는 신호(모뎀에서 전송됨)를 확인합니다.
25핀 커넥터:
- 사용하지 않음
- 데이터 전송 - 컴퓨터가 모뎀에 정보를 보냅니다.
- 데이터 수신 - 컴퓨터가 모뎀에서 보낸 정보를 수신합니다.
- 보내기 요청 - 컴퓨터가 모뎀에 정보를 보낼 수 있는지 묻습니다.
- Clear To Send - 모뎀은 정보를 보낼 수 있다고 컴퓨터에 알립니다.
- 데이터 세트 준비 - 모뎀이 컴퓨터에 말할 준비가 되었음을 알려줍니다.
- 신호 접지 - 핀이 접지되어 있습니다.
- 수신 회선 신호 감지기 - 모뎀이 작동 중인 전화선에 연결되어 있는지 확인합니다.
- 사용하지 않음: 현재 루프 리턴 전송(+)
- 사용하지 않음
- 미사용: 현재 루프 데이터 전송(-)
- 사용하지 않음
- 사용하지 않음
- 사용하지 않음
- 사용하지 않음
- 사용하지 않음
- 사용하지 않음
- 미사용: 현재 루프 데이터 수신(+)
- 사용하지 않음
- 데이터 터미널 준비 - 컴퓨터가 모뎀에 말할 준비가 되었다고 알려줍니다.
- 사용하지 않음
- 벨소리 표시기 - 전화가 걸려오면 컴퓨터는 벨소리가 감지되었다는 신호(모뎀에서 전송됨)를 확인합니다.
- 사용하지 않음
- 사용하지 않음
- 미사용: 현재 루프 리턴 수신(-)
핀을 통해 전송되는 전압은 On 또는 Off 의 두 가지 상태 중 하나일 수 있습니다 . 켜짐(2진 값 "1")은 핀이 -3에서 -25볼트 사이의 신호를 전송하고 있음을 의미하고, 꺼짐(이진 값 "0")은 +3에서 +25볼트 사이의 신호를 전송하고 있음을 의미합니다...
흐름과 함께하기

직렬 통신의 중요한 측면은 흐름 제어 의 개념입니다 . 이것은 한 장치가 다른 장치에 잠시 동안 데이터 전송을 중지하도록 지시하는 기능입니다. RTS(Request to Send), CTS(Clear To Send), DTR(Data Terminal Ready) 및 DSR(Data Set Ready) 명령은 흐름 제어를 활성화하는 데 사용됩니다.
흐름 제어가 작동하는 방식의 예를 살펴보겠습니다. 56Kbps로 통신하는 모뎀이 있습니다. 컴퓨터와 모뎀 사이의 직렬 연결은 2배 이상 빠른 115Kbps로 전송합니다. 이것은 모뎀이 전화선을 통해 전송할 수 있는 것보다 더 많은 데이터를 컴퓨터에서 받고 있음을 의미합니다. 모뎀에 데이터를 저장할 128K 버퍼가 있더라도 여전히 버퍼 공간이 빠르게 부족하고 모든 데이터 스트리밍으로 제대로 작동할 수 없습니다.
흐름 제어를 사용하면 모뎀이 모뎀의 버퍼를 초과하기 전에 컴퓨터에서 데이터 흐름을 중지할 수 있습니다. 컴퓨터는 계속해서 Request to Send 핀에서 신호를 보내고 Clear to Send 핀에서 신호를 확인합니다. Clear to Send 응답이 없으면 컴퓨터는 데이터 전송을 중지하고 Clear to Send를 기다리며 다시 시작됩니다. 이렇게 하면 모뎀이 데이터 흐름을 원활하게 실행할 수 있습니다.