:::: MENU ::::
Posts tagged with: 시리얼통신

RTS/CTS flow control

시리얼 통신에서 H/W flow control은 RTS, CTS signal을 사용을 한다.
아래 자료는 ST의 칩 데이터시트에서 가져온 내용인데, RTS/CTS flow control에 대해 쉽게 이해가 된다.

RTS 신호가 RX 회로쪽에 CTS 신호가 TX 회로쪽에 연결이 되어 있다는 점에 유의하자.



1. RTS flow control
RTS 신호는 수신이 가능한 상태이면 Low로 되며, 수신이 불가능하면 High로 한다.

2. CTS flow control
TX를 하기전에 CTS 입력을 확인해서 CTS가 Low이면 데이터를 보낸다.

즉 Hardware Flow control을 사용한다면, 데이터를 보내기전에 CTS 입력(상대방의 RTS)을 확인하여 이것이 Low이면 데이터를 보내고, 데이터를 수신시에는 버퍼가 어느 정도까지 차면(buffer full) RTS를 High로 하고, 나머지 상태에서는 Low로  하면 된다.


유용한 툴 – Terminal

대부분의 임베디드 시스템에서 시리얼 인터페이스는 필수적으로 가지고 있다. 이 시리얼 인터페이스를 통해 디버깅도 하는데 이때 필요한 것이 터미널 프로그램이다. 일반적으로 윈도우즈의 Hyper Terminal을 써도 되지만 Hyper Terminal은 불편하기도 하고, null 문자를 제대로 수신 및 전송을 하지 못하는 버그도 있다.


그리고 데이터를 Hex로 수신하거나 전송할때도 이 프로그램은 유용하며, 매크로 기능이 있어서 지정한 시간동안 반복적으로 데이터를 보낼때 유용하다.
Hex로 데이터를 보내려면 $를 붙여야 한다. 즉 0x0D를 보내려면 $0d 로 입력하면 된다.
물론 freeware..
cfile8.uf.176F5A214BFC9F82566D23.zip