Zoznámenie s FrSky – 3. časť – Prenos dát

Po tom, čo sme v druhej časti popísali spôsob prenosu dát, dnes ukážeme skutočný prenos (zatiaľ) testovacích dát a ich zobrazenie na LCD displeji budúcej telemetrie. Ale ešte pred tým sa musíme „popasovať“ s problémom, ktorý sme nazvali: „Korekcia“.

autor: Janko O.

 


 

V predchádzajúcej časti sme pri popise prenosového protokolu ukázali, že firma FrSky používa 11-Bytové Dátové bloky, ktoré vždy začínajú aj končia dohodnutým znakom 0x7E. Ale čo robiť, keď sa takéto hexadecimálne číslo vyskytne v užívateľských dátach, alebo v hodnote napätia AD1 alebo AD2? To by mohlo spôsobiť chaos pri spracovaní prenesených dát.

 Firma FrSky to vyriešila tak, že „hexa číslo“ 0x7E je nahradené dvojicou 0x7D  0x5E. A aby nedošlo k zámene pri prenose „užívateľského“ čísla 0x7D, tak aj toto číslo je nahradené a to dvojicou 0x7D  0x5D (čiže vlastne 0x7D je doplnené o číslo 0x5D).

(Z uvedeného vyplýva, že ak sa pri prenose objaví niektoré z týchto čísiel, tak dátové bloky nebudú mať 11 Bytov, ale viac.)  Keď takéto „dvojičky“ privediete do mikrokontroléra telemetrie, tak je treba urobiť jediné:  0x7D  „zahodiť“ a nasledujúcu hodnotu (buď  0x5E  alebo  0x5D) „XOR-ovať“ hodnotou  0x20. Výsledkom bude, že naspäť dostanete „zakázané“ čísla  0x7E  a  0x7D.   Ó, aké jednoduché.   No, a túto procedúru sme nazvali „Korekcia“.

Korekciu je možné realizovať buď Off-line alebo On-line.

Off-line je určená skôr pre menej výkonné (alebo pomalšie taktované procesory – mikrokontroléry), pretože najprv sú dáta prijaté a potom je realizovaná spomínaná procedúra.

Ak máte dostatočne výkonný procesor, môžete Korekciu realizovať On-line, teda v kratučkých pauzách medzi jednotlivými prijímanými znakmi. Obvod PIC16F88 taktovaný 8 MHz „zvládal“ aj On-line Korekciu, ale pri použití iného, ešte neoptimalizovaného algoritmu dochádzlo k „zamrzaniu“.

A keďže Korekciu máme vyriešenú, môžeme skúsiť skutočný prenos dát, teda nie len dáta základnej telemetrie (analógové vstupy AD1 a AD2 a silu signálu RSSI), ale aj užívateľské dáta. Na experimentovanie sa môže „hodiť“ generátor testovacích dát. Ten sme „hravo“ realizovali pomocou mikrokontroléra PIC16F84A. Pre záujemcov prikladáme schému zapojenia.

A pre zasvätených aj program na generovanie skúšobných dát.

(Keďže sa jedná o informácie, ktoré môžu byť zaujímavé len pre pomerne úzku skupinu modelárov, nemá zmysel popisovať činnosť zapojenia na schéme, detailne rozoberať zloženie "Dvoj-Bytu",

alebo podrobne vysvetlovať činnosť toho-ktorého programu. V prípade záujmu tak môžeme urobiť v komentári k danému článku, alebo v samostatnom článku, ak by bol záujem väčší (o čom silno pochybujeme).) 

Firma FrSky vyžaduje dáta pred prenosom „prehnať “ invertorom s úpravou napäťových úrovní. Schéma zapojenia je tu:

Ale keďže mikrokontroléry PIC a programovací jazyk PIC Basic Pro Compiler umožňuje nastaviť aj inverznú „moduláciu“, invertor nebol nutný a napäťové úrovne sme prispôsobili jednoduchým odporovým deličom.

Takže bloková schéma telemetrie s využitím prenosového kanála FrSky môže vyzerať nasledovne:

No a nasledujúce obrázky už ukazujú skutočný prenos telemetrických údajov.

Buď len základnú telemetriu, teda zobrazenie napätia analógových vstupov AD1 a AD2 a Sily signálu RSSI, pričom hodnoty AD1 a AD2 sú následne prepočítané na skutočne pripojené napätia U1 a U2, vyjadrené vo Voltoch.

Alebo k tomu ešte aj užívateľské dáta, ktoré môžu zobrazovať napr. výšku letu vetroňa, otáčky motora alebo dúchadla (EDF), rýchlosť modelu, teplotu motora (batérií) atď.

Po dôkladnej analýze možností a na základe skúseností s našou súčasnou telemetriou sme dospeli k týmto rozhodnutiam:

  • užívateľské hodnoty budú prenášané ako 10-bitové, čiže v rozsahu 0 až 1023, čo je pre drvivú väčšinu modelárskych potrieb dostačujúci rozsah

  • aby to bolo dosiahnuteľné, je nutné 8-bitové Byty spájať do „dvojičiek“. Na ich jednoznačné rozlíšenie bude horný Byte začínať nulou a dolný Byte jedničkou.

  • Každá „dvojička“ v sebe bude mať Adresu - informáciu o tom, hodnotu čoho to vlastne nesie (výška, rýchlosť, teplota atď.).

    Tento spôsob prenosu sa nám javil ako najjednoduchší a najvhodnejší, s ohľadom na predpoklad krátkych výpadkov signálu, kedy je výhodné jednoznačne identifikovať aj pomerne malú skupinku úspešne prenesených Bytov.Keďže z pôvodných 16 bitov zostali 4 bity (10 bitov hodnota a 2 bity identifikáciehorný“ či „dolný“), je možné rozoznávať 16 Adries (čiže 16 prenášaných údajov), čo je viac, ako sme mohli “na vlastné oči“ vidieť, že by niekto využíval aj v telemetriách renomovaných firiem. Ďalšie zvýšenie počtu adries je možné dosiahnuť metódou tzv. „stránkovania“, ale to už je iná kapitola.

 

Súvisiace články (related topics):

Vario z telemetrie FrSky – 1. časť

„Umlčovač“ telemetrie.

Senzory k telemetrii FrSky – 2: Kontrola napätia článkov batéri

Senzory k telemetrii FrSky – 1. časť - Napäťový senzor

Zoznámenie s FrSky - 2. časť - Spôsob prenosu dát

Zoznámenie s FrSky - 1.časť - Základné funkcie

Antén nikdy nie je dosť!

Rozmanité podoby telemetrie

Projekt otvorenej telemetrie firmy FrSky
 

 

Telemetry  telemetrie


<Staršie | tento článok | Novšie>

Napísané: 5. 9. 2010, 08:05 | Prečítané: 15622x | Kategórie: FrSky a Telemetria | Napísal: admin |
Komentáre: 9
Janko, MIro
kedy mozme ocakavat prvu lastovicku pouzitelnu pre amaterov, FrSky modul mam uz na ceste ...
Odpoveď | 2010-10-08 14:40:19
.:. mior | mail
Už skoro, intenzívne pracujeme na tom...
Odpoveď | 2010-10-08 20:48:08
super, uz sa neviem dockat, FrSky je uz doma ...
Odpoveď | 2010-10-13 10:43:24
.:. LQd | mail
Mal by som takú otázočku trochu od témy, je displej použitý na fotkách typu "large"? Je veľmi zaujímavé, aký má malý plošák, v podstate len o malinko väčší ako samotný LCD panel, na rozdiel od všetkých ostatných - potrebujem krabicu ako krava aby som tam ten displej schoval, no bude na nej len malé okienko na samotnú zobrazovaciu plochu. Ak nie je "large", mohol by som Vás poprosiť o nejaké info, kde sa dá zohnať? Ďakujem.
Odpoveď | 2012-02-08 18:29:38
.:. Janko O
Ten displej sa mi zapáčil preto, že jeho písmená sú 10 mm veľké. Pôvodne som ho uvažoval použiť v telemetrii namiesto displeja normálneho s 5 mm písmenami. Ale medzi tým sme sa rozhodli pre PC telemetriu, takže z displeja sa stal testovací kus, ktorý je vhodný aj na fotografovanie.
Kúpil som ho v SOS. Toto je on:
odkaz
Odpoveď | 2012-02-13 17:57:29
Zdravim, muzete, prosim, upresnit jak je pripojeny vystup z telemtrie Tx modulu k mikroprocesoru? Na fotografiich vidim nejaky odpor? Jake jsou urovne na tomto vystupu?
Diky, Vasek H.
Odpoveď | 2012-03-15 21:48:10
.:. Janko O
Ahoj Vašku.
Ten odpor, ak máš na mysli ten malý zelený, má viac menej ochrannú funkciu, ačkoľvek to funguje aj bez neho (práve som to vyskúšal). Úrovne z modulu FrSky sú rádoby RS232, čiže sú bipolárne (to znamená, že idú do kladných ale aj záporných hodnôt), ale napätie nedosahuje +/- 12V, ale len asi +/- 6V.
To ale vôbec nevadí, pretože vlastnosti mikrokontrolérov PIC (a tým pádom aj PICAXE), umožňujú priame prepojenie (bez prevodníka úrovní typu MAX232 apod.) zariadenia s výstupom RS232 do vstupu PICu.
Citácia z manuálu PIC Basic Pro Compiler:
While single-chip RS-232 level converters are common and inexpensive, the excellent I/O specifications of the PICmicro MCU allow most applications to run without level converters. Rather, inverted input (N300..N9600) can be used is conjunction with a current limiting resistor.
Ja som použil odpor 3k9, ale ako som už spomenul, funguje to aj bez neho.
Avšak keďže prevodníky RS232 fungujú zároveň ako invertory, treba v programe pre PIC nastaviť inverznú moduláciu.
Odpoveď | 2012-03-16 11:12:16
Diky za odpoved. Prave temi nepetovymi urovnemi jsem si nebyl jisty - takze jsem pro jistotu pouzil MAX 232 coz je asi zbytecny luxus.
Odpoveď | 2012-03-19 13:43:32
.:. Janko O
Myslím, že je tam zbytočný.
Ide o to, že štandart RS232 bol vyvinutý začiatkom 60-tych rokov (1962) pre účely spojenia ďalekopisov (v rámci objektu). To znamená, že to malo byť na vzdialenosti desiatky alebo stovky metrov a tým pádom byť odolné aj prípadným poruchám, ktoré sa na tomto vedení vyskytli. Preto boli použité hladiny napätia rozdielnych polarít a pomerne veľkej hodnoty (až +/- 15V).
Ale na prepojenie dvoch zariadení od seba vzdialených 20cm je to úplne zbytočné.
2012-03-19 16:13:05
Pridaj komentár
Meno
Web
Mail
Kontrola Zadajte číslo päť
Text

:-)
:-D
:-(
|-/
:-[]
;-)
8-|
8-o
Tučné | Podrazené | Kurzíva  | zdroják | odkaz
  • Pre odoslanie správy môžete aj použiť klávesovoú skratku Alt+S. (Podporujú len niektoré prehliadače)
  • HTML znaky budú prevedené na entity.
  • Vyjadrujte sa tu ako doma, aby sme vedeli ako to u Vás vypadá.
  • Odkazy začínajúce http:// budú automaticky prevedené na odkazy , nepoužívajte však v jednom príspevku viac ako 3 - to robia len spam roboti:-)
správca | ICQ-Vaše ICQ | Podpora miniRS | Styl LazyDays | Sk preklad by beekeeper | Veľkosť databázy: 39852.92 kb