Probleem met draadloze seriële transmisson

T

Tracy Chin

Guest
Hallo, ik ben bezig school project en een probleem hebben ondervonden bij het gebruik van T5/R5 module en PIC16F877 USART functie voor RF-communicatie.

Datasheet voor T5/R5 module en mijn schema's zijn bijgevoegd.Kortom, de route T5 Tx pins -> PIC Tx -> overbrenging media -> R5 Rx pin -> PIC Rx.Ik heb geen gebruik encoder / decoder verband chip.

Toen ik direct aangesloten PIC PIC Tx Rx, het circuit gewerkt.Echter, nadat ik de toegevoegde RF-modules, de communicatie tussen twee PIC mislukt.Ik merkte de golf in oscilloscoop.Wanneer een signaal werd verzonden vanaf Tx, een vergelijkbare vorm signaal werd ontvangen van Rx.Maar als er niets was verzonden vanuit Tx, geluiden gepresenteerd in Rx (ik zag golven op en neer in hoge freq).Dat kan de reden zijn waarom PIC niet aan de betekenisvol signaal Ik stuurde interpreteren.

De baudrate ik gebruik is 4.3Kbps.Iedereen heeft het idee over wat het probleem is?Zal ik de condensator waarde of baudrate?Many thx.
Sorry, maar je moet inloggen om deze gehechtheid

 
Dit is typisch gedrag.De RX module heeft een automatische schakeling te krijgen.Als er geen geldige TX signalen aanwezig zijn, de winst blijft stijgen totdat de achtergrondruis begint te worden ontdekt.

De gebruikelijke oplossing voor dit is meer firmware-code.Meestal is de TX circuit stuurt een zich herhalend patroon als een header.Dit is om te normaliseren de winst van de RX-circuit.Na de bekende kop, de TX-circuit stuurt met de boodschap meestal met een checksum.

De RX firmware ziet er voor een geldige datapakket en checksum.Het negeert de header en elke willekeurige gegevens die bevat geen geldige checksum.

Waarom heeft uw RX-decoder zie niets?Meestal omdat je verzonden gegevens te kort is om goed te passen de controle terug te krijgen in de juiste actieve regio.De meer wetenschappelijke leden beschrijven dit in termen van de gegevens slicer, maar de effecten zijn hetzelfde.

PS De kop is meestal een evenwichtig herhalend patroon, hex AA.

 
banjo schreef:

Meestal is de TX circuit stuurt een zich herhalend patroon als een header.
Dit is om te normaliseren de winst van de RX-circuit.
Na de bekende kop, de TX-circuit stuurt met de boodschap meestal met een checksum.

 
Ten eerste, lees dan de andere draad, "Probleem met draadloze seriële transmissie" Er zijn meer dan 50 posten in de discussie en een link moet verschijnen op de bodem van de webpagina.

Ook kunt u kijken op de volgende links:

http://www.mrl.nott.ac.uk/ ~ CMG / evenaar / Downloads / pics / RF-notes.htm

http://winavr.scienceprog.com/index2.php?option=com_content&do_pdf=1&id=71

http://www.seattlerobotics.org/Encoder/200011/robo2pc.htm

Een checksum is een extra stuk van de gegevens waarvan de waarde afhangt van de inhoud van de vorige gegevens het is ontworpen om te controleren.Het doel is om gegevens onleesbaar te worden ontdekt.Er zijn talrijke checksum methoden.Zo kunnen we optellen alle bytes van de gegevens gedeelte en zenden de som als een checksum.De ontvanger doet hetzelfde rekenkundige en vervolgens vergelijkt haar antwoord met de checksum.Als ze overeenkomen, wordt de data geldig is.Als zij de gegevens niet eens is beschadigd.Eenvoudige toevoeging is niet waterdicht.Als de gegevens twee fouten heeft, is het mogelijk dat ze precies compenseren voor elkaar en de checksum zou passeren.Daarom zijn veel systeem te gebruiken CRC's die meer complexe berekeningen, maar beter in het vinden van fouten.

Ik ben niet familar met de bibliotheken beschikbaar zijn voor de PIC-microcontroller.Ik ben geneigd het gebruik van de AVR.Voor de AVR, is er een gepubliceerde bibliotheek, AVRLIB, dat alle routines die nodig zijn voor het verzenden en ontvangen van draadloze gegevens bevat.U hoeft alleen zijn de bibliotheek en vraagt vervolgens of de juiste functies.Misschien een soortgelijke bibliotheek is beschikbaar voor de PIC.Toegevoegd na 4 minuten:Heeft een andere zoeken op het web en vond dit circuit Kelder artikel.Het lijkt te bevatten links naar enkele PIC-broncode.

http://www.circuitcellar.com/library/print/0601/dahlin131/9.asp

 
Hoi,

Sorry dat je antwoord zo laat als ik ben bezig met mijn marketing project als goed deze week.

Ik dacht dat als ik countinousely zond een signaal dat in balans is met 0s en 1s tot Rx kant, moet het kunnen detecteren als de theorie gelijk is aan het verzenden van headers.Echter, toen ik probeerde het, heeft zij niet reageren zoals ik had verwacht.Er waren enige tijd tussen twee signalen te ontvangen en mijn RF hebben geconstateerd lawaai in die periode.Dus zelfs zag ik het signaal verscheen op de oscilloscoop aan Rx zijde, kon de PIC niet herkennen.Is er een manier (net als met filter) om ruis te elimineren ontvangen?

Ik ben niet bekend met het gebruik van het filter.Groot als je kan me wat suggesties.Hartelijk dank.

 
Hi Yudi.

Het geluid is niet het probleem.U krijgt altijd ruis tussen de uitzendingen, het is als het sissende geluid u op een FM-radio als ze niet afgestemd krijgen inch Het zal te zien zijn als willekeurige gegevens die uit de ontvanger, maar dat is alleen omdat zonder kennis van de gemiddelde frequentie, kan het niet vertellen of momentane frequentie (doorgaans de gegevens die u verzendt vertegenwoordigt) wordt boven of onder dat gemiddelde.Als er geen signaal wordt ontvangen, kan het gemiddelde van alles zijn, zodat achtergrondruis zal blijken te zijn willekeurig 1's en 0's.

De truc is niet te verwijderen, maar het lawaai om de ontvanger negeren de willekeurige gegevens.

Quote:ps.
Ik heb geprobeerd een methode die werkt.
Toen ik de Tx pin met signaal generator die het genereren van blokgolf met freq> 7,9 KHz, het lawaai op Rx zijde aangesloten verdwenen.
In plaats daarvan, een blokgolf met een lagere amplitude bestond Rx kant.
Toen ik enkele boodschap een keer, kan de chip te detecteren met 70% acuaracy en hierop reageren.
Echter, wanneer ik probeer te blokgolf door PWM van PIC te vervangen, heeft zij niet werken weer.

 
Hoi Brian

Heel blij met uw antwoord te zien:)

Dank u voor uw uitleg.Ik begreep de theorie nu, maar moest probleem continousely signaal aan Rx kant zonder vertraging.Hieronder zijn mijn codes.

Zender kant:
for (i = 0; i <20; i ) / / send 20 bytes van header
(
while (TXIF == 0);
TXREG = 0x55;
)

for (i = 0; i <10; i ) / / send 10 bytes van nuttige signaal
(
while (TXIF == 0);
TXREG = 0xA6;
)

Receiver zijde:
if (OERR == 1) / / overschrijding fout
(
Cren = 0;
Cren = 1;
signaal = RCREG;
signaal = RCREG;
signaal = original_signal;
)
anders
(
if (RCIF == 1)
signaal = RCREG;
)

orginal_signal wordt opgeslagen in EEPROM

Ik vond dat als de zender kant meer dan 2 signalen samen, kan de ontvanger zijde niet lezen uit het register (misschien omdat van meer dan fout loopt de hele tijd).

Dus ik zou willen vragen of er een manier om transimit en 10s van bytes van signalen te ontvangen continousely?

Hartelijk dank.

Groeten,
Tracy

 

Welcome to EDABoard.com

Sponsor

Back
Top