![]() |
Si5351 + PIC16F1455 USB controller - Printable Version +- DIY Electronic projects (https://forum.yu3ma.net) +-- Forum: RF - Radio tehnika (https://forum.yu3ma.net/forumdisplay.php?fid=47) +--- Forum: SDR – Software Defined Radio (https://forum.yu3ma.net/forumdisplay.php?fid=48) +--- Thread: Si5351 + PIC16F1455 USB controller (/showthread.php?tid=700) |
RE: Si5351 + PIC16F1455 USB controller - Gosha - 07-22-2017 (07-21-2017, 07:28 PM)progster Wrote: EDIT: Razmišljam, u TV tjunere bi trebalo da ugrađuju prescalere, pa ću pogledati šta imam, trebalo bi da imam par komada negde. (07-22-2017, 11:15 AM)progster Wrote: Za prescaler ću sad potražiti da vidim čega ima na onim pločama i tjunerima. Za invertore, ulaz i zaštitu ćemo videti onda kasnije, imam sad dovoljno posla i sa ovim. Poterao sam juče AD9850, ali sam sinoć bio mrtav, pa ću sad da nastavim, nije mi nešto dobro računanje frekvencije. Ako ne nadjes nista, kod mene imas sledece: -SP4740 -SAB6456T -U666 Ovaj SP je po meni najbolji izbor jer mu je ulazna osetljivost tipicno 1mV i izlaz mu je TTL kompatibilan. Dovoljno je da se stave dve diode za zastitu ulaza i to je sve, naravno ako je dovoljna ulazna impedansa od 50ohma. Ako se zeli 1Mohm na ulazu neophodan je ulazni stepen koji se obicno izvodi sa nekim J-FET-om. Kad se vratim sa odmora potrazicu neku zgodnu semicu pa cu okaciti odje. http://pdf.dzsc.com/SP4/SP4740.pdf RE: Si5351 + PIC16F1455 USB controller - progster - 07-22-2017 Hvala Gošo, videću mogu li da nađem nešto. ![]() Evo sad baš tražim, imam tjunere (i ploče) od dva EI televizora, dva neka Goldstar, i tjuner iz nekog Thompson LCD-a, i nijedan od njih nema neko slično kolo. Ne znam da li je moguće da nijedan od njih nema takvo kolo? Uglavnom svi imaju neki IC, recimo EI je stavljao TDA5030, u nekom starom tjuneru postoji mesto za SDA2101, ali nije na ploči, a prilično sam siguran da nisam to skidao. Ovi isto imaju neki IC, ali nije prescaller... Tako da će verovatno da posluži neki od tih tvojih, ako u međuvremenu ne nađem ništa drugo. ![]() RE: Si5351 + PIC16F1455 USB controller - mikikg - 07-22-2017 @progster Imam neke male adeptercice za TSOP-10, tj neke plocice koja sam ja koristio za razvoj, ima izvode za napajanje 3.3V, tu se stavi Si i kristal, tu je I2C i tri izlaza. Za razvoj zavrsava posao. Kasnije kada se bude crtala PCB to treba sve lepo sloziti ... RE: Si5351 + PIC16F1455 USB controller - Gosha - 07-22-2017 (07-22-2017, 07:47 PM)progster Wrote: Hvala Gošo, videću mogu li da nađem nešto. EI je uglavnom koristio tunere sa naponskom sintezom tako da nisu koristili prescalere. Ima samo jedna mala serija sa frekventnom sintezom i ti je korisceno SDA2101 ili neko iz te serije. Stari Grundig TV-i su uglavnom imali prescalere a i ostali nemci. Ne muci se mnogo ja toga imam dosta pa nije problem spakovati u neko obicno pismo i da ti posaljem, samo da se vratim u Srbiju. RE: Si5351 + PIC16F1455 USB controller - progster - 07-22-2017 @Miki E to bi mi odgovaralo... Mogao bih možda i foto postupkom da napravim nešto priručno, ali ako imaš jednu tu pločicu značilo bi da se ne zezam, nisam nikad radio tako tanke linije, pojma nemam kako bi ispalo. Svakako će to kasnije sve lepo da se upakuje i oklopi, ovo je za razvoj. @Gosha E onda je to sigurno, nemam ništa od Nemaca, ovo je sve što imam. Važi, nije nikako hitno, kad se vratiš dogovorimo se, uživaj na odmoru. ![]() Pitanje za otvorenu diskusiju. Verovatno je još rano, ali razmišljam kako osmisliti korisnički interfejs na uređaju. Mislio sam prvo da koristim LCD 16x2, i kombinaciju dugmića i 4x3 tastature, možda neki enkoder, pošto sve to već manje više imam, ali nisam pametan kako bih to napravio a da valja, tj. da bude jednostavno i lako za upotrebu, a funkcionalno, mislim da bi tu trebao da čučne neki bolji displej u tom slučaju. Sve više razmišljam da taj displej koristim samo za brojač i eventualno da signalizira u kom modu radi sprava, koja frekvencija i sl. A da se glavna podešavanja obavljaju preko USB-a, to mi je nekako najfleksibilnije. Mogu da se prave razne korisne funkcije, tipa sweep i sl. Šta mislite? Generalno, voleo bih da se još neki članovi uključe u diskusiju ako im to vreme i obaveze dozvoljavaju (ne mislim ovo oko interfejsa, nego generalno). Ja baš nisam siguran kako i šta najbolje odraditi, da li nešto treba dodati, izbaciti, izmeniti... Trenutno se držim Mikijeve originalne zamisli, uz naravno ostavljenu mogućnost za modifikacije. Nije da ne verujem Mikiju, da je on to dobro zamislio, samo bih voleo da čujem još neko mišljenje. ![]() Ja se trenutno upoznajem sa STM32, radim periferiju po periferiju, prešao dosta, još dosta je i ostalo, danas sam doveo u red AD9850, napisao neke funkcije i sl. To radi super. Recimo, ja trenutno nemam potrebu za Ghz opsegom merenja frekvencije (nemam ni kako to da testiram), ali bih voleo da ako već radim da sprava bude zaokružena, ozbiljan brojač frekvencije, ne etalonski koji meri na neku sitnu decimalu, ne planiram ni rubidijum da koristim, ali da to radi dobro i stabilno. Recimo ovo što je Gosha rekao za ulaznu impedansu (50R ili 1Meg), nisam siguran na koju opciju ići... Možda da se ostavi mogućnost izbora? Itd... Voleo bih da ovo preraste u još jedan forumski projekat. ![]() RE: Si5351 + PIC16F1455 USB controller - Gosha - 07-23-2017 Evo nadjoh jednu semu sa SP4740: Prilazem i kompletan SM od frekvencmetra SINCLAIR TF830. ![]() RE: Si5351 + PIC16F1455 USB controller - progster - 07-26-2017 Hvala Gošo, izučiću malo tu tematiku i taj SM. ![]() Muči me SPI nešto, ja sam naterao AD9850 da radi, koristio asinhronu komunikaciju (upišem, i onda samo uradim frequency update), i to radi dobro. Hteo sam malo da izučim SPI i da odradim to preko njega, ali nikako ne uspevam da upišem. Dešavalo mi se da na izlazu AD dobijem samo DC vrednost, ali nema sinusa. Evo kako sam radio, neću da zatrpavam tim delom koda za inicijalizaciju pinova, pošto ne sumnjam u njega, koristio sam te funkcije i ranije. Pošto mi od SPI trebaju samo CLK i MOSI pinovi, njih sam uključio na PA5 i PA7 (po datasheet-u), kao alternate function push-pull, 50MHZ. I pinove 4 i 6 kao reset i load (FR_UD), oni su obični push-pull 50Mhz. NSS i MISO pinove nisam definisao, mislim da to nije ni bitno? Evo samo definicije porta, pinova, i clock-a na AD9850 radi lakšeg snalaženja u kodu: Code: #define DDS_PORT GPIOA Na početku sam uključio takt: Code: RCC->APB2ENR |= (RCC_APB2ENR_SPI1EN | RCC_APB2ENR_AFIOEN | RCC_APB2ENR_IOPAEN); Onda odradim pulse reset na RESET i LOAD: Code: //RESET pin I kreće konfiguracija: Code: //baud postavio na f/256 Slanje podataka: Code: uint32_t freq1 = 5000; CRC nisam konfigurisao. To bi po mom mišljenju trebalo da radi, ako neko ima vremena da pogleda, bio bih zahvalan. ![]() RE: Si5351 + PIC16F1455 USB controller - mikikg - 07-26-2017 Da li si ispratio malo sa osiloskopom SPI? Imas SPI dekoder na skopu, prikljuci CLK i DATA i isprati malo sta se na linijama fizicki desava. Kolika ti je brzina SPI bus-a? RE: Si5351 + PIC16F1455 USB controller - progster - 07-26-2017 Ispravio sam malo pre još, nego ne stigoh da pišem, imao neke goste. Sređeno, problem je bio što je LOAD nešto brljavio, a i slučajno sam na kraju slao 48bit, umesto 40bit (ova poslednja nula, slao sam 3 paketa po 16bit, a sad šaljem 5 po 8bit), pa moguće da je i to jedan od uzroka. ![]() Imao sam i problem da kad upišem program, Blue Pill se restartuje, ali tek nakon što ga ja manuelno restartujem AD9850 počinje da broji i pokazuje sinus, inače postoji samo DC komponenta, i ako nastavim da ga restartujem to se dešava, tačno svaki drugi put proradi. ![]() Rešio to tako što sam izbacio onaj puls u resetovanju, ne znam zašto mu je to pravilo problem, sad reset držim na 0. Brzina SPI je bila 72Mhz/256, sad sam je popeo na 72Mhz/2, i radi odlično. RE: Si5351 + PIC16F1455 USB controller - mikikg - 08-08-2017 @progster Da li si uspeo da poteras Si5351? Uzgred, kad trebas da pokrenes neku novu periferiju, prvo "gadjas" neki fiksan registar koji uvek daje isti rezultat, najcesce neki ID koji oznacava model ili proizvodjaca. Sa tim proveris da li ti je to sve dobro povezano na HW nivou pa posle se bavis ostalim detaljima protokola. Takodje to je zgodno recimo kod EEPROM memorija da proveris prilikom starta programa da li je ta periferija dobro prikljucena, ispravna i da je postavljen trazeni model. Problem konekcija je cest kada se koristi proto-board i SPI, program tehnicki ne moze da detektuje neispranu konekciju jer imao/nemao periferiju iscitavanje nekog registra ce uvek vracati podatak 0 i onda ne znas da li stvarno treba da bude 0 ili nema konekcije. Dodatno ta detekcija je korisna da bi eventualno mogao da nastavis izvrsavanje programa i nekako signaliziras da postoji problem. Kod I2C je malkice bolja situacija jer bez periferije na bus-u ne mozes ni da posaljes podatak, tad trebas detektovati timeout i signalizirati gresku. RE: Si5351 + PIC16F1455 USB controller - progster - 08-09-2017 @Miki Nisam, nisam bio kod kuće od četvrtka. Večeras ili sutra to probam, pa javljam šta sam uradio. ![]() Hvala na savetu, o tome nisam razmišljao, a dosta sam se mučio kad sam hteo da poteram 2x16 LCD sa i2c expanderom. RE: Si5351 + PIC16F1455 USB controller - Gosha - 08-24-2017 Moze biti nekom interesantno: http://www.radista.info/oglasi/index.php?page=item&id=23295 RE: Si5351 + PIC16F1455 USB controller - progster - 09-17-2017 Malo sam zastao sa ovim, imao obaveza preko glave... Konačno uzeo malo pre da poteram pločicu koji mu je Miki poslao (nažalost, ima tome više od mesec dana). Proradilo je sve bez većih problema, samo sam malo proučio datasheet Si5351 i ref. manual. Samo osnovna konfiguracija, uključivanje izlaza, bez proračuna frekvencije i sl. Evo prvih slika sa Rigola. ![]() RE: Si5351 + PIC16F1455 USB controller - progster - 09-19-2017 Danas sam radio i na podešavanju PLL-a, odnosno multisynth-a, nije ni tu bilo većih problema... Jedino algoritam za racionalnu aproksimaciju nije još završen, tj. treba popraviti preciznost toga, ali bitno je da radi komunikacija, programiranje nije problem. ![]() Što se prvobitne zamisli tiče... Tu mi ostaje da se poigram sa interfejsom, kontrolom, USB komunikacijom. Ostaje da se uradi preamp, zaštita i prescaler. I ostaje mi da probam external clocking pomoću Si5351. Bilo bi dobro da se neko iskusniji javi oko ulaznog stepena. ![]() Bilo bi lepo ako bi mogao da se odradi neki izlazni stepen za AD9850, i PWM sa STM32, da se dobije već ozbiljna sprava. RE: Si5351 + PIC16F1455 USB controller - mikikg - 10-06-2017 @Progster Da li mozes da postavis deo Code-a za I2C ili ceo source koji trenutno imas? Potreban mi je I2C drajver na bare-metal nivou, predpostavljam da si tako radio, da ne pisem bas sve ispocetka ... RE: Si5351 + PIC16F1455 USB controller - progster - 10-06-2017 Pisao sam bare-metal kod, samo što je problem što nisam napisao driver za I2C, pa je to trenutno razbacano po kodu, pisao sam bukvalno kad mi šta i gde treba... GPIO recimo imam koliko-toliko sređen, a ovo je malo u haosu. Evo recimo inicijalizacija pinova, podešavanje frekvencije itd. Code: //clock enable Ovo koristio za adresu, slanje, stop: Code: void si5351_i2c_start (uint8_t adress) { Code: void si535x_SendRegister(uint8_t reg, uint8_t data){ Ako ti ovo nešto znači... Ako ti nije hitno, daj mi vremena, do sutra ujutru da svedem ovo lepo i napišem lepo drajver (ne ceo, ali ovaj deo koji ja koristim), pa ti pošaljem. ![]() RE: Si5351 + PIC16F1455 USB controller - mikikg - 10-06-2017 Odlicno i ovo! Sredi ti code u svakom slucaju ali ne moras da zuris sa tim, mozemo kasnije to da postavimo na GitHub i tu da cuvamo source da se ne vuce po temama. RE: Si5351 + PIC16F1455 USB controller - progster - 10-06-2017 Super. ![]() Hoću svakako, mislim kako kompletiram neki deo trudiću se da to ostavim uredno, ali je trenutno sve u fazi razvoja, a ja baš nemam puno vremena pošto imam dosta obaveza na fakultetu, pa kad stignem ja dorađujem ovo. ![]() Imaš li možda negde neki primer kada si preko USB komunicirao sa STM32F1 i PC? Ne mora da bude bare-metal, može i HAL ili std? RE: Si5351 + PIC16F1455 USB controller - mikikg - 10-06-2017 To nisam jos probao sa USB. Znam da jede resurse pa sam ga privemeno preskocio ... --- Inace baci pogled na ovu kombinaciju STM32 i Si5351 sa jos tri cuvena SA612 mixera, Japanac napravio ceo VNA ![]() https://github.com/ttrftech/NanoVNA RE: Si5351 + PIC16F1455 USB controller - progster - 10-06-2017 Ako ikad budem završio ovo što trenutno radim, ovo mi je sledeći projekat. ![]() |