:: 진공에 대해 알려주마.

RS-232 to TTL 본문

비정기 피엠

RS-232 to TTL

하이백 2022. 2. 9. 22:08

RS-232 통신을 하면서 간혹 TTL 관련하여 문제가 발생하였다. 장치 중 하나가 TTL 레벨의 통신을 한다. 이참에 막연히 알고 있던 TTL에 관하여 찾아보았다.

PC에서 RS-232를 이용하여 하는 경우 Tx, Rx, GND 세 개의 케이블을 이용하여 장치와 연결하고 통신을 하게 된다. 보통 RS-232는 12 Volt 레벨의 전압을 이용하여 지정된 시간의 간격마다 voltage의 차이를 두어 이를 0과 1로 표시하게 된다. 0과 1의 조합으로 ASCII Code에 정의된 문자를 전송하면 같은 방식으로 원하는 값을 회신하게 된다. 

RS-232와 TTL(Transistor Transistor Logic)은 같은 통신 방식을 사용한다. 단지 0, 1을 구분하는 Voltage level이 다르다는 것이다. Voltage level이 다르면 정상적인 신호로 인식하지 못하고 무시하게 된다. 

TTL은 보드 내에서 통신을 하기 위해 보드가 주로 사용하는 5V 혹은 3.3V를 그대로 사용하는 방식이다. 이에 반해 RS-232는 보드(PC) 사이에 신호를 전달하기 위하여 voltage를 올려 멀리 안정적으로 보내는 것을 목적으로 한다,.

그러한 결과로 RS-232는 12 Volt를 TTL은 5 Volt(혹은 3.3 Volt) 레벨을 사용하여 이 둘이 통신을 위해서는 voltage를 변환해 주는 장치가 필요하다.

RS232-TTL Converter

VCC, GND에 5 Volt(혹은 3.3 Volt, 상대 장치가 사용하는 전압)의 +, -를 연결하고 TX, RX, GND를 상대 장치에 맞게 연결한다. 반대편 D-SUB는 PC에 연결하면 된다. 또한 무전원 컨버터도 있는데 여기서 무전원은 외부 전원을 사용치 않고 RS-232의 여러 신호중 CTS, DTR의 신호를 사용하여 이를 전원으로 사용한다고 한다. 

무전원 Converter (3.3V용)

결국 RS-232 to TTL 통신은 Voltage level 만 변환하여 그대로 전달하면 된다. 아래와 같이 Device가 사용할 전원을 컨버터에 공급해 주고 나머지는 그대로 사용하면 되면 된다.

RS-232 to TTL Converter 사용예

 

이번에 외부 전원을 사용한 컨버터를 이용하여 통신 테스트를 완료하였다. 열이 많이 난다. 오래 사용하면 문제가 될듯하다. 

 

'비정기 피엠' 카테고리의 다른 글

필요할땐 안보이는 그거.  (0) 2022.10.10
C, C++ Operator "=+"  (0) 2022.04.20
C# Read InBuffer  (0) 2021.06.22
구글 지메일 외부에서 접근하기  (0) 2021.03.11
집으로...  (0) 2021.02.08
Comments