Kinkiga kristaller - lastkapacitanserna och en PIC18LF...

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Illuwatar
Inlägg: 2256
Blev medlem: 10 november 2003, 14:44:27
Skype: illuwatar70
Ort: Haninge
Kontakt:

Kinkiga kristaller - lastkapacitanserna och en PIC18LF...

Inlägg av Illuwatar »

Har en liten fundering när det gäller valet av lastkapacitanser för "vanliga" kristaller som används till våra kära mikrokontrollers. Denna gång är det en 20 MHz HC49/S inköpt hos Electrokit det gäller. Min fudering gäller hur mycket "off" man kan vara från det specificerade värdet (30 pF) utan att kristallen/oscillatorn stannar. Detta tillsammans med en PIC18LF252-I/SP som körs på 3.3 V.

Och en liten följdfråga - vilken metod är lämplig att använda för att se om PICens oscillator verkligen svänger (utan att använda mjukvara). Att bara trycka dit en oscilloskop-prob är nog inte det bästa...
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7487
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

Har Du en radiomottagare som kan lyssna på aktuell frekvens så använd den. Helst en mottagare för SSB/CW.

Oscillatorn brukar alltid svänga även om kapacitansen avviker lite. Stämmer den inte så kan frekvensen dra sig lite, men det är så lite så det har ingen betydelse för det mesta. Det är bara om den skall vara referes i en realtidsklocka e.dyl. som det märks och då finns det sätt att lösa problemet i mjukvara.

Personligen är jag mera orolig för att ta i för mycket änför lite när det gäller drivningen till kristallen. Med 3.3V är väl risken att nöta ut en kristall lite mindre, men man vet aldrig. Den enda gång en oscillator har stannat för mig "av sig själv" har berott just på utnötning. Då är det seriemotstånd som behövs och inte kapacitans. Bara prova, går det att stoppain mycket motstånd innan den stannar så bör där troligtvis finnas ett seriemostånd.
Användarvisningsbild
Illuwatar
Inlägg: 2256
Blev medlem: 10 november 2003, 14:44:27
Skype: illuwatar70
Ort: Haninge
Kontakt:

Inlägg av Illuwatar »

Har tyvärr ingen sådan mottagare.

Mitt problem är inte att frekvensen driver eller är fel - det handlar om en PIC som inte ser ut att starta över huvud taget. På något sätt vill jag veta att oscillatorn verkligen är igång. PICen är laddad med firmware som borde fungera (nerladdad från Dennis MiniMig-hemsida), PICen är helt ny och schemat är en "Ctrl-C-Ctrl-V" från ett bygge som fungerar. Alla spänningar är uppmätta korrekt, avkoppling på alla VCC-ben och 4.7k pullup på MCLR. Jag har testat med 12 pF och 22 pF. En möjlighet kan vara att kristallen i sig är skadad (har ej provat att byta).
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7487
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

Lyssna efter en överton istället. Ta en vanlig FM-rundradiomottagare och lyssnakring 100 MHz efter femte övertonen. Den bör vara hörbar när antennen befinner sig alldeles intill oscillatorn. Hörs den är det klart att den svänger, i annat fall kvarstår osäkerheten.

Får Du en rak linje på skopet? Provat att sättaett motstånd på några k i serie med proben?

Detsäger i och för sig inteså mycket, för det kan hända mångakonstiga saker när man probar en PIC-oscillator har jag märkt...
Användarvisningsbild
Illuwatar
Inlägg: 2256
Blev medlem: 10 november 2003, 14:44:27
Skype: illuwatar70
Ort: Haninge
Kontakt:

Inlägg av Illuwatar »

Det blir "flat line" på både OSC1 och OSC2 - har testat med både 1x och 10x på proben. Kan prova med motståndet, men är själv lite tveksam till detta. FM-radion kan vara värd att testa, har en MiniMig som fungerar som kan agera referens.
Användarvisningsbild
Ronny
Inlägg: 335
Blev medlem: 2 juni 2008, 23:10:22
Ort: Göteborg

Inlägg av Ronny »

I tråden "RC eller kristall för timing? (och kristallproblem)" som DragonsDen startade i avdelningen Allmänt skickade jag med några länkar
till info om kristaller och kristalloscillatorer. Kolla de tre sista länkarna i mitt inlägg där. De handlar speciellt om kristalloscillatorer för MCU'er.

Jag har inte jobbat något med PIC-processorer själv men för många MCU'er gäller att man med en registerinställning kan justera
transkonduktansen (gm) för oscillatorförstärkaren som kristallen ansluts till. Det brukar vara 3 eller möjligen 4 olika lägen (låg, mellan och hög)
och väljs beroende på hur högfrekvent oscillatorn/kristallen är.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7487
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

Det finns för PIC också, de kallas LP, XT och HS. Väljes i config-registret.

Eftersom det är ett färdigtprogram som flashas så finns väl denna info med i hexfilen med program. Om inte kan det finnas massor av andra saker i config som orsakar att det inte fungerar, så den möjligheten är nog närmast obefintlig. Det är inte hellre någo gränsfall, helt klart att HS skall väljas.

Microchip har en del AN's om just oscillatorn, de kan också vara bra läsning om man skall konstruera själv. Fast i det här fallet antar jag att konstruktionen är klar och utprovad.
Användarvisningsbild
Illuwatar
Inlägg: 2256
Blev medlem: 10 november 2003, 14:44:27
Skype: illuwatar70
Ort: Haninge
Kontakt:

Inlägg av Illuwatar »

Det är en uppdaterad MiniMig det gäller - det jag har gjort är att gå från SMD till DIP när det gäller PICen. Dessutom var det ett tag sedan jag byggde den som fungerar och har glömt om det sitter 33pF eller 12pF på kortet. Dessa 1206 keramiska kondensatorer saknar helt markeringar. Och jag har inga 0805 33pF hemma (har gått ner i storlek på den nya designen)...
xxargs
Inlägg: 10189
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Inlägg av xxargs »

Om kristallen svänger så brukar man se spår av detta även om oscilloskopproben inte har metallisk kontakt mot ledarna - vilket kan vara bra att prova om man misstänker att proben lastar för mycket.

Har du 1-3 MOhm över kristallen - kan ibland behövas för att det hela skall starta - om kristallen går igång plötsligt efter ett något fuktat finger över kristallens(oscillatorns) anslutningar så är det ett (lägre) motstånd över kristallen som behövs.

---

En sak till att kolla - vad är det för spänning mellan in och utgång på oscillator-pinnarna - dom skall vara olika då det är en inveterare, vidare om man kopplar ingången låg resp. hög - blir utgången omvänt då?? Om så verkar inveteraren/drivern vara aktiverad och oscillatorn bör svänga igång så fort förutsättningarna finns.

Man skall också ha klart för sig att kristaller är ömtåliga - dom brukar vara klassad för 150 g i accelartion - men en tappat kristall på golvet kan utsättas för 1500 g precis när den träffar golvytan - i prinsip tål inte en naken kristall i kåpa att ramla ned mer än någon decimeter på bordet, men så fort det är monterat på något så tål den genast mer stötar då kortet ta mycket av g-grafterna och det fjädrar.

mao. har kristallen ramlat på golvet någon gång under hanteringen så fins det ganska stor chans att det har pajat av den orsaken.
bearing
Inlägg: 11677
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Inlägg av bearing »

När jag kör picar på kopplingsdäck brukar jag inte använda avkopplingskondensatorer alls. Jag använder HS - det kanske gör felaktiga kondingar mindre betydelsefulla.
Användarvisningsbild
Ronny
Inlägg: 335
Blev medlem: 2 juni 2008, 23:10:22
Ort: Göteborg

Inlägg av Ronny »

bearing: Använder du en keramisk resonator med inbyggda kondensatorer eller använder du en kristall i oscillatorkopplingen?

Illuwatars grundfråga gäller lastkapacitanserna för en kristall.
Man kan tolka det du skriver som att du tror att kondensatorerna som man ansluter på båda sidor runt en kristall är avkopplingskondensatorer...

Det är fundamentala skillnader mellan en resonator med inbyggda kondensatorer och en kristall.
bearing
Inlägg: 11677
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Inlägg av bearing »

Oj, menade lastkondensatorer. (Avkopplingskondensatorer används.) Jag har bara använt kristaller. Det funkar för övrigt just nu på ATMEGA88 på kopplingsdäcket med endast kristall. Har även kört en dsPIC på det sättet. Kanske är det strökapacitansen på kopplingsdäcket som får det att funka.
xxargs
Inlägg: 10189
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Inlägg av xxargs »

Ur kristallens synvinkel så sitter lastkondingarna i serie, tillsammans med kapacitansen på utgång och ingång av driverkretsen, så dessa är bara en del av den totala lastkapacitansen - att sätta serieresistans mellan utgången och kristallen för driveffektkontroll gör att kapacitansen på utgången görs mer osynlig och förbättrar ofta drivsituationen för kristallen.

I pierce-oscillator (som är typisk oscillatotyp inom MCU-världen) så används kristallen som en induktans tillsammans med lastkondingarna som en kapacitans i en paralellresonaskrets - det gör att det går att rucka en smula på frekvensen med ändring av värdena på dessa lastkondingar.

Att det inte rör sig mera trots halverad/dubbla värden på lastkondingarna beror på att kristallen är induktiv i bara ett ytterst smalt frekvensområde och ändringarna på lastkapacitansen flyttar frekvensområdet närmare kristallens parallellfrekvenspunkt eller seriefrekvenspunkt, och så länge kapacitansvärdena utanför gör att det håller sig inom denna fönster så svänger oscillatorn trots ganska stora avsteg från designad kapacitans
Användarvisningsbild
Ronny
Inlägg: 335
Blev medlem: 2 juni 2008, 23:10:22
Ort: Göteborg

Inlägg av Ronny »

bearing: Måste fråga så jag förstår dig rätt.
Du kör alltså en MCU med enbart en kristall ansluten till de båda OSC-pinnarna och bryr dig inte om att ansluta de båda lastkondensatorerna från kristallens ben till jord? Varför i så fall?

Med kristall utgår jag ifrån att du menar en komponent med 2 anslutningsben och med ett hölje vanligtvis av blank metall...

Hela oscillatorprincipen bygger ju på att de yttre komponenterna (kristallen och de båda kondensatorerna) tillsammans med den elektronik som finns mellan OSC-pinnarna inuti kapseln bildar en loop (återkopplad slinga). Kristallen och riktigt dimensionerade lastkondensatorer ser till att fas- och amplitudvillkoret för oscillation uppfylls och oscillatorn fungerar som tänkt.

Visst, du rapporterar att det fungerar utan lastkondensatorer men är själv inne på att det nog kan vara strökapacitanser som gör att det fungerar överhuvudtaget. Ja, xxargs har redan nämnt de kapacitanser som finns internt i MCU'n från OSC-pinnarna till jord. Dessa tillsammans med eventuell icke optimal anslutning av kristallen till OSC-pinnarna gör att din oscillator svänger. I detta läget har du förmodligen halkat ned på amplitud- och faskurvorna så att din oscillator riskerar att sluta svänga när de yttre omständigheterna ändras lite.
Ingen bra situation alls!

Kristallen och de båda lastkondensatorerna hör så att säga ihop. Hela oscillatorprincipen bygger på att dessa tre komponenter samverkar på ett bra sätt. Det går inte att bara plocka bort lastkondensatorerna och tro att det fungerar.

Det finns många trådar här på forumet som handlar om kristaller och inkoppling till MCU'er. Dessa trådar är väl värda att söka efter och läsa.
Senast redigerad av Ronny 21 oktober 2008, 22:06:57, redigerad totalt 1 gång.
Skriv svar