그냥 생각나는 대로, 손 가는 대로 작성해본다.

 

 

사실 통신회로 설계는 Data bus를 사용하지 않고 전용IC를 쓰기만 하면 매우 쉽다.

Datasheet에 있는 application 회로대로만 구성하면 누가 만들어도 대부분은 정상적인 동작을 하게 된다.

다만, 통신포트가 부족할 경우에 어쩔 수 없이 Data bus를 이용하는 85C30이나 68681 (단종된 것들이라 가격도 비싸고, 구하기도 어렵다), 16C550 등을 사용하는 경우는, 하드웨어나 펌웨어 양쪽에서 신경써야 할 것들이 좀 많아진다.

 

일단, RS232 통신은 기본적으로 3가닥의 선을 이용한다. TX line, RX line, GND... 이것만 제대로 연결하면 통신은 무조건 된다. 장담한다 ㅡㅡ

통신선로의 길이는 규격이 나와있지만, 사실 규격보다 더 길게 만들어도 동작한다. 물론, 통신의 정확성은 환경에 따라 달라지므로 장담하지 못한다는 것이 문제이긴 하지만... 실제로 쉴드케이블을 사용하고 RS232 라인을 늘려보았을 때, 50M 정도까지 통신이 되긴 했다. (그 이상은 안해봤다 ㅡㅡ)

뭐, 왠만하면 규격대로 하는 것이 속 편하긴 할 것이다. ㅡㅡ 나도 책임 질 생각은 없다. 누군가 해본다면 안된다고 뭐라고 하지 마라.

 

RS232 통신 전용 IC는 MAXIM 계열 칩들을 제일 많이 사용해봤다. 구하기도 쉽고... MAX3232나 MAX232 등등...

요즘엔 SP232를 더 많이 쓰긴 한다. Sipex 에서 나온 MAX232 호환칩인데, 가격이 더 싸다.

암튼... MAX든 SP든 232의 기본회로는 아래 그림과 같다.

 

 

IC 상단 좌측은 CPU와 연결되는 부분이고, 상단 우측은 외부로 나가는 부분이다. 하단 우측은 clock을 만들어주는 부분이다.

상단 좌우측은 그냥 연결시켜만 주면 끝이고 ㅡㅡ 하단 우측은 대부분 0.1uF 정도의 세라믹 캐패시터를 달아주면 끝이다. 쉽다 ㅡㅡ

Datasheet에 보면 C1~C4 까지 값을 바꿔서 넣어주라고 되어있긴 하지만... 그냥 몽땅 0.1uF으로 연결해도 지장이 없다.

 

뭐, 232를 왜 써야 하느냐에 대한 것들은 다른 블로그나, 자료가 많으니까 빼고...

 

CPU ---- MAX232 ---- 커넥터 =============케이블============== 커넥터 --- MAX232 --- CPU

 

이런 식으로 구성하면 되니까, 구성도 빼고...

 

위 구성대로 연결했는데 통신이 안된다~ 그러면 케이블 결선을 잘못했거나 확인해봐야 한다.

어느 한쪽의 TX line은 다른 쪽의 RX line과 붙어야 한다. (한쪽이 보내면, 다른 쪽은 받는 것이 당연하지 않겠나...)

가끔 GND 라인을 안붙이는 경우도 봤다 ㅡㅡ... GND 중요하다. 반드시 연결하자.

RS232는 3가닥만 있으면 통신은 한다. RTS, CTS 같은 신호선들은 기본적인 통신을 할 때는 전~혀 필요없다.

RX------------------------TX

TX------------------------RX

GND----------------------GND

 

MAX232에 전원을 인가하면, 통신을 하건 안하건 무조건 C3과 C4는 발진을 한다. 이녀석들이 발진을 하지 않으면 통신을 못한다.

이것도 중요하다. 이런 것들을 체크하지 않고 무조건 IC를 갈아보는 경우도 있더라... 돈 아깝다.

 

회로 설계의 기본이라고 해놓고... 써놓은 내용 보니까 아무것도 없다 싶다 ㅡㅡ;;; 제목을 바꿔야겠다 ㅡㅡ

 

COM 포트가 있는 PC에는 기본적으로 232 IC가 들어있다. PC에서 디버깅하려면 232 IC를 반드시 써야 한다.

(내가 처음 H/W 할 때 232 IC를 빼놓고 PC에 연결한 적이 있어서 안다 ㅡㅡ 통신 안한다)

 

 

내용이 별로 없으니... 16C554의 Uart 4 port에 각각 232 를 연결한 회로 하나만 보고 끝내자.

 

 

위에 필요한 신호들만 만들어서 연결해주면 된다. Data bus에서 Uart 포트 뽑아내는데에는 위 구성이 제일 좋다. 구하기 편하고 싸기 때문에 ㅡㅡ;;;



WRITTEN BY
RootFriend
개인적으로... 나쁜 기억력에 도움되라고 만들게되었습니다.

,