vallende rand van de klok naar monster gegevens beetje bij centrum

S

scdoro

Guest
Hi all,

Ik heb een klok kunnen genereren freq van 10kHz naar 16.7khz.I nodig om de klok te synchroniseren met de seriële data-bits.Na de start-bits voor een RS232-gegevens frame, Elke bit is bemonsterd in het midden tot aan de stopbit wordt aangetroffen.

Qn1.Kan ik een digitale Fase vergrendeling lus om dit te bereiken?wat PLL chip is geschikt

Qn2.How kan ik aansluiten op de pinnen op de PLL-chip, zodat de gegevens en de klok gesynchroniseerd samen?zie bijlage voor de gewenste timing diagram

bedankt
Sorry, maar je moet inloggen om dit onderdeel te bekijken koppelingseisen

 
Hoi,

Ik
ben er zeker van dat u zich bewust zijn van de conventionele manier van correcte ontvangst van een byte pakket met starten en stoppen.Overbemonstering (8x of 16x) de datarate, en zodra de dalende rand van de start-bit is geconstateerd, de ontvanger wacht 1 / 2 wordt de bit-tijd (ja, als je oversample door 16x, je wacht 8 klokken).Op deze manier bent u zoekt in het midden van het begin beetje.U kunt vervolgens gewoon vertraging de klok 16x, zodat je 'look' of 'monster' in het midden van de eerste bit.

Ik
heb gedaan die methode zelf vele malen in de logica, en haar mooie damn betrouwbaar, zolang beide klokken op de Tx en Rx zijn binnen 5% van elkaar.
, or unknown
bitrate then maybe a PLL would be best.

Hoe dan ook, als u van plan bent over het ontvangen van pakketten op een variabele,
of onbekende
bitrate dan misschien een PLL beste zou zijn.Ik persoonlijk de neiging om te voorkomen dat ze, want ik heb niet veel ervaring mee, en ik kan over het algemeen doen het allemaal in pure logica (met behulp van tellers, shift-registers, enz..).

Een ding echter kijken naar je diagram, ik neem aan dat je probeert te 'syncronise' uw klok met de binnenkomende gegevens direct.Door dat, ik bedoel zonder 'opleiding' van de PLL.In de meeste gevallen is het eerste deel van een pakket aan u, wanneer u een PLL in de ontvanger, is een 'preambule'.Zijn meestal voor 'radio' links, maar ook de treinen PLL voor de inkomende datarate, zodat het "lock-on 'voordat er een echt nuttige gegevens aankomt.

Dus, aangezien haar kerstmis

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />

Ik
zal proberen te worden van sommige gebruik.

Q1.U kunt een DPLL natuurlijk!Maar het hangt allemaal af van de kosten, de datarate van het systeem (variabele, vaste, hoge, lage, enz. ..) en hoe complicatied u wilt maken.Met behulp van een PLL zal je voor het verzenden van een paar 'dummy' pakketten als opleiding sequentie, zoals 10101010.

Een "geschikte" chip?Zoals ik al zei, ik niet echt weet over PLL's, maar ik heb dit keer, met groot succes:

http://www.fairchildsemi.com/ds/74/74VHC4046.pdf

En haar een 74-serie logica chip, goedkoop en gemakkelijk te krijgen van.Ook theres volop verwezen ontwerpen voor deze IC op het web.Het heeft een ingebouwde VCO in, dat is afgestemd met de externe componenten tot 12Mhz.

Q2.De notitie moet je beginnen op een basisontwerp.Maar zorgvuldig gelezen over 'lock-tijden ", dat zal u vertellen hebben vele' packets' je moet sturen, voordat je kunt beginnen met het ontvangen van gegevens betrouwbaar (dat
wil zeggen: niet vuilnis).

Daar ga je, ik zou raden de 'overbemonstering' idee, indien het geschikt is.Je
zult 'lock-on' om de gegevens direct bij de start bit, en u kunt altijd gebruik maken van deze opstelling van de output een klok, net als in uw diagram.Een microcontroller, CPLD, FPGA, zelfs een PAL kan doen.

Hoop dat dit helpt, good luck.BuriedCode.

 
hi buriedcode en alle

bedankt voor de informatie.Ik denk dat houdt me op de hoogte en begon over hoe je over het probleem.

Qn1: Dus naast de PLL IC, heb ik nodig extra ICs of onderdelen. (Shift register / tellers)?Door alleen gebruik te maken van de PLL IC u aanbevolen, zal het lukken?

Qn2: Correct me if i am wrong.my RS232 gegevens baudrate is vastgesteld op 9600.so i behoefte aan input van de gegevens in 1 pin van het IC-chip, en ook de klok in een andere pin.
Bij de uitgang van de IC, zal ik het bereiken van de gewenste output i zoals aangegeven in het schema (i geüpload)

 
Hallo weer,

Ik vergat te vermelden dat wat je probeert te doen is een klassiek voorbeeld van een UART (universele asynchrone ontvanger zender).Typ in google als je niet weet wat het is.

Ik weet niet welk niveau van elektronica skilll u zich op, en ik wil niet te vertellen je dingen die je al kent.Laat ons weten wat dit 'IC' is dat de gegevens er in?Als alles wat je nodig hebt is klok herstel dan zijn er een paar UART-chips beschikbaar, maar u hoeft alleen maar de 'ontvanger' gedeelte.Persoonlijk denk ik dat een PLL is een ingewikkelde manier om te gaan.

Voor dit soort dingen (UART, RS232) er zijn vele manieren om correct ontvangen van een signaal.Pure logica, PLL, UART IC, of een microcontroller.De meeste microcontrollers hebben ingebouwd in UARTS dat gewoon moet worden geconfigureerd voor het juiste datarate, plus, omdat ze zo gemeen, ze zijn waarschijnlijk een van de goedkoopste oplossingen.Zolang u over een basiskennis programmeren (voornamelijk montage).

Dus mijn vragen zijn:
Wat is de applicatie?
Is deze aangesloten op een pc op welke wijze dan ook?
Bent u met behulp van enige vorm van computationele logica (microcontrollers, DSP, enz.)
Of bent u met behulp van zuivere logica (logische poorten, zoals CMOS, TTL, 74 enz..)

In antwoord op uw vragen.

q1) Ik denk dat een PLL alleenrecht doen.Maar zoals ik al zei, deze eerst moeten worden opgeleid voor elk pakket.Dus als je 8 bytes achtereenvolgens (de een na de andere) de eerste 1-3 verloren zullen gaan, en worden alleen gebruikt om de PLL op 'lock'.IMO, zijn niet de gemakkelijkste, of de goedkoopste manier om te gaan.

q2)
Citaat:

Correct me if i am wrong.my RS232 gegevens baudrate is vastgesteld op 9600.so i behoefte aan input van de gegevens in 1 pin van het IC-chip, en ook de klok in een andere pin.
 
hi buriedcode en iedereen,

Ik heb ook een volledig overzicht bevestiging van mijn project .. en wat ik heb met zo veel voor de software gedeelte.

PS: ik zal de voorkeur geven om het te doen in zuivere logica voor de hardware, indien mogelijk, want ik ben niet erg bekend met microcontroller en PLL ..

hpe kunt u mij leiden langs als ik geconfronteerd met moeilijkheden bij de uitvoering van de hardware-interface.

thanks a lot

 
Hi buriedCode,

Corrigeer mij als ik mij vergis.

1.Als ik de string 1CF01C voor ASCII karakter een van de 1ste pc, zal ik het versturen van de juiste volgorde van de bits uit te LSB MSB zodat het toetsenbord-controller op de 2e PC zal de behandeling van de string als een geheel van scancode?

2.Als ik de baud te between10kbps-20kbps uit de pc-software, zal ik dan in staat zijn te genereren RS232 data in een tempo vergelijkbaar met een doorsnee toetsenbord klok frequentie.Als de gegevens worden doorgegeven via een MAX232 chip, kan vervolgens worden omgezet in een TTL / CMOS-0-5 v gegevens die moeten worden gebruikt als toetsenbord gegevens.Is mijn idee tot nu toe correct?

3.Dus in dit stadium, mijn belangrijkste zorg is het synchroniseren van de PS / 2 klok tot de gegevens, zodat ze kunnen worden uitgezonden en correct geïnterpreteerd door de keyboard controller bij de 2e pc?Thanks a lot

PS: bedankt voor de follow-up van mijn messages.I ben verloren in feite met de hardware ontwerp

Groeten

 
Hi buriedcode,

Bedankt voor het helpen van me.Ik ben er heel zwak in hardware design vooral wanneer betrokkene met FFS.

Qn1: wat is de timer overflow over?

Quote: Als de timer over-stromen, de 'oscillator' hierboven is vermeld, wordt gereset
en tegelijkertijd
is aangesloten op de klok lijn op de PS / 2.

Qn2: Is de timer een steekproefschema tegen elk monster gegevens beetje in het midden?We hebben het instellen van de timer op ˝ van de bits tijd?Ik ben confused.I dacht dat we moeten oversample de oscillator op ongeveer 2 maal de frequentie van de RS232-gegevens 

Citaat: De timer begint zodra er een verandering in de lijn staat, zoals 1 -> 0,
het begin van de start-bit.Deze timer is ingesteld op 1 / 2 van de bits tijd.

PS: met de schematische u komen met, ik ben er zeker van dat de meeste van mijn twijfels worden gewist

Bedankt

 
Hi buriedCode,

Ik weet dat ik shdnt worden spoonfeed en als zodanig, ik kwam met mijn eigen undestanding van wat u vertelde me tot nu toe.

Ik heb een oscilator die loopt op 2.4576Mhz.This gaat via een divider route (/ 128) om een frequentie tweemaal zo veel als de freq van de gegevens.

Ik zal een binaire counter / timer die begint zodra 1 -> 0 overgang (begin van de start-bits). Stel de timer op 1 / 2 beetje tijd (dwz: 52.1us) eerst naar monster in het midden van de start-bit . Dit vereist een 64-bits-up-teller en een clk freq van 1Mhz.

Zodra de timer overflows, oscillator klok wordt gereset en tegelijkertijd verbonden met de clk lijn op PS/2.Now we kijken naar het midden van het begin bit.Then wij zullen timer vertraging een hele beetje periode voor de volgende 10 bits?

Vervolgens gebruiken we een up-teller bijhouden hoeveel bits zijn verzonden.
Eenmaal klaar bent met lezen de 11e bit, reset timer.The timer zal hervat worden wanneer de volgende start bits van het volgende frame aankomt.

PS: Ik ben in staat om te begrijpen wat u van de punten genoemd, butI hebben een probleem met proberen te vertalen die ideeën in puur logic.It wordt het duidelijker als ik kon vangen en anaylse een schematisch uit you.I zal zeker kunnen visualiseren beter in dat geval.

Pas op jezelf.

 

Welcome to EDABoard.com

Sponsor

Back
Top