Si5351A drugi deo

Kao sto sam i predpostavio, trebalo mi je malo vise vremena da funkcionalno osposobim kontrolu Si5351A programabilnog oscilatora.

Sam IC sa svojih 10 nozica izgleda krajnje prosto ali se unutra krije poprilicno komplikovana logika.

Kao prvo, tehnicka dokumentacija ima gomilu gresaka tako da vodite racuna ako se upustite u eksperimente sa njim. Dalje, sam datasheet ne obuhvata opis svih raspolozivih registra! Nasuprot tome, aplikaciona nota AN619 daje vec detaljniji opis ali opet i u njoj sam nasao nekoliko (ne toliko kriticnih) gresaka. Nije mi jasno kako tako ozbiljan proizvodjac poput Silicon Labs moze to da dozvoli sebi!

Posto se radi o nesto komplikovanijoj problematici, na raspolaganju su dve varijante za pravljenje “frekvetnog plana”, tj proracun potrebnih vrednosti za interne registe.

Prva varijanta je izrada plana pomocu ClockBuilder Desktop Software. Ovaj program prakticno iskoriscava sve mogucnosti IC-a i evo ukratko spisak opcija:

– Mogucnost definisanja bilo koje ucestanosti na pojedinim izlazima
– Mogucnost podesavanja Sleew-rate (struje / snage izlaza)
– Mogucnost podesavanja internog opterecenja kristala (0, 6, 8 i 10pF)
– Biranje izmedju 25MHz i 27MHz frekvencije referetnog kristala
– Podesavanje stanja kada je odredeni izlaz iskljucen (Low, High, High Z)
– Inicialni fazni ofset izmedju izlaza (bug-uje IC, ima nekonzistentno ponasanje!)
– Podesavanje tolerancije kristala kroz unos ppm odstupanja (bug-uje program, tehnicki uopste ne radi!)
– Mogucnost podesavanja Spread Spectrum opcija (za modele IC koji to podrzavaju)
– Direktno programiranje preko Silicon Labs EVB modula
– Export frekvetnog plana za narucivanje pre-programiranih IC od proizvodjaca (OTP opcija)
– Export frekvetnog plana u TXT format sa spiskom vrednosti svih registra

ClockBuilderDesktop-Si5351A-x-GT

Dakle pomocu ovog programa mozemo da dobijemo izracunate vrednosti registra koje ce dalje da iskoristimo u nekom posebnom I2C kontroleru (sa pratecim adekvatnim programom) koji ce i fizicki da postavi te registe u sam Si5351.

Ali, ovako smo dobili samo jednu (ili vise) fiksnih ucestanost na izlazima od IC sto bar u prici sa SDR i nije toliko korisno. Kako da napravimo promenljivi oscilator (aka VFO) od toga?

To je vec nesto komplikovanija prica koja prakticno znaci da sve sto je ovaj spomenuti program izracunao uradimo isto u nekom nasem programu (drajver-u) ili u samom upravljackom (I2C) kontroleru i da uradimo kompletnu kalkulaciju svaki put kada zelimo da promenimo generisanu ucestanost. Na vasu a i moju radost, ovo sam “savladao” i o tome cu pisati u sledecem nastavku 😉

Za kraj samo jednu finu stvar da spomenem po kojoj se ovaj IC jos razlikuje od Si570, Si5351 radi fenomenalno brzo prvo u I2C komunikaciji koja moze da ide do 400Khz a najbitnije je da se njegov PLL veoma brzo lock-uje na zadatu ucestanost (kod Si570 je potrebno 10ms u najgorem/najcescem slucaju) i to bez prekida izlaza pa se prakticno dobija veoma glatka (smoth) kontrola sa dobrim odzivom reagovanja kao sto se vidja na svim fabrickim primoredajnicima.

Do sledeceg pisanja,
73 de YU3MA