Krystal u arduino uno a nano

Odpovědět
butan
Příspěvky: 19
Registrován: 02 dub 2019, 07:06

Krystal u arduino uno a nano

Příspěvek od butan » 31 říj 2019, 07:09

Zalistoval jsemm si v návodu k procesoru 328P, přečetl erratu, a vyšlo mi že arduino by vůbec nemělo fungovat. Poslední HW revize totiž nepodprují Full swing oscilátor, měly by se používat jen s 32kHz krystalem, nebo s externím oscilátorem.
Co si o tom myslíte?
A navíc se ten procesor snad už ani nevyrábí, jeho nástupce 328PB má jinak zapojené nožičky...
Lubor

DavidO
Příspěvky: 772
Registrován: 01 kvě 2013, 21:27

Re: Krystal u arduino uno a nano

Příspěvek od DavidO » 31 říj 2019, 08:23

Uno R3 i Nano mají oficiálně v zapojení 16MHz krystal. Jak mají v Arduinu nastavené pojistky z hlavy nevím, ale ATmega328P má Low power oscilator do 16MHz a výstup se nepoužívá, takže to by šlo. Kde jsi našel že by se měl používat ten 32kHz krystal? Workaround jen říká použij jiné zdroje hodin.
ATmega328P je ve stavu "In Production, Consider: ATmega328PB", takže se nejspíš vyrábí, ale už se mu nachyluje čas. Ale zatím není ani "not recommended for new design", takže to ještě chvíli potrvá. A navíc i po skončení produkce můžou mít výrobci desek dostatečnou zásobičku nasyslenou (a dostatečnou zásobičku fejků k tomu), takže to dost jistě ještě chvíli potrvá, než přestanou být. A až (než) to nastane, tak přejít na PB jednak nebude problém, a navíc tam jsou nový vlastnosti, který se můžou hodit. Kód je nahoru kompatibilní, takže třeba vyjde Arduino Uno R4 se stejně šmikmo pozicema konektorů pro shield, jen přeroutovaný pro PB a běžný uživatel to ani nepozná.

butan
Příspěvky: 19
Registrován: 02 dub 2019, 07:06

Re: Krystal u arduino uno a nano

Příspěvek od butan » 01 lis 2019, 06:13

Neviděl jsem strohý zákaz, ale
The Low-frequency Crystal Oscillator is optimized for use with a 32.768kHz watch crystal.
Dále se píše o nějakém omezení na ESR krystalu (navíc v pF), nevím co to je, a u údajích několika krystalů jsem ten údaj nenašel.
Našel jsem na netu nářky o tom, že někomu se oscilátor moduluje činností uartu.
A ta věc že se v erratě nenápadně objeví něco kde výrobce asi šetří cenu (myslím že tu funkcionalitu vyřadili záměrně, protože u nových procesorů tato volba zmizela).
Lubor
A můžeme o tom v sobotu podebatovat.

DavidO
Příspěvky: 772
Registrován: 01 kvě 2013, 21:27

Re: Krystal u arduino uno a nano

Příspěvek od DavidO » 01 lis 2019, 08:56

Low power oscilator! Kapitola 9.3.

butan
Příspěvky: 19
Registrován: 02 dub 2019, 07:06

Re: Krystal u arduino uno a nano

Příspěvek od butan » 01 lis 2019, 10:13

Máte parvdu, tak do 16MHz slibují že to chodit bude.
Zbývá dořešit co se vlastně stane když zvolím v CKSEL některou z nepodporovaných kombinací.
Jsou někde zveřejněné doporučená nastveni fusek pro ardouino? Aduino ide pokud vím s nimi nehýbe, tak tam jeho uživatelé stále mají původní nastavení.
Sám vlastním jen čínské klony, ale zkusím je vyčíst a zítra ukážu výsledky.
Lubor
Zatím jsem všude arduína doporučoval jako levnou hračku, aniž bych je sám někde vážně použil, tak si nechci naběhnout aby mi někdo z kolegů nepřišel vynadat :-)

DavidO
Příspěvky: 772
Registrován: 01 kvě 2013, 21:27

Re: Krystal u arduino uno a nano

Příspěvek od DavidO » 01 lis 2019, 17:07

Co se stane, když v čemkoli nastavíš nepovolenou nebo nedefinovanou kombinaci? To je prosté. Spustíš tím řetězovou reakci, otevře se černá díra, zhroutí světové burzy a umře jedno koťátko.

Fuses najdeš v (tam kde je Arduino)\hardware\arduino\avr\board.txt:
uno.bootloader.low_fuses=0xFF
uno.bootloader.high_fuses=0xDE
uno.bootloader.extended_fuses=0xFD
uno.bootloader.unlock_bits=0x3F
uno.bootloader.lock_bits=0x0F

Zrušení full swing oscilator mode mi nepřipadá nijak fatální, naopak přišlo by mi poněkud divné vytahovat si hodiny z AVR pro jiný účel. Když už, tak bych si spíš udělal zdroj hodinového signálu vedle a posílal bych ho jak AVR, tak těm dalším zařízením. Ale možná jsem jen nepochopil návrháře tohohle mikrokontroleru - použil jste to někdo někdy takhle jako zdroj hodin ven?

Jestli Arduino na vážné použití, to je otázka na debatu tak u piva. Snad může být, ale po důkladném zvážení (resp. zvážnění ;-)). Hardwarově má svoje mouchy (např. Uno má blbě napájení apod.), softwarově to je slabé, především tedy velký problém knihoven (nejen co se týče efektivity, ale hlavně co se týče správnosti kódu), no a i samotné IDE tomu občas přispěje nějakou tou chybkou při předžvejkání .ino skriptu před kompilací. Ale to je prostě opět ta stará otázka, jestli Arduino použít pro něco vážnějšího, když tak nebylo navrženo - pamatujte "... pro studenty kretativního designu, aby se nemuseli příliš zabývat programováním a mohli snadno dělat ty svoje hejblátka a blikátka". Ale je to levný a snadno dostupný. Já to vidím tak, že na bastlení jo (a je velmi vhodné až místy nezbytné vědět, co to je zač a jak to funguje uvnitř), pro výuku programování nevim nevim, snad jo, ale velmi opatrně (a chtělo by to kvalitního učitele), pro byznys leda bez záruky a s vědomím, že to není úplně ono, a do průmyslu ne.

butan
Příspěvky: 19
Registrován: 02 dub 2019, 07:06

Re: Krystal u arduino uno a nano

Příspěvek od butan » 02 lis 2019, 08:38

Použil jsem rozvod hodin z proceoru do několika Canových řadičů, aby mi v nich pasovaly časové značky u přijímaných zpráv. A v arduinu bych klidně vyměnil krystal za 18.432MHz, kdybych měl jistotu že to poběží.
Teď mně nejvíc trápí identifikace verze mých arduín. Co se týče potisku, výrobce se k tomu nezná, kdosi mi radil že nějaký doplňkový potisk může být na bříšku procesoru, ale sundavat ho kvůli tomu nebudu.
A jestli chápu dobře návod, tak ta změněná signatura specifická pro K verzi je dostupná pouze po debugWIRE, který nemám. Lze to nějakým trikem vyčíst i LPM instrukcí?

K nastaveni fusek, mám v přihrádce čínské kusy se 128 a 512 boot flash. Tak mně hned napadá jestli si arduino ide kontroluje, zda se program vejde do volné flashky?
CKSEL mám všude, i v souladu s arduinem 1111
Lubor
PS když nastavím nevhodné CKSEL a oscilátor mi chcípne, tak už to nepřeprogramuji ani po ISP je to tak? Asi to půjde spravit přivedením externích hodin...

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 0 hostů