클린플라이트 설정 - 시리얼 - Serial

드론/쿼드콥터 2016.09.07 17:56 Posted by 푸른하늘 푸른하늘이

시리얼(Serial)

Cleanflight 는 시리얼포트의 유연함을 향상시켰지만, 이로 인해 설정은 약간 복잡해졌습니다.

Cleanflight는 function(MSP, GPS, Serial RX 등)과 포트(VCP, UARTx, SoftSerial x) 라는 개념이 있습니다. 모든 포트에 모든 기능이 사용되는 것은 아닙니다. 하드웨어 핀 매핑, 기능의 충돌, 하드웨어 및 소프트웨어 제한 등 때문입니다.

시리얼 포트 유형(Serial port types)

  • USB 가상 콤 포트(VCP : Virtual Com Port) - USB 포트의 USB 핀이 직접 프로세서에 연결되어, 전용 USB에서 UART 어댑터가 필요 없습니다. VCP는 물리적 UART 포트를 '사용'하지 않습니다.??
  • UART - 전송 및 수신 핀의 전용 하드웨어 쌍으로, 신호의 검출 및 생성을 하드웨어에서 처리합니다. ??
  • SoftSerial - 전송 및 수신 핀의 전용 하드웨어 쌍으로, 신호의 검출 및 생성을 소프트웨어에서 처리합니다.

UART가 CPU 사용의 관점에서 더 효율적입니다. SoftSerial은 가장 효율성이 낮고 늦습니다. SoftSerial은 텔레메트리 송신과 같이 용량이 적은 경우에만 사용해야 합니다.

UART 포트는 가끔 온보드 USB -> UART 변환기를 통해 노출이 됩니다. Naze와 Flip32 보드에 있는 CP2102 등이 그 예입니다. 비행 콘트롤러가 온보드 USB -> UART 컨버터가 없고 VCP를 지원하지 않으면, 별도의 USB -> UART 변환보드가 필요합니다. 이런 보드를 FTDI 보드라고 합니다. FTDI는 사실 USB -> UART 보드에서 사용되는 칩(FT232RL)의 제작회사일 뿐입니다.

USB -> UART 변환기를 골라야 하면, DTR이 노출되어 있고, 3.3v 및 5v를 선택할 수있는 것으로 고르세요. 훨씬 유용하기 때문입니다.

예를 들면 : 

SoftSerial 및 UART 포트는 모두 USB -> UART 변환보드를 사용하면 PC에 연결할 수 있습니다.

시리얼 설정(Serial Configuration)

시리얼 포트 설정은 Cleanflight 설정프로그램 GUI를 이용하는 것이 가장 좋습니다.

먼저 시리얼포트를 설정하고, 포트를 사용할 기능을 활성화/비활성화 시킵니다. SoftSerial 포트를 설정할 경우, SOFTSERIAL 기능도 반드시 활성화 시켜야 합니다.

제한사항(Constraints)

만약 설정이 유효하지 않다면, 시리얼 포트 설정은 기본값으로 리셋되고 기능들이 비활성화 될 수 있습니다.

  • 반드시 MSP/CLS로 사용되는 포트는 존재해야 합니다.
  • MSP 포트는 최대 2개까지 가능합니다.
  • 포트에서 어떤 function을 사용하려면, 해당 function의 관계 기능도 활성화시켜야 합니다. 예 : 어떤 포트를 GPS로 사용하려면, GPS 기능을 활성화시켜야 합니다.
  • SoftSerial 을 사용할 경우 모든 SoftSerial 포트는 반드시 동일한 baudrate를 사용해야 합니다.
  • SoftSerial은 최대 19200 baud까지 사용할 수 있습니다.
  • MSP를 제외한 모든 텔레메트리 시스템은 buadrate를 덮어쓰려는 어떠한 시도도 무시합니다.
  • MSP/CLI 는 Blackbox 혹은 텔레메트리 둘중 하나와 공용할 수 있습니다. 공유한 모드에서 블랙박스나 텔레메트리는 시동이 걸렸을 때만 출력합니다.
  • Smartport 텔레메트리는 MSP와 공유할 수 없습니다.
  • 기타 어떤 시리얼포트 공유 조합도 불가능합니다.
  • 원한다면 여러가지 텔레메트리 시스템을 동시에 사용할 수 있습니다. 
  • 각각의 텔레메트리 시스템은 하나만 사용할 수 있습니다. 예를 들어, FrSky 텔레메트리를 동시에 사용할 수 없지만, MSP 텔레메트리 + FrSky 를 다른 포트에서 각각 사용하는 것은 무방합니다.

CLI 를 통한 설정

CLI를 사용하여 설정할 수 있지만, 명령어는 개발자 및 고급 사용자에게만 허용되어 있습니다.

CLI 명령 serial 은 다음 6가지 변수를 받습니다.

  1. Identifier 
  2. Function bitmask (see serialPortFunction_e in the source) 
  3. MSP baud rate 
  4. GPS baud rate 
  5. Telemetry baud rate (auto baud allowed) 
  6. Blackbox baud rate

Baud Rates

허용되는 baud rate는 다음과 같습니다.

IdentifierBaud rate
0Auto
19600
219200
338400
457600
5115200
6230400
7250000

원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Serial.md

이전글 : 명령어입력(CLI)

다음글 : 수신기(Receivers, Rx)

댓글을 달아 주세요

BLOG main image
공간정보와 인터넷지도
제 관심사는 계속 바뀝니다. 이 블로그를 유지하는 동안에도 벌써 여러번 주제가 빠뀐 것 같습니다. 돌고 돌아 이제 고향으로 돌아왔습니다. 공간정보입니다. 세계를 측정하고, 그 기준을 세우고, 데이터를 효율적으로 공유하는 것이 공간정보에서 다루는 내용입니다. 4차산업혁명이 데이터 기반이라고들 합니다. 데이터는 그냥 모아둔다고 정보가 되지 않습니다. 표준에 따른 공통 스키마를 기반으로 만들어져야 합니다. 누구나 언제든지, 쉽고 투명하게 데이터를 가져다 쓸
by 푸른하늘이
Profile for bluesky61

달력

«   2019/06   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

카테고리

전체보기 (1589)
구글어스 (829)
공간정보 (239)
사진 (103)
드론/쿼드콥터 (239)
지오캐싱 (47)
기타 (131)
  • 4,615,831
  • 443409
TNM Media textcube get rss

공간정보와 인터넷지도

푸른하늘이's Blog is powered by Tistory. / Supported by TNM Media.
Copyright by 푸른하늘이 [ http://www.ringblog.com ]. All rights reserved.

Textcube TNM Media
푸른하늘이's Blog is powered by Tistory. Designed by Qwer999. Supported by TNM Media.