2019년 11월 20일 수요일

RS232, USB to RS232 시리얼분배기


이번 보드는 "RS232 분배기" 및 "USB to RS232" 기능을 갖춘 보드이다.
예전 장비들을 RS232로 여러 대 동작시킬 때 가끔씩 필요할 때가 있는데 요즘은 RS232 포트 없이 USB 단자만 있는 노트북이나 PC들이 많이 있어서 요즘 PC에서도 사용이 가능하게끔 "USB to RS232" 기능까지 내장을 하여 만들어 보았다.
하지만 USB특성이 사용중 또는 접속시 문제가 될때가 간혹 발생하기때문에 안정적인 사용은 RS232로 하는게 더 좋다. 물론 감안하고 사용한다고 하면 괜찮지만..
내 경우 USB 마우스나 키보드, 외장하드를 사용할때 가끔씩 인식이 안될때가 있어서 그냥 다시 뺏다 수초후 다시 연결하고 그냥 사용한다.
현재 제작된 보드 블럭도와 사진은 아래와 같다.
1. 입력 단자는 RS232 D-SUB 9PIN 단자와 USB MINI B 단자이다.
2. 출력쪽은 D-SUB 9PIN 4개 이다.
3. 전원은 DC +5V를 별도로 넣어주거나 USB Port연결시 USB전원을
사용하면 된다.
4. LED로 전원 상태 및 RX, TX 통신 상태를 보여준다.
분배기 기능을 FPGA로 구현을 하면서
1. 출력 4 Port에 대해서 D-SUB입력 또는 USB입력을 선택해주는 기능이
가능하게 되었다.
2. 그리고, 추가로 현재 통신되는 속도를 FND를 이용하여 보여줄수 있다.
물론 RS232통신 특성상 약속된 문자를 보낼때 통신속도가 제대로 보여진다.
스위치에 1번에 의해서 선택될때 아래와 같이 동작된다.
FND에서 RS232포트가 선택된것을 알려준다.
FND에서 USB포트가 선택된것을 알려준다.
그리고, RS232는 RS422이나 RS485와는 다르게 1:1 통신을 원칙으로 하기때문에 1:N 통신을 위해서는 TX는 모든 N채널에 줄수 있지만 RX는 오로지 하나에서만 받을 수 있다.
아래 블럭도가 현재 보드에서 1:N 통신에서 RX,TX가 연결되는 모습을 보여준다.
아래 사진을 보면 보드 1번 RS232 D-SUB 단자에 RX,TX를 서로 쇼트하여 내장된 USB to RS232로 통신되는 것을 보여주고 있다.
이때 대문자 'U' 나 "0x55" 를 전송하게 되면 통신 속도를 FND로 보여줄수 있다.
통신 속도가 올라가면 오차값이 커질때가 있는데 현재 연결된 시리얼 통신이 제대로 됐는지 정도 체크할정도로 사용하기에는 무리가 없어보인다.
아래 사진을 보면 통신 속도 9,600으로 하고 대문자 'U'를 전송시 FND에 9.6 이
표시되는것을 볼수 있다. FND가 4개짜리라서 최소 단위가 백단위부터 시작한다.

FPGA관련 정보, 영상 신호 이론, 하드웨어 관련 더 많은 정보는 하기 네이버 블로그에 있습니다. https://blog.naver.com/zaszas2345

댓글 없음:

댓글 쓰기