Digital « YU3MA

Si5351 + PIC16F1455 USB controller 2. deo

Filed in Digital | SDR Leave a comment

Posle male pauze, vratio sam se malo na temu Si5351A + PIC16F1455.

Ovom prilikom sam praktično izradio PCB i sklopio uređaj po mojoj šhemi objavljenoj u ovom postu.

Si5351A PIC16F1455 USB kontroler

Si5351miniUSB

Na izradi pločice mi je pomogao B. Jagodić (1OXB) i ovom prilikom mu se zahvaljujem.

Konstrukcija je na HW nivou proradila bez ikakvih problema. SW za PIC je bilo potrebno malo modifikovati ali se sve u suštini zasniva na već objavljenom algoritmu iz ove teme.

Jedina razlika koju sam naknadno ustanovio posle preciznog merenja generisane učestanosti je vezana za opterećenje kristala. Naime, preporučeno opterećenje od 10pF je pravilo previliku inicijalnu grešku skoro na svim primercima koje sam napravio i kretalo se izmedju 13 – 17ppm što je van specifikacije za upotrebljeni kristal 7M-27.000MEEQ-T za koji se navodi 10ppm u punom temeraturnom opsegu.

U vezi ovoga praktično ne postoji zvanična dokumentacija ali je problem verovatno vezan za samu ulaznu kapacitivnost nožica na kućistu Si5351 koji dodaju jos koji pF. U tom smislu je potrebno izabrati opterećenje od 8pF sa strane Si5351 i to upisivanjem HEX vrednosti 0x92 u registru broj 183.

Na ovaj način se inicijalna greška smanjila na 5 – 6ppm što je već prihvatljivo. Tehnički je potrebno odprilike 9pF opterećenje da bi bila još manja greška ali takva opcija ne postoji u Si5351, postoji samo 8pF ili 10pF.

Još par korisnih linkova u vezi ove teme:

Upravljački SW od SQ9NJE
https://github.com/sq9nje/si5351

Tema u vezi Si5351
http://sp-hm.pl/thread-2019-post-21090.html

Testiranje Si5351 od NT7S
http://nt7s.com/2014/05/si5351a-investigations-part-3/

PS: U planu mi je još jedna verzija ovog sklopa (DCOXO) ali koja će imati akcenat na stabilnost generisane učestanosti korišćenem veoma preciznog termo regulatora (u okviru 0.1 °C) za grejanje kristala sa kojim očekujem kratkoročnu stabilnost u okvirima ili bolju od 0.1ppm.

, , , ,

Si5351 + PIC16F1455 USB controller

Filed in Digital | SDR Leave a comment

Si5351-USB

 

U prilogu PDF verzija sheme sa dodatnom objasnjenjem.

, ,

Signal generator 0 – 30MHz LM4F120XL + AD9850

Filed in Audio | Digital | SDR Leave a comment

Probao sam jedan vrlo zanimljiv SW paket pod nazivom “Energia”. To je ultra prost IDE koji je nastao iz Arduino serije programskih okruzenja.

U paketu dolozi dosta primera koji su veoma citljivi i laki za dalju nadogradnju i sto je najbitnije radi sve iz prve!

http://energia.nu/Guide_Windows.html

U najavi je i podrska za C2000 kontrolere sto moze biti vrlo korisno u kombinaciji sa Piccolo LaunchPad.

Evo jedan praktican primer kako mi je ispao Signal Generator i Sweeper sa AD9850 (low-cost modul sa Ebay) + Stellaris LaunchPad EK-LM4F120XL. Trenutno je seriski upravljiv (eto i comm radi fino na 115200 baud) preko USB emulacije.

Ispod ovih plocica je moja proto board (busena), samo sa vezama i da mi drzi na gomili ove modulcice, nema nikakva dodatna elektronika ispod.

Trebao bih ovde jos na Stellaris da nabodem CapSense (430BOOST-SENSE1) modul da bude ceo uredjaj nezavistan od racunara ali imam “glup” problem jer mi trebaju 200k 0602 SMD otpornici koje trenutno nemam (moraju da se dodaju jer ovaj Stellaris nema HW modul za CapSense nego drugacije malo muckaju pa su neophodni ti otpornici).

BTW: Drugi BNC izlaz sam planirao da mi bude SyncOUT tj triger kada radi u Sweep modu kako bi moao na osciloskopu da crtkam neke zanimljive figure.

IMG_3224

Ovo vam je super kombinacija i povoljna (8$ LauncPad + 8$ AD9850 modul + LCD) da prosto dodjete do veoma ozbiljnog signal generatora za opseg od 0 do 20MHz (moze i do 30MHz ali opada nivo zbog atenuacije u internom LPF filteru).

Za SW sam iskoristio ovo:

http://forum.stellarisiti.com/topic/558-ad9850-with-energia/

http://forum.stellarisiti.com/topic/384-simple-hd44780-library-without-driverlib/

73 de YU3MA

UPDATE 23.08.2014

Sledeće slike prikazuju talasne oblike i spektralni sastav generisanog signala pri 20MHz i 30MHz frekvenciji.

AD9850-20MHz AD9850-30MHz

Sledeća slika prikazuje frekvetni odziv od 0Hz do 30MHz (sweep) pri 50Ω terminaciji. Primetno je da signal iz generatora zbog internog low-pass filtera ne menja amplitudu do nekih 7MHz nakon čega počinje da opada.

DS2_QuickPrint1

, , , , , ,

Texas Instruments C2000 LaunchPad XL – HRPWM

Filed in Audio | Digital Leave a comment

Skoro sam dosao u posed jednog vrlo zanimljivog razvojnog modula. U pitanju je Texas Instruments LaunchPad XL sa TMS320F28027 32bit-nim real-time kontrolerom.

C2000-LaunchPad-TMS320F28027

Nisam jos stigao prakticno da ga probam ali po karakteristikama koje su navedene u specifikaciji ovog modula i samog upotrebljenog procesora veoma obecava!

Ovakvih i slicnih modula ima puno na trzistu, recimo kao vrlo popularan SM32F4Discovery od firme ST.

Medjutim ono sto ovaj modul i generalno sam upotrebljeni procesor izdvaja od spomenutog konkurenta je set specificnih HW opcija koje se nalaze u samom kontroleru.

Glavna HW opcija koja je bar meni veoma zanimljiva je njegov HRPWM interni sklop, veoma brz/precizan PWM generator.

Cisto poredjenja radi, spomenuti STM32F4 kontroler (DSC / DSP) kao i najjaci dsPIC iz “GS” serije od Microchip imaju PWM rezoluciju koja je maksimalno 1ns. Kod svih ostalih klasicnih kontrolera je ta rezolucija mnogo puta manja.

TMS320F28027 sa svojim HRPWM modulom nudi rezoluciju od neverovatnih 180ps (piko sekunde)!

Texsas Instruments ima i jos bolji procesor, verovatno najbrzi integrisani PWM kontroler trenutno na trzistu sa 70ps u svojim modelima kontrolera iz Delfino serije, ali u ovom trenutu ce njega da presko posto se pravi u minimalno 177 pinskom PLCC kucistu koje jako nezgodno za “hobi” upotrebu. Ovaj TMS320F28027, popularniji kao Piccolo je u dosta manjem kucistu sa kojim i nekako moze da se izbori u kucnim uslovima izrade PCB.

Zasto mi je bas HRPWM interni modul toliko interesantan?

Sa pojavom sve brzih i mocnijih MOS-FET ili IGBT tranzistora, PWM kao tehnika modulacije signala postaje svakim danom sve atraktivnija.

Jos vise postaje zanimljivija od kada je PWM tehnika prebacena u digitalno upravljivi domen (nasuprot analognom koji se decenijama unazad koristi) jer je moguce signal obraditi ili pripremiti u digitalnom domenu nasuprot sto bi se to radilo u cisto analognom domenu sa podosta neophodnog analognog hadrwera.

PWM kao tehnika ima primenu u bezbroj konstrukcija ali je glavno da se moze posmatrati kao neki digitalno-analogni konverter (D/A). Uz spomenute MOS-FET koji ce raditi kao digitalni pojacivaci (samo u stanju 0/1) moguce je realizovati bezbroj konstrukcija koje imaju veoma dobro iskoriscenje energije ili baratati sa ogromnim strujama/snagama upravo zbog malih gubitaka.

Ukratko, PWM se koristi skoro kod svih vrsta prekidackih ispravljaca / pretvaraca (SMPS) i prakticno svim topologijama, buck/bust, off/online, flyback, rezonantnim tipovima (LLC) itd.

Takodje, PWM tehnika se koristi i kod Class-D Audio pojacivaca sto je meni u sustini i najvise zanimljivo (mada sa SMPS tek planiram da se igram).

Ovde dolazi HRPWM modul iz spomenutog procesora na delo. Kada imamo programski “na izvolte” tako precizan i brz PWM generator, imamo na raspolaganju fenomenalnu rezoluciju kasnije dobijenog analognog signala koje pruzaju odlicne perfomanse nekog buduceg sklopa koji pravimo sa tim. Zavisno od krajnje upotrebe, nekome je potrebna veoma visoka PWM frekvencija (reda MHz, recimo omogucava ogroman prenos energije kroz feritne transformatore – povecava se “power density” ili olaksava kasnije filtriranje) ili neka niza ucestanost ali sa vecom rezolucijom kao sto je recimo potrebno za Class-D audio pojacivace. Rezolucija naspram PWM frekvencije je u suprotnoj zavistnosti, ne moze “i jare i pare” 🙂

Sledeca tablica prikazuje raspolozive PWM frekvencije i efektivnu rezoluciju koju je moguce ostvariti sa HSPWM modulom (crveno uokvireno). Takodje se vidi i specifikacija za standardne PWM module koji se vidjaju po drugim procesorima, ogromna razlika!

TI-HRPWM

Kao sto se vidi iz tablice, moguce je vrsiti direktnu digitalnu modulaciju audio signala sa ovim modulom.

Ovo odprilike predstavlja buducnost Audio pojacivaca, sve ce vise konstrukcija biti realizovanih po tom principu zbog ogromnog iskoriscenja (reda 90-95%) kod Class-D topologije.

Obzirom da smo ovako zasli u digitalno signalno procesiranje (DSP), primenom raznih tehnika i matematickih algoritama je moguce izvrsiti obradu signala sa jako kompleksnim funkcijama koje prakticno uopste vise nisu izvodljive u analognoj varijanti! Ovde pre svega mislim na vrlo specificne algoritme kod modulacije signala gde se raznim matematickim cakama signal “priprema” pre nego sto udje u PWM modulator kao bi se dobilo jos bolje iskoriscenje, povecao frekventni opseg, smanjio shum, povecala dinamika, smanjila distorzija (THD, IMD), prakticno moguce je anulirati sve anomalije digitalnog pojacivaca “unapred” (feed-foward pristup) samo upotrebom matematike!

Prakticni primeri ovakvih matematichih algoritama u ovom trenutku se cuvaju bukvalno kao “tajna”, vrlo su kompleksni i potrebno je jako puno vremena za njihov razvoj. DSP procesori, izvornim konstruktorima/programerima, na taj nacin omogucavaju da zastite intelektualnu svojinu (IP – Intelectual Properties) jer neki konkretan/gotov HW moze da se prosto iskopira (procesor, tranzistori i nesto sitnih R/L/C delova okolo), ali program iz tih procesora skoro nikako ako je zasticen!

U svakom slucaju, ovim HRPWM modulom i celom razvojnom plocicom cu se tek baviti jer ima prakticno neogranicene mogucnosti za realizaciju raznih konstrukcija iz Power (SMPS) i Audio (Class-D) tehnike. Ovaj Piccolo procesor je bio samo izbor necega najboljeg po tom pitanju trenutno na trzistu.

BTW: Spomenuti TMS320F28027 ima u sebi veoma (VEOMA) brz 12bit-ni A/D konvertor sa specificiranih 4.6MSPS brzinom uzorkovanja! Mozete samo za predpostavite zasto to spominjem, sa tim moze da se napravi jedno 16 puta bolji (manji shum, veca dinamika) direct-conversion SDR prijemnik nego sto smo to videli kod vec cuvene RTL-SDR serije donglova koji ima interni A/D sa 8bit na 4MSPS. U neka doba ce i to da probamo 😉

BTW2: Spomenuti modul moze se kupiti direktno od proizvodjaca po vrlo popularnoj ceni od 17.05 US$ sa besplatnom FeDex dostavom.

Nastavak sledi …

73 de YU3MA

, , , , , , , ,

Digital Class-D amplifier with DSP

Filed in Audio | Digital Leave a comment

Nakon relativno kratkog upoznavanja sa DSP (DSC) procesorima iz Microchip-ove dsPIC serije, uzeo sam kao primer da napravim jedan Audio pojacavac.

Posto je tema oko DSP relativno obimna, evo za pocetak samo shema kako izlgeda moja varijanta digitalno modulisanog Class-D audio pojacivaca u full-bridge postavci.

Vise detalja uskoro …

YU3MA-Digital-ClassD-AMP-r3

YU3MA-Digital-ClassD-AMP-r3

YU3MA-Digital-ClassD-AMP-r3

, , , ,

Microchip PIC32 & dsPIC

Filed in Digital Leave a comment

PIC32_dsPIC

Da li ste nekad videli 32bitni procesor ili DSP u  PDIP-28 kucistu? Ja iskreno nisam video do sad 🙂

Igrajuci se sa upravljackim kontrolerom za Si5351 realizovan pomocu PIC16F1455 (8bitni procesor), shvatio sam da sam dosao do granice gde on prakticno vise ne moze da se izbori sa mojih zahtevima bar na neki prost nacin.

Problem je iskocio kada sam pokusao da algoritam za racionalnu akproksimaciju o kojem sam pisao u clanku Si5351A treci deo neophodan za racun izlazne frekvencije prebacim u ovako “skroman” kontroler.

U sustini sam uspeo i to radi, ali glavni problem je nastao sa matematickim mogucnostima gde sam ogranicen na “samo” 24bitnu preciznost racuna kako bih dobio one cifre poput 1000000.0Hz.

Za tako veliku tacnost mi je potreban bar 32bitni racun koji spomenuti PIC16F1455 bi i mogao da odradi ali uz podosta komplikacija i relativno sporo. Onda sam krenuo u potragu za nekim “jacim” kontrolerom …

Gledajuci ponudu raspolozivih kontrolera na Microchip-ovom sajtu, zadesih se u sekciji 32bitnih kontrolera koje sam do sad iz ne znam kog razloga zaobilazio. Kada sam malo bolje pogledao sta tu sve ima i sa kakvim mogucnosti i u kakvim kucistima, iskreno zaprepastio sam se.

Microchip je napravio seriju fenomenalnih 32bitnih procesora nakrcani sa opakim HW funkcijama od kojih bih samo naveo recimo ultra precizni PWM (koristan za razne SMPS namene) pa onda modeli sa integrisanim audio DAC-ovima, USB host kontroleri, modeli sa 512KB flash memorije u sebi i svasta nesto jos.

Hmm, to je sve na izlged bilo odlicno, ali sta je pozadina toga, sta mi je potrebno da pokrenem takav PIC, koji programator, koji kompajleri, bezbroj pitanja …

Obzirom da sam zbog spomenutog PIC16F1455 bio prinudjen da nabavim PICkit 3 programator (PICkit 2 ga ne podrzava) uvidom u listu podrzanih kontrolera shvatio sam da taj programator prakticno podrzava “skoro” sve PIC-ove, ukljucujuci 32bitne i DSP procesore. Pa to je prelepo . A sta je sa razvojnim alatima, kompajlerima i kako uopste pisati programe za takve kontrolere? Microchip je i na to sve mislio, postoje besplatne verzije XC32 C/C++ kompajlera! Hmm, pa ovo vise nije shala!

Porucio sam nekoliko modela kontrolera u plasticnom PDIP kucistu kako bih mogao malo da se igram na proto board-u. I tako se ja uhvatih 32bitnih kontrolera …

Nisam jos stigo da prakticno pokrenem neki od ovih PIC32 (dsPIC u nekoj sledecoj fazi), ali malo gledajuci po dokumentaciji za XC32 videh da u sustini to nije nista manji problem nego za bilo koji drugi PIC, prakticno je SVE ISTO!

BTW: Iako su mi kolege preporucivale da se uhvatim Atmel-a i AVR-ova, nekako nisam mogao iz razloga sto se njihovi 32bitni kontroleri ne prave u ovakvim kucistima vec samo SMD sto je komplikacija za sebe i dosta mi otezava celu pricu.

Posto je ovo sve relativno novo za mene, odlucio sam da otvorim posebnu sekciju na moj sajtu Digital gde cu pisati o ovim stvarima.

Za sad toliko, bice novih clanaka kada budem pokrenuo neki od ovih PIC32 makar da pali/gasi LED 🙂

73 de YU3MA

, , ,

TOP