 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
clownfish Član

Pridružen-a: Pet 05 Avg 2005 13:05 Prispevkov: 765 Aktiv.: 3.23 Kraj: Povir / Ljubljana
|
Objavljeno: Pon Nov 27, 2006 1:06 pm Naslov sporočila: Interni oscilator in 1820 |
|
|
Nekako sem prišel do spoznanja, da je interni oscilator zelo nezanesljiv.
Rutine, ki so napisane za 1wire komunikacijo z internim oscilatorjem na 8M delujejo zelo čudno medtem ko z zunanjim delujejo brez težav..
Včasih imam težave tudi pri dokaj počasni(19200b/s) serijski komunikaciji..
Te težave z zunenjim quartzem izginejo..
Ima še kdo podobne izkušnje??
Nazadnje urejal/a clownfish Sre Dec 27, 2006 6:52 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.57
|
Objavljeno: Pon Nov 27, 2006 1:39 pm Naslov sporočila: |
|
|
Od dolocene hitrosti prenosa navzdol (od tam, kjer je koda ze napisana optimalno in v teoriji z idealnim oscilatorjem ni odstopanja pri prenosu) hitrost oz. "pocasnost" prenosa ne igra vec nobene vloge - napaka nekaj procentov je se vedno napaka nekaj procentov, pa ce je to nekaj procentov pri 19200 bps ali pri 300 bps - ce je relativna napaka prevelika, bo prisotna absolutna napaka v zadnjem bitu (ali nekaj bitih) in prenos bo pokvarjen.
Interni oscilatorji niso dovolj stabilni za zanesljivo delovanje asinhrone komunikacije, kot je preprosta direktna serijska povezava (direktna modulacija), zato bi bilo pametnejse uporabiti sinhrono (SPI in podobno) komunikacija ali pa modulacijo, ki vsebuje clock (npr. Manchester za dalje pakete ali pa direktna modulacija z dvema zacetnima bitoma, s katerima se sprejemnik lahko sinhronozira, za krajse pakete). V takem primeru tezav z oscilatorjem ne bo, ce je program, napisan ustrezno (dovolj tolerance na obeh straneh). _________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.57
|
Objavljeno: Pon Nov 27, 2006 1:41 pm Naslov sporočila: |
|
|
Aha, pa se to: seveda tezave s kvarcem izginejo - oscilator s kvarcem ima v zelo slabem primeru nekaj sto "promilijonov" (ppm) napake, ring oscilator pa nekaj procentov ze pri sobni temperaturi in stabilnem napajanju, se vec pa pri napajanju z motnjami in ekstremno visoki/nizki temperaturi (10 procentov ?). _________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70821.90
|
Objavljeno: Pon Nov 27, 2006 2:24 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.71 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Pon Nov 27, 2006 2:55 pm Naslov sporočila: |
|
|
Serijska komunikacija (RS232) ima toleranco hitrosti 3.125 %. Z uporabo kalibracije (OSCCAL) problema ne bi smelo biti. Če je kalibracijska konstanta pobrisana, clock ne bo več točen. Obstojajo navodila, kako se chip kalibrira, tako da spet deluje normalno.
Problema z toleranco hitrosti ni pri sinhronih povezavah (SPI).
Jur |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.57
|
Objavljeno: Pon Nov 27, 2006 3:06 pm Naslov sporočila: |
|
|
Kalibracija brez zunanje reference je nesmiselna, ker ne bo nikoli absolutno natancna (znotraj dolocene meje neke druge reference). Ce pa zunanjo referenco (uro) ze imas, je pa notranji oscilator nepotreben. V glavnem ... za ene aplikacije je interni oscilator povsem dovolj, a serijska asinhrona komunikacija relativno velike hitrosti (za SW UART) ni ena od njih. _________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.71 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Pon Nov 27, 2006 4:19 pm Naslov sporočila: |
|
|
Pri PICih, ki imajo pobrisan OSCCAL (poceni programator!), lahko interni oscilator fuša toliko, da pri večjih hitrostih serijskega porta toleranca preseže dovoljeno odstopanje. Če tovarniška vrednost OSCCALa ni znana, se naredi program, ki na portu generira pravokotni impulz. Z spreminjanjem OSCCALa se ugane ali izračuna prava vrednost, ki da na izhodu točno frekvenco.
Datasheet opozarja na probleme pri pobrisanem kalibracijskem podatku. Programator bi pri brisanju chipa moral znati prebrati kalibracijsko vrednost in jo po brisanju zapisati nazaj. Jaz tovarniški osccal preberem in z ostro konico vpraskam v chip.
Jur |
|
Nazaj na vrh |
|
 |
BorutS Član

Pridružen-a: Pet 09 Jun 2006 16:25 Prispevkov: 107 Aktiv.: 0.46 Kraj: Cerklje na Gorenjskem
|
Objavljeno: Pon Nov 27, 2006 5:11 pm Naslov sporočila: |
|
|
Sam uporabljam avr-je in interni RC oscilator (ATMEGA8-). Serijska komunikacija mi ni delala večjih težav, celo pri hitrosti 115200bps. Potrebno pa je upoštevati pravilo, da se mora UART oddajnika in sprejemnika "sinhronizirati". To pomeni, da moraš med pošiljanjem dveh znakov narediti zakasnitev. (čas vsaj dveh do treh bitov, v resnih industrijskih aplikacijah, če se ne motim celo 1 byte).
LP
Borut |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 493 dni
Powered by phpBB © 2001, 2005 phpBB Group
|