게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
산업용으로 USB통신을 왜 안쓸가요?
게시물ID : programmer_11141짧은주소 복사하기
작성자 : 미친공대생
추천 : 1
조회수 : 1877회
댓글수 : 21개
등록시간 : 2015/06/11 11:57:32
오늘 기획안 올렸다가 엄청 혼나고나서 고민을 해보았는데 잘 모르겠어서 글을 써봅니다.

일단 USB 단점이 존재합니다.
1. 실시간성
2. 동기화
이건 어차피 이더넷도 마찬가지라고 보기 때문에...
USB만의 단점은 아니라고 봅니다.

지금 팀장님 기획안과 제 기획안이 부딧쳐서 제게 드랍되었는데...
딱히 USB가 이더넷보다 떨어지는 것인가 하는 생각은 안들더라고요.

기본적인 단가에서도, 통신속도에서도 오히려 USB가 더 유리하고요.
개발용이성도 팀장님께서 말씀하신 방법보단 더 단순하거든요.
심지어 이것 때문에 타사에 특허 소송 걸릴 위험도 없고요.

팀장님께서 장시간 사용에 대해서 언급하셨는데...
제 경험상 1달 동안 USB 통신 끊긴걸 본적이 없고요.
(구동 장비 중에 USB통신으로 데이터 받는 장비를 프로그램 짜본적이 있습니다.)


팀장님께서 마지막으로 저에게 설명해 주신 내용은...
타사에서 USB를 이용한 장비를 만들지 않는 이유가 있을 것이다.
다른데서 안쓰는데 우리가 그 위험부담을 가져갈 필요는 없다고 하시는 군요.

그런데 문젠 제가 QC용 장비들 중에선 USB 쓰는 장비를 종종 보았다는게;;;
꼬릿말 보기
전체 추천리스트 보기
2015-06-11 12:46:58추천 1
사람마다 다르겠지만...
산업용은 신뢰성을 따지는데 신뢰성 갑은 RS-232가 존재하죠
그리고 장거리 전송을 위해서 RS-485로 변환해서 km급으로 보낼수도 있고
랜을 사용하면 인터넷만 연결하면 지구 반대편도 가능하고 우주에서도 되죠

하지만 USB를 할 경우 거리제한이라던가 여러가지 문제도 있고
FTDI 드라이버 문제로 윈도우 먹통된적도 몇번있고 하다보니..
신뢰성이나 편의성 면에서 차라리 RS-232/LAN 조합을 쓰는게 아닐까 합니다.

물론 단가는 USB가 RS-232 < USB < LAN 이겠지만(주변 컴포넌트 까지)
얼마전부터야 FTDI VCP 지원으로 JTAG도 USB화 되고 하는거 보면..
조금은 넓혀는 지고 있지만 산업용으로서의 USB는 아직은 멀었다고 생각됩니다.

그리고 USB 호스트로 통신을 주고 받아야 한다면
OTG / host / 장치로 세가지 따로따로 개발해야 하니
USB to Serial 등으로 데이터 덤프만 하는게 아니라 주고 받는거라면
굳이 USB를 안쓰는게 아닐까 생각합니다.
댓글 0개 ▲
2015-06-11 13:12:44추천 1
RS232에 비하면 개발하기 힘들어요.
스펙이 복잡하고 신경써야 하는게 많죠. 하드웨어 단가도 올라가고..
댓글 0개 ▲
2015-06-11 13:32:20추천 1
usb는 길이에 따라 신뢰성이 확차이나죠 ㅎㅎ 5m짜리 업체별 테이블 비교해본 결과 사용할만한건 몇개 안되더라구요 ㅎㅎ데이타 손실이 심해요 ㅎㅎ
댓글 0개 ▲
2015-06-11 13:35:36추천 0
구차니님// 아 먹통된적이 있으시군요. 제가 한 테스트에선 아직 먹통된걸 본적이 없서요. 아무튼 말씀 하신데로 그런경우도 발생 할 수 있겠네요.
그리고 개발이 하나가 아닌 여러개가 되어야 하는군요;;; 데이터의 교환 량이나 주기에서 발생 할  수 있겠네요.
(뭐 한번에 보내는 팻킷의 크기는 비슷한걸로 알고 있습니다;;)

Regentag님// ethernat에 비해 제가 보기엔 단가적인 면은 일단 쌉니다. 그리고 스팩도 그나마 덜 복잡하고요.(어차피 둘다 표준으로 여겨지는 open  lib 있어서 접근성? 개발성 면에선  비슷하거든요.
댓글 0개 ▲
2015-06-11 13:37:08추천 0
곰팅시푸우님// 5m의 한계가 있지만 보통 개발하는게 1m 이내에 떨어질건 보기 때문에 그렇게 문제가 되진 않습니다.
5m 가까이 되면 어차피 리피터 달아야 하는 상황인거고요. 그거 달아도 40m ? 아니 20m만 넘어가도 안되는걸 봐서;;;
댓글 0개 ▲
2015-06-11 14:04:13추천 1
다르게 말해서 1m 떨어질거면 RS-232 시리얼이 신뢰성과 역사 전통의 갑입니다 ㅋㅋㅋ
속도도 115k 인데 그 이상 무거운 파일은 네트워크 되면 네트워크 전송하면 되니까요
댓글 0개 ▲
2015-06-11 14:22:08추천 0
구차니님// 현재 상황이 좀 그래요. 요구하는 조건 자체가 요상해서... 저가의 고속이면서 고 신뢰성을 차야야 하는 거죠. ㅠㅠ
돈을 많이 주면 바로 이더넷 고고고!! 하겠는데 이더넷 장비 붙이는 순간 요구 가격 못 맞추거든요.
어차피 PC와 50cm도 안 떨어진 위치의 것을 제어 하는데;;; 구지 이더넷을 붙여야 하나? 하는데...
다들 하나 같이 USB는 신뢰성이 없어 이러더라고요. 그래서 전 그럼 속도를 낮춰줘...  이랬더니.. 무조건 최소 100Mbps 이상 이여야 한다고;;;
아니... 이사람들이;;; 그럼 돈을 올려줘... 이랬더니 1노드당 10불 이상 못 쓴다 이러니;;;;;;;;;;;
어이 그럼 USB밖에 답이 없잖아라고 말한 겁니다. 팀장님 안은 그렇게 해서 팔면 손해나는 상황;;;;;;;;;;;
뭐 어차피 제가 낸 안은 떨어 졌으니 궁금한건 USB는 정말 이더넷 보다 신뢰성이 떨어지는가 하는 것이었습니다.
댓글 0개 ▲
2015-06-11 14:25:47추천 1
ㄷㄷㄷ 100Mbps... 아니 무슨 그런 말도 안되는 스펙을 그 가격에 ㄷㄷㄷ
그 10불이 MC기준인가요 판가기준인가요 ㄷㄷㄷ

저런 상황이라면 USB 외에는 방법이 없지만..
USB가 생각외로 고속전송시 CPU 많이 먹는 문제가 있어서 한번 고려해 보실 필요는 있을것 같습니다.
미친척.. 블투로 가시는건 어떨까요?

그나저나 저가의 고속... ㄷㄷㄷ
요구사항 자체가 미친것 같습니다.
댓글 0개 ▲
2015-06-11 14:34:20추천 1
일단 개인적으로 USB를 신뢰하지 않는 이유가..
1. 드라이버 문제로 OS를 죽이기도 함(윈7인데!!! 비스타인데!!! 물론 FTDI 드라이버 문제)
2. 커넥터가 부실해서 은근 접불 잘남(오작동, 오인식)
3. CPU 요상하게 많이 잡아 먹음
4. 가끔.. 전원부족해서 잘 안켜짐
5. 가끔.. 과전류인지 전류 부족인지 알수 없으나 장비가 고장 잘남
6. 2.0 인데 드물게 1.1로 인식해서 겁나 느려짐

아무튼.. 소프트웨어적인 요건을 제외하고도 하드웨어적으로도 그닥 신뢰가 가진 않습니다
댓글 0개 ▲
2015-06-11 14:52:13추천 1
글 내용이 전혀 다른 내용이 섞여 있어서 질문글을 이해를 못하겠습니다.

이더넷은 데이터 전송을 위한 통신 규약이고..
USB는 장치 제어를 위한 통신 규약쯤 되는데..

그래서 이더넷은 표준 통신 규약만 지키면 장치와 상관없이 통신이 가능하지만..
USB는 각 장치마다 동작을 위한 드라이버를 설치해야 되는데요..
댓글 0개 ▲
2015-06-11 15:02:06추천 0
구차니님// 다행히 MC입니다. 판매가는 usb도 맞추기 힘들겁니다. 그리고 3명이 각자 독자적으로 기획서 쓰면서도 얼척 없던 것이 정말 100Mbps가 필요한 것인가 하는 생각이 들더라고요. 아무튼 말씀해 주신 것 중에 3번은 저도 대충은 알고 있습니다만... 얼마나 많이 잡아 먹냐인데...제가 했던 어플리케이션에선 문제가 심각하게 나타나지 않은 걸로 봐선 지금 하는 것도 큰 문제가 없을 것으로 생각했습니다. 그리고 커넥터는 어차피 한번 꼽으면 한동안 움직일 일이 없느니 큰 문제가 안되지 않을 까 해요. 전원은 별도 전원 쓰니 상관 없는데 2.0을 1.1로 인식한다전지 OS를 다운시키는 것은 솔직히 구차니님 통해서 처음 알았습니다. OS다운이나 속도를 1.1로 인식하면............... 허;;;;;;;;;;;;; 전 그동안 운이 좋았나 봅니다. ㅠㅠ
댓글 0개 ▲
2015-06-11 15:06:54추천 0
잔혹학마법사님// 그건 아무래도 제가 하드웨어, 펌웨어, PC소프트웨어 까지 다 해야 해서 머리속이 복잡해서 그럴 겁니다.
일단 이더넷이던, USB통신이던 결국 데이터를 얼마나 빨리 안정적으로 넘길 수 있느냐 이야기 였습니다.
이더넷이건 usb던 간단한 IO(디지털이던 아날로그던)  제어하는 정도의 하드웨어는 이미 있는 상태입니다.
그걸 이용해서 MC를 보면 usb는 요구조건 안에 들어 가는데, 이더넷 쓴 녀석은 안 들어 갑니다.
그런 상황에서 제가 올린 기안은 usb 장치들을 이용한 장비를 만드는 것이었으나, 다른 분들께 신뢰성 문제로 태클이 걸렸습니다.
그런데 다들 어떤 문제가 있다 이렇게 말을 못하고, usb는 신뢰성이 없어 이래서...
제 경험엔 문제가 없었는데 왜 문제가 있냐고 하는지 알고 싶었던 것입니다.
댓글 0개 ▲
2015-06-11 15:10:55추천 1
가장 간단한 테스트!
USB를 꽂고(USB to Serial) 포트를 연다음 뽑습니다!
재수 없으면 OS 전체가 느려지면서 거의 뻗습니다 ㅠㅠ

아무튼.. USB를 어떤식으로 쓰실지도 관건인데..
그런 고속 전송이라면 별도의 드라이버를 구현하실지(일종의 장치로)
가상 하드처럼 해서 접근하면 전송하실지 이런게 정하기가 어려워 보이네요..
USB to Serial로 전 생각하다 보니 320kbps 까진 봤지만 메가급으로 시리얼 전송하는건 못봤고..
USB webcam도 100mbps급은 아니고 하드 전송용 모드로 해야 할거 같기도 한데 말이죠...
댓글 0개 ▲
2015-06-11 15:18:30추천 1
산업용으로 사용되는 경우를 찾으시면 되겠네요.
해양 연구쪽에서 바다위에 뭐 띄워놓고 정기적으로 수집된 데이터 수거하러 다니는데
이 장치도 USB 사용하던데요?? 검색해보면 많이 나올듯
댓글 0개 ▲
2015-06-11 15:20:44추천 1
그러고보면 애플 노트북들은 랜포트가 아예 없어서 대부분 usb 변환잭 연결해서 쓰는데 관련 문제를 겪어본 분은 한번도 못봤습니다.
생각해보니 제 메인보드 랜카드가 망가져서 이거 계속 사용중이네요. -_-;
댓글 0개 ▲
2015-06-11 15:25:37추천 0
구차니님// 오~ 그런 테스트 방법이 있군요 이전에 만든거 그런 테스튼 한번도 안해봤는데요;; 그리고 2년전 쯤에 테스트해본 결과 USB to Serial은 10Mbps까진 되긴 하더라고요;;; 형식상;;; 문젠 진짜 10Mbps가 아니라는 거죠;;;;;  (usb 시리얼 자체가 2.0 이 아닌 1.1로 잡히는 듯 하더라고요.)   bulk 방식도 있고 해서 봐야 할 듯해요. 드라이버는 제가 개발할지 않할지 몰라서...(전 할줄 몰라서 다른 분이 하시겠죠;;;)
상상속동물님// 지금 같이 회의했던 분들 제가 1달 동안 usb 데이터 로거로 데이터 수집한거 보신 분들이십니다;;;;;; 그래도 저렇게 말씀을 하세요;
댓글 0개 ▲
2015-06-11 16:04:20추천 1
정확하게 따지자면.. 원가 미만으로 일을 쳐 받아온 영업쪽에서 책임져야 할 일이죠.

통신 속도의 보장의 경우 정확한 통신량을 산출해서 따질 일이고요.
초당 100 KB 이하의 데이터가 생성되는데도 100Mbps 를 보장해야 한다라면 슬며시 가운데 손가락하나 들어주면 되겠습니다.

데이터의 전송 자체는 신뢰성에 문제를 제기할 이유가 전혀 없습니다.
시간단위가 됐든 년단위가 됐든 말이죠.

신뢰성.. 이라는 단어를 넓은 의미로 해석을 해보자면..

커넥터의 내구성문제 ( 얼마나 꼽았다 뽑았다 할 것이냐 )
연결할 양쪽 장비의 범용성 문제 ( PC-기기 로 제한인거냐, 기기-기기 로 무제한적인거냐 )
소프트웨어의 신뢰성 문제 ( 기존의 검증된 소프트웨어를 쓸 것이냐. 새롭게 드라이버를 만들것이냐 )
통신구성의 문제 ( PC를 중심으로 한 독립망 형식을 취할 것이냐, 네트워크 형식을 취할 것이냐 )
장치구성의 문제 ( 1pc-1장치냐 1pc - n장치냐 )
공수의 문제 ( 개발기간이 길어진다, 짧다 )
개발능력의 문제 ( 문제없는 개발과 아몰랑 )

.. 정도로 해석이 되는군요..
댓글 0개 ▲
2015-06-11 17:04:30추천 1
궁금한게..MC라고 해도 10$ 이면..
MCU 이지 arm9도 안될거 같은데... 100mbps를 마이컴이 버텨줄수 있을까요..
댓글 0개 ▲
2015-06-11 17:29:46추천 1
USB를 쓰는 장비도 많이 있습니다. 연결되는 단말기가 윈도우즈기반이나 리눅스등 일반적인 PC환경이라면 고려할 만합니다. 그런데 갑자기 ARM 기반의 특수한 단말기에 연결하라고 하면 상당한 고통이 따르겠지요.
댓글 0개 ▲
2015-06-11 18:47:17추천 1
흠...
상당히 흥미로운 토론이 오가는 것 같군요...

저도 USB가 불안정하고 신뢰도가 떨어진다는 느낌을 가지고 있어요...
무엇보다도 USB는 저전력 SPEC을 가지고 있기 때문에 일정시간 동안 데이터 교환이 없으면
Sleep Mode로 들어 가는 경우가 많아요...

그런데 문제는 Device Driver 윗단의 Application에서는 그 같은 사실을 알지 못하는 경우가 많죠...
저는 주로 USB-to-Serial Converter를 사용하는데 24시간 내내 돌아가야 하는 시스템이라서
USB용 컨버터를 몇번인가 시도를 해 봤다가 결국은 포기를 해 버렸죠...
물론 몇년전 이야기라서 요즈음은 좀 다를 수 있겠지요...

그리고 Ground가 연결 된 시스템이다가 보니 커넥터를 꼽는데 GND와 Data Line의 접속 순서가
잘못 되었을 경우 해당 칩이 먹통이 되는 경우도 많이 봅니다. 특히 FTDI칩이 그렇더군요...

일반 사용자용 시스템의 경우는 사용자들이 한번 접속을 하거나 오류가 나더라도 직관적으로 인식을 하고
다시 연결하기 때문에 크게 문제가 안되는데 24시간 계속 안정적으로 돌아가야 할 경우는 전 Layer에 걸쳐서
에러상황에 대한 명백한 통보가 잘 이루어지지 않는 USB는 불안정하게 느껴질 수 밖에 없더군요...

그리고 많은 엔지니어들이 USB가 신뢰성이 낮거나 불안정하다라고 느끼는 이유중에 하나는...
USB가 PNP기능을 목표로 만들어진 것이다가 보니 수직 수평적으로 너무 Spec이 복잡해 져서
문제가 생겼을 경우 어디서 문제가 생겼는지 명확히 규명하기가 힘들다는 점 때문이라고 생각을 합니다.

사실 저는 USB를 PNP기능이 강화된 RS485 정도로 생각을 하고 있거든요...
거기에 이런저런 Spec을 덧 붙인 것에 불과 하다는 거죠...

암튼 생각한 이야기들이 많았는데...
저녁 약속이 있어서 이만 접고 나중에 다시 한번 리뷰를 해 봐야 겠네요...
맘이 급하니 논점이 헷갈리네요...ㅎㅎ
댓글 0개 ▲
2015-06-11 19:24:40추천 0
잔혹한마법사님// 받아온 쪽에 무어라 해야겠지만... 말씀 하신 것처럼 특정하지 않고 어떤 환경에서 쓸꺼고 어떤 기능이 들어 갔으면 좋겠다는 몇몇 조합들이 있습니다.  그런데 꼭 그런 기능을 말할 땐 나중을 위해서라는 말을 합니다. 설득하면 좀 먹혔으면 좋겠지만... 먹히질 않네요;;
구차니님// 10불 정도에선 그래도 구현해 놓은게 있어서 가능은 한데... 문젠 다른거죠 통신은 하는데... 어디까지난 통신 속도일 뿐이죠. PC에서 USB를 통해 MCU까지 도달하는 속도를 생각하면 그렇게 빠르진 않습니다. 그런거 보면 참 의문이에요.
내맘의눈님// 저전력스팩의 경우는 최근엔 좋아 졌고, 계속적으로 사용하는 경우 죽지는 않더군요. 그런데 말씀하신 상위단에서 애러에 대한 검출이 어렵다는것은 생각해 보지 않았습니다. 역시 제가 수준이 낮은 사람이란게 느껴지네요. 말씀을 듣고 나니 의외로 심각한 문제네요;
댓글 0개 ▲
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호