Lenovo P780-firmware (firmware voor radiomodule). Firmware van Lenovo radiomodule Versie van de radiomodule

Vaak voel ik mij kort na de aanschaf van een smartphone enorm teleurgesteld.

Zo richt de bekende fabrikant Lenovo zich op twee verschillende markten. De eerste is gericht op de Europese consument, dus smartphones worden in Europa geproduceerd, en het tweede type smartphone wordt in de Chinese ruimte ‘geboren’.

Als u problemen met de dekking opmerkt, kan het aan de radiomodule liggen

Van zulke twee verschillende modellen kun je uiteraard niet dezelfde kwaliteit verwachten. Als het je lukte om Android aan te schaffen, wat vaak voor ‘verrassingen’ begon te zorgen in de vorm van een gebrek aan verbinding, dan slaagde je erin de Chinese versie aan te schaffen.

Helaas weigeren de “Chinezen” heel vaak het 3G-netwerksignaal op de GSM 900-frequentie te ontvangen.

Geconfronteerd met een dergelijk probleem, zul je je moeten verdiepen in enkele technische parameters om te begrijpen hoe je de Android-communicatiemodule moet flashen.

Het zal niet zo moeilijk zijn als je alle fasen zorgvuldig leest, belangrijke geheimen begrijpt en begrijpt wat de firmware van een communicatiemodule is.

Alle acties met mobiele telefoons moeten zorgvuldig worden uitgevoerd, omdat onwetendheid over sommige basisprincipes ongewenste resultaten kan veroorzaken.

Brick is de naam die wordt gegeven aan een smartphone die zijn functionaliteit heeft verloren.

Als het netwerksignaal slecht wordt ondersteund op de GSM 900-frequentie, zal het gesprek niet werken, omdat de verbinding voortdurend wordt onderbroken en dienovereenkomstig de gesprekspartner uw toespraak niet zal kunnen verstaan.

Zelfs als dit het geval is, kunt u het apparaat niet retourneren. Lees daarom eerst de informatie over het flashen van de radiomodule en voer deze stappen vervolgens zelf uit.

Om te voorkomen dat u eigenaar wordt van een Chinees exemplaar, moet u bij het kiezen van een apparaat niet te lui zijn om het deksel te openen en alle inscripties te inspecteren. De Chinese versie gaat gepaard met een strikte indeling van de informatie in een kolom, terwijl de Europese versie gepaard gaat met het plaatsen van extra logo’s naast de informatie, zodat je hier geen kolommen kunt vinden.

Als je een Chinees apparaat hebt gekregen, zul je het zelf moeten verbeteren, het correct en snel moeten laten werken, maar hiervoor moet je uitzoeken welke firmware voor de radiomodule het meest effectief is.

Firmware van radiomodule

Dus nadat u de fijne kneepjes van het reflashen van de radiomodule hebt begrepen, kunt u uw favoriete mobiele apparaat verbeteren.

Het is erg belangrijk om het firmware-algoritme te volgen en geen subparagrafen over te slaan, om geen schade te veroorzaken of een nog ernstiger defect te veroorzaken.

Op dit moment zijn er verschillende opties voor het installeren van een nieuwe firmwareversie op de radiomodule, zodat de gebruiker kan variëren en het algoritme van acties kan kiezen dat voor hem begrijpelijker zal zijn.

Firmware-algoritme

Helemaal aan het begin van dergelijke verantwoordelijke acties is het belangrijk om rootrechten op uw Android te verkrijgen. Download vervolgens TWRP-herstel en sla het op uw SD-kaart op.

Nu moet je speciale software downloaden van de Play Market waarmee je Recovery kunt updaten. Het hulpprogramma Mobileuncle MTK Tools kan een uitstekende assistent zijn bij het uitvoeren van dergelijke acties.

Installeer dit programma, voer het uit en zoek het item "Recovery Update". Nadat u op dit item klikt, vraagt ​​het systeem naar de locatie waar het herstelbestand is geplaatst. Natuurlijk moet u de SD-kaart opgeven.

Het is belangrijk om werkende versies van de radiomodulefirmware van vertrouwde bronnen te vinden, deze te downloaden en op te slaan.

Nadat het proces is voltooid, hoeft u alleen nog maar de cache te wissen door alle onnodige bestanden van de smartphone te verwijderen. Om dit te doen, zoekt u het item "Cache/dev-link wissen", klikt u op en wacht tot het opschonen is voltooid. Start nu gewoon uw mobiele apparaat opnieuw op, waarna u het kunt gaan gebruiken.

U kunt een andere methode gebruiken om de radiomodule te flashen. Om dit te doen, moet u eerst de gewenste firmwareversie downloaden en opslaan, evenals het bestand android-info.txt.

Pak de firmware uit, zoek het Radio.img-bestand, verplaats het naar een nieuwe map, waar je ook het android-info.txt-bestand plaatst.

Noem deze map nu PC10IMG en archiveer deze vervolgens in zip-formaat. Verplaats dit gemaakte archief naar de SD-kaart.

Schakel na deze stappen het apparaat uit, verwijder de batterij gedurende vijf seconden en sluit hem vervolgens opnieuw aan, maar alleen terwijl u de toets "volume omlaag" ingedrukt houdt.

In dit geval verschijnt er een softwareverzoek "Wilt u de update starten" op het scherm, waarop een positief antwoord zou moeten volgen, namelijk door op de toets "volume omhoog" te drukken.

Na voltooiing van het proces, dat automatisch zal plaatsvinden, moet u het mobiele apparaat opnieuw opstarten en kunt u het gaan gebruiken, aangezien de firmware van de radiomodule is voltooid.

De firmware van de radiomodule is dus niet zo ingewikkeld als het op het eerste gezicht lijkt. Het is alleen belangrijk om het algoritme te volgen en de wensen van ervaren gebruikers niet te negeren. Alleen in dit geval zal uw mobiele apparaat u tevreden stellen met de juiste werking en prestaties.

Het Lenovo P780-telefoonmodel biedt, net als andere apparaten van dit bedrijf, verschillende varianten van de radiomodule. Hierdoor zijn er behoorlijk grote verschillen tussen de Chinese en Europese productiemogelijkheden. Houd er dus in het geval van de Chinese aanpassing rekening mee dat uw smartphone geen 3G-netwerken op GSM 900-frequenties ondersteunt, waardoor de verbinding van slechte kwaliteit zal zijn en hoogstwaarschijnlijk intermitterend zal zijn. Vooral als je weggaat van de mobiele operatortoren.

Verschillen tussen de Chinese en Europese Lenovo P780-serie

Het belangrijkste dat opvalt bij het bekijken van beide modellen is de verschillende locatie van de inscripties en stickers op de batterijhouder. Als je goed kijkt, zul je zeker enkele duidelijke verschillen ontdekken.

Om de signaalontvangst van de smartphone te verbeteren en de snelheid van het internet op het mobiele apparaat te verhogen, is het dus raadzaam om verschillende soorten radiomodules uit te proberen.

Laten we eens kijken hoe we een radiomodule kunnen flashen en een conversie van hoge kwaliteit kunnen bereiken. Stapsgewijs proces voor het flashen van radiomodules in Lenovo P780-modellen:

1) Zorg ervoor dat “TWRP - herstel” correct is geïnstalleerd;

2) download de gewenste radiomodule (alle aangeboden zijn geschikt voor de modelconfiguratie):

  • - modemtype V51 - (klikbaar).
  • - modemtype V52 - (klikbaar).
  • — modemtype V23 - (klikbaar).
  • - een modem geschikt voor een smartphone van het Lenovo S920-model - (klikbaar).

3) de volgende stap is om naar "TWRP - herstel" te gaan, op het item "Installeren" te klikken en het eerder gekochte archief te activeren met de te installeren radiomodule, maar voer vóór dit punt "Cache wissen" uit en start vervolgens de telefoon opnieuw op.

Vanaf nu weet jij duidelijk hoe je de radiomodule moet flashen. Dit betekent dat u de instellingen indien nodig zelf kunt normaliseren. Wees niet bang om te flashen en de modem te proberen. Alle firmware van de radiomodules is omkeerbaar - dus probeer de modem die het beste bij u past!

Vergeet niet dat alles wat u doet op eigen risico en risico gebeurt! Denk 100 keer na voordat je iets doet!

Nadat het bereik van de radiobesturingsapparatuur onverwachts daalde, werden nieuwe radiomodules bij FrSky besteld. Dat is precies wat we gaan doen met het vervangen van de radiomodule in het bedieningspaneel.

Korte beschrijving van de FrSky radiomodulekit

FrSky DHT 8-kanaals DIY-zender met telemetriefunctie Dit is de zender.

Ontvanger FrSky D8RSP 2,4 Ghz (met telemetrie) met telemetriefunctie. En we zullen dit gebruiken in plaats van de ontvanger.

7 kant-en-klare besturingskanalen. Nog een SRRM-kanaal, waarbij de signalen van acht besturingskanalen worden gecodeerd (volgens Termit zal dit het ontwerp van de toekomstige stuurautomaat aanzienlijk vereenvoudigen).

Telemetrietransmissiemogelijkheden van de ontvanger naar het bedieningspaneel. De ontvanger zelf beschikt over twee ADC's die gebruikt kunnen worden om de accuspanning tijdens de vlucht te monitoren. En de zender kan worden geconfigureerd om waarschuwingen te geven wanneer de spanning onder een geprogrammeerd niveau daalt. Meer hierover hieronder. Op dezelfde manier kunt u de kwaliteit van de ontvangst van het zendersignaal regelen. Welnu, er is de mogelijkheid om een ​​deel van uw gegevens via het UART-protocol te verzenden.

Ontvangstbereik— aangegeven tot 1,5 km, wat voldoende is voor visuele besturing. (Van de plaats van mijn vluchten naar één dorp is het slechts ongeveer 300 meter - en zelfs dan vlieg ik daar niet - het vliegtuig op zo'n afstand verandert in een punt). Daarnaast werd bovendien een modulaire antenne voor de FrSky 2,4GHz V8-serie zender met een versterking van 5dB besteld. Met deze antenne zou het bereik nog verder moeten toenemen.

De radiomodule in de zender installeren

Laten we de afstandsbediening demonteren.

We demonteren de oude RF-module en de oude antenne.

Snijd de bovenkant van de oude antennesteun af. Wij proberen dit zorgvuldig te doen.

Dit is wat het resultaat zou moeten zijn:

Installeer de antenneconnector:

Dit is wat er gebeurde:

Laten we nu de radiomodule en de besturingskaart installeren. Laten we eerst deze tuimelschakelaar loskoppelen van de besturingskaart:

Het is verantwoordelijk voor de werkingsmodus van de zenderradiomodule; we hebben de 2-WAY-modus nodig (compatibel met telemetrie-ontvangers: D4FR/D6FR/D8R/D8R-II). De middelste stand van de tuimelschakelaar, waarin deze in wezen niet nodig is.

We installeren daar de besturingskaart (er zit een LED en een knop op), zoals weergegeven op de foto. Misschien is er een geschiktere plek voor, maar het leek mij handiger. Je hoeft daar alleen niet eens gaten te boren, je hoeft alleen maar de sticker aan de voorkant door te prikken. We bevestigen het bord met hete lijm.

We installeren de radiomodule direct naast de antenne. Net als op de foto bevestigen we hem ook met hete lijm, maar daarvoor sluiten we er een kabel op aan om telemetrie te verwijderen (je kunt ze aan de pinnen solderen of een BLS-4-type connector gebruiken. Dit is wat er gebeurde:

Nu moet u de radiomodule van stroom voorzien en er een PPM-signaal vanaf de ontvanger op toepassen. Voordat de oude radiomodule werd gedemonteerd, moesten de draden uiteraard worden ondertekend. Het is trouwens grappig, maar van de twee stroomdraden: rood en zwart - +5 volt... Rechts. Op zwart. Er zat aarde op de rode. Maar we hebben geen +5 volt stroom nodig. De FrSky radiomodule heeft 12 volt nodig. Daarom halen we ze rechtstreeks uit de batterij. Het is zoals op de foto. Het laat trouwens zien waar de connector moet worden gesoldeerd voor het aansluiten van de lithium-polymeerbatterij om de zender van stroom te voorzien. Het is er veel handiger mee dan met acht AA-batterijen.

Laten we nu telemetrie doen. Omdat we het hebben, moeten we het gemakkelijk van de afstandsbediening halen. Omdat dit een UART-protocol is, neem ik de connector die de standaard is voor dit protocol: de WH-4-connector. Het zal alleen een beetje opnieuw gemaakt moeten worden. We hebben niet echt zulke lange pinnen nodig, maar we hebben de extra 1 mm aan de draadzijde nodig, omdat onze connector aan de buitenkant zit. Links zit een omgebouwde pin, rechts een standaard pin van een haakse connector.

Boor gaten voor de pinnen. Op de foto is het natuurlijk moeilijk te zien, maar ze zijn er wel. En met superlijm lijmen we de connector met de verbeterde pinnen.

Laten we nu elektrische experimenten doen. Feit is dat je voor het aansluiten van de FrSky-radiomodule op een computer een speciaal snoer nodig hebt, dat ik vergat te kopen. Maar ik heb een snoer waarmee ik de afstandsbediening zelf op de computer aansluit (om in de simulator te vliegen). Maar het probleem is dat de invoer signalen op TTL-niveau vereist. En signalen op COM-niveau komen uit de FrSky-radiomodule. Ik zal je niet vertellen hoeveel experimenten er waren, maar uiteindelijk bleek dat signalen van omgekeerde TTL-niveaus afkomstig waren van de Friskay-module. Die. ‘één’ is 0-1 volt en ‘nul’ is 3,5-5 volt. Die. om mijn sleutelkoord te gebruiken had ik twee omvormers nodig.

Dit alles heb ik driedimensionaal gemonteerd, direct op de connectorpinnen (uiteraard van binnenuit). Het is misschien lelijk, maar het werkt.

We controleren de verbinding, zorgen ervoor dat alles werkt, de zender is geprogrammeerd voor waarschuwingen (daarover binnenkort meer) en zetten hem uiteindelijk in elkaar.


Zendvermogen tot +20 dBm (kan softwarematig worden aangepast in stappen van 3 dBm). Er is een ingebouwde Antenna Diversity-functie. De chip kan werken op frequenties van 240 tot 960 MHz in stappen van 156 (240-480 MHz) of 312 Hz (480-960 MHz). De chip heeft ook functies zoals: automatische wektimer, detector voor bijna lege batterij, 64-byte ontvangst-/verzendbuffer, automatische pakketafhandelaar, temperatuursensor, 8-bit ADC, referentiespanningsbron, drie GPIO-pinnen, verschillende soorten signalen modulatie (OOK, FSK, GFSK), enz.

De microschakeling werkt met een voedingsspanning van 1,8 tot 3,6 V.

Kenmerken van de radiomodule

Er zijn geen spanningsregelaars op de module, dus een geschikte voeding en een passend niveau op de logische ingangen zijn vereist. Op de module is nog een kleine zes-pins microschakeling met de markering G4C zichtbaar. Dit is een uPG2179TB-chip, die de functie vervult van het schakelen van de antenne tussen de TX- en RX-pinnen, waardoor de mogelijkheid van de module wordt gegarandeerd om zowel in ontvangst- als in zendmodus te werken. De switchchip wordt door de SI4432 zelf bestuurd via de GPIO0- en GPIO1-poorten, die tijdens de initialisatie dienovereenkomstig moeten worden geprogrammeerd om de ontvangst-/transmissiemodus te wijzigen/in te stellen. Deze circuitconfiguratie staat echter het gebruik van de diversiteitsontvangstfunctie niet toe, en de werking van de GPIO0- en GPIO1-pinnen mag alleen worden toegewezen om de uPG2179TB-schakelaar te besturen.

De waarden van condensatoren en inductanties die in het SI4432-antenne-ingangsharnas zijn geïnstalleerd, moeten worden geselecteerd op basis van het werkfrequentiebereik, de antennekarakteristieken en het voedingsspanningsbereik. Het is onbekend welke denominaties deze elementen hebben.

Ik heb geen diagram van de module gevonden, precies zoals weergegeven in de afbeelding, maar met behulp van de informatie uit de datasheet kun je de pinout van de module bepalen:

NSEL, SCLK, SDI, SDO- SPI-interface (het werken met SI4432 wordt beperkt tot het schrijven en lezen van SI4432-registers via de SPI-interface);

NIRQ- interrupt-uitgang (als er een ontvangst-/zendgebeurtenis enz. plaatsvindt, zakt het niveau op deze pin naar 0; welke gebeurtenissen tot onderbrekingen zullen leiden, hangt af van de waarden van de bits in de bijbehorende registers);

SDN- SI4432 bedrijfsmodus stuuruitgang, als u het hoge niveau instelt op SDN, gaat SI4432 in de Shutdown-modus, waarin de chip in de energiebesparende modus gaat met een verbruiksstroom van 15 nA, terwijl alle inhoud van de registers terugkeert naar hun originele staat en gegevensoverdracht via SPI is onmogelijk;

VDD- modulevoeding van 1,8 tot 3,6 V;

GND- "Aarde";

GPIO0, GPIO1, GPIO2- programmeerbare invoer-/uitvoerpoorten (als u de module niet opnieuw soldeert, kan alleen GPIO2 voor uw doeleinden worden geprogrammeerd, aangezien GPIO0 GPIO1 al bezet is voor het schakelen van de ontvangst-/zendmodus).

Module-opstelling

Alle hieronder beschreven registerinstellingen zijn afkomstig uit het document. Dit bestand behandelt de problemen bij het gebruik van de SI4432 als zender, ontvanger en transceiver, en behandelt ook de kwestie van het verzenden van pakketten met een lengte van meer dan 64 kbytes.

SI4432-microcircuits zijn er in verschillende revisies: A, V, B. Bepaald door de eerste letter van de code, in mijn geval BPS10P, wat revisie B betekent. Voor verschillende revisies zijn er enkele kenmerken bij de initialisatie.

Verbinding met de besturing

De module wordt aangesloten volgens de hierboven weergegeven pin-out. Om eenvoudig gegevens te ontvangen of te verzenden, kunnen de GPIO-pinnen niet worden aangesloten op de ingangen van de microcontroller en laten ze in de lucht hangen. De SPI-pinnen zijn verbonden met de overeenkomstige pinnen van de microcontroller; NIRQ kan worden aangesloten op elke vrije pin van de microcontroller (waarschijnlijk beter op een pin waar je een externe edge-interrupt kunt krijgen). SDN kan worden aangesloten op aarde of op de MK-pin, maar vergeet niet deze op 0 te zetten.

Lezen en schrijven via SPI

De fabrikant van de SI4432 stelt voor om de volgende functies te gebruiken om registers via SPI te lezen en te schrijven.

Void SpiWriteRegister (U8 reg, U8-waarde) ( // Gegevens verzenden met dubbele buffering // Een module selecteren door NSEL in te stellen op 0 NSS = 0; // Het registeradres naar de SPI-buffer van de MK schrijven // Instellen van de meest significante bit in het registeradres is nodig voor schrijfbewerkingen (127 registers in totaal) SPI1DAT = (reg|0x80); //Wachten op het verzenden van de byte while(SPIF1 == 0); het SI4432-register naar de SPI-buffer van de microcontroller SPI1DAT = waarde; verzend byte while (SPIF1 == 0);
Lezing:

U8 SpiReadRegister (U8 reg) ( //Selecteer een module door NSEL in te stellen op 0 NSS = 0; //Schrijf het registeradres naar de SPI-buffer van de MK (het meest significante bit van het adres is 0) SPI1DAT = reg; / /Wachten op het verzenden van de byte while(SPIF1 == 0); /NSS-module release = 1; //Lees en retourneer de functie van de gelezen ontvangen gegevens uit het SI4432-register retourneert SPI1DAT;

Initialisatie. Aan de slag

Het wordt aanbevolen om de volgende manipulaties uit te voeren.

1) Stel de SDN-pin in op 0.
2) Wacht 15 ms voordat u opdrachten via SPI verzendt.
3) Lees de statussen van de interruptregisters.
4) Voer een zachte reset uit.

SDN = 0; // SDN op 0 delay_ms(15); //leesstatussen ItStatus1 = SpiReadRegister(0x03); ItStatus2 = SpiReadRegister(0x04); //een zachte reset uitvoeren SpiWriteRegister(0x07, 0x80); //schrijf 0x80 naar het Operating & Function Control1 register //wacht tot er een interrupt optreedt terwijl (NIRQ == 1); //leesstatussen ItStatus1 = SpiReadRegister(0x03); //lees het Interrupt Status1-register ItStatus2 = SpiReadRegister(0x04); //lees het Interrupt Status2-register
Bij het lezen van statussen worden de interruptvlaggen gewist en wordt de NIRQ-pin opnieuw ingesteld op 1 (wanneer een interrupt optreedt, wordt NIRQ gereset naar 0 en blijft in deze status totdat het overeenkomstige statusregister wordt gelezen).

Frequentieparameters instellen

Omdat de microschakeling werking in een vrij breed frequentiebereik ondersteunt, is het configureren van de registers die verantwoordelijk zijn voor de frequentie behoorlijk moeilijk. De fabrikant stelt voor een rekenmachine () te gebruiken om de waarden van frequentieregisters te berekenen. De rekenmachine is een Microsoft Excell-bestand:

Dit bestand is al ingesteld op geschikte standaardwaarden. U kunt alleen waarden in grijze cellen wijzigen. Het is raadzaam om in dit bestand de waarde te wijzigen van de cellen die verantwoordelijk zijn voor de transmissiesnelheid (J9) en draaggolffrequentie (B17). Hoe lager de transmissiesnelheid, hoe kleiner de kans dat er een fout optreedt tijdens de gegevensoverdracht. U kunt het type signaalmodulatie selecteren: FSK, GFSK, OOK.

OOK-modulatie codeert gegevens door de signaalversterker aan of uit te zetten. Als er geen gegevens zijn om te verzenden, wordt de versterker uitgeschakeld; bij het verzenden van logische 0 wordt de versterker uitgeschakeld voor de duur van één bit; bij het verzenden van logische 1 wordt de versterker ingeschakeld voor de duur van één bit.

FSK is gebaseerd op het veranderen van de frequentie van het signaal om digitale gegevens te verzenden. Om een ​​logische 0 te verzenden, wordt de frequentie van het draaggolfsignaal verlaagd met de hoeveelheid afwijkingsfrequentie, en voor een logische 1 wordt deze verhoogd. Het verschil tussen GFSK en FSK is dat GFSK een Gauss-filter op de databits toepast.

De fabrikant raadt het gebruik van het GFSK-type aan, omdat dit type modulatie de beste operationele efficiëntie en een schoner signaalspectrum biedt in vergelijking met andere soorten beschikbare modulaties, zoals blijkt uit de figuur (vergelijking van FSK en GFSK):

Registers configureren die verantwoordelijk zijn voor de frequentie:

//de middenfrequentie instellen op 915 MHz SpiWriteRegister(0x75, 0x75); SpiWriteRegistreren(0x76, 0xBB); SpiWriteRegistreren(0x77, 0x80); //stel de overdrachtssnelheid in (9,6 kbps) SpiWriteRegister(0x6E, 0x4E); SpiWriteRegistreren(0x6F, 0xA5); SpiWriteRegistreren(0x70, 0x2C); //de frequentieafwijking instellen (+-45 kHz) (een noodzakelijke parameter voor GFSK-modulatie) SpiWriteRegister(0x72, 0x48);

Een gegevenspakket overbrengen met behulp van een pakketbehandelaar

De pakketafhandelaar wordt gebruikt in de ontvangstmodus en de verzendmodus. U kunt gegevens overbrengen zonder een pakketbehandelaar; in dit geval moet u de structuur van het pakket zelf in registers beschrijven. Meestal ziet de pakketstructuur er als volgt uit:

Preambule - reeks 0101... gebruikt om de ontvanger en zender te synchroniseren. De SI4432 heeft een ingebouwde preambuledetector. Bij het instellen van de SI4432 stellen de registers de waarde van de preambulelengte en de preambuledetectiedrempelwaarde in. Als de preambulelengte of preambuledetectiedrempel kleiner is dan een bepaalde waarde, zal de waarschijnlijkheid van gegevenspakketverlies toenemen. De preambuledetector zoekt naar de preambule volgens de detectiedrempel. Als een overeenkomende preambule wordt gevonden, wordt het mechanisme voor het bepalen van het synchronisatiewoord (Sync Word) gelanceerd.

Het verzonden pakket begint altijd met een preambule (010101... bitpatroon), waardoor de ontvanger zich kan voorbereiden op het ontvangen van de verzonden gegevens. De lengte van de preambule, evenals de drempel, zijn afhankelijk van de radio-instellingen: modulatietype, automatische frequentieregeling (AFC). De SI4432 heeft een ingebouwde preamble-detector die automatisch de uit de lucht ontvangen bits vergelijkt met het preamble-bitpatroon. Als de preamble-detector een vooraf bepaalde lengte van de preamble-bitreeks in het ontvangen signaal detecteert, rapporteert de SI4432 de ontvangst van een geldige preamble in het statusregister of op de GPIO-pin, als de overeenkomstige GPIO-instelling is.

De preambuledetectiedrempel is een programmeerbare waarde. Afhankelijk van het type modulatie (FSK, GFSK, OOK), het gebruik van automatische frequentieregeling (AFC) en antennediversiteit, adviseert de fabrikant om de preamble-lengte en preamble-detectiedrempel te kiezen in overeenstemming met de tabel:

Over AFC

Bij gebruik van automatische frequentieaanpassing AFC worden de verschuivingswaarden tussen de geconfigureerde frequenties van de ontvanger en zender naar de registers Frequentieoffset 1 en 2 geschreven. Deze waarden kunnen worden gebruikt om de frequentie nauwkeuriger aan te passen, terwijl de automatische frequentieaanpassing wordt uitgeschakeld en de lengte van de preambule en daarmee de detectiedrempel wordt verminderd.


Nadat de preambule succesvol is gedetecteerd, wacht de radio op het synchronisatiewoord. Bij aankomst vergelijkt het de ontvangen bits. Na een succesvolle vergelijking begint de SI4432 de FIFO te vullen met de overgedragen gegevens. Het synchronisatiewoord, een reeks bits die bekend zijn bij de ontvanger en zender, maakt het mogelijk de verzonden gegevens te identificeren.

Als de verzonden gegevens een willekeurige lengte hebben (kan vast worden gemaakt), wordt een byte aan het pakket toegevoegd met informatie over de lengte van de verzonden gegevens.

Er is ook een CRC-controlesom aan het pakket toegevoegd.

Met behulp van de pakketafhandelaar configureert de microcontroller het formaat van het verzonden pakket één keer tijdens de initiële installatie van de SI4432. Om de gegevens te verzenden, hoeft de microcontroller deze vervolgens eenvoudigweg naar het juiste FIFO-register van de SI4432 te schrijven.

De header uitschakelen, een variabel aantal bytes aan verzonden gegevens instellen (het aantal verzonden bytes wordt automatisch geregistreerd in het verzonden datapakket) en 2 bytes voor het synchronisatiewoord:


Over kopteksten

Als u een header gebruikt, filtert de pakketprocessor van de ontvanger de header, waardoor wordt geïdentificeerd van welke zender het bericht afkomstig is.



De pakketbehandelaar en CRC van de zender inschakelen:

SpiWriteRegistreren(0x30, 0x0D);
FIFO-modulatiebron selecteren en GFSK-modulatie instellen:


Modulatiebron - gegevens die moeten worden gemoduleerd om te kunnen worden uitgezonden. In dit geval wordt de FIFO ingesteld door de bron. Maar er is ook een directe modus waarbij databits, met een bepaalde timing, aan elke pin van de SI4432 worden geleverd (GPIOn, SDI, NIRQ).

Zoals eerder beschreven heeft de module één uitgang voor de antenne en een ontvangst-/zendmodusschakelaar op de uPG2179TB-chip, waarvan de uitgangen zijn aangesloten op GPIO0 en GPIO1. Zo kun je de GPIO programmeren om automatisch te schakelen:

1) Gebruik een hogere afwijzingsfrequentie voor de zender en een groter bereik voor de ontvanger.

2) Gebruik AFC (Auto-frequentie kalibratie), hiervoor moet u de duur van de preambule verlengen.

3) Stel het register in dat verantwoordelijk is voor de belastingscapaciteit van de kwartsresonator:

Een pakket versturen

We sturen één keer per seconde een pakketje.

//main loop while(1) ( delay_ms(1000); /*De pakketinhoud instellen*/ //de lengte van de verzonden gegevens instellen - 8 bytes SpiWriteRegister(0x3E, 8); // 8 schrijven naar het lengteregister van de verzonden gegevens //het invullen van de door FIFO verzonden gegevens SpiWriteRegister(0x7F, 0x55); SpiWriteRegister(0x7F, 0x0D); SpiWriteRegister(0x7F, 0x0D); behalve de pakketverzendingsonderbreking //Deze actie wordt uitgevoerd om de MK op de hoogte te stellen van het succesvol verzenden van SpiWriteRegister(0x05, 0x04); Wachten op verzenden van interrupt while(NIRQ == 1);

//statusregisters lezen om interruptvlaggen te wissen ItStatus1 = SpiReadRegister(0x03);

ItStatus2 = SpiReadRegister(0x04); )

Een datapakket ontvangen met behulp van een pakketbehandelaar

Radio-initialisatie

Het initialiseren van de ontvanger is vergelijkbaar met het initialiseren van de zender. Het is noodzakelijk om de statusregisters te resetten en te lezen.
Frequentie-instelling

SpiWriteRegistreren(0x1C, 0x05); //schrijf 0x05 naar het IF Filter Bandwidth register SpiWriteRegister(0x20, 0xA1); //schrijf 0xA1 naar het Clock Recovery Oversampling Ratio-register SpiWriteRegister(0x21, 0x20); //schrijf 0x20 naar het Clock Recovery Offset 2-register SpiWriteRegister(0x22, 0x4E); //schrijf 0x4E naar Clock Recovery Offset 1 register SpiWriteRegister(0x23, 0xA5); //schrijf 0xA5 naar Clock Recovery Offset 0 registreer SpiWriteRegister(0x24, 0x00); //schrijf 0x00 naar Clock Recovery Timing Loop Gain 1 register SpiWriteRegister(0x25, 0x13); //schrijf 0x13 naar Clock Recovery Timing Loop Gain 0 register SpiWriteRegister(0x1D, 0x40); //schrijf 0x40 naar AFC Loop Gearshift Override-register SpiWriteRegister (0x72, 0x48); //schrijf 0x48 naar het frequentieafwijkingsregister SpiWriteRegister(0x2A, 0x20); //schrijf 0x20 naar het AFC Limiter-register

De pakketstructuur instellen

Vergelijkbaar met de zender: de header uitschakelen, een variabel aantal bytes aan verzonden gegevens instellen (het aantal verzonden bytes wordt automatisch geregistreerd in het verzonden datapakket) en 2 bytes voor het synchronisatiewoord:

SpiWriteRegistreren(0x33, 0x02);
Koptekstfiltering uitschakelen:

SpiWriteRegistreren(0x32, 0x00);
Direct instellen van het synchronisatiewoord 0x2DD4:

SpiWriteRegistreren(0x36, 0x2D); SpiWriteRegistreren(0x37, 0xD4);
De pakketbehandelaar en CRC van de ontvanger inschakelen:

SpiWriteRegistreren(0x30, 0x85);
FIFO- en GFSK-modulatiemodus inschakelen:

SpiWriteRegistreren(0x71, 0x63);
De detectiedrempel voor de preambule instellen op 20 bits:

SpiWriteRegistreren(0x35, 0x28);
GPIO instellen om automatisch van antenne te wisselen:

SpiWriteRegister(0x0B, 0x12);//GPIO0 instellen om de TX-verzendmodus in te schakelen SpiWriteRegister(0x0C, 0x15);//GPIO1 instellen om de RX-ontvangstmodus in te schakelen

Over vaste pakketlengte

Bij een vaste pakketlengte worden lengtegegevens niet in het pakket opgenomen, maar opgeslagen in het Transmit Packet Length-register van zowel de ontvanger als de zender, en moet de fixpklen-bit in het Header Control 2-register worden ingesteld (zie)


Als diversiteit niet wordt gebruikt, moet de SGI-bit in het AGC-register worden ingesteld om de analoge versterkingsregeling correct te laten functioneren:

SpiWriteRegistreren(0x69, 0x60);
Instellen van het register dat verantwoordelijk is voor de belastingscapaciteit van de kwartsresonator:

SpiWriteRegistreren(0x09, 0xD7); //schrijf 0xD7 naar het register dat verantwoordelijk is voor de belastingscapaciteit

Het pakket ontvangen

Ontvanger activering:

SpiWriteRegister(0x07, 0x05);//schrijf 0x05 naar register voor bedieningsfunctiebesturing 1
We schakelen twee interrupts in:

1) onderbreken bij ontvangst van een geldig pakket;
2) CRC-foutonderbreking.

SpiWriteRegistreren(0x05, 0x03); //schrijf 0x03 om te onderbreken Activeer 1 register SpiWriteRegister(0x06, 0x00); //schrijf 0x00 naar het register Interrupt Enable 2
Statusregisters lezen om interrupts te resetten:

ItStatus1 = SpiReadRegister(0x03); ItStatus2 = SpiReadRegister(0x04);
Hoofdlus:

While(1) ( //wacht op onderbreking if(NIRQ == 0) ( //Leesstatus registreert ItStatus1 = SpiReadRegister(0x03); ItStatus2 = SpiReadRegister(0x04); if((ItStatus1 & 0x01) == 0x01)// Er is een CRC-fout opgetreden ( //zender wordt uitgeschakeld SpiWriteRegister(0x07, 0x01);//schrijf 0x01 naar register Operating Function Control 1 //reset RX FIFO SpiWriteRegister(0x08, 0x02);//schrijf 0x02 naar register Operating Function Control 2 SpiWriteRegister(0x08) , 0x00);//schrijf 0x00 naar het Operating Function Control 2-register // schakel de ontvanger in SpiWriteRegister (0x07, 0x05) if((ItStatus1 & 0x02) == 0x02)//er is een geldig pakket ontvangen ( // schakel de zender uit SpiWriteRegister(0x07, 0x01);//schrijf 0x01 naar register Operating Function Control 1 //Leeslengte van ontvangen gegevenslengte = SpiReadRegister(0x4B);//lees ontvangen pakketlengteregister //Verwerk ontvangen gegevens van RX FIFO voor (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); } } }

Conclusie

Alle informatie over het programmeren van modules is afkomstig uit.

Er is een lijst met alle Application Notes, die zoiets als wereldrapporten zijn die betrekking hebben op het werk van SI4432. Naast het datablad en de gespecificeerde programmeergids bevindt zich nog een nuttig document in de Application Note -. In de Programmeerhandleiding wordt ook beschreven hoe u de zender configureert voor tweerichtingscommunicatie. De registerkaart geeft een gedetailleerde beschrijving van alle registers, bedrijfsmodi en instellingen.

Tags:

  • radio module
  • SI4432
  • SiliciumLabs
Tags toevoegen

Artikelen en lifehacks

Vraag, wat is een radiomodule in een telefoon, begonnen gebruikers zich af te vragen nadat de behoefte en wens ontstond om twee simkaarten tegelijkertijd te gebruiken. Tot nu toe waren alleen degenen die graag aan mobiele apparaten sleutelden, evenals reparatiespecialisten voor mobiele telefoons, geïnteresseerd in de kwestie van de radiomodule in de telefoon.

Wat doet de radiomodule in uw telefoon?

Met de radiomodule in de telefoon kunt u netwerksignalen ontvangen en verzenden, wat betekent dat:
- je kunt bellen;
- zij kunnen u bellen;
- het ontvangen en verzenden van tekst- en multimediaberichten;
- en tot slot - de mogelijkheid om mobiel internet te gebruiken om uw favoriete sociale netwerken te bezoeken en voor werk!

De radiomodule in een telefoon is een klein gebied op het moederbord dat radiosignalen ontvangt. Het falen van de radiomodule of de onjuiste installatie ervan, de installatie van een radiomodule die niet geschikt is voor het bord, of de aanwezigheid van metalen onderdelen in de buurt ervan leidt tot een afname van de kwaliteit en sterkte van het signaal totdat er een bericht op het bord verschijnt scherm “Netwerk niet gevonden/Zoeken naar netwerk.”

Het is het gebruik van verschillende radiomodules, het verschil in installatie door fabrikanten dat suggereert dat één telefoon ontvangst zal ontvangen in een ondergrondse doorgang, de tweede telefoon zal uitvallen en de derde eenvoudigweg geen netwerksignaal zal weergeven.

Naast de elektronica zelf moet ook gespecialiseerde software worden beschouwd als een radiomodule in de telefoon. Dit zijn stuurprogrammabibliotheken die ervoor zorgen dat alle hardwareonderdelen van de telefoon werken en met elkaar ‘communiceren’. Er is een groot aantal in China gemaakte telefoons waarvan de SIM-kaarten “falen” en waarvoor de installatie van extra SIM-kaartpatches vereist is om alles goed te laten werken. Het komt ook voor dat bij het updaten van het besturingssysteem van de smartphone (firmware) het netwerksignaal verdwijnt - dan heb je een nieuwere versie van stuurprogramma's en patches nodig.

Radiomodule in de telefoon en twee simkaarten

Programmeurs en ingenieurs hebben geleerd om één radiomodule te laten werken met twee (en zelfs drie!) SIM-kaarten, namelijk met twee verschillende netwerken en telefoonnummers. Maar wanneer er actief met één netwerk wordt gewerkt, wordt het tweede netwerk (tweede simkaart) ontoegankelijk. Dit probleem wordt opgelost door twee radiomodules te gebruiken. Beide netwerken zijn altijd en overal beschikbaar waar netwerkdekking is, maar de gelijktijdige werking van twee radiomodules verkort de levensduur van de batterij van de telefoon aanzienlijk.

Tot slot zullen we één proefschriftdefinitie schrijven. Wat is een radiomodule in een telefoon? Dit is een elektronisch onderdeel in een smartphone dat via stuurprogramma's met de rest van de hardware is verbonden, waardoor het met het netwerk van de mobiele operator kan werken.