Microprocessor clock oscillator

bprosman

Golden Member

Voor een Z80 project ben ik bezig met een clock oscillator en baudrate generator. Nu kom ik zo'n beetje 3 varianten tegen met weerstandswaarden tussen de 330 Ohm en 10K en condenstatorwaarden tussen de 10nF en 100nF.

De kristalfrequenties liggen rond de 4MHz , er zal vast wel een logica achter zitten wanneer je wat gebruikt, is er iemand die dat kan uitleggen ?
Ook wat betreft de onderdeel waarden ?

De jongere generatie loopt veel te vaak zijn PIC achterna.
benleentje

Golden Member

The weerstand R en de condensator C vormen samen een tijdconstante.
Volgens de afgeleide formule van de tijdconstante geld:

fc = 1 / (2xπxRxC)

fc = frequentie die je wilt hebben
R = de weerstand
C = de condensator

Je hoeft de formule verder niet te begrijpen.
Maar omdat in de formule R en C met elkaar worden vermenigvuldigd betekend dit dat wanneer je R groter maakt C automatisch kleiner word. Dus voor heel veel waarden van R en C kunt je dus op dezelfde frequentie uitkomen.
Tot zo ver de theorie in de praktijk heb je ook rekening te houden met de rest van de schakeling en daardoor werken hele grote of juist hele kleine waarden van R of C niet goed.

De antwoord op je vraag is dan ook. De waarden van R en C worden deels bepaald door het gebruikte IC en door praktische waarden van gangbare condensatoren en weerstanden

Mensen zijn soms net als een gelijkrichter, ze willen graag hun gelijk hebben.
RAAF12

Golden Member

De C van 120p wordt vaak toegevoegd om te voorkomen dat de oscillator op een harmonische gaat oscilleren.

De poort ingangen worden op de halve voedingsspanningen gezet door de 330 ohm weerstanden, die hebben dan maar een klein tikje van het kristal (spanningske) nodig om te schakelen.

De 120pF is om een betere start te verkrijgen.
De 100nF om de DC tegen te houden, mag ook 10nF zijn.

Het kristal bepaalt de frekwentie en de schakeling is zeer tolerant.

LDmicro user.
Arco

Special Member

Meestal worden kristallen gekozen omdat ze een mooi deeltal geven bij de betreffende processor...
Bijv. 4.194MHz is mooi voor klokken, 4.915MHz is mooi voor een UART,....

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
bprosman

Golden Member

@Arco,

Heb nu 3 frequenties :

4 Mhz voor "Gewoon"
3.57 Mhz als ik in MPF1 emulatie wil
4.9152 met een HEF4040 voor de UART.

Had ook die 4Mhz door 12 kunnen delen , was ik op 19.200 uitgekomen (16x).

De 4 Mhz zit met 1K en 10N op 3.998 MHz volgens mijn teller.

Met 330E wil hij niet opstarten (74LS14), en met de 120pf er bij gaat hij vreselijk van frequentie af (2.7 MHz).

De jongere generatie loopt veel te vaak zijn PIC achterna.
Arco

Special Member

Had ook die 4Mhz door 12 kunnen delen , was ik op 19.200 uitgekomen (16x).

Makkelijkst is (zeker bij oude cpu's) een deeltal wat een veelvoud van 2 is (en dat is 12 niet... ;) )
Met een 4.195 kristal kun je alle standaard baudrates maken.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Op 11 maart 2018 18:04:24 schreef bprosman:
Met 330E wil hij niet opstarten (74LS14), en met de 120pf er bij gaat hij vreselijk van frequentie af (2.7 MHz).

Een 74ls14 en een 74ls04 zijn 2 verschillende ic's!
Dat zou je toch moeten weten .

LDmicro user.

Nog eens in mijn Z80 ontwerpen van 1983 gekeken. Ik gebruikte toen variant C van jouw voorbeelden. Wel met 470 ohm weerstanden. De condensator was 1nF. Het kristal 16mHz. Dat stuurde ik voor een mooi clock signaal door een 74LS93, de B-in. De C uitgang ging door naar de Z80, wel met een pull-up van 330 ohm. Alles voor een mooie 4Mhz block.

Er staat met iets bij dat een te grote C, die 100nF dus, het niet werkt.

Dat schema stamt uit de jaren '70 en zoals ik al schreef is het heel tolerant.
Ik heb al schema's gezien met 1K weerstanden en 2k2 weerstanden, ze werkten allemaal en ik heb er toen ook veel gebruik van gemaakt.
Nooit heb ik enig probleem ondervonden.

Het was bedoeld TTL klokken te maken tot max ~10Mhz voor allerlei processoren en digitale uurwerken.
De meeste processoren draaiden toen op 1Mhz of soms op 4Mhz maar dat was al speed of light.

>8Mhz zal wel enige aanpassing van de componenten vragen maar daarvoor zou ik dat schema niet meer gebruiken, er zijn betere schema's.

Je moet ook opletten met de hedendaagse lowpower kristallen op bovenstaande schakeling, die kristallen kunnen daar niet goed tegen en vereisen een cmos oscillator omdat ze tegen weinig 'energie' kunnen.

LDmicro user.

Daarom kun je beter experimenteren met betere en modernere poortjes zoals de 74HC04 of CMOS typen zoals de CD40106.
Al deze poorten hebben een veel hogere ingangsweerstand en zijn veel gemakkelijker om er een (puls) generator ermee te maken.
De weerstand tussen uitgang en ingang is dan vaak 1M ohm.

Telefunken Sender Systeme Berlin
bprosman

Golden Member

zoals de 74HC04

Morgen eens spelen , dankzij Deurne nog 24 van liggen.

De jongere generatie loopt veel te vaak zijn PIC achterna.

Op 11 maart 2018 17:49:17 schreef Arco:
Meestal worden kristallen gekozen omdat ze een mooi deeltal geven bij de betreffende processor...
Bijv. 4.194MHz is mooi voor klokken, 4.915MHz is mooi voor een UART,....

4.194304 MHz toch?

bprosman

Golden Member

Deze had ik overigens nog niet gezien :

De 4040 (Baudrate generator) doet het in ieder geval prima :

[Bericht gewijzigd door bprosman op zondag 11 maart 2018 20:53:53 (42%)

De jongere generatie loopt veel te vaak zijn PIC achterna.
big_fat_mama

Zie Paulinha_B

En in de meeste toepassingen hang je er maar beter een tweedeler achter om de zaak symmetrisch te maken, nogal wat microprocessors stellen daar prijs op. Zeker als ook de videogeneratie van diezelfde frekwentie afhangt, zoals in de onvolprezen Apple ][ .

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord
bprosman

Golden Member

@BFM,

Er is inderdaad een 74xx74 achter gepland.

De jongere generatie loopt veel te vaak zijn PIC achterna.

Ik ken de oscilatoren eigenlijk alleen in deze configuratie:

https://en-us.knowledgebase.renesas.com/English_Content/MCUMPU/Basic_I…

En met m'n digitale brein kan ik een beetje snappen dat dit onstabiel is en gaat oscileren. Laag in, hoog uit -> terggekoppeld naar de input -> hoog in, laag uit.

In jou schema zitten er 2 inverters in een rondje. Dus ik kan me dan voorstellen dat de boel gewoon vast gaat lopen tegen een voeding in een stabiele toestand. Maar goed. Als het werkt, dan werkt het.

Deze had ik overigens nog niet gezien :

Dat lijkt me een logisch vervolg. De inverters in het basis schema staan gewoon analoog te zijn. Niet een digitaal net signaal er uit. Door de extra inverter (die je toch over hebt in het huisje) maak je er een net digitaal signaal van. Wat je zeker NIET moet doen is dat ding weglaten en als je de oscilator met HC dingen hebt gemaakt een LS '74 tweedeler gebruiken. het kan best dat het ding maar een kleine uitslag rond de threshold spanning maakt, en die hoeft dan niet het omslagpunt van een andere familie aan te tikken. Vandaar dus ook dat die extra inverter van belang is.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
flash2b

Special Member

74HTC04 heb ik nog nooit gezien, 74HCT04 wel.

Schema is zeker getekend op door een HTC phone fan....

bprosman

Golden Member

Of iemand die in Eindhoven werkt :-)

De jongere generatie loopt veel te vaak zijn PIC achterna.
flash2b

Special Member

>:-)

Een HCT als lineaire versterker (dus met de 1K eroverheen) gebruiken is niet een goed idee. Bij een HC kan dit wel, maar de HCT heeft extra trap achter de inverter om hem TTL compatibel te maken.

Waarom gebruik je niet gewoon een LS versie? Voor lage frequenties is dit niet zo'n probleem.

bprosman

Golden Member

Waarom gebruik je niet gewoon een LS versie? Voor lage frequenties is dit niet zo'n probleem.

Eigenlijk gewoon een beetje experimenteren en leren.

De jongere generatie loopt veel te vaak zijn PIC achterna.

Zo moet het, niet alles zomaar aannemen wat ze u vertellen >:)

LDmicro user.
big_fat_mama

Zie Paulinha_B

Hm, ja, natuurlijk; maar een forum is er toch maar om het geleerde ook door te geven? Zodat niet iedereen keer op keer het wiel moet heruitvinden?

hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord

Op 12 maart 2018 15:05:57 schreef flash2b:
maar de HCT heeft extra trap achter de inverter om hem TTL compatibel te maken.

Parrrrdon? Het is juist de ingang die aangepast is om meer compatibility met de TTL serie te krijgen. :-)

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Arco

Special Member

Bij cmos oscillators wordt ook vaak de ongebufferde versie van de 4069 (de 4069UB) gebruikt...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com