우선 Serial 통신에 대해서 알고 가겠습니다.

 

시리얼 통신을 이해하려면 Parallel 통신하고 비교해서 이해하는게 편합니다.

 

만약 8비트의 데이터 0x00100111을 보낸다면 

다음과 같이 통신이 이뤄집니다.

 

이제 시리얼 통신의 종류를 알아보겠습니다.

 

UART(Universal Asynchronous Receiver Transmitter)

 

비동기식 통신(Clock 신호가 없음)입니다.

 

Baud Rate은 비동기 통신의 속도입니다.

 

여기서 BPS와 Baud Rate를 확인하고 가겠습니다.

 

BPS : Bit Per Second 즉 1초에 전송되는 비트 수 입니다.

 

Baud Rate : 1초에 데이터가 변조되는 횟수입니다. 다른 말로 하면 1초에 전송되는 신호의 수 입니다.

 

BPS = Baud Rate x 한 번에 변조되는 비트 수

 

시리얼 통신에서는 주로 bps = baud rate입니다.

 

RS-232, RS-422, RS-485와 같은 표준이 있습니다.

https://developer.electricimp.com/resources/uart

UART 프레임입니다. Parity Bit는 통신 오류를 확인할 수 있는 데이터 입니다. 

 

패리티 비트와 CRC는 무엇인가?

데이터는 오류에 민감합니다. 은행을 예로 들면 10만 원을 송금했는데 100만 원이 송금되면 큰일 나겠죠. 오류가 1개 났을 뿐인데 말이죠. 반면에 음성신호는 오류에 민감하지 않은 편입니다. 따라서 데이터 전송..

kkhipp.tistory.com

기본 옵션으로는 패리티 비트를 사용하지 않습니다. 기본 프레임은 Start Bit(1) + Data(8) + Stop Bit(1)입니다.

 

SPI(Serial Peripheral Interface)

동기식 통신방식, Full-Duplex(송신을 하면서 수신이 가능한 통신 방식)입니다. 

 

모토로라에서 제안하였고 SPI는 아래의 4개의 선이 있습니다.

https://en.wikipedia.org/wiki/Serial_Peripheral_Interface

1. MOSI : Master Out, Slave In

2. MISO : Master In, Slave Out

3. SCK : 동기 통신에 필요한 Clock

4. CS : Chip Seleck, 데이터를 수신할 기기 선택 신호

구현이 쉽고 속도가 빠르다는 장점이 있습니다.


1:n통신이 가능하지만 CS(칩 인가)신호 만큼의 선이 필요하다는 단점이 있습니다.

 

기기와 기기간, 칩과 칩간의 근거리 통신으로 많이 사용됩니다.


I2C(Inter-Integrated Circuit) 

역시나 동기식 방식이며 Half Duplex(송수신이 동시에 불가) 방식입니다.

 

데이터신호와 클럭신호, 2선으로만 구성되어 있습니다.

https://www.analog.com/en/technical-articles/i2c-primer-what-is-i2c-part-1.html#

1. SDA : Data 신호

2. SCK : Clock 신호

SPI와 마찬가지로 1:n 통신이 가능하며 n의 수가 늘어도 2개의 선으로만 할수 있다는 장점이 있습니다.
 
속도는 SPI보다 느립니다. 

'전자공학 > 통신' 카테고리의 다른 글

FTP 와 TFTP, TCP 와 UDP  (0) 2019.10.16
Big Endian vs Little Endian  (0) 2019.10.16
CAN 통신이란? + LIN, FlexRay  (0) 2019.03.18
OFDM 시스템 구조  (0) 2018.09.06
이동통신 시스템에서의 채널추정 방법(파일럿 신호)  (0) 2018.08.29

FTP : File Trasfer Protocol

파일을 전송하는데 사용되는 프로토콜입니다. (서버와 클라이언트, 컴퓨터와 컴퓨터 사이)

 

TCP를 사용하여 신뢰성 있고, 연결지향적인 방식으로 파일을 전송, 수신하는 프로토콜입니다.

 

20번 포트 : Data 전송

 

21번 포트 : 제어정보 전송 (FTP의 명령어)

 

ACK 존재, ACK를 받아야만 다음 데이터를 보내게 됩니다. (관계중심적)

 

ACK가 데이터 전송에 대한 신뢰성 보장합니다.

 

ACK란? Acknoledgement 데이터를 잘 받았다는 신호입니다.

 

FTP 사용의 예시는 주변에서 볼 수 있는 FileZilla, 알드라이브입니다.

 

TCP란?

 

서로 다른 네트워크에서도 통신이 가능한 연결지향성프로토콜, 양방향 전송입니다.

 

흐름 제어를 위해 동적 윈도우 방식을 사용, 오버헤드가 높습니다.

 

대용량의 데이터나 중요한 데이터 전송에 사용합니다. 

 

3 way handshaking 방식을 거쳐  좀 더 신뢰성 있는 통신을 한다.

 

Handshaking이란? 

 

데이터를 전송할 때 동기를 맞추기 위하여 신호르 주고 받는 것

 

 

 

TFTP : Trivial File Transfer Protocol

FTP에 비해 단순하고 빠르게 파일을 전송하는데 사용되는 프로토콜, 보안에 취약합니다.

 

UDP를 사용하여 빠르고 비연결형 파일 전송 프로토콜입니다.

 

포트번호 : 69

 

라우터나 스위치의 설정파일과 IOS이미지를 받아올때 주로 사용됩니다.

 

인증 절차가 없어 누구나 호스트에 접근해 정보를 가져갈 수 있습니다.

 

UDP란?

 

같은 네트워크에서만 통신이 가능한 비연결성 전송 프로토콜, 속도가 빠름, 단방향 전송입니다.

 

신뢰성이 낮고 오버헤드가 적습니다.

 

 

OSI 7 Layer에서 FTP와 TFTP는 7.응용계층, TCP와 UDP는 4.전송계층 

 

'전자공학 > 통신' 카테고리의 다른 글

UART, I2C, SPI 통신  (0) 2019.10.20
Big Endian vs Little Endian  (0) 2019.10.16
CAN 통신이란? + LIN, FlexRay  (0) 2019.03.18
OFDM 시스템 구조  (0) 2018.09.06
이동통신 시스템에서의 채널추정 방법(파일럿 신호)  (0) 2018.08.29

빅엔디안(Big Endian), 리틀엔디안(Little Endian)은 통신 때 흔히 들을 수 있는 용어입니다.

 

어원은 걸리버 여행기에서 계란을 작은 쪽에서 부터 깬다(Little Endian), 큰 쪽에서부터 깬다(Big Endian)

 

에서 유래되었다고 합니다.

 

바이트 오더(Byte Order) 즉, 바이트(데이터)가 저장되는 순서로 Big Endian, Little Endian이 나뉩니다.

 

Big Endian은 큰 단위부터 먼저 저장되는 방법, Little Endian은 작은 단위부터 먼저 저장되는 방법입니다.

 

위는 이해하기 쉽게 설명을 했고 정확한 표현은 다음과 같습니다.

 

우선 데이터는 낮은 주소부터 저장됩니다.

 

여기서 저장된 데이터를 

 

낮은 주소부터 높은 주소 방향으로 읽는 방법이 Little Endian

 

높은 주소부터 낮은 주소 방향으로 읽는 방법이 Big Endian 입니다.

 

주로 사람이 읽는 방식은 Big Endian 방식이라고 생각하시면 편합니다.

 

 

비트 오더, 바이트 오더를 예시로 들어 이해하기 쉽게 설명해드리겠습니다.

 

먼저 비트 오더를 설명해드리겠습니다.

 

Data = 0000 0001                   Big Endian = 1,  Little Endian = 128

 

Big Endian은 큰 단위부터 먼저 저장되는 방법이기 때문에 1은 가장 작은 단위 1입니다.

 

Little Endian은 작은 단위부터 먼저 저장되는 방법이기 때문에 1은 가장 큰 단위인 128입니다. (10진수 표현)

 

보통 Bit order 비트오더는 Big Endian 방식이 일반적입니다.

 

이제 바이트 오더입니다.

 

Data = 0xA1B2C3D4

Big Endian = A1 B2 C3 D4

Little Endian = D4 C3 B2 A1

 

Big Endian은 순서대로 저장, Little Endian은 거꾸로 저장!

 

여기서 Little Endian = 4D 3C 2B 1A 가 아닌 이유는 단위가 바이트이기 때문입니다.

 

 

Big Endian : 모토로라, IBM, RISC, 모토로라 , Sun SPARC

Little Endian : 인텔, ARM, AMD, Digital Alpha

'전자공학 > 통신' 카테고리의 다른 글

UART, I2C, SPI 통신  (0) 2019.10.20
FTP 와 TFTP, TCP 와 UDP  (0) 2019.10.16
CAN 통신이란? + LIN, FlexRay  (0) 2019.03.18
OFDM 시스템 구조  (0) 2018.09.06
이동통신 시스템에서의 채널추정 방법(파일럿 신호)  (0) 2018.08.29

CAN통신을 들어보셨나요?



-위키백과(CAN버스)-


CAN(Controller Area Network)은 차량 내에서 호스트 컴퓨터 없이 마이크로 콘트롤러나 장치들이 서로 통신하기 위해 설계된 표준 통신 규격이다.


1983년 최초로 Bosch사에서 개발하였고 현재 생산되는 대부분의 자동차에서 사용되고 있다.


CAN통신은 OBD-II 라고 불리는 차량 진단용 통신 표준의 5대 프로토콜 중 하나로 포함되어 있다.


위 표준은 미국에서 판매되는 차량의 필수사항으로 적용되고 있다.


(출처 : 위키백과)





위키백과에서 대략적인 흐름을 잘 말해주고 있습니다.


즉 차량내에 ECU(Electronic Control Unit)들은 CAN방식으로 통신하고 있습니다.




(출처 : http://infialpha.com)


초기에는 UART방식으로 통신하였지만 UART는 일대일(Point to Point)방식으로 


ECU의 수가 증가하면 배선이 증가하게 되어서 관리도 힘들고 무게 측면에서도 비효율적이었습니다.


위의 UART의 단점을 CAN방식 통신은 극복하고 있습니다. 


(현재 자동차에는 인포테인먼트, 전기차의 배터리 등으로 ECU의 수가 증가하고 있습니다.)




CAN통신의 핵심은 차동방식이라고 생각합니다.


(http://www.epnc.co.kr)


이게 차동방식을 보여주는 신호 파형입니다.


보통 신호선과 GND선으로 구성되어있지만


CAN통신은 CAN_H, CAN_L와 GND로 구성되어있어 CAN_H, CAN_L의 차이로 신호를 파악합니다.


여기서 일반 신호선에 잡음이 들어가면 신호를 파악하기 힘들어지지만


CAN통신에서 CAN_H 와 CAN_L의 선은 보통 꼬여있습니다. 따라서 잡음이 비슷하게 적용됩니다.


결국 CAN_H와 CAN_L의 차이로 신호를 파악하면 잡음의 영향이 줄어들게 되는 강점이 있습니다.




CAN통신의 장점!!!!!


1. 노이즈에 강함


2. 저비용


3. 빠른 통신 속도(1Mbps)


4. 장거리 통신 가능(1km)




CAN통신을 살펴보다 보면 자동차에 사용되는 통신 용어중에 LIN과 FlexRay가 있습니다.



LIN(Local Interconnect Network)


가장 느리고 싸다.


따라서 자동차에서 비교적 고속이 필요하지 않은 부분에 사용한다. (비용 절감을 위해 - single wire)


FlexRay


가장 비싸지만 빠르고 안전하다.


CAN통신보다 더 빠른 속도를 요구하는 부분에 사용한다.


MOST(Media Oriented Systems Transport)


고속으로 멀티미디어 데이터를 전송할 때 사용한다.

OFDM 송수신 시스템의 구조를 그려봤습니다.



OFDM의 


CP(Cyclic Prefix)는 한 유효데이터 신호의 echo에 의한 간섭을 제거하기 위하여 GI에 CP를 삽입한다.


GI(Guard Interval)은 유효데이터신호와 그 다음 유효데이터신호의 간섭을 막기 위해 GI를 사용한다.


OFDM 심볼 = Time신호 + CP




통신에서 신호를 복원하기위해 채널을 파악하고 하는 행위들은 Pilot신호를 통해 가능


Pilot신호는 송신부에서 보내줌


Pilot 은 주파수 신호다!, 미리 값을 알고 있는 신호다


OFDM은 Orthogonal, Sinc함수들을 겹쳐도 나중에 복원 가능


OFDM은 여러 주파수의 신호를 겹쳐 보내서 나중에 다 복원가능한 시스템인데


이 겹치는거 때문에 PAPR이 커지는 단점이 있다.


그러면 증폭기를 비싼거 써야하는 단점, SCM방식 등으로 극복


CDMA 직교코드생성 방식 알아두자!


LTE - FDD, TDD 둘다 가능


MIMO - 1)전송속도 빠르게 2) 에러율 감소 *1번 2번 두가지를 동시에 가지진 못함 ex)전송속도 빠르게 - 에러율 그대로

이번 글에서는 이동통신 시스템에서 채널은 어떻게 추정하는지 알아보겠습니다.


N-LOS 상황에서 기지국이 여러 개의 단말기에 신호를 보낸다고 생각합니다.(Downlink)


여기서 기지국은 보내는 신호 중간중간에 파일럿 신호를 보내줍니다.(Pilot)


파일롯 신호란 기지국과 단말기 모두 알고 있는 신호를 말합니다.


y=hp+n 


y=수신신호, h=채널, p=파일럿, n=노이즈


채널은 시간이나 위치에 따라서 달라집니다.


파일럿 신호를 적당한 간격으로 배치하여 채널을 추정하여 그 근처의 신호에 적용하여 사용합니다.


파일럿 신호는 시간개념이 아니라 주파수개념입니다.


참고로 채널의 크기는 클수록 좋고 0에 가까워질수록 페이딩 에러 확률이 증가합니다.


채널 추정 과정


양변을 p로 나눕니다. 여기서 p는 매우 큽니다.


y/p=h+n/p => h'=y/p     여기서 n/p는 매우 작으니까 생략, h'=채널의 추정치


이 채널 추정치를 바로 다음 신호에 대입하여 사용합니다. 


z = y/h'    여기서 z는 결정변수

5G의 시대가 다가오면서 통신 속도는 점점 빨리지고 있습니다.


이번 글은 통신 속도는 어떠한 변수와 관계가 있는지 살펴보려고 합니다.


결론부터 말하자면 통신 속도는 대역폭과 비례하는 관계입니다.


일반 적으로 통신에 있어서 신호(1bit)는 불연속적인 Sin파 형태로 보내집니다.


그리고 이 사인파를 주파수 도메인에서 바라보면


대역폭과 1 bit를 가장 빠르게 전송하는데 걸리는 시간과 반비례함을 알 수 있습니다.


이를 통해 대역폭과 통신 속도는 비례함을 알 수 있습니다.


아래에는 이해하기 쉽게 그림과 식으로 풀어냈습니다.



모든 통신은 프레임 단위로 Burst가 이루어 집니다.


Burst란 데이터가 프레임에 꽉 차면 쾅! 하고 한꺼번에 보내는 느낌입니다.


그리고 Interleaving 은 burst 에러(에러가 연달아서 일어나는 현상)를 피하기 위해서 쓰는데 


Frame 단위로 Interleaving을 합니다.


이제 프레임, 서브프레임 ,Slot, OFDM 심볼을 알아보겠습니다.


전체적인 그림입니다.


1 Frame(10ms)=10 Subframe(1ms)


1 Subframe(1ms)=2 Slot(0.5ms)


1 Slot = 7 OFDM Symbol


여기서 OFDM Symbol에서 노랑색 부분은 CP(Cyclic Prefix)입니다. 


CP는 만약 단말기가 Cell Edge에 가까운 즉, 기지국에서 멀어지면(Delay가 커지면) CP가 길어져야합니다.


그렇게 되면 1 Slot에 OFDM Symbol이 7개가 못들어가게 됩니다. 


이런 경우에는 1 Slot에 OFDM Symbol이 6개가 들어갑니다.



버스형 (Bus)


일부 고장시 전체에 영향을 줍니다.


추가 변경 제거 용이합니다.




망형 (Mesh)

많은 양의 통신에 강하고 많이 쓰입니다.


통신선로의 총길이가 가장 깁니다.


안정적이지만 설치어렵고 유지보수 비용이 많이 듭니다.


공중통신망에 사용됩니다.




스타형 (Star)

중앙 집중형이고 중앙엔 허브같은게 위치합니다.


문제 빠르게 파악 가능합니다.


중앙에 문제 생기면 모든 네트워크 문제가 됩니다.



링형 (Ring)

Single Ring = 단방향


Dual Ring = 쌍방향


구조 간단하지만 링 제어 복잡합니다.


장비 추가 삭제시 연결을 절단해야합니다.



트리형 (Tree)

스타형에 비해 배선절약을 절약할수 있지만 전송거리가 증가될 수 있다


통신선로의 총 길이가 짧습니다.


구성은 복잡하지만 신뢰도가 높고 분산처리 시스템에 적합합니다.


부모노드가 고장나면 자식노드 연결 단절됩니다.



와이파이 Wi-Fi



소비전력이 높다


2.4GHz, 5GHz 대역을 사용한다.


광대역 인터넷,  무선랜에 사용한다.



블루투스 Bluetooth



단거리 고속에 적합하다.


2.4GHz 대역을 사용한다.


일대일, 일대다 연결이다.


데이터 전송에 강하여 기기간 무선연결, 웨어러블 디바이스에 사용한다.


작품활동을 하며 가장 많이 사용한 통신


비콘도 블루투스 4.0 기반 통신이다.




지그비 ZigBee(Zigzag+Bee)




저비용 완전저전력 망사형


장거리 저속에 적합


토폴로지 Adhoc, mesh, star, point to point 등


868MHz(유럽)

900~928MHz(미국 및 오스트레일리아)

2.4GHz(전세계)



스마트홈 산업제어 모니터링 센서 네트워크 빌딩자동화 등에 사용


IrDA (Infrared Data Association) 


적외선 통신


속도가 빠르고 에러가 적다.


리모콘에 사용


요새는 연구가 적다.


+ Recent posts