Lenovo P780 püsivara (raadiomooduli püsivara). Lenovo raadiomooduli püsivara Raadiomooduli versioon

Olen sageli pärast nutitelefoni ostmist väga pettunud.

Näiteks kuulus tootja Lenovo on keskendunud kahele erinevale turule. Esimene on suunatud Euroopa tarbijale, seega toodetakse nutitelefone Euroopas ja teist tüüpi nutitelefonid on “sündinud” Hiina ruumis.

Kui märkate leviga probleeme, võib see olla raadiomoodul

Loomulikult ei saa nii kahelt erinevalt mudelilt sama kvaliteeti oodata. Kui teil õnnestus osta Android, mis hakkas sageli ühenduse puudumise näol "üllatusi" esitama, siis õnnestus teil osta Hiina versioon.

Kahjuks keelduvad "hiinlased" väga sageli 3G-võrgu signaali püüdmisest GSM 900 sagedusel.

Sellise probleemiga silmitsi seistes peate süvenema mõnesse tehnilisse parameetrisse, et mõista, kuidas Androidi sidemoodulit vilkuda.

See ei ole liiga keeruline, kui loete hoolikalt läbi kõik etapid, mõistate olulisi saladusi ja mõistate, mis on sidemooduli püsivara.

Kõik toimingud mobiiltelefoniga tuleks teha ettevaatlikult, kuna mõne põhitõde teadmatus võib põhjustada soovimatuid tulemusi.

Brick on oma funktsionaalsuse kaotanud nutitelefoni nimi.

Kui võrgusignaal on GSM 900 sagedusel halvasti toetatud, vestlus ei tööta, kuna ühendus katkeb pidevalt ja seetõttu ei saa vestluspartner teie kõnest aru.

Isegi kui see nii on, ei saa te seadet tagastada, nii et saate lugeda teavet raadiomooduli vilkumise kohta ja seejärel teha need toimingud ise.

Et vältida Hiina koopia omanikuks saamist, ärge olge seadme valimisel liiga laisk, et avada kaas ja kontrollida kõiki silte. Hiina versiooniga kaasneb teabe range paigutus veerus, Euroopa versiooni puhul aga lisatakse teabe kõrvale täiendavad logod, nii et te ei leia siit ühtegi veergu.

Kui teile anti Hiina seade, peate seda ise täiustama, õigesti ja kiiresti tööle panema, kuid selleks peate välja selgitama, milline raadiomooduli püsivara on kõige tõhusam.

Raadiomooduli püsivara

Seega, olles mõistnud raadiomooduli värskendamise keerukust, saate oma lemmikmobiilseadet täiustada.

Väga oluline on järgida püsivara algoritmi ja mitte jätta vahele ühtegi lõiku, et mitte kahjustada ega esile kutsuda veelgi tõsisemat riket.

Praegu on raadiomoodulile uue püsivara versiooni installimiseks mitu võimalust, nii et kasutaja saab varieerida ja valida tegevuste algoritmi, mis on talle arusaadavam.

Püsivara algoritm

Selliste vastutustundlike toimingute alguses on oluline hankida oma Androidi juurõigused. Järgmisena laadige alla TWRP-taaste ja salvestage see oma SD-kaardile.

Nüüd peate Play turult alla laadima spetsiaalse tarkvara, mis aitab taastamist värskendada. Utiliit Mobileuncle MTK Tools võib olla selliste toimingute tegemisel suurepärane abiline.

Installige see programm, käivitage see ja leidke üksus "Taastevärskendus". Pärast sellel üksusel klõpsamist küsib süsteem asukohta, kuhu taastefail paigutati. Muidugi peaksite määrama SD-kaardi.

Oluline on leida usaldusväärsetest allikatest raadiomooduli püsivara töötavad versioonid, need alla laadida ja salvestada.

Pärast protsessi lõpetamist jääb üle vaid vahemälu tühjendada, kustutades nutitelefonist kõik mittevajalikud failid. Selleks leidke üksus "Pühkige vahemälu / arendaja link", klõpsake ja oodake, kuni puhastamine on lõpule viidud. Nüüd lihtsalt taaskäivitage oma mobiilseade, misjärel saate seda kasutama hakata.

Raadiomooduli vilkumiseks võite kasutada teist meetodit. Selleks peate esmalt alla laadima ja salvestama soovitud püsivara versiooni ning faili android-info.txt.

Pakkige püsivara lahti, otsige üles Radio.img fail, teisaldage see uude kausta, kuhu asetate ka faili android-info.txt.

Nüüd pange sellele kaustale nimi PC10IMG ja arhiivige see ZIP-vormingus. Teisaldage see loodud arhiiv SD-kaardile.

Pärast neid toiminguid lülitage seade välja, eemaldage aku viieks sekundiks, seejärel ühendage see uuesti, kuid ainult helitugevuse vähendamise klahvi all hoides.

Sel juhul ilmub ekraanile tarkvarapäring “Kas soovite alustada uuendamist”, millele peaks järgnema positiivne vastus, nimelt “helitugevuse suurendamise” klahvi vajutamine.

Pärast protsessi lõpetamist, mis toimub automaatselt, peaksite mobiilseadme taaskäivitama ja saate seda kasutama hakata, kuna raadiomooduli püsivara on valmis.

Seega pole raadiomooduli püsivara nii keeruline, kui esmapilgul võib tunduda. Oluline on ainult järgida algoritmi ja mitte eirata kogenud kasutajate soove. Ainult sel juhul rõõmustab teie mobiilseade teid õige töö ja jõudlusega.

Lenovo P780 telefonimudel, nagu ka teised selle ettevõtte seadmed, pakub raadiomooduli erinevaid variatsioone. Seetõttu on Hiina ja Euroopa tootmisvõimalused üsna olulised. Nii et Hiina modifikatsiooni puhul teadke, et teie nutitelefon ei toeta 3G-võrke GSM 900 sagedustel, mille tagajärjel on ühendus halva kvaliteediga ja tõenäoliselt katkendlik. Eriti kui liigute mobiilioperaatori tornist eemale.

Erinevused Hiina ja Euroopa Lenovo P780 seeria vahel

Peamine, mis mõlemat mudelit uurides jääb silma, on pealdiste ja kleebiste erinev asukoht akukorpusel. Vaadake lähemalt ja märkate kindlasti selgeid erinevusi.

Nii et nutitelefoni signaali vastuvõtu parandamiseks ja mobiilseadme Interneti-kiiruse suurendamiseks on soovitatav proovida erinevat tüüpi raadiomooduleid.

Vaatame, kuidas raadiomoodulit flashida ja saavutada kvaliteetne konversioon Lenovo P780 mudelite raadiomoodulite vilkumise samm-sammult:

1) Veenduge, et "TWRP - recovery" on õigesti installitud;

2) laadige alla soovitud raadiomoodul (kõik pakutavad sobivad mudeli konfiguratsiooni jaoks):

  • - modemi tüüp V51 - (klõpsatav).
  • - modemi tüüp V52 - (klõpsatav).
  • — modemi tüüp V23 – (klõpsatav).
  • - nutitelefonile sobiv modem mudelilt Lenovo S920 - (klõpsatav).

3) järgmise sammuna külastage "TWRP - recovery", klõpsake üksusel "Install" ja aktiveerige installitava raadiomooduliga varem ostetud arhiiv, kuid enne seda tehke "Pühkige vahemälu" ja seejärel taaskäivitage telefon.

Nüüdsest teate selgelt, kuidas raadiomoodulit välgutada. See tähendab, et saate vajadusel seadeid ise normaliseerida. Ärge kartke vilkuda ja proovige modemit. Kogu raadiomooduli püsivara on pööratav – seega proovi endale sobivat modemit!

Pidage meeles, et kõike, mida teete, tehakse teie enda ohus ja riisikol! Enne kui midagi teed, mõtle 100 korda järele!

Pärast raadiojuhtimisseadmete leviulatuse ootamatut vähenemist telliti FrSkylt uued raadiomoodulid. Täpselt seda teeme juhtpaneeli raadiomooduli väljavahetamisega.

FrSky raadiomooduli komplekti lühikirjeldus

FrSky DHT 8-kanaliline DIY saatja telemeetriafunktsiooniga See on saatja.

Vastuvõtja FrSky D8RSP 2,4 GHz (telemeetriaga) telemeetriafunktsiooniga. Ja me kasutame seda vastuvõtja asemel.

7 valmis juhtimiskanalit. Veel üks SRRM-kanal, kus kaheksa juhtkanali signaalid on krüpteeritud (Termiti sõnul lihtsustab see oluliselt tulevase autopiloodi disaini).

Telemeetria edastamise võimalus vastuvõtjast juhtpaneelile. Vastuvõtjal endal on kaks ADC-d, mille abil saab lennu ajal aku pinget jälgida. Ja saatja saab konfigureerida väljastama hoiatusi, kui pinge langeb alla programmeeritud taseme. Lisateavet selle kohta allpool. Samamoodi saate kontrollida saatja signaali vastuvõtu kvaliteeti. Noh, on võimalus edastada osa teie andmetest UART-protokolli kaudu.

Vastuvõtu ulatus— deklareeritud kuni 1,5 km, mis on visuaalseks piloteerimiseks piisav. (Minu lendude kohast ühte külla on vaid umbes 300 meetrit - ja isegi siis ma ei lenda sinna - sellisel kaugusel olev lennuk muutub punktiks). Lisaks telliti täiendavalt moodulantenn FrSky 2,4GHz V8 seeria saatjale võimendusega 5dB. Selle antenniga peaks leviala veelgi suurenema.

Raadiomooduli paigaldamine saatjasse

Võtame kaugjuhtimispuldi lahti.

Demonteerime vana RF mooduli ja vana antenni.

Lõika ära vana antennikinnituse ülaosa. Püüame seda teha hoolikalt.

Tulemus peaks olema selline:

Paigaldage antenni pistik:

See juhtus järgmiselt.

Nüüd paigaldame raadiomooduli ja juhtpaneeli. Kõigepealt ühendame selle lüliti juhtplaadi küljest lahti:

See vastutab saatja raadiomooduli töörežiimi eest; meie vastuvõtjaga ühilduvuse jaoks vajame 2-WAY režiimi (ühildub telemeetriavastuvõtjatega: D4FR/D6FR/D8R/D8R-II). Lülituslüliti keskmine asend, milles seda sisuliselt vaja pole.

Paigaldame sinna juhtplaadi (sellel on LED ja nupp), nagu fotol näidatud. Selle jaoks võib olla sobivam koht, aga see tundus mulle mugavam. Lihtsalt pole vaja sinna isegi auke puurida – piisab, kui torgake esiküljel olev kleebis läbi. Kinnitame plaadi kuuma liimiga.

Raadiomooduli paigaldame otse antenni kõrvale. Nagu fotol, kinnitame selle ka kuumliimiga, kuid enne ühendame selle külge kaabli, et eemaldada telemeetria (võite need kas tihvtide külge joota või kasutada BLS-4 tüüpi pistikut. Juhtus nii:

Nüüd peate ühendama raadiomooduli toite ja rakendama sellele vastuvõtjast PPM-signaali. Loomulikult tuli enne vana raadiomooduli lahtivõtmist juhtmed allkirjastada. Muide, see on naljakas, kuid kahest toitejuhtmest: punane ja must - +5 volti ... Õige. Musta peal. Punasel oli maandus, aga meil pole vaja +5 V voolu. FrSky raadiomoodul vajab 12 volti. Seetõttu võtame need otse akust. See on nagu fotol. Muide, see näitab, kuhu liitium-polümeeraku ühendamiseks saatja toiteks ühendada pistik. Sellega on palju mugavam kui kaheksa AA patareiga.

Nüüd teeme telemeetria. Kuna see on meil olemas, siis peame selle mugavalt puldist kätte võtma. Kuna tegemist on UART-protokolliga, võtan selle protokolli standardse pistiku - WH-4 pistiku. Lihtsalt seda tuleb veidi ümber teha. Me ei vaja tegelikult nii pikki tihvte, kuid vajame täiendavat 1 mm juhtmepoolset külge, sest meie pistik jääb väljapoole. Vasakul on teisendatud tihvt, paremal on standardne nurkpistikust.

Puurige tihvtide jaoks augud. Fotol on seda muidugi raske näha, aga need on seal. Ja superliimi kasutades liimime pistiku täiustatud tihvtidega.

Nüüd teeme elektrikatseid. Fakt on see, et FrSky raadiomooduli arvutiga ühendamiseks vajate spetsiaalset juhet, mille ma unustasin osta. Aga mul on juhe, millega ühendan puldi enda arvutiga (simulaatoris lendamiseks). Kuid probleem on selles, et selle sisend nõuab TTL-taseme signaale. Ja FrSky raadiomoodulist tulevad välja COM-taseme signaalid. Ma ei ütle teile, kui palju katseid oli, kuid lõpuks selgus, et Friskay moodul saatis signaale ümberpööratud TTL-tasemetelt. Need. "üks" on 0-1 volti ja "null" on 3,5-5 volti. Need. oma kaelapaela kasutamiseks vajasin kahte inverterit.

Panin selle kõik kokku kolmemõõtmelise paigalduse abil, otse pistikutihvtidele (loomulikult seestpoolt). See võib olla kole, aga töötab.

Kontrollime ühendust, veendume, et kõik töötab, saatja on programmeeritud hoiatuste jaoks (sellest peagi lähemalt) ja lõpuks paneme kokku.


Saatja võimsus kuni +20 dBm (saab tarkvaraliselt reguleerida 3 dBm sammuga). Sisseehitatud Antenni mitmekesisuse funktsioon. Kiip on võimeline töötama sagedustel 240–960 MHz sammuga 156 (240–480 MHz) või 312 Hz (480–960 MHz). Kiibil on ka sellised funktsioonid nagu: automaatne äratustaimer, aku tühjenemise detektor, 64-baidine vastuvõtu-/edastuspuhver, automaatne pakettprotsessor, temperatuuriandur, 8-bitine ADC, võrdluspinge allikas, kolm GPIO kontakti, erinevat tüüpi signaalid modulatsioon (OOK, FSK, GFSK) jne.

Mikroskeem töötab 1,8 kuni 3,6 V toitepingega.

Raadiomooduli omadused

Moodulil pole pingeregulaatoreid, seega on vajalik vastav toiteallikas ja vastav tase loogikasisenditel. Moodulil on näha veel üks väike kuue kontaktiga mikrolülitus, millel on tähis G4C. See on uPG2179TB kiip, mis täidab antenni TX- ja RX-viikude vahel vahetamise funktsiooni, tagades sellega mooduli võime töötada nii vastuvõtu- kui ka edastusrežiimis. Switchi kiipi juhib SI4432 ise GPIO0 ja GPIO1 portide kaudu, mis tuleb lähtestamise ajal vastavalt programmeerida, et muuta/seadistada vastuvõtu/edastusrežiimi. See vooluahela konfiguratsioon ei võimalda aga kasutada mitmekesise vastuvõtu funktsiooni ning GPIO0 ja GPIO1 kontaktide toimimine tuleks eraldada ainult uPG2179TB lüliti juhtimiseks.

SI4432 antenni sisendjuhtmetesse paigaldatud kondensaatorite ja induktiivsuste väärtused tuleb valida töösagedusvahemiku, antenni omaduste ja toitepinge vahemiku alusel. Pole teada, millised nimetused neil elementidel on.

Ma ei leidnud mooduli skeemi, täpselt sellist, nagu joonisel näidatud, kuid andmelehe teabe abil saate määrata mooduli väljundi:

NSEL, SCLK, SDI, SDO- SPI liides (töö SI4432-ga taandub SI4432 registrite kirjutamisele ja lugemisele SPI liidese kaudu);

NIRQ- katkestuse väljund (vastuvõtu/edastussündmuse vms korral langeb selle viigu tase 0-ni; millised sündmused põhjustavad katkestusi, sõltub bittide väärtustest vastavates registrites);

SDN- SI4432 töörežiimi juhttihvt, kui määrate kõrgeks tasemeks SDN, läheb SI4432 väljalülitusrežiimi, kus kiip läheb energiasäästurežiimile tarbimisvooluga 15 nA, samal ajal kui kogu registrite sisu naaseb algne olek ja andmete edastamine SPI kaudu on võimatu;

VDD- moodulite toide 1,8 kuni 3,6 V;

GND- "Maa";

GPIO0, GPIO1, GPIO2- programmeeritavad sisend-/väljundpordid (kui te moodulit ei joota, saab teie jaoks programmeerida ainult GPIO2, kuna GPIO0 GPIO1 on juba hõivatud vastuvõtu-/edastusrežiimi vahetamiseks).

Mooduli seadistamine

Kõik allpool kirjeldatud registri seadistused on võetud dokumendist. See fail hõlmab SI4432 saatja, vastuvõtja ja transiiverina kasutamise küsimusi ning käsitleb ka üle 64 kbaiti pikkuste pakettide edastamise küsimust.

SI4432 mikroskeeme on erinevates versioonides: A, V, B. Määratakse koodi esimese tähe järgi, minu puhul BPS10P, mis tähendab redaktsiooni B. Erinevate versioonide jaoks on initsialiseerimisel mõned funktsioonid.

Ühendus kontrolleriga

Moodul on ühendatud vastavalt ülaltoodud pistikule. Lihtsalt andmete vastuvõtmiseks või edastamiseks ei saa GPIO kontakte ühendada mikrokontrolleri sisenditega ja need võib jätta õhku rippuma. SPI tihvtid on ühendatud mikrokontrolleri vastavate tihvtidega, NIRQ saab ühendada mikrokontrolleri suvalise vaba tihvtiga (ilmselt parem kontaktiga, kust saab välisserva katkestuse). SDN-i saab ühendada maandusega või MK-pistikuga, kuid ärge unustage seda seada 0-le.

Lugege ja kirjutage SPI kaudu

SI4432 tootja soovitab kasutada SPI kaudu registrite lugemiseks ja kirjutamiseks järgmisi funktsioone.

Kehtetu SpiWriteRegister (U8 reg, U8 väärtus) (//Andmete saatmine topeltpuhverdamisega //Mooduli valimine, seades NSEL-i väärtuseks 0 NSS = 0; //Registri aadressi kirjutamine MK SPI-puhvrisse //Aadressi määramine kõige olulisem bitt registri aadressis on vajalik kirjutamistoimingute jaoks (kokku 127 registrit) SPI1DAT = (reg|0x80); //Ootab baidi saatmist while (SPIF1 == 0); SPIF1 = 0; //Kirjutamine SI4432 registri soovitud väärtus MK SPI puhvrisse SPI1DAT = väärtus; //Ootab saatmisbaiti while(SPIF1 == 0); SPIF1 = 0; //Vabasta moodul NSS = 1; )
Lugemine:

U8 SpiReadRegister (U8 reg) ( //Valige moodul, määrates NSEL-i väärtuseks 0 NSS = 0; //Kirjutage registri aadress MK SPI puhvrisse (aadressi kõige olulisem bitt on 0) SPI1DAT = reg; / /Ootab baidi saatmist while(SPIF1 == 0); SPIF1 = 0; //Kirjutage suvalised andmed MK SPI puhvrisse //Nende andmete saatmise ajal loeb MK SI4432 registri SPI1DAT väärtust = 0xFF; //Baidi saatmise ootel while(SPIF1 == 0); SPIF1 = 0; / /NSS-mooduli väljalase = 1; //Si4432 registrist vastuvõetud andmete lugemise funktsiooni lugemine ja tagastamine tagastab SPI1DAT; )

Initsialiseerimine. Töö algus

Soovitatav on teha järgmised manipulatsioonid.

1) Määrake SDN-i viik 0-ks.
2) Oodake 15 ms enne käskude saatmist SPI kaudu.
3) Lugege katkestusregistrite olekuid.
4) Tehke pehme lähtestamine.

SDN = 0; // SDN kell 0 delay_ms(15); //olekute lugemine ItStatus1 = SpiReadRegister(0x03); ItStatus2 = SpiReadRegister(0x04); //pehme lähtestamise teostamine SpiWriteRegister(0x07, 0x80); //kirjuta 0x80 registrisse Operation & Function Control1 //oodake katkestuse tekkimist, samas kui (NIRQ == 1); //olekute lugemine ItStatus1 = SpiReadRegister(0x03); //loe Interrupt Status1 registrit ItStatus2 = SpiReadRegister(0x04); //loe Interrupt Status2 registrit
Olekute lugemine kustutab katkestuse lipud ja lähtestab NIRQ viigu väärtusele 1 (katkestuse korral lähtestatakse NIRQ 0-le ja jääb sellesse olekusse kuni vastava olekuregistri lugemiseni).

Sagedusparameetrite seadistamine

Kuna mikroskeem toetab tööd üsna laias sagedusvahemikus, on sageduse eest vastutavate registrite seadistamine üsna keeruline. Tootja soovitab sagedusregistrite väärtuste arvutamiseks kasutada kalkulaatorit (). Kalkulaator on Microsoft Exceli fail:

See fail on juba seatud sobivatele vaikeväärtustele. Väärtusi saate muuta ainult hallides lahtrites. Soovitav on selles failis muuta edastuskiiruse (J9) ja kandesageduse (B17) eest vastutavate lahtrite väärtust. Tavaliselt, mida väiksem on edastuskiirus, seda väiksem on tõenäosus, et andmeedastuse ajal tekib tõrge. Saate valida signaali modulatsiooni tüübi: FSK, GFSK, OOK.

OOK-modulatsioon kodeerib andmeid, lülitades signaalivõimendi sisse või välja. Kui edastatavaid andmeid pole, lülitatakse võimendi välja, loogilise 0 edastamisel lülitatakse võimendi välja ühe biti ajaks, loogilise 1 edastamisel lülitatakse võimendi sisse ühe biti ajaks.

FSK põhineb signaali sageduse muutmisel digitaalsete andmete edastamiseks. Loogilise 0 edastamiseks vähendatakse kandesignaali sagedust kõrvalekalde sageduse võrra ja loogilise 1 korral suurendatakse. GFSK ja FSK erinevus seisneb selles, et GFSK rakendab andmebittidele Gaussi filtrit.

Tootja soovitab kasutada GFSK tüüpi, kuna seda tüüpi modulatsioon tagab teiste saadaolevate modulatsioonidega võrreldes parima töötõhususe ja puhtama signaalispektri, nagu on näha jooniselt (FSK ja GFSK võrdlus):

Sageduse eest vastutavate registrite konfigureerimine:

//kesksageduse määramine 915 MHz SpiWriteRegister(0x75, 0x75); SpiWriteRegister(0x76, 0xBB); SpiWriteRegister(0x77, 0x80); //määrab edastuskiiruse (9,6 kbps) SpiWriteRegister(0x6E, 0x4E); SpiWriteRegister(0x6F, 0xA5); SpiWriteRegister(0x70, 0x2C); //sagedushälbe (+-45 kHz) seadistamine (GFSK modulatsiooni jaoks vajalik parameeter) SpiWriteRegister(0x72, 0x48);

Andmepaketi edastamine paketihalduri abil

Paketikäsitlejat kasutatakse vastuvõtu- ja edastusrežiimis. Andmeid saab edastada ka ilma paketikäsitlejata, sel juhul tuleb paketi struktuur ise registrites kirjeldada. Tavaliselt näeb pakendi struktuur välja selline:

Preambul – jada 0101... kasutatakse vastuvõtja ja saatja sünkroniseerimiseks. SI4432-l on sisseehitatud preambulandur. SI4432 seadistamisel määravad registrid preambuli pikkuse ja preambuli tuvastamise läve. Kui preambula pikkus või preambula tuvastamise lävi on teatud väärtusest väiksem, suureneb andmepakettide kadumise tõenäosus. Preambula detektor otsib preambula vastavalt tuvastamislävele. Kui leitakse sobiv preambul, käivitatakse sünkroonimissõna (Sync Word) määramise mehhanism.

Edastatud pakett algab alati preambuliga (010101... bitimuster), mis võimaldab vastuvõtjal valmistuda edastatavate andmete vastuvõtmiseks. Preambula pikkus ja ka lävi sõltuvad raadioseadetest: modulatsiooni tüüp, automaatne sageduse juhtimine (AFC). SI4432-l on sisseehitatud preambula detektor, mis võrdleb automaatselt õhust vastuvõetud bitte preambula bitimustriga, kui preambula detektor tuvastab vastuvõetud signaalis preambula bitijärjestuse ettemääratud pikkuse, siis SI4432 teatab vastuvõetud signaali vastuvõtmisest. kehtiv preambul olekuregistris või GPIO viigul, kui vastav GPIO seadistus.

Preambula tuvastamise lävi on programmeeritav väärtus. Sõltuvalt modulatsiooni tüübist (FSK, GFSK, OOK), automaatse sagedusjuhtimise (AFC) kasutamisest ja antenni mitmekesisusest soovitab tootja valida preambuli pikkuse ja preambula tuvastamise läve vastavalt tabelile:

AFC kohta

Automaatse sageduse reguleerimise AFC kasutamisel kirjutatakse vastuvõtja ja saatja konfigureeritud sageduste vahelised nihke väärtused sagedusnihke 1 ja 2 registrisse. Neid väärtusi saab kasutada sageduse täpsemaks reguleerimiseks, keelates samal ajal automaatse sageduse reguleerimise ja vähendades preambuli pikkust ja vastavalt ka tuvastusläve.


Pärast preambuli edukat tuvastamist ootab raadio sünkroonimissõna. Saabumisel võrdleb see vastuvõetud bitte. Pärast edukat võrdlust hakkab SI4432 täitma FIFO-d edastatud andmetega. Sünkroniseerimissõna, vastuvõtjale ja saatjale teadaolevate bittide jada, võimaldab edastatavaid andmeid tuvastada.

Kui edastatavad andmed on suvalise pikkusega (saab muuta fikseerituks), siis lisatakse paketile bait infoga edastatavate andmete pikkuse kohta.

Pakendile on lisatud ka CRC kontrollsumma.

Kasutades paketikäsitlejat, konfigureerib mikrokontroller edastatava paketi vormingu üks kord SI4432 algseadistuse ajal, seejärel peab mikrokontroller andmete edastamiseks lihtsalt kirjutama need SI4432 vastavasse FIFO registrisse.

Päise keelamine, edastatavate andmete muutuva arvu baitide määramine (edastatud baitide arv salvestatakse automaatselt edastatavasse andmepaketti) ja 2 baiti sünkroonimissõna jaoks:


Päiste kohta

Kui kasutate päist, filtreerib vastuvõtja pakettprotsessor päise, tuvastades seeläbi, milliselt saatjalt sõnum tuli.



Saatja paketikäsitleja ja CRC lubamine:

SpiWriteRegister(0x30, 0x0D);
FIFO modulatsiooniallika valimine ja GFSK modulatsiooni seadistamine:


Modulatsiooniallikas – andmed, mida tuleb edastamiseks moduleerida. Sel juhul määrab FIFO allikas. Kuid on ka otserežiim, kui andmebitid edastatakse teatud ajastusega SI4432 mis tahes viigule (GPIOn, SDI, NIRQ).

Nagu varem kirjeldatud, on moodulil uPG2179TB kiibil üks antenni viik ja edastus/vastuvõturežiimi lüliti, mille kontaktid on ühendatud GPIO0 ja GPIO1 külge. Nii saate programmeerida GPIO-d automaatselt lülituma:

1) Kasutage saatja puhul suuremat tagasilükkamise sagedust ja vastuvõtja puhul laiemat vahemikku.

2) Kasutage AFC-d (Auto-Frequency Calibration), selleks peate suurendama preambuli kestust.

3) Looge kvartsresonaatori koormusmahtuvuse eest vastutav register:

Paki saatmine

Saadame paketi kord sekundis.

//peasilmus while(1) ( delay_ms(1000); /*paketi sisu määramine*/ //edastatavate andmete pikkuse määramine - 8 baiti SpiWriteRegister(0x3E, 8); //8 kirjutamine paketi pikkusregistrisse edastatud andmed //FIFO edastatud andmete täitmine SpiWriteRegister(0x7F, 0x42); SpiWriteRegister(0x7F, 0x55); SpiWriteRegister(0x7F, 0x54); SpiWriteRegister(0x7F, 0x54); SpiWriteRegister (0x7F,0x7F); ); SpiWriteRegister(0x7F , 0x31) ; SpiWriteRegister(0x7F, 0x0D); //Keela kõik katkestused, välja arvatud paketi saatmise katkestus //See toiming tehakse selleks, et teavitada MKd edukast saatmisest SpiWriteRegister(0x05, 0x04); SpiWrite6,Register (0x05, 0x04); 0x00); //Katkestuste olekuregistrite lugemine, praeguste katkestuste kustutamiseks ja NIRQ-i lähtestamiseks logimiseks 1 ItStatus1 = SpiReadRegister(0x03); ItStatus2 = SpiReadRegister(0x04); /*saatja aktiveerimine*/ //Samal ajal töötab raadio moodul genereerib paketi ja saadab selle automaatselt SpiWriteRegister(0x07, 0x09); / /Ootab saatmist katkestada while(NIRQ == 1); //olekuregistrite lugemine katkestuslippude kustutamiseks ItStatus1 = SpiReadRegister(0x03); ItStatus2 = SpiReadRegister(0x04); )

Andmepaketi vastuvõtmine paketikäsitleja abil

Raadio initsialiseerimine

Vastuvõtja lähtestamine on sarnane saatja lähtestamisega. Olekuregistrid on vaja lähtestada ja lugeda.

Sageduse seadistus

//kesksageduse määramine 915 MHz SpiWriteRegister(0x75, 0x75); SpiWriteRegister(0x76, 0xBB); SpiWriteRegister(0x77, 0x80);
Raadio parameetrid: 9,6 kbps, GFSK modulatsioon, sagedushälve 45 kHz, vastuvõtuulatus 112,1 kHz. Vastavalt sageduskalkulaatorile täidetakse järgmised registrid:

SpiWriteRegister(0x1C, 0x05); //kirjuta 0x05 IF-filtri ribalaiuse registrisse SpiWriteRegister(0x20, 0xA1); //kirjuta 0xA1 Clock Recovery Oversampling Ratio registrisse SpiWriteRegister(0x21, 0x20); //kirjuta 0x20 registrisse Clock Recovery Offset 2 SpiWriteRegister(0x22, 0x4E); //kirjuta 0x4E kella taastamise nihke 1 registrisse SpiWriteRegister(0x23, 0xA5); //Write 0xA5 kella taastamise nihe 0 registrisse SpiWriteRegister(0x24, 0x00); //Write 0x00 kella taastamise ajastussilmuse võimendusse 1 register SpiWriteRegister(0x25, 0x13); //kirjuta 0x13 kella taastamise ajastussilmuse võimendusse 0 register SpiWriteRegister(0x1D, 0x40); //kirjuta 0x40 AFC Loop Gearshift Override registrisse SpiWriteRegister(0x72, 0x48); //kirjuta 0x48 sagedushälbe registrisse SpiWriteRegister(0x2A, 0x20); //kirjuta 0x20 AFC Limiter registrisse

Pakendi struktuuri seadistamine

Sarnaselt saatjaga: päise keelamine, edastatavate andmete muutuva arvu baitide määramine (edastatud baitide arv salvestatakse automaatselt edastatavasse andmepaketti) ja 2 baiti sünkroniseerimissõna jaoks:

SpiWriteRegister(0x33, 0x02);
Päise filtreerimise keelamine:

SpiWriteRegister(0x32, 0x00);
Sünkroonimissõna 0x2DD4 otse seadistamine:

SpiWriteRegister(0x36, 0x2D); SpiWriteRegister(0x37, 0xD4);
Vastuvõtja paketikäsitleja ja CRC lubamine:

SpiWriteRegister(0x30, 0x85);
FIFO ja GFSK modulatsioonirežiimi lubamine:

SpiWriteRegister(0x71, 0x63);
Preambula tuvastamise läve seadmine 20 bitile:

SpiWriteRegister(0x35, 0x28);
GPIO seadistamine antenni automaatseks vahetamiseks:

SpiWriteRegister(0x0B, 0x12);//GPIO0 seadistamine TX-edastusrežiimi lubamiseks SpiWriteRegister(0x0C, 0x15);//GPIO1 seadistamine RX-vastuvõturežiimi lubamiseks

Umbes fikseeritud paketi pikkusest

Fikseeritud paketipikkuse korral ei sisaldu pikkusandmed paketis, vaid need salvestatakse nii vastuvõtja kui saatja Transmit Packet Length registris ning päisekontroll 2 registris tuleb määrata fixpkleni bitt (vt.)


Kui mitmekesisust ei kasutata, tuleb AGC-registris SGI-bitt seadistada, et analoogvõimenduse juhtimine õigesti toimiks:

SpiWriteRegister(0x69, 0x60);
Kvartsresonaatori koormusmahtuvuse eest vastutava registri seadistamine:

SpiWriteRegister(0x09, 0xD7); //kirjutage koormusmahtuvuse eest vastutavasse registrisse 0xD7

Paki kättesaamine

Vastuvõtja aktiveerimine:

SpiWriteRegister(0x07, 0x05);//kirjuta 0x05 tööfunktsiooni juhtelemendi 1 registrisse
Lubame kaks katkestust:

1) katkestada kehtiva paketi saamisel;
2) CRC veakatkestus.

SpiWriteRegister(0x05, 0x03); //Write 0x03 katkestamiseks Luba 1 register SpiWriteRegister(0x06, 0x00); //kirjutage 0x00 katkestamise lubamise 2 registrisse
Olekuregistrite lugemine katkestuste lähtestamiseks:

ItStatus1 = SpiReadRegister(0x03); ItStatus2 = SpiReadRegister(0x04);
Peamine silmus:

While(1) ( //katkestuse ootel if(NIRQ == 0) ( //Olekuregistrite lugemine ItStatus1 = SpiReadRegister(0x03); ItStatus2 = SpiReadRegister(0x04); if((ItStatus1 & 0x01) == 0x01)// juhtus CRC viga ( //saatja seiskamine SpiWriteRegister(0x07, 0x01);//kirjuta 0x01 tööfunktsiooni juhtelemendi 1 registrisse //reset RX FIFO SpiWriteRegister(0x08, 0x02);//kirjuta 0x02 tööfunktsiooni juhtseadme 2 registrisse( Spix08Register , 0x00);//kirjuta 0x00 tööfunktsiooni juht 2 registrisse //vastuvõtja lubamine SpiWriteRegister(0x07, 0x05); ) if((ItStatus1 & 0x02) == 0x02)//kehtiv pakett vastu võetud ( //saatja keelamine SpiWriteRegister(0x07, 0x01);//Write 0x01 tööfunktsiooni juhtelemendi 1 registrisse //Vastuvõetud andmete pikkuse lugemise pikkus = SpiReadRegister(0x4B);//read Received Packet Length register //RX FIFO-lt vastuvõetud andmete töötlemine for(temp8= 0;temp8< length;temp8++) { payload = SpiReadRegister(0x7F);//чтение FIFO Access регистра } //работа с массивом принятых данных { //... } //сброс RX FIFO SpiWriteRegister(0x08, 0x02);//запись 0x02 в Operating Function Control 2 регистр SpiWriteRegister(0x08, 0x00);//запись 0x00 в Operating Function Control 2 регистр //включение приёмника SpiWriteRegister(0x07, 0x05); } } }

Järeldus

Kogu info mooduli programmeerimise kohta on võetud siit.

Seal on nimekiri kõigist rakenduste märkustest, mis sarnanevad SI4432 tööga seotud maailmaaruannetega. Lisaks andmelehele ja täpsustatud programmeerimisjuhendile on rakenduse märkuse hulgas veel üks kasulik dokument -. Programmeerimisjuhend kirjeldab ka saatja konfigureerimist kahesuunaliseks suhtluseks. Registrikaardil on kõigi registrite, töörežiimide ja seadistuste üksikasjalik kirjeldus.

Sildid:

  • raadio moodul
  • SI4432
  • SiliconLabs
Lisa märksõnu

Artiklid ja Lifehacks

küsimus, mis on raadiomoodul telefonis, hakkasid kasutajad endalt küsima pärast seda, kui tekkis vajadus ja soov kasutada korraga kahte SIM-kaarti. Siiani tundsid telefoni raadiomooduli küsimuse vastu huvi ainult need, kellele meeldis mobiilseadmete kallal nokitseda, aga ka mobiiltelefonide remondispetsialistid.

Mida raadiomoodul teie telefonis teeb?

Telefoni raadiomoodul võimaldab teil võrgusignaale vastu võtta ja edastada, mis tähendab, et:
- sa võid helistada;
- nad võivad teile helistada;
- tekst- ja multimeediumsõnumite vastuvõtmine ja saatmine;
- ja lõpuks - võimalus kasutada mobiilset Internetti oma lemmiksotsiaalvõrgustike külastamiseks ja töötamiseks!

Telefoni raadiomoodul on emaplaadi väike ala, mis võtab vastu raadiosignaale. Raadiomooduli rike või selle vale paigaldamine, plaadile mittesobiva raadiomooduli paigaldamine või metallosade olemasolu selle läheduses põhjustab signaali kvaliteedi ja tugevuse langust, kuni ekraanile ilmub teade. ekraan "Võrgu ei leitud / otsin võrku".

Just erinevate raadiomoodulite kasutamine, nende paigaldamise erinevus tootjate poolt viitab sellele, et üks telefon võtab vastu maa-aluses käigus, teine ​​telefon ebaõnnestub ja kolmas lihtsalt ei näita võrgusignaali.

Lisaks elektroonikale endale tuleks telefoni raadiomooduliks pidada ka spetsiaalset tarkvara. Need on draiverite teegid, mis panevad kõik telefoni riistvaraosad tööle ja omavahel “suhtlema”. On suur hulk Hiinas toodetud telefone, mille SIM-kaardid "tõrkevad" ja nõuavad täiendavate SIM-kaardi paikade paigaldamist, et kõik korralikult töötaks. Samuti juhtub, et nutitelefoni operatsioonisüsteemi (püsivara) värskendamisel kaob võrgusignaal - siis on vaja draiverite ja plaastrite uuemat versiooni.

Telefonis raadiomoodul ja kaks SIM-kaarti

Programmeerijad ja insenerid on õppinud üht raadiomoodulit tööle panema kahe (ja isegi kolme!) SIM-kaardiga, nimelt kahe erineva võrgu ja telefoninumbriga. Kuid ühe võrguga aktiivselt töötades muutub teine ​​​​võrk (teine ​​SIM-kaart) kättesaamatuks. See probleem lahendatakse kahe raadiomooduli kasutamisega. Mõlemad võrgud on saadaval igal ajal ja igas kohas, kus on võrgu leviala, kuid kahe raadiomooduli samaaegne töötamine vähendab oluliselt telefoni aku tööiga.

Kokkuvõtteks kirjutame ühe lõputöö-definitsiooni. Mis on raadiomoodul telefonis? See on nutitelefoni elektrooniline osa, mis on draiverite abil ühendatud ülejäänud riistvaraga, võimaldades sellel töötada mobiilioperaatori võrguga.