AVR Studio 4 - Órajel beállítások

Avatar
HPMaster
Bitmanipulátor
Hozzászólások: 138
Csatlakozott: 2008. március 10. hétfő, 6:00

AVR Studio 4 - Órajel beállítások

Hozzászólás Szerző: HPMaster »

Tisztelet!

Lehet, hogy már kérdeztem, de megérdeklődöm mégegyszer.
FUSES fül alatt az egyes lehetőségek az én értelmezésem szerint:

RSTDISBL - RESET letiltása programozáshoz
WDTON - HW Watchdog timer engedélyezés
SPIEN - SPI programozás engedélyezés
EESAVE - EEPROMtartalom megörzése programozáskor
BOOTSZ - BOOT szektor mérete és kezdőcíme
BOOTRST - BOOT-olásnál resetben tartja a chipet egy időre (bizt. kedvéért)
CKOPT - erre nincs egzakt magyarázat :)
BODLEVEL - brown-out detection érzékelési szintje (2,7V / 4V)
BODEN - brown-out detection engedélyezés

És a lényeg:
SUT_CKSEL - oszcillátortípus beállítása

És itt jön a magyaráznivaló:
Ext. Crystal/Rezonator .... Freq.: Start-up time: ... CK + ...ms

Külső kristály/rezonátor eddig oké. Low/Medium/High Freq között mi az eltérés? (maguk a szavak jelentése világos!)
Start-up time mit jelent? mármint az ott szereplő értékkel mit állítok?
Ennyi idő után indul a proci, ha tápot kap???
A CK-s rész nem egészen tiszta. Az utánna álló "+ ...ms" részt még csakcsak kisilabizálom, ha tudom, hogy a CK mi?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

CKOPT: a kvarc lábain 1V cs-cs a jelszint (energiatakarékos, csak alacsony kvarccal megy) vagy 4V cs-cs a jelszint (stabilabb berezgés, mindenféle kvarcra jó)

Startup time (Ck+Ms): a chip bekapcsolás után ennyi ideig RESET állapotban marad, hogy a bekapcsolási tranziensek lefussanak a környező áramkörben. Én a 65msec + 14Ck-t (legnagyobbat) szoktam beállítani.
Low: 0...07MHz
Medium: 0,7...3MHz
High: 3...16(20) MHz


Ck: Clock - órajel (a kvarcé) Az első néhány rezgés ugye lapos, nem pontos...)
Avatar
HPMaster
Bitmanipulátor
Hozzászólások: 138
Csatlakozott: 2008. március 10. hétfő, 6:00

Hozzászólás Szerző: HPMaster »

Köszönöm a teljeskörű információt kedves Robi bá! :)

Újabb hülye kérdést tennék fel:
Szerinted, ha én egy 16MHz-es kristályhoz Medium freq 1CK +0ms -ot adtam meg, akkor a medium frekitartomány miatt hibázhat a proci működés közben?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Szerintem nem....
Azért az 1Ck+0ms nem az igazi. A rendszerben a kondik feltöltődése, bekapcs tranzienseknek nem tesz jót. De ha a Resetlábon ott a 100nF+10k, akkor az az RC tag is ad bekapcsolási késleltetsét. DE csak akkor, ha nem ki, majd azonnal visszakapcsolás van, mert ekkor az RCtag még nem sült ki (dióda a kondival ellentételes, hogy kikapcsoláskor süsse ki (schottky javasolt).

AVRben a BOD-t 2.7 vagy 4.3V-ra bekapcsolni.

A Medium vagy High Freq beállítás nem hiszem hogy sok vizet zavarna....


Működés közben nem hibázik a proci, max az órajele ugrál össze-vissza kedvezőtlen esetben:). Ugye CMOS IC esetén akár meg is állítható a chip az órajel elvételével...

Itt akkor már a BOD hiányára tippelek, mert 1.8V alatt a SRAM tartalom véletlenszerű beállású...


Ha tutibiztosra akarsz menni, akkor a $init (?) utasítással az initmicro rutinban a portokat, regisztereket az első pillanatban már inicializálhatod is. Az itt szereplő utasítások a programkód legeslegelejére kerülnek!
Avatar
Giorgio
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2008. január 26. szombat, 7:00

Hozzászólás Szerző: Giorgio »

Ezek nagyon fontos és új információk, de nekem sajnos nem segítettek.
Adott két AT644P, közöttük USART 9600, 8, nincs, 1 stop kapcsolat. Tökéletesen működik belső RC-ről és külső kristályról is.
Azonban amikor (esetemben) a slave-et kicserélem AT16-ra, akkor láthatólag órajel frekvenciás eltérésem van, mert kevesebb keretet érzékel.
Már próbáltam különböző belső RC frekivel is és külső kristállyal is mindkét IC-n variálni, de egyikkel sem ment. A 644-en CKDIV 8-as osztóra sem javult a helyzet.
Amit észrevettem, hogy valamit nagyon elbénázhattam, mert a slave-be van egy LED villogtató teszt programrész is, ami gyorsabban villog, mint ahogyan én azt beállítottam. (persze az órajelre ez is változik)
Érzem, hogy itt valami nagyon kezdő dologba futottam bele, de én még sosem találkoztam hasonlóval, mert mindig alapbeállításokkal üzemeltettem a procikat.
És, hogy bonyolítsam a helyzetet AVR Studio és C nyelvben nyomom.

- .... őőőő lehet, hogy a programmal kellene kiszámoltatnom az UBRR értéket?? :roll:
- Jó gondolat Giorgio, de most zombi vagy, pihenj egy kicsit!
- Jó rendben.

úgy érzem kezdek skizofrén lenni ... :x
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

$baud és a $crystal esetén a Bascom számolja ki a UBRR értéket.
DivCLK8-t kapcsold ki a M644Pben.

Hülye kérdés: M644P-ben az UART1 : $baud, az UART2 : $baud1
Illetve a config com1 ill config com2-t állítsd be :) .

Ja, ezt bascom alatt. és lesd meg mit állít be UBRR regiszterek és környezeteiben....
Avatar
Giorgio
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2008. január 26. szombat, 7:00

Hozzászólás Szerző: Giorgio »

Most egy nagy Ö betű hagyta el ajkaimat. :D
Először is, köszi a hipergyors választ. A CKDIV8-at kiiktatom.
ÉS úgy érzem neki kellene állnom bascom-ot tanulni. :D
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Bascom sokkal egyszerűbb mint az ASM és a C :).
Végülis a feladat is a rendelkezésre álló tudás hatátrozza meg a feladat megoldását....

Amihez 1000+1 út vezet....
Válasz küldése