Dabar yra 28 Kov 2024 14:35

Visos datos yra UTC + 2 valandos




Naujos temos kūrimas Atsakyti į temą  [ 11 pranešimai(ų) ] 
Autorius Žinutė
 Pranešimo tema: [ProjektuX] DIY Spektrum DSM2, FrSKY ir kt. imtuvai
StandartinėParašytas: 19 Sau 2017 00:16 
Model
Model

Užsiregistravo: 20 Rgs 2010 17:44
Pranešimai: 243
Miestas: Vilnius


Paskutinį kartą redagavo SVentas 16 Bal 2017 20:38. Iš viso redaguota 7 kartus.

Į viršų
 Aprašymas  
 
 Pranešimo tema: 00. DSM2 protokolas - motyvacija
StandartinėParašytas: 22 Sau 2017 16:21 
Model
Model

Užsiregistravo: 20 Rgs 2010 17:44
Pranešimai: 243
Miestas: Vilnius


Paskutinį kartą redagavo SVentas 16 Bal 2017 20:24. Iš viso redaguota 4 kartus.

Į viršų
 Aprašymas  
 
 Pranešimo tema: 01. DSM2 protokolas - protokolo HACKing'as
StandartinėParašytas: 04 Vas 2017 20:35 
Model
Model

Užsiregistravo: 20 Rgs 2010 17:44
Pranešimai: 243
Miestas: Vilnius


Prikabinti failai:
Failo aprašymas: Logic Analyser Data
LAData.png
LAData.png [ 17.15 KiB | Peržiūrėta 7666 kartus(ų) ]
Failo aprašymas: Logic Analyser Interface
LACon.png
LACon.png [ 70.54 KiB | Peržiūrėta 7666 kartus(ų) ]
Failo aprašymas: ISSP Connection
ISSPCon.png
ISSPCon.png [ 94.42 KiB | Peržiūrėta 7666 kartus(ų) ]
Failo aprašymas: Flash tool
FlashTool.png
FlashTool.png [ 6.28 KiB | Peržiūrėta 7666 kartus(ų) ]
Failo aprašymas: HSSP Setup
HSSPSetup.png
HSSPSetup.png [ 142.79 KiB | Peržiūrėta 7666 kartus(ų) ]


Paskutinį kartą redagavo SVentas 31 Gru 2017 13:26. Iš viso redaguota 5 kartus.
Į viršų
 Aprašymas  
 
 Pranešimo tema: 02. DSM2 protokolas - signalo priėmimo procedūra
StandartinėParašytas: 17 Vas 2017 15:38 
Model
Model

Užsiregistravo: 20 Rgs 2010 17:44
Pranešimai: 243
Miestas: Vilnius


Prikabinti failai:
Failo aprašymas: DSM2 timing
DSM2.png
DSM2.png [ 5.77 KiB | Peržiūrėta 7665 kartus(ų) ]


Paskutinį kartą redagavo SVentas 31 Gru 2017 13:32. Iš viso redaguota 5 kartus.
Į viršų
 Aprašymas  
 
 Pranešimo tema: 03. DSM2 protokolas - BIND'ingas
StandartinėParašytas: 19 Vas 2017 13:54 
Model
Model

Užsiregistravo: 20 Rgs 2010 17:44
Pranešimai: 243
Miestas: Vilnius
Paskutinis DSM2 protokolui skirtas pasakojimas yra apie imtuvo ir siųstuvo surišimą – BINDing‘ą.

BINDing‘as yra speciali procedūra, kurios metu siųstuvas pasako imtuvui, kokius skiriamuosius ženklus reiks naudoti ryšio metu. Arba kitaip sakant, siųstuvas pasako, kaip imtuvas turės priimti, atskirti, aptikti ir suprasti jam skirtus signalus iš daugybės kitų eteryje klajojančių signalų.
BINDing‘o metu siųstuvas siunčia specialius paketus, kuriuose yra įrašytas ryšio identifikacijos numeris. Šis numeris vėliau yra naudojamas praktiškai visose signalo priėmimo stadijose. Pagal identifikacijos numerį imtuvas atskiria ar gautas paketas yra skirtas tikrai būtent jam. Pagal tą patį identifikacijos numerį imtuvas, naudodamas CRC16 metodą, tikrina ar gauto paketo duomenys yra be klaidų. Ir pagal tą patį identifikacijos numerį imtuvas sugeneruoja specialias skaičių sekas, kurios naudojamos „klausantis“ eterio ir bandant aptikti bei išskirti DSM2 siųstuvo siunčiamą signalą iš kakofonijos, kurią skleidžia daugybė aplink esančių kitų įrenginių.

Pati BINDing‘o procedūra yra gana trumpa. Ji trunka apie 15 sekundžių. BINDing‘o pradžioje siųstuvas atsitiktinai pasirenka kokį nors vieną nelyginį ryšio kanalą/dažnį ir kas 9,8ms siunčia specialius BINDing‘o paketus. Iš viso siųstuvas išsiunčia apie 600 BINDing‘o paketų.

Imtuvas, būdamas BINDing‘o režime greitai (apie 11ms vienam kanalui) skenuoja visą nelyginių ryšio kanalo/dažnių diapazoną ieškodamas to kanalo, kuriuo sklinda BINDing‘o paketai. Paketai turi atitikti tam tikrus labai griežtus BINDing‘o paketo reikalavimus, nes BINDing‘o metu nėra naudojama CRC16 klaidų tikrinimo funkcija. Paketų ilgai ieškoti negalima, nes siųstuvas šiuos paketus siunčia tik tam tikrą laiką, kol išsiunčia visus 600 paketų. Vėliau siųstuvas pareina į BINDing‘o patvirtinimo stadiją ir paketų nebesiunčia.
Kai imtuvas randa BINDing‘o kanalą/dažnį, ir priima bent kelis paketus, kurie atitinka visus BINDing‘o paketui keliamus reikalavimus, tuomet imtuvas įsimena/įsirašo pakete esančią informaciją t.y. ryšio identifikacijos numerį ir dar porą savybių, tokių kaip kanalų skaičius ir protokolo tipas, kurias naudos ateityje priimdamas duomenis iš DSM2 siųstuvo. Toliau imtuvas pasilieka BINDing‘o kanale ir priima visus likusius BINDing‘o paketus, kuriuos siunčia siųstuvas. Tokiu būdu imtuvas laukia, kol siųstuvas baigs pirmąją BINDing‘o stadiją.

Kai imtuvas nustoja gauti BINDing‘o paketus, tuomet prasideda antroji stadija - BINDing‘o patvirtinimas.
Čia aš norėčiau pasukti į šalį ir papasakoti apie keistą dalyką, kurį pastebėjau tik pradėjęs aiškintis DSM2 protokolo "vidurius", naudodamas loginį analizatorių, analizuojantį duomenis, vaikštančius tarp CYRF6936 tranceiver‘io ir CY8C21434 mikrovaldiklio. Pradžioje, tik padavus imtuvui įtampą, yra konfigūruojamas CYRF6936 tranceiver‘is. Kadangi tai yra ir imtuvas ir siųstuvas viename korpuse, tai natūralu tikėtis, kad programuojant imtuvą reiktų konfigūruoti tik imtuvo dalį, o siųstuvo dalį arba reiktų išjungti arba bent jau palikti ramybėje. Tačiau gauti duomenys rodė ką kitą. Pradžioje buvo konfigūruojamas ne tik CYRF6936 imtuvas, bet ir siųstuvas. Iš pradžių aš iš savo imtuvo programos kodo išmečiau CYRF6936 siųstuvo konfigūracijos dalį, nes ji man atrodė nereikalinga. Imtuvo savybės nuo to nepasikeitė ir pats imtuvas veikė gerai. Bet kai priėjau prie BINDing‘o procedūros programavimo, tuomet paaiškėjo įdomus dalykas. Mano suprogramuotas imtuvas priimdavo BINDing‘o paketus, įsimindavo informaciją, sulaukdavo, kol siųstuvas baigs siųsti savo BINDing‘o paketų limitą ir tuo viskas pasibaigdavo. Po to jokio ryšio su siųstuvu mano imtuvui užmegzti nepavykdavo.
Problemos priežasties ilgai ieškoti neteko. Viskas paaiškėjo pamačius, kad BINDing‘o procedūra nesibaigia BINDing‘o paketų siuntimu. Dar yra antroji dalis - BINDing‘o patvirtinimas.
BINDing‘o patvirtinimo stadijoje siųstuvas su imtuvu susikeičia vietomis t.y. siųstuvas trumpam tampa imtuvu, o imtuvas trumpam tampa siųstuvu. Štai kodėl pradžioje buvo konfigūruojamas ne tik CYRF6936 imtuvas, bet ir siųstuvas.
Šioje stadijoje imtuvas BINDing‘o kanalu/dažniu kas 7,6ms siunčia specialų BINDing‘o patvirtinimo paketą. Viso imtuvas išsiunčia 600 tokių paketų. Paketą sudaro ryšio identifikacijos numeris, kurį imtuvas gavo iš siųstuvo praeitoje BINDing‘o stadijoje. Siųstuvas savo ruožtu priima imtuvo siunčiamą paketą ir, jeigu viskas gerai, pradeda dirbti įprastu savo režimu, kurį aprašiau ankstesniame post‘e. O jeigu kažkas negerai, tai tuomet ryšį su imtuvu galima atstatyti tik kitos sėkmingo BINDing‘o procedūros dėka.
Imtuvas, išsiuntęs 600 BINDing‘o patvirtinimo paketų taip pat pereina į įprastą režimą, aprašytą ankstesniame post‘e.

Norėčiau pabrėžti, kad projekte, kuriuo iš dalies aš rėmiausi, nėra suprogramuota antroji BINDing‘o stadija, todėl pagal šį projektą padaryti imtuvai nesusirištų su Spektrum DX6i siųstuvais.

Štai ir viskas apie DSM2 protokolą. :)


Paskutinį kartą redagavo SVentas 16 Bal 2017 20:00. Iš viso redaguota 4 kartus.

Į viršų
 Aprašymas  
 
 Pranešimo tema: DIY DSM2 6Ch Serial Rx
StandartinėParašytas: 19 Vas 2017 13:54 
Model
Model

Užsiregistravo: 20 Rgs 2010 17:44
Pranešimai: 243
Miestas: Vilnius
Nepaisant to, kad man pavyko, parašyti savo DSM2 imtuvo programinę įrangą, perduodančią gautus duomenis per nuosekliąją sąsają ir veikiančią neprasčiau už originalią Spektrum programą, tačiau pigūs kiniški imtuvai ir tų imtuvų kontrukcija bei panaudotos neaiškios detalės nedavė man ramybės. Gal būt panaudojus aukštos kokybės CYRF6936 RF tranceiver'io chipo gamintojo rekomenduojamus elementus, galima būtų pasiekti dar geresnių rezultatų. Kartu norėjosi pasidaryti ir šiek tiek mažesnį imtuvą, nes man nebereikia visų šešių išėjimų, kurie tik užima vietą.
Taip gimė savadarbio (DIY angl. Do It Yourself - Pasidaryk Pats), optimizuoto DSM2 imtuvo idėja, kuri per kelias savaites pavirto į štai tokią principinę schemą ir plokštę:
Failo aprašymas: DIY DSM2 RX Sch
DSM2RxSch.png
DSM2RxSch.png [ 7.86 KiB | Peržiūrėta 7665 kartus(ų) ]

Failo aprašymas: DIY DSM2 RX PCB
DSM2RxPCB.png
DSM2RxPCB.png [ 37.39 KiB | Peržiūrėta 7665 kartus(ų) ]


DIY DSM2 imtuvo schema truputį skiriasi nuo originalaus Spektrum AR6200 imtuvo, o kartu ir kiniškų AR6200 imtuvo kopijų, todėl šio imtuvo programinė įranga nėra suderinama su ankstesniuose mano post'uose skelbtu programos kodu.
Imtuvo plokštės gamyba buvo užsakyta tikriausiai geriausiame ir pigiausiame tokio dydžio prototipų gamybos servise, esančiame USA, . Reikėjo palaukti daugiau nei mėnesį, kol gavau pačią plokštę standartinės violetinės OSH Park serviso spalvos, auksu (ENIG) dengtomis kontaktinėmis aikštelėmis ir labai aukštos kokybės šilkografija (užrašais), kuri tiesiog niekaip nesilygina su kinų PCB serviso šilkografija.

Nors šiandien yra Šv. Velykų pirma diena, bet už lango vėl beveik žiema, keli centimetrai sniego ir šaltas šiaurinis vėjas. Tačiau nėra to blogo, kas neišeitų į gerą. Sėdint namie galima ramiai sukonstruoti ir išbandyti savo pirmąjį DIY DSM2 imtuvą.

Darbas prasideda nuo donorinio kiniškos AR6200 imtuvo kopijos pasirinkimo iš kurios paimsiu pagrindinius chip'us t.y. CYRF6936 2.4 GHz RF tranceiver'į, CY8C21434 mikrovaldiklį ir 12MHz kvarcinį rezonatorių. Reikalas tas, kad AR6200 imtuvas yra labai senas ir detalės, iš kurių tas imtuvas padarytas, taip pat yra labai senos, todėl arba nebegaminamos arba nebeparduodamos. Norint pasigaminti mano suprojektuotą DIY DSM2 imtuvą reikės atlikti detalių "transplantacijos" operaciją ir perkelti pagrindinius chipus iš donorinio kiniško imtuvo į akceptorių - DIY DSM2 imtuvo plokštę:
Failo aprašymas: Donor-acceptor before
DSM2RxDA01.jpg
DSM2RxDA01.jpg [ 87.28 KiB | Peržiūrėta 7665 kartus(ų) ]


Po "transplantacijos" visas reikalas atrodo štai taip:
Failo aprašymas: Donor-acceptor after
DSM2RxDA02.jpg
DSM2RxDA02.jpg [ 83.5 KiB | Peržiūrėta 7665 kartus(ų) ]


Toliau belieka sulituoti trūkstamas detales. Likusių detalių iš kiniško imtuvo aš nebenaudosiu, nes nežinia, kas ten tiksliai sudėta, o naudosiu aiškios kilmės ir CYRF6936 chipo gamintojo rekomenduojamas arba geresnes detales.

Po valandėlės darbo, kuris daugiausia sudarytas iš smulkių detalių "išlukštenimo" ir sudėjimo į lydmetalio pastą, rezultatas atrodo štai taip:
Failo aprašymas: DIY DSM2 Rx Final Top
Final01.jpg
Final01.jpg [ 61.55 KiB | Peržiūrėta 7665 kartus(ų) ]

Failo aprašymas: DIY DSM2 Rx Final Side1
Final02.jpg
Final02.jpg [ 54.75 KiB | Peržiūrėta 7665 kartus(ų) ]

Failo aprašymas: DIY DSM2 Rx Final Side2
Final03.jpg
Final03.jpg [ 56.32 KiB | Peržiūrėta 7665 kartus(ų) ]

Failo aprašymas: DIY DSM2 Rx Final
FinalAnt.jpg
FinalAnt.jpg [ 37.6 KiB | Peržiūrėta 7665 kartus(ų) ]


Galų gale įrašius programinę įrangą, imtuvas puikiai veikia ir be problemų praeiną "Range test'ą".
Vėliau reikės pažiūrėti, ar padidėjo veikimo atstumas bei dar šiek tiek patobulinti programinę įrangą atsižvelgiant į naujo imtuvo savybes.

P.S. Manau, kad čia mano DSM2 protokolų, imtuvų ir programų epopėja baigiasi. Toliau bus kiti protokolai, imtuvai ir programos.


Paskutinį kartą redagavo SVentas 31 Gru 2017 13:41. Iš viso redaguota 4 kartus.

Į viršų
 Aprašymas  
 
 Pranešimo tema: Re: [ProjektuX] Spektrum DSM2 6Ch ir FrSKY 8Ch imtuvai
StandartinėParašytas: 27 Vas 2017 13:10 
Model
Model

Užsiregistravo: 20 Rgs 2010 17:44
Pranešimai: 243
Miestas: Vilnius
Nauja dalis skirta FrSKY 8 kanalų imtuvui.

Turiu FrSKY D4R-II imtuvą ir porą tranceiver'ių modulių.
Failo aprašymas: FrSKY D4R-II RX, CC2500 module
FrSKY_RX.jpg
FrSKY_RX.jpg [ 85.01 KiB | Peržiūrėta 7665 kartus(ų) ]


Mano turimi moduliai neturi išvestos GDO0 kojos, todėl netinka projekto imtuvams daryti. Beto šis projektas yra uždaro kodo (kodas atviras tik DIY FrSKY siųstuvams), todėl neišeina padaryti pakeitimų ir pasinaudoti jau egzistuojančiu kitų žmonių įdirbiu.
Bet man atrodo, kad tai menka bėda. Kaip ir DSM2 imtuvo atveju, reikės parašyti savo programinę įrangą ir panaudoti turimus modulius. Telemetrijos greičiausiai teks atsisakyti, nes modulis neturi galios stiprintuvo, bet kaip paprastas imtuvas turėtų veikti neblogai.
Pradžiai suprojektavau derinimo plokštę, su kuria pasiaiškinsiu, kaip tiksliai veikia FrSKY imtuvas D8 režime, o po to bus galima pereiti prie paties imtuvo konstravimo.
Failo aprašymas: DevBrdSch
FrSKY_RX_sch.png
FrSKY_RX_sch.png [ 8.47 KiB | Peržiūrėta 7665 kartus(ų) ]

Failo aprašymas: DevBrdBrd
FrSKY_RX_brd.png
FrSKY_RX_brd.png [ 18.98 KiB | Peržiūrėta 7665 kartus(ų) ]


Sunku neturėtų būti, nes D8 režimas yra gerai išgvildentas.


Paskutinį kartą redagavo SVentas 31 Gru 2017 13:50. Iš viso redaguota 1 kartą.

Į viršų
 Aprašymas  
 
 Pranešimo tema: Re: [ProjektuX] Spektrum DSM2 6Ch ir FrSKY 8Ch imtuvai
StandartinėParašytas: 18 Kov 2017 12:50 
Model
Model

Užsiregistravo: 20 Rgs 2010 17:44
Pranešimai: 243
Miestas: Vilnius
FrSKY imtuvo konstravimo darbai pajudėjo į priekį, nes iš Kinijos atėjo PCB plokštės. Štai, kaip atrodo plika PCB su "dėl grožio" paguldytu CC2500 tranceiver'io moduliu (žalios spalvos):
Failo aprašymas: PCB
PCBModule01.jpg
PCBModule01.jpg [ 39.8 KiB | Peržiūrėta 9292 kartus(ų) ]

O štai, kaip atrodo jau surinktas ir sulituotas daiktas:
Failo aprašymas: Module
PCBModule02.jpg
PCBModule02.jpg [ 35.03 KiB | Peržiūrėta 9292 kartus(ų) ]

Į skraidančius modelius tokio prietaiso nedėsiu, nes jis tam nepritaikytas. Iš pradžių šitą kūrinį panaudosiu programinės įrangos rašymui ir derinimui, o po to jis greičiausiai bus panaudotas dar kitiems tikslams.

Jeigu viskas bus gerai, tuomet, šito įrenginio pagrindu, reiks sukonstruoti mažą 8 ar 16 kanalų FrSKY imtuvą be telemetrijos su SBUS ar kokia kitokia nuosekliąja sąsaja. Taip pat planuoju sukonstruoti didesnį imtuvą su kitokiu CC2500 moduliu, turinčiu galios ir mažo triukšmo stiprintuvus. Tuomet bus galima pagalvoti apie telemetriją ir dviejų antenų panaudojimą (diversity). Bet iš pradžių reikia pažiūrėti, ar išeis parašyti normalią programą šitam imtuvui, nes mano naudojami CC2500 moduliai neturi GDO0 išėjimo.


Į viršų
 Aprašymas  
 
 Pranešimo tema: Re: [ProjektuX] Spektrum DSM2 6Ch ir FrSKY 8Ch imtuvai
StandartinėParašytas: 22 Kov 2017 09:00 
Modeliuotojas
Modeliuotojas
Vartotojo avataras

Užsiregistravo: 15 Rgp 2011 21:56
Pranešimai: 7227
Miestas: Vilnius

_________________
Nerašykit man žinučių - čia nelabai būnu. Ieškokit kitais keliais...


Į viršų
 Aprašymas  
 
 Pranešimo tema: Re: [ProjektuX] Spektrum DSM2 6Ch ir FrSKY 8Ch imtuvai
StandartinėParašytas: 13 Bal 2017 21:19 
Model
Model

Užsiregistravo: 20 Rgs 2010 17:44
Pranešimai: 243
Miestas: Vilnius
Prieš porą dienų gavau keletą PCB plokščių, kurias buvau susiprojektavęs sau ir užsakęs :
Failo aprašymas: RX PCB set.
RXset.jpg
RXset.jpg [ 63.64 KiB | Peržiūrėta 9046 kartus(ų) ]

Čia matosi trijų skirtingų būsimų imtuvų plokštės. Pats didžiausias - tai 433MHz LRS imtuvas modulio pagrindu (31x22mm). Antras pagal dydį yra sumažintas ir mano poreikiams optimizuotas DSM2 imtuvas (23x17mm), o pats mažiausias yra FrSKY imtuvas CC2500 modulio pagrindu (20x15mm).

Pirmiausia surinkau patį mažiausią FrSKY imtuvą, nes prie jo dar reiks nemažai padirbėti, kol priderinsiu programinę įrangą. Šiame imtuve panaudotas kitas (mažesnis ir mažiau energijos naudojantis) chipas STM32F051, nei tas, kurį naudojau praeitame post'e.
Failo aprašymas: FrSky4in1
FrSky02.jpg
FrSky02.jpg [ 43.93 KiB | Peržiūrėta 9046 kartus(ų) ]

Failo aprašymas: FrSky Full
FrSky03.jpg
FrSky03.jpg [ 20.39 KiB | Peržiūrėta 9046 kartus(ų) ]


Tiems, kam įdomi imtuvo schema ir PCB:
Failo aprašymas: Schema
FrSkyTinySch.png
FrSkyTinySch.png [ 23.82 KiB | Peržiūrėta 7665 kartus(ų) ]

Failo aprašymas: PCB
FrSkyTinyPCB.png
FrSkyTinyPCB.png [ 19.71 KiB | Peržiūrėta 7665 kartus(ų) ]


Taip pat surinktas DSM2 imtuvas, o trumpas gamybos procesas ir galutinis rezultatas pavaizduotas .

Galiausiai susirinksiu 433MHz LRS imtuvą, nes jam dar trūksta kai kurių dalių, kurios turėtų ateiti po kelių savaičių.


Paskutinį kartą redagavo SVentas 31 Gru 2017 13:53. Iš viso redaguota 2 kartus.

Į viršų
 Aprašymas  
 
 Pranešimo tema: Re: [ProjektuX] Spektrum DSM2 6Ch ir FrSKY 8Ch imtuvai
StandartinėParašytas: 14 Bal 2017 13:02 
Modeliuotojas
Modeliuotojas

Užsiregistravo: 28 Geg 2010 17:23
Pranešimai: 1295
Miestas: Vilnius
:liux Gražiai dirbi, smagu matyti projektus judant.

_________________
Asmeninė svetainė


Į viršų
 Aprašymas  
 
Rodyti paskutinius pranešimus:  Rūšiuoti pagal  
Naujos temos kūrimas Atsakyti į temą  [ 11 pranešimai(ų) ] 

Visos datos yra UTC + 2 valandos


Dabar prisijungę

Vartotojai naršantys šį forumą: Registruotų vartotojų nėra ir 2 svečių


Jūs negalite kurti naujų temų šiame forume
Jūs negalite atsakinėti į temas šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite trinti savo pranešimų šiame forume
Jūs negalite prikabinti failų šiame forume

Ieškoti:
Pereiti į:  
cron
Administratoriaus kontaktai: info(eta)rcm.lt

 

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Vertė Vilius Šumskas © 2003, 2005, 2007