Hjälp med kristall

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Crille
Inlägg: 63
Blev medlem: 1 juli 2003, 11:56:21

Hjälp med kristall

Inlägg av Crille »

Har kollat igenom PICBAsic guiden och i första exemplet används en kristall på 4 Mhz, men om man ska göra andra byggen, hur räknar man ut värdet på kristallen då??
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

Om du inte ska göra något som är tidskritiskt eller kräver någon speciell klockfrkevens i överigt så är det egentligen inget att bry sig om.

Så länge inte kristallens frekvens är högre än vad PIC'en klarar av så speler det oftast ingen större roll om du köp på en 4.0000 Mhz, en 4,9152 eller en 6 Mhz kristall.

Ska man använda UARTen (den seriella in/utgången) på PICen så måsta man dock veta vilken kistallfrekvens man använder och anpassa värdena i baudrate-registrena därefter så att man får rätt hastighet.

Men å andra sidan, har du använt UART'en i ett projekt med en 4 Mhz kristall så är ju det enklasta att använda en 4Mhz i nästa proijekt också. Varför byta om man inte behöver det?
Crille
Inlägg: 63
Blev medlem: 1 juli 2003, 11:56:21

Inlägg av Crille »

okej, jag tror att min pic klarar av 20Mhz. Hade tänkt göra ett litet rinnande ljus. Jag har en 20Mhz och en 13Mhz kristall hemma, om det inte spelar någon roll så borde de väll fungera med dem.
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

Jo. Bygger du den först med 13 Mhz kristallen och ställer in fördröjningen lagom mellan lysdiodsblinkningrana så kommer bygget att fungera lika bra om du sedan stoppar i 20 Mhz kristallen.

Fast den kommer att blinka nästan dubbelt så snabbt förståss :-)

Ska man bygga något som är batteridrivet så är det bra att ha en så långsam kristall som möjligt eftersom PICen drar mer ström desto snabbare kristall man har.
danei
EF Sponsor
Inlägg: 27416
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

54% är inte nära 100% Jag skulle nog säga 50% fortare.
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

Det är sant måste jag erkänna. Fast jag tror att man upplever det som en fördubbling. Men nu var det inte ett räkneexampel utan mer en illustration av vad dom kommer att hända.

13 är bra nära 10 och då vore det en fördubbling, men ska man vara exakt så kan man inte räka så, jag vet. ;-)
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Om du använder PICBasic är det så lätt som att definiera kristallen i början av programmet:

Kod: Markera allt

DEFINE OSC 4
...definierar en 4MHz kristall.
Sen behöver du inte tänka på det mer! Kompilatorn räknar sedan ut så att alla pauser stämmer enligt vad du skriver i koden, likaså seriell överföring kommer den fixa själv så att den stämmer i timing.

Vill du sedan byta kristall är det helt enkelt bara att definiera den nya kristallens frekvens istället, kompilera om, programmera och köra!

Den "enda" skillnaden du eventuellt kommer märka vid högre kristallfrekvenser är att beräkningarna går snabbare. Man kan, i ivssa tidskritiska applikationer märka en skillnad. T.ex. min PWM-PIC fungerade avsevärt bättre i 20MHz än i 10MHz (4 är inte ensa att tala om!).
Crille
Inlägg: 63
Blev medlem: 1 juli 2003, 11:56:21

Inlägg av Crille »

jaha, men nu är det bara ett problem jag har kvar. Pic basic verkar inte ha stöd för PIC 16F628. och det är den kretsen jag tänkt programmera, några tips om hur jag ska bära mig år nu??
Skriv svar