기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

새로 프로젝트를 시작하게 되었는데, 사용할 운영체제가 리눅스가 될

것 같습니다. ^^ 여러개의 단말기를 RS485로 연결해서

단말기 호스트(리눅스 탑재)에서 제어 해야 하는데, 나름대로 구글링을 좀 해보았는데,

드라이버 소스를 찾기가 좀 힘드네요,,

혹시 아시고 계시는 분 있으시면 힌트 좀 부탁 드리겠습니다.

감사 합니다.  

정창환

2008.04.10 22:27:42
*.14.117.41

RS485의 경우는 half duplex이기 때문에 흐름제어가 반드시 필요합니다.
이 흐름제어를 위해서 보통 RTS신호라인이나 GPIO를 이용합니다.
문제는 RTS를 이용한 제어가 데이터를 보내기에서 받기모드로 전환시 빠른 전환을 할수가 없습니다. 왜냐하면 RTS제어를 이용할려면 system call을 호출하게 되는데, 이 응답에 대해서 얼마나 빨리 반응할지를 알수가 없습니다.
다행이 통신할려는 장비가 요구한 데이터에 대해서 응답이 느릴경우는 상관없으나, 반응이 빠르거나, 어떤 장비가 물릴지 장담할수 없는경우는 문제가 생길 확률이 상당히 높습니다.

이를 해결할 방법으로 가장쉬운건 RS485지원하는 UART를 사용하는 방법입니다.
또 다른 방법은 TxD신호를 Not게이트를 달아서, rs485칩의 2번(/RE), 3번(DE)에 물러서 이것을 제어하는 방법입니다. 일부 rs232-rs485컨버터들이 이 방법을 사용합니다.
마지막으로 제가 사용한 방법은, 수신/발신 전환을 위해 AVR마이컴을 달았습니다. 메인cpu와는 spi를 약간 변형된 프로토콜로 마이컴에게 속도와 데이터 길이를 전송합니다. AVR마이컴에서는 start bit를 감지해서 데이터 길이만큼만 Tx를 인에이블 시키는 방식입니다.

저도 rs485때문에 많은 고민을 해봤습니다.
UART chip에서 shift regitster empty 인터럽트만 있으면, uart드라이버에서 이기능을 하도록 수정하면 될것 같은데, 제가 본 모든 uart는 fifo empty 인터럽트만 있더군요. 그래서, 드라이버의 수정으로 힘든다고 생각하에 하드웨어적으로 해결하였습니다.
능력이 뛰어난 분이 하면 될수도 있겠지만, 쉽지 않을거라 생각이 되네요

참조 자료
http://blog.nomujok.com/page/390

장병남

2008.04.11 06:08:30
*.131.127.180

정창환님 답변 감사 드립니다. 저 또한 UART는 Fifo 기반으로만 다루어본 경험밖에 없어서,, 능력이 뛰어난 분은 제 해당사항은 아닌가 봅니다. 말씀해주신 방법을 참고하여 하드웨어 개발자분들과 상의후 작업 진행 토록 하겠습니다. 감사 합니다.
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
228 bluetooth device driver에 대한 질문입니다. [1] 김동래 2010-05-05 476
227 application screen size OGeumDong Knife Ball 2010-05-07 476
226 TV Out [1] 김주영 2010-05-14 476
225 Android상에서 firmware upgrade [1] 파일럿 2010-05-15 476
224 makefile 관련 질문입니다. [1] 마수리 2010-07-03 476
223 Odroid-T의 소스를 받아볼 수 있을까요? [3] lived 2010-07-07 476
222 app 실행 문제에 대한 로그.. file [1] 은재아빠 2010-11-08 476
221 LCD 관련 문의 드립니다. [1] 조남희 2011-02-09 476
220 device.c 퍼미션 수정.. [1] skean 2011-03-04 476
219 이솝 MP2530F WinCE BSP 구해 봅니다... 에구릉 2011-08-18 476
218 6410 encoding/decoding 샘플 소스는 없나요? [1] 이성호 2009-03-24 475
217 aesop 2440 3차보드에서 openice사용가능한가요? [1] 조재영 2010-02-03 475
216 Device driver관련 site 박영호 2010-06-30 475
215 LCD 판매업체 소개해 주세요! [1] 차다 2010-08-10 475
214 V210보드 프로젝트 생성은 언제되는건지요. [1] 정찬홍 2010-10-21 475
213 fimc dual input 관련잘문입니다 날다병아리 2011-03-31 475
212 Touch 드라이브가 연결 되지 같습니다. [1] 한승우 2011-04-22 475
211 UBoot 궁금한 점... [2] 현쓰 2009-11-26 474
210 5150 튜닝에 관한 질문입니다. [6] 김수현 2009-12-02 474
209 aesop-6410용 virtualbox image [3] 이재훈 2010-02-19 474

사용자 로그인