synchronisatie

  • Thread starter muralikrishna85
  • Start date
M

muralikrishna85

Guest
kan iemand helpen bij syncronizing twee pic in een draadloze communicatie. probeer nu met het toevoegen van een preambule bij de start van elk gegeven frame .. en dan uit dat het vinden van de baudrate .... geef wat informatie hierover.
 
Ja dat is heel gebruikelijk is.Zelfs eenvoudige seriële UART gebruiken!

 
Het algemeen heb je niet de microcontrollers zijn poging om de baudsnelheid te bepalen uit de preambule, met name in draadloze communicatie.Het is veel gemakkelijker om standarize op een gemeenschappelijk baudrate dat beide uiteinden weten te gebruiken.
Het probleem is niet de baudrate, het is een kwestie van uitwerking waar precies de gegevens gestart.Dit is een groot probleem in draadloze communicatie, omdat het AGC circuits in de ontvanger enige tijd te nemen om aan te passen aan het begin van de transmissie.De preambule kan de ontvanger aan te passen zijn winst die ook duidelijk aangeeft op welk punt de eerste gegevens element begint.
Er zijn een paar manieren om dit te doen.Een eenvoudige methode die goed heeft gewerkt voor anderen is de NEC-stijl IR-communicatie van een zeer breed puls gevolgd door de gegevens.De pols is breder dan een seriële data packet continue "1" en kan dus niet worden verward met gegevens.Neem een kijkje op:
http://davehouston.net/rf.htm

 
thankx voor de beantwoording
dat is ok!maar wat het probleem is met de data rate ... eigenlijk mijn project is op beveiligde inter com .. Hier heb ik 4 hand sets en een BSE-station voor switiching ... me zelf doet het basisstation .. Ik gebruik een pic 16F877A voor dit doel .... en er zijn twee kanaal voor de communicatie .. een aanvraag voor signalen en andere voor de overdracht van gegevens (simplex) ..pic heeft slechts een USART ... ook datakanaal behoeften hogere datasnelheid .....

 
Ok, heb je twee verschillende snelheden, maar je weet van tevoren wat deze twee snelheden, zodat u niet hoeft te experimenteel vast te stellen.Normaal gesproken zou u een afwisselend patroon als 0xa5a5 en vervolgens aan de ontvangende kant als je het juiste patroon 0xa5a5 dan de baudrate juist te krijgen.Zo niet, dan weet je te schakelen baud tarieven.
De PIC heeft slechts een hardware UART.Echter, er is niets houdt je via een andere timer om een software-UART-formulier.De code is op het web en werd vaak gebruikt voordat ze terug opgenomen UARTs in de microcontroller.U kunt ook draad deze twee UARTs parallel.Gebruik de hardware UART voor snelle data-overdracht en gebruik van de software UART voor langzamere snelheid signalen verzoek.Dan hoeft alleen de code om te beslissen welke UART is in controle op basis van de inhoud van de controle of framing pakket.
Anders, met behulp van een UART, moet u de framing pakket sturen, laat enige tijd voor de ontvangende einde te maken aan het pakket te decoderen en de UART te passen indien nodig, voordat met explosieven in de reële gegevens.Nogmaals, aangezien de baudsnelheden bekend zijn bepaalt u het maximale tijd die nodig is om de overstap te maken en dus de vertragingstijd tussen de opstelling pakket en de gegevens aan te passen.
Op deze manier de verwoording pakket is echt een wake-up en je baudrate pakket schakelaar.

 
ok i nw onder stond ur idee ....... zien dan kunt u gewoon explai aan mij of wijzen op een site die mij duidelijk kan maken op deze preambule synchronisatie) nu wat ik probeer te doen is dat de eerste ziek stuurde de preambule in voorzijde van het frame en de gegevens vervolgens controleren of slecht de ontvangen data wordt dan als preambule zijn, zodat de resterende gegevens is alleen uit de bijzondere pin waar deze gegevens ontvangen .. Daarbij ga ik in de rigt manier?of anders please ... nogmaals bedanken u voor sparen tijd voor me ..
ok nog een ding zoals je zei 'software uart' --- het is een pin progrmmed voor seriële te Parrel coversion en vice versa.

nu op dit moment wat ik eigenlijk doe is dat ik heb twee pic16f877a .. een voor de overleggen van een seriële gegevens en een andere voor het ontvangen van deze op pin B0 en doen andere thisgs zoals het controleren van de preambule .. enz.. twee foto's zijn verbonden door middel van draden. . dus dat als ik geslaagd in syncronizing ziek dan de draden te vervangen door een rf-module.

 
De preambule is wat je gebruikt voor baudrate detectie.Neem een kijkje op:
http://www.iol.ie/ ~ ecarroll / autobaud.html

Dit beschrijft een autobaud algoritme.Je zou alleen maar uit te voeren aan welke van twee mogelijke degenen bepalen worden gebruikt.

Wees voorzichtig met het woord "frame" als het betekent verschillende dingen in verschillende delen van het circuit.Als je zegt gegevens frame, heb je het over het blok van de gegevens die worden verzonden.Echter op het communicatie kanaal, een opnamesnelheid fout betekent dat de bytes niet goed gedecodeerd omdat opsporing gestart op het verkeerde symbool.

Op een bekabeld systeem, is de detectie van de startbit mooie betrouwbaar.In een draadloos systeem met de gebruikelijke lawaai problemen kunnen, het begin beetje te missen of een geluid puls verward zouden kunnen worden voor het begin beetje.Dit geeft een opnamesnelheid fout.Denk aan een foto frame dat is niet gecentreerd op het portret.Dat is de context van een opnamesnelheid fout.

Het draadloze kanaal is lawaaierig en de microcontrollers en computers niet kunnen voorbijgaan aan de willekeurige geluiden zoals je kunt.Als u luistert naar de radio en er is een statische ruis tijdens een pauze in de communicatie, heb je niet verkeerd interpreteren de volgende gesproken woord, omdat je hersens weet dat deel negeren.Computers zijn dom, dat lawaai puls zal de computer truc te geloven dat het volgende woord begint te worden gezonden.

Ik ben bang dat u momenteel ontwerpen met een bedrade verbinding.Dit is een veel voorkomende fout op een harde bekabeld systeem ontwerpen en vervolgens aannemen dat het gemakkelijk kan worden omgezet in een draadloos een.De draadloze communicatie kanaal is de beperkende factor van het gehele ontwerp.Eerst moet u kiezen voor de RF-systeem en weten precies wat de behoeften en beperkingen zijn.Dan kunt u terugvallen op een bekabelde verbinding voor de initiële ontwikkeling.Bijvoorbeeld, zijn goedkoop rf seriële verbindingen beperkt tot snelheden van minder dan 9600.Sommige alleen naar 4800 en ook ondergrens van hoe traag ze kunnen gaan.

Software UARTs doen seriële tot bekering parallel aan de zijkant en parallel naar serieel conversie ontvangt op de transmit kant.Je hoeft niet om beide te doen van deze in een bepaalde chip.Je zou kunnen doen van een software-UART voor ontvangen alleen.Aan de kant krijgen, moet opsporen van de start bit, proeven van de databits dicht bij hun centra en dan herinneren aan een stopbits ontdoen.Aan de kant zenden, de software-UART moet bij de start-en stopbits van de gegevens en vervolgens klok het uit serieel.Nogmaals, als je kijkt naar de Microchip website, ben ik zeker dat ze nog steeds voorbeeldcode.De beperking van de software UARTs is dat de microcontroller geen enkele andere arbeidsintensieve taken of taken die nodig onderbreekt gedurende de tijd dat de gegevens wordt vastgesteld of ontvangen doen.Daarom is later fiches hardware UARTs om vervolgens in staat te stellen andere dingen te doen tijdens datatransmissie en ontvangst.

 
Goedenavond banjo en elk lichaam ... hw are u?geldboete na?<img src="http://www.edaboard.com/images/smiles/icon_neutral.gif" alt="Neutraal" border="0" />Nu ben ik geplakt met een ander probleem ..........i geprogrammeerde de eerste pic voor beetje bij beetje outputtig een 'preambule sequentie gegevens' ..toen mijn tweede pic is geprogrammeerd om dit beetje bij beetje inkomende gegevens te ontvangen en te controleren of het is preambule .... en het lezen ..
de tweede pic is zodanig geprogrammeerd dat wanneer het ooit dectects een L_H of H_L randen dan is het oproepen tot en met 1 .. ISR & o lezen dus .... maar wat het probleem is dat wanneer -------> ooit een interrupt optreedt bij de pin b0 de pic neemt rond 50microseconds haar isr ... goto gedurende deze tijd niet de foto een aantal van de randen van de gegevens die op .. whats uw mening te sporen
de preambule byte is '10101010 '
ben met behulp van een kristal oscillator van 4megaHZ
... zal dit probleem worden opgelost met behulp van een 20megaHZ:?

 
thank u banjo,,,
wij ons project met succes afgerond ..

 

Welcome to EDABoard.com

Sponsor

Back
Top