본문 바로가기

통신

(4)
[개념] RS232 & RS485 통신 RS232RS485특징1. 1대 1통신만 가능2. 전송거리가 짧고, 노이즈에 약하다. -> Single-ended 방식3. 전송속도가 비교적 느리다.1. 1대 N통신 가능2. 전송거리가 길고, 노이즈에 강하다. -> 차동신호 방식3. 전송속도가 빠르다.결선 방식3개의 선(TX, RX, GND)을 사용하여 단방향 또는 전이중통신이 가능하다.2선 방식(A,B 또는 TRX+, TRX-)을 사용 시 반이중통신이 가능하다.4선 방식 사용 시 전이중통신도 가능하다.전기적 특성전압 레벨( ±3V ~ ±15V)이 TTL(3.3V/5V)보다 높아서 레벨 변환이 필요하다.차동신호 방식을 사용하여 노이즈에 강하고 장거리 통신에 적합니다.통신 방법비동기 UART 방식TX에서 데이터 전송 시 RX로 수신이 가능하다(..
[적용] RaspberryPi로 USB 통신하기 1. Raspberry에 usb.c 파일을 만든다.#include#include#include#include#includeint main() { int fd = -1; int iSize = 0; int idx = 0; int i, j; char buf[100]; struct termios options; // 가상 시리얼 포트를 열고 데이터를 송수신하겠다. fd = open("/dev/ttyACM0", O_RDWR | O_NOCTTY | O_NONBLOCK); if(fd == -1) { printf("fail open\n"); return 1; } memset(&options, 0, sizeof(options)); // 시리얼 통신을 위한 설정들 options.c_cflag = B9600;..
[개념] USB 통신 1. Host가 Device의 가상 장치 정보(Class, Subclass)를 가져온다.ClassSubclass USB CDCCDC ACM시리얼 통신 장치CDC ECM이더넷 통신 장치USB MSC없음저장 장치※ CDC(Communication Device Class), MSC(Mass Storage Class)※ ACM(Abstract Control Model), ECM(Ethernet networking Control Model) 2. Host는 가져온 장치 정보를 기반으로 드라이버를 활성화한다.해당 드라이버가 로딩되면, OS는 이를 추상화된 장치 파일로 나타낸다.즉, 가상 포트가 생성되어 장치를 사용할 준비가 된다. 3. 사용자 프로그램은 이 가상 포트를 통해 데이터를 송수신한다.예를 들어, 가상 포..
통신 방식의 비교 1. 직렬 통신과 병렬 통신 직렬 통신은 한번에 하나의 데이터 비트를 전송하고, 병렬 통신은 한번에 여러 개의 데이터 비트를 전송한다. 따라서 병렬 통신의 경우에는 한번에 전송하고자 하는 비트의 개수만큼 물리적인 데이터 라인이 필요하고, 직렬 통신의 경우에는 하나의 데이터 라인이 필요하다. 과거 프린터나 스캐너 장비를 컴퓨터에 연결하기 위해 사용하던 케이블이 대표적인 병렬 통신 방식이었으나, 직렬 통신 방식의 USB 케이블로 대체되면서 최근에는 병렬 통신 방식의 케이블은 찾아 보기 힘들다.상식적으로 생각해 보면, 한번에 여러 비트의 정보를 보내는 병렬 데이터 전송이 한 비트씩 차례로 보내는 직렬 데이터 전송보다 빠르다. 만약 그렇다면 오늘날 부품간, 기기간 고속의 데이터 통신이 요구되는 영역에서는 병렬 ..