[ npejcic @ 13.10.2013. 21:43 ] @
Pozdrav svim ljubiteljima kvalitetnog zvuka,

Nadam se da nisam promasio forum, mada obzirom da je moj projekat baziran na malo neobicnom resenju za ove potrebe (upotrebom mikrokontrolera), verujem da nisam :)

Usled dokolice, preko leta sam malo istrazivao alternative skupim Hi-Fi izvorima digitalnog zvuka i nekako sam se sveo na sledecu konfiguraciju:
Raspberry Pi - TIP B koji ima konektor P5
I2S - direktna konekcija (zaobilazimo USB/DAC nesrecno resenje)
Linux Distro: RaspyFi (www.raspyfi.com) odnosno Raspbian na koji je potrebno prekompajlirati kernel sa I2S drajverima
DAC: WM8740, ES9023, AK4396
Prateca analogna elektronika

Kada se udje malo detaljnije u problematiku, najtezi deo oko ovakvog pristupa je generisati I2S MCLK signal. Tu nastupa moj pokusaj da to uradim sa PIC32MX120F032B. Dobio sam delimicne rezultate, Raspy svira prilicno pristojno (subjektivni dozivljaj), ima tu jos dorada ali je prica oprimisticna....

Da li je nekome od prisutih ova tematika interesanta, jer mi je ideja da osnovni projekat podelim kao open-hardware i open source, ali nemam "resurse" za podrobnija testiranja?
[ bogdan.kecman @ 13.10.2013. 23:00 ] @
aj probaj da nacrtas blok diagram posto ja ne kapiram cemu ti tu sluzi
rpi :(
ako koristis externi dac (koliko ja znam na rpi nema nikakav ozbiljan
dac) sta ce ti rpi, svaka zvucna ima spdif izlaz koji se relativno lako
sa malim fpga konvertuje i i2s i vozi u koji god oces dac (ako vec nemas
dac koji prima spdif direkt) .. ne kontam sta tu glumi rpi ?!
[ npejcic @ 13.10.2013. 23:18 ] @
RPi je "player", web radio, "stream"-er i sve to kroz web shell:
Mozda ce ovo biti bolje od blok-dijagrama:
[url=http://www.youtube.com/watch?feature=player_embedded&v=73ZAsBLErm8
]RaspyFi video[/url]

Posto pod Linux-om postoje svi drajveri i decoderi FLAC/OGG itd... a ceo hardver kosta oko 30-ak EURA, ne bih potezao svoj hardver iako STM32 moze da to isto uradi uz dovoljno inzenjerskih sati na firmwareu. Pasivno hladjenje se podrazumeva, tako da je jedino potrebno odraditi visokokvalitetni DAC koji na Rpi ne postoji.
[ mikikg @ 14.10.2013. 02:28 ] @
Meni je to sve interesantno :)

Ajd da ne duzim puno oko toga, I2S, S/PDIF kao i ABS moze da se dekodira sa DCI modulom koji imaju neki PIC i dsPIC MCU-ovi. Takodje vecina novijih ARM procesora imaju slicne module.

Specificno za S/PDIF
Moze i pomocu npr DIR9001PW TI-ovog 96khz dekodera.
Inace svi ovi protokoli su prilicno zahtevni za dekodiranje, sa cisto SW resenjem skoro nemoguce odraditi. Tu mora da se ima neko dodatno parce HW-a negde u procesoru koji pomaze brzem dekodiranju.

Dalje, CLOCK za DAC, to je vrlo bitno da bude tacan i sta sto manjim Jitter-om.
Ja se za sad drzim Si5351 clock generatora, vrlo solidan i praktican PLL i cena mu je relativno OK u odnosu na neke druge "kockice".

Ostalo sto se tice analogije iza DAC-a, to je prica za sebe, samo ozbiljan pristup tome i kvalitetne komponente daju dobre rezultate. Cak je to daleko bitnije nego izbor nekog konkretnog DAC chipa. Tu koristiti najbolje moguce OP-ove poput LME49990, LME49720, OPA1612, OPA1632, OPA2211A i slicne.
Isto koristiti samo kvalitetne kondenzatore ili ici na resenje gde se oni kompletno izbacuju iz trase signala.
Takodje i napajanje za analogni deo mora da bude junacko tj ultra cisto i tvrdo.

Evo ovde ima blog samo oko tih DAC-ova. Decko vec duze vreme samo vrsi razne eksperimente na tu temu:
http://hifiduino.wordpress.com

Ovde smo Bogdan i ja poceli neku temu oko S/PDIF, ja sam hteo to na SW nivou da dekodiram ali se ispostavilo da je nemoguce ...
http://www.elitesecurity.org/t...oder-sa-MCU-Manchester-Decoder

BTW: Imam na lageru po 3 uzoraka od ovih IC
PCM1804DB 200KS ADC
PCM1794ADBR 200KS DAC
PCM3010DB 94/192KS CODEC
PCM2902CDBR 48KS USB CODEC
OPA1662
Ako je neko raspolozen da sa tim nesto pravi evo mogu koji komad da ustupim. Ja ne stizem da to pustim u pogon :( ...
Meni je interesantno ako to moze sa nekim dsPIC da se potera. Takodje me i ADC varijanta interesuje.

Prva dva IC su najbolje nesto sto je Burr Brown (TI) ikad napravio. Pravo dobri cipovi.
ESS sad nudi cak i 32bitne (HATALA) DAC-ove, mozda su za nijansu bolji od ovih ali je nebitno to, poenta je da se uradi dobra HW implementacija bilo kog chipa jer samo tako moze da se "priblizimo" njegovim specifikacijama. Nemoguce je dobiti one cifre iz DS bez ultra-mega-preciznog HW i uslova.
Onaj PCM2902CDBR ste garantovano negde vec culi, Airport to ima (hifiduino ima clanak, razbucao ceo uredjaj i slikao sve), to svira vrlo vrlo fino a 48KS codec :)


---


PCM1794ADBR ima I2S, ako mozes iz RPi da generises to kako treba bar za 48k to se direktno vezuje, ne treba nista izmedju.

Ne znam sta si pokusavao sa dsPIC, zasta ti je on bio potreban pored RPi pa nije islo?

Pazi, imas PIC-ove sa Audio DAC-om na sebi :) Mozda to pomogne?

[Ovu poruku je menjao mikikg dana 14.10.2013. u 04:45 GMT+1]

[Ovu poruku je menjao mikikg dana 16.10.2013. u 01:10 GMT+1]
[ npejcic @ 14.10.2013. 08:56 ] @
Nisam hteo da budem preopsiran, ali sam izgleda preterao u minimizaciji opisa :(

Vecina projekata za Rasp HiFi izlaz koristi USB DAC-ove, ali posto je USB na Rasp nesrecno resen, ja sam isao logikom da probam direktno I2S bez posredovanja USB-a. USB DAC-ovi imaju krckanje, puckanje i slicno usled LAN NAS ili WEB striminga. Nakon visenedeljnog slusanja putem direktne konekcije I2S-om na DAC, mogu reci da toga nema.

Citat:
mikikg: Meni je to sve interesantno :)
Ajd da ne duzim puno oko toga, I2S, S/PDIF kao i ABS moze da se dekodira sa DCI modulom koji imaju neki PIC i dsPIC MCU-ovi. Takodje vecina novijih ARM procesora imaju slicne module.


Tako je, za druge potrebe (neki WAV player) koristio sam direktno iz PIC-a (PIC32), ali za ovaj "projekat" Raspy generise direktno sa svog hardvera BCLK, LCRK, DATA u standardnom I2S formatu. Ono sto nema na Raspy to je MCLK pa ga je potrebno externo generisati. Tu nastupa PIC32, koji internim PLL-om generise sve potrebne MCLK frekvencije.

Citat:
mikikg
Specificno za S/PDIF
Moze i pomocu npr DIR9001PW TI-ovog 96khz dekodera.
Inace svi ovi protokoli su prilicno zahtevni za dekodiranje, sa cisto SW resenjem skoro nemoguce odraditi. Tu mora da se ima neko dodatno parce HW-a negde u procesoru koji pomaze brzem dekodiranju.


Znam, ali za ovu namenu to nije potrebno..... I2S ide direktno na analogni izlaz. Za sada bih preskocio SPDIF.

Citat:
mikikg
Dalje, CLOCK za DAC, to je vrlo bitno da bude tacan i sta sto manjim Jitter-om.
Ja se za sad drzim Si5351 clock generatora, vrlo solidan i praktican PLL i cena mu je relativno OK u odnosu na neke druge "kockice".


E tu je problem. Mada vecina novijih DAC-eva je prilicno imuno na jitter. Ovaj Si5351 je dobar izbor, ali ne znam da li je potreban obzirom da ja imam PLL u PIC-u, koji mi sluzi da prepozna po LRCK frekvenciji kolika je potrebna MCLK, generise je i konacno prikazuje na LED diodama. Taj deo radi odlicno. Ono sto me zbunjuje to je kvalitet MCLK signala, iako je izgled na osciloskopu katastrofa, pojedini DAC-ovi sviraju lepo, drugi uopste, treci krce itd..... ali o tome cu tek detaljnije.

Citat:
mikikg
Ostalo sto se tice analogije iza DAC-a, to je prica za sebe, samo ozbiljan pristup tome i kvalitetne komponente daju dobre rezultate. Cak je to daleko bitnije nego izbor nekog konkretnog DAC chipa. Tu koristiti najbolje moguce OP-ove poput LME49990, LME49720, OPA1612, OPA1632, OPA2211A i slicne.
Isto koristiti samo kvalitetne kondenzatore ili ici na resenje gde se oni kompletno izbacuju iz trase signala.
Takodje i napajanje za analogni deo mora da bude junacko tj ultra cisto i tvrdo.


Apsolutno tacno :)

Ovaj sam izradio za test, i to jako lepo svira:
WM8740 DAC

Citat:
mikikg
Evo ovde ima blog samo oko tih DAC-ova. Decko vec duze vreme samo vrsi razne eksperimente na tu temu:
http://hifiduino.wordpress.com


Za njih znam, odlican sajt.

Citat:
mikikg
Ovde smo Bodan i ja poceli neku temu oko S/PDIF, ja sam hteo to na SW nivou da dekodiram ali se ispostavilo da je nemoguce ...
http://www.elitesecurity.org/t...oder-sa-MCU-Manchester-Decoder


Vidim radilo se :)

Citat:
mikikg
BTW: Imam na lageru po 3 uzoraka od ovih IC
PCM1804DB200KS ADC
PCM1794ADBR200KS DAC
PCM3010DB94/192KS CODEC
PCM2902CDBR48KS USB CODEC
OPA1662
Ako je neko raspolozen da sa tim nesto pravi evo mogu koji komad da ustupim. Ja ne stizem da to pustim u pogon :( ...
Meni je interesantno ako to moze sa nekim dsPIC da se potera. Takodje me i ADC varijanta interesuje.

Prva dva IC su najbolje nesto sto je Burr Brown (TI) ikad napravio. Pravo dobri cipovi.
ESS sad nudi cak i 32bitne (HATALA) DAC-ove, mozda su za nijansu bolji od ovih ali je nebitno to, poenta je da se uradi dobra HW implementacija bilo kog chipa jer samo tako moze da se "priblizimo" njegovim specifikacijama. Nemoguce je dobiti one cifre iz DS bez ultra-mega-preciznog HW i uslova.
Onaj PCM2902CDBR ste garantovano negde vec culi, Airport to ima (hifiduino ima clanak, razbucao ceo uredjaj i slikao sve), to svira vrlo vrlo fino a 48KS codec :)


ESS-ov ES9018 je nesto u sta se Audiofili "kunu". Jos uvek se nisam usudio da ga nabavljam obzirom da mi treba malo vise novca. Cip kosta oko 50-ak$ + pratecu hardver.
Za sada sam u fazi testiranja sledecih WM8727 (ispod proseka), WM8740 jako lepo svira, ES9023 cini se malo izvikan, cekam AK4396 kako bih testirao.

Citat:
mikikg
PCM1794ADBR ima I2S, ako mozes iz RPi da generises to kako treba bar za 48k to se direktno vezuje, ne treba nista izmedju.
Ne znam sta si pokusavao sa dsPIC, zasta ti je on bio potreban pored RPi pa nije islo?
Pazi, imas PIC-ove sa Audio DAC-om na sebi :) Mozda to pomogne?


Znaci, rezime: Izazov je kvalitetan MCLK generator. Ja sam to uradio pomocu PIC32MX.
E sad, postoje i gotova resenja koja ovaj PLL rade interno u sebi, recimo PCM5102A, kome ako se MCLK ulaz veze na GND on generise isti upotrebom BCLK-a i interno PLL-om ga izdize.
To je elegantno resenje, ali moja ideja je bila da se izradi univerzalnija plocica koja ce podrzati vecinu DAC-ova pa ko zeli "low-budget" neka koristi njega, a ko zeli "hi-end" moze tako.
Zato malo vise komplikujem pricu.

Nadam se da sam sada malo jasniji, a cim nadjem malo vise vremena, postavicu celu ideju na ePraktikum sajtu.....


[ ZAS011 @ 14.10.2013. 09:10 ] @
Nebojša, WEB strimovi nisu vredni truda, vremena a ni novca (osim ukoliko ne spadaš u kategoriju "dokonih popova"), pošto svi imaju nizak bitrate, tako da se baš ni ne mogu svrstati u pravu kategoriju HiFi. Bolje da tu voćkicu upotrebiš kao media streamer, mada ti to već neki NAS može da odradi 1/1.
[ npejcic @ 14.10.2013. 09:30 ] @
Citat:
ZAS011: Nebojša, WEB strimovi nisu vredni truda, vremena a ni novca (osim ukoliko ne spadaš u kategoriju "dokonih popova"), pošto svi imaju nizak bitrate, tako da se baš ni ne mogu svrstati u pravu kategoriju HiFi. Bolje da tu voćkicu upotrebiš kao media streamer, mada ti to već neki NAS može da odradi 1/1.


Pozdrav Zoki :)

E bas u inat zelim ovo da opovrgnem :)

Mogu ti reci da je to jako, jako napredovalo. Nakon visenedeljnog slusanja mogu ti reci da to zaista zvuci lepo. Audiofili nikada nece priznati ovakav pristup, ali Hi-Fi svakako jeste. Ideja mi je da idem do 192kHz u 24 bita, FLAC iskljucivo, NAS arhiva, a rezultate vec imam.

Evo nesto nabrzaka:
Izgled finalne plocice:


Nulti prototip:


Da se ne zamerim Kinezima, ima nesto i njihovo :) (Uzgred, prilicno lepo svira za ulozene novce)
[ mikikg @ 14.10.2013. 09:39 ] @
Pa vidi ovako, ako hoces bas low-cost sa RPi a da svira kolko-tolko, moze to i bez DAC-a.
Ne znam da li si video onu caku sa PWM? Ali sa duplim PWM :)
Radi se klasican 8bit PWM ali se koriste dva, jedan je 256x manjeg nivao nego drugi, prakticno stavi se samo 256x manji otpornik i dobije se 16bit PWM. Kazu ljudi koji su to probali da svira drasticno bolje nego RPi default audio izlaz koji koristi po jedan pin za PWM.

Inace pogledaj malo detaljnije specifikaciju za PCM1794A, na brzinu sam poredio DS za ove Wolfson sto si spomenuo, losiji su celu dekadu ili vise :)
Ovaj PCM je mnogo ozbiljan DAC, to sam vidjao pa papreno skupim CD plajerima (15k+E), inace su rezervisani za Pro Audio studisku opremu.

Neki AK CODEC imam u TC Electronic Impact Twin, to svira a i sempljuje za sve pare :)
Odlican codec, ali opet kazem da je HW implementacija jako bitna koju je TC uradio vrlo fino.

Sto se tice clock-a, ne znam sta ti tu pravi probleme. Clock mora da bude cist, tacan, stabilan, sa visokim slew-rate (preko 1000V/us) i skoro idealnim 50% duty-ratio. To na osciloskopu mora da izgleda kao savrsen pravougani signal i da bude "zakucan u mestu" kada ga lepo utrigerujes na osciloskopu, toliko "zakucan" da kada utrigerujes recimo na uzlaznu ivicu, odsrafis vremensku bazu pa gledas silaznu ivicu, to ni tu ne sme da se pomera :) To je low-jitter ;)

[Ovu poruku je menjao mikikg dana 14.10.2013. u 10:49 GMT+1]
[ bogdan.kecman @ 14.10.2013. 10:01 ] @
ah ti u stvari hoces da okacis DA na rpi i ne koristis komp uopste ...
jasno, mozda ima i smisla :D
[ npejcic @ 14.10.2013. 11:29 ] @
Citat:
mikikg:
Pa vidi ovako, ako hoces bas low-cost sa RPi a da svira kolko-tolko, moze to i bez DAC-a.
Ne znam da li si video onu caku sa PWM? Ali sa duplim PWM :)
Radi se klasican 8bit PWM ali se koriste dva, jedan je 256x manjeg nivao nego drugi, prakticno stavi se samo 256x manji otpornik i dobije se 16bit PWM. Kazu ljudi koji su to probali da svira drasticno bolje nego RPi default audio izlaz koji koristi po jedan pin za PWM.

Inace pogledaj malo detaljnije specifikaciju za PCM1794A, na brzinu sam poredio DS za ove Wolfson sto si spomenuo, losiji su celu dekadu ili vise :)
Ovaj PCM je mnogo ozbiljan DAC, to sam vidjao pa papreno skupim CD plajerima (15k+E), inace su rezervisani za Pro Audio studisku opremu.

Neki AK CODEC imam u TC Electronic Impact Twin, to svira a i sempljuje za sve pare :)
Odlican codec, ali opet kazem da je HW implementacija jako bitna koju je TC uradio vrlo fino.

Sto se tice clock-a, ne znam sta ti tu pravi probleme. Clock mora da bude cist, tacan, stabilan, sa visokim slew-rate (preko 1000V/us) i skoro idealnim 50% duty-ratio. To na osciloskopu mora da izgleda kao savrsen pravougani signal i da bude "zakucan u mestu" kada ga lepo utrigerujes na osciloskopu, toliko "zakucan" da kada utrigerujes recimo na uzlaznu ivicu, odsrafis vremensku bazu pa gledas silaznu ivicu, to ni tu ne sme da se pomera :) To je low-jitter ;)

[Ovu poruku je menjao mikikg dana 14.10.2013. u 10:49 GMT+1]


Ne bih bas Low-Cost po svaku cenu. Ipak Middle-Cost HiFi DAC.

Da, PCM1794A je jako dobar DAC, ali prateci forume po netu videh da ima dosta korisnika ovih AK i WM DAC-ova, i da nije sve samo u matematickim podacima tipa THD, SNR, i slicno, vec i neka "duhovna" crta samog zvuka koji DAC proizvodi. Naravno prateca elektronika je 60% celokupnog uredjaja, ali kao sto rekoh hteo sam da podrzim vecinu DAC-ova u digitalnom smislu a da eventualno uradi-sam korisnik odabere finalno DAC sa analogijom oko sebe.
Kao sto rekoh, cekam i ovaj AK4396 AK4396 DIY DAC pa eventualno da procenim kako to svira.

Uff, za izgled CLOCK signala, nesmen ni da vam kazem kako izgleda, a ni govora da vam pokazem neki osciloskop screenshoot. :) To toliko lose izgleda a obzirom da svira pocinjem da sumjnam na ovaj digitalni osc da me on laze.....

Imam tu neke jos nekih nelogicnosti ali na to cu tek da objasnjavam.
[ griva @ 14.10.2013. 12:25 ] @
Kod mene svira trenutno ova varijanta
http://www.youtube.com/watch?v=Erjkf0l71Lc
Sasvim zadovoljavajuce, sobzirom na cenu USB DAC-a 9$
[ mikikg @ 14.10.2013. 14:27 ] @
Ma ne forsiram ja ni jedan DAC IC nesto specialno, ove PCM imam ovde kod mene, nove, ne-korisceni a skupljaju mi prasinu pa rekoh ako mogu oni da se pokrenu (a mogu sto ne mogu, isto mu dodje kao i bilo koji drugi IC).
Prakticno imam sve bitne delove za to ali nikako da sednem da to odradim, najvise me PCB nervira jer nemam uslove za kvalitetnu izradu, a o dvoslojnoj tek nema pojma.
[ npejcic @ 14.10.2013. 16:21 ] @
Citat:
griva: Kod mene svira trenutno ova varijanta
http://www.youtube.com/watch?v=Erjkf0l71Lc
Sasvim zadovoljavajuce, sobzirom na cenu USB DAC-a 9$


Ja sam kupio jedan od 10$ ali to jako lose svira. Baziran je na PCM2704 koji je sa skromnim mogucnostima u odnosu na danasnje trendove. Trenutno koristim da njegov COAX izlaz vezem na externu DAC plocicu.
Pored toga sto lose svira, veoma cesto "pucketa" i secka, narocito kada je malo veci protok kroz LAN posto je na USB-u.

Moj USB DAC je ovaj: PCM2704 USB DAC
[ npejcic @ 14.10.2013. 16:29 ] @
Citat:
mikikg: Ma ne forsiram ja ni jedan DAC IC nesto specialno, ove PCM imam ovde kod mene, nove, ne-korisceni a skupljaju mi prasinu pa rekoh ako mogu oni da se pokrenu (a mogu sto ne mogu, isto mu dodje kao i bilo koji drugi IC).
Prakticno imam sve bitne delove za to ali nikako da sednem da to odradim, najvise me PCB nervira jer nemam uslove za kvalitetnu izradu, a o dvoslojnoj tek nema pojma.


Voleo bih da testiram i recimo PCM1794A. Organizovacemo se.....

PCB se da resiti, imam ko da mi izradi nemetalizovane odlicnog kvaliteta, a metalizovane Kinezi ispadne najpovoljnije, Bogdan o tome ima par linkova ovde na ES, da ne sirim temu ovde.
[ mikikg @ 14.10.2013. 17:13 ] @
PCM2704 kao i njegov brat PCM2705 koji je potpuno isti (ima drugi upravljacki interfejs, DAC je 100% isti), taj DAC svira vrlo vlo pristojno.
Rekoh vam da ih Apple ugraduje u svoje spravice ali kada ih on pedatno implementira kako inace rade te stvari to je totalno druga pesma nego kad Kinezi to urade ...
Kod Kineza ne vidim ni jedan regulator (napajaju direktno sa USB, pa to nema pojma), ne vidim decoupling ispod chipova, gde su izlazni OP-ovi, gde je referenca za DAC ... :)

Evo kako izgleda ozbiljna implementacija tog IC-a



To je ono sto pokusavam da objasnim, MNOGO je bitnije kako se neki od tih IC implementira nego koji je to IC.

Pitajte naseg clana @macolakg kako mu svira jedna spravica koju sam mu dao, a mislim da i ne zna da ima bas taj IC unutra ;)

Inace Burr Brown je bila visoko kotirana firma koja je uglavnom radila za Military i Space industriju razna resenja. Pred "kraj karijere" (pre nego sto ih je kupio kompletno TI) su obrezli malo i u Audio. Sve sto su oni pravili to je uradjeno sa izuzetnom paznjom i sa vrhunskim perfomansama. To ocigledno TI nije mogao da podnese i zato ih je kupio, ista prica kao sto je kupio fenomenalnu firmu Nacional Semiconductors. Ostali su mu samo jos dva ozbiljna konkurenta na polju te precizne analogije, Analog Devices i Linear Technology, ko zna kad ce i oni da "legu na rudu" :)
Sa druge strane i nije lose sto ih je TI kupio, on im je "srozao" cenu svih tih IC-ova za jedno 5 do 10x sto je cool iz ugla nas konstruktora, jos daju i besplatne semplove ... :)


[Ovu poruku je menjao mikikg dana 14.10.2013. u 18:51 GMT+1]
[ npejcic @ 14.10.2013. 17:56 ] @
@mikikg Da, slazem se, pratece komponente su jako kljucne.
Medjutim uzorak koji sam ja dobio sa PCM2704 odmah sam doglavio sa kvalitetnijim delovima. Takodje prelistao sam datasheet i primer aplikacije koje proizvodjac preporucuje, tako da sam vrednosti uskladio kao sto su oni dali. Nakon toga sam imao za nijansu bolji zvuk, ali nikako zadovoljavajuci.
E sad, da se ogradim, uporedjivao sam ovaj PCM2704 istovremeno (menjao sam samo preklopnicima koji od njih ide na pojacalo) sa CS4344 koji je bio preko USB-a ogranicen na 16bita 48kHz kako bi bio u "istoj ravni" sa ovim PCM2704 i razlika je bila ocigledna. CS4344 je dao primetno jasniju audio sliku.
Daleko od toga da je PCM2704 bas los, ali kazem kada sam imao prilike da u istim uslovima cujem nesto bolje i kasnije jos bolje sa WM8740 onda sam ovaj PCM2704 deklasirao.

Zato mi je interesantan i PCM1794 ali evo najlakse mi je da sacekam AK4396 koji je na putu za Srbiju, pa onda mogu jos jasnije da sagledam.

Za Burr Brown znam, pre 10-ak godina su bili top firma, a sada su eto u kompletu sa Ti, sto kao sto rece i nije tako lose za nas inzenjere, samo se bojim da ce ih Ti pokvariti :(

Imao sam skoro neverovatnu situaciju da mi jedan LTC ADC-a se zaglupljuje, a zna se kako se kotira Linear itd.....
[ mikikg @ 14.10.2013. 18:31 ] @
Pa pazi, dzaba da mu ti dodajes kvalitetnije komponente kad je to sistemski reseno da bude low-cost.
Kristal krsh; gde je regulator, pa to je obavezno kada se napaja sa USB, znas koliko je prvlja taj USB, uzasno prljav; bez izlaznog OP nema govora o nekoj ozbiljnosti tu, ne moze taj izlaz da savlada tek tako naprostiju kapacitivnost nekog koaksialnog kabla, kabal ce ti se ponasati kao da si stavio LPF filter tu! Mora mnogo "tvrdji" izlaz da se uradi i "tvrdje" napajanje da bi to imalo priblizne karakteristike koje se navode za te IC.
Za PCB ne znam sta je gore Apple radio, nije iskljuceno da je 4-slojna u pitanju, a znas koliko to ima uticaja ...
Kinezi su ovo odradili sa minimum-minimuma neophodnih delova ...



Ja sam se tim Audio digitalijama igrao iz jednog malo drugacijeg ugla jer "audiofil" nisam, nego preko ovih mojih SDR spravica gde u sustini vaze sve cake oko perfomansi, stim sto mi ocena nekog kvaliteta nije "preko slusanja" muzike vec preko raznih merenja koja se tu vrte, konkretno mi je SNR jako bitan parametar jer direktno utice na osetljivost prijema. Recimo ja sam krenuo sa cca 60-70dB SNR kada sam poceo sa tim da se igram. Posle skoro dve godine sam stigao do nekih 110dB SNR i tu negde mi je maksimum sa opremom koju trenutno imam. Ceo koncept konstrukcije mi je bukvalno bio isti od pocetka, jako malo nekih bitnih promena sam imao ali sam zato skontao gomilu tako sitnih caka koje itekako imaju veze sa tom temom. Zato ovo sve gore tako i pisem ...

[Ovu poruku je menjao mikikg dana 14.10.2013. u 20:14 GMT+1]
[ mikikg @ 17.10.2013. 03:32 ] @
Kad smo vec kod I2S, jedno pitanje za Bogdana a i ostale, kako se ovo http://opencores.org/project,i2s_to_parallel prakticno "fasuje" u IC i koje IC?
Kako to isprogramirati, da li mogu oni TI moduli sa JTAG da se natridze nekako da prgramiraju neku array koja ovo moze da tera? Koji bi bio minimum neki device koji ovo moze da radi za 24bit data ?
[ bogdan.kecman @ 17.10.2013. 03:43 ] @
to je hw dizajn, neki cpld ili fpga, alat za njega da napravi bitstream
(XISE za xilinx, QUARTUS za altera ...) i onda zavisno od sprave ili to
upucas u neki spi flash/eprom ili upucas jtag-om direkt u ic ..

e sad da bi to implementirao softwerski .. to nema nikakve veze sa
linkom koji si stavio, dakle ako hoces to da uradis sa mcu uzmes neki
mcu sa i2s dekodiras u sw-u taj ulaz i pljujes ga napolje na neki pmp
ili raw port .. nisam nikad to radio nemam predstavu koja je kolicina
podataka i potrebna obrada .. za taj vhdl, ja nemam dovoljno iskustva da
ti kazem napamet koliki ti device treba, uzmes instaliras XISE WEBPACK i
odaberes neki cpld i probas da iskompajliras ovo i vidis sta ce ti reci
(dal staje ili ne), ako ne stane uzmes vecu spravu (veci cpld ili manji
fpga) pa probas opet :D ... ili uzmes odma neki veci, iskompajliras i
onda vidis koliko si celija potrosio pa nadjes fpga/cpld sa taman toliko
celija (tj prvi veci)

evo ga vhdl kod cisto za one koji se nisu registrovali na opencore da ne
cekaju approval za registraciju :D

Code:

---------------------------------------------------------------------------------
-- Engineer:      Fabio Gravina <[email protected]>
--                                                       http://www.fgravina.net
--                Primiano Tucci <[email protected]>
--                                                  http://www.primianotucci.com
--
-- Create Date:   17:26:41 12/19/2008
-- Design Name:   i2s_to_parallel
--
-- Description:   
-- 
-- This module provides a bridge between an I2S serial device (audio ADC, S/PDIF 
-- Decoded data) and a parallel device (microcontroller, IP block).
--
-- It's coded as a generic VHDL entity, so developer can choose the proper signal
-- width (8/16/24 bit)
--
-- Input takes:
-- -I2S Bit Clock
-- -I2S LR Clock (Left/Right channel indication)
-- -I2S Data
--
-- Output provides:
-- -DATA_L / DATA_R parallel outputs
-- -STROBE and STROBE_LR output ready signals.
-- 
-- As soon as data is read from the serial I2S line, it's written on the proper
-- parallel output and a rising edge of the STROBE signal indicates that new
-- data is ready.
-- STROBE_LR signal tells if the strobe signal was relative to the
-- Left or Right channel.
--
--------------------------------------------------------------------------------
-- I2S Waveform summary
--
-- BIT_CK     __    __   __    __    __            __    __    __    __   
--           | 1|__| 2|_| 3|__| 4|__| 5|__... ... |32|__| 1|__| 2|__| 3| ...
--
-- LR_CK                                  ... ...      _________________
--           ____________R_Channel_Data______________|   L Channel Data ...
--
-- DATA      x< 00 ><D24><D22><D21><D20>  ... ...     < 00 ><D24><D23>  ...
--
--
-- Each time enough ('width' bits of) data is collected from the serial input
-- it is outputed on the corresponding DATA_R/L port and the proper
-- STROBE signals are emitted
-- A rising edge of the STROBE signal tells that parallel data is ready
-- STROBE_LR signal tells which of the DATA_L / DATA_R has been generated
-- DATA_L/R remain valid for the whole cycle (until next data is processed)
--------------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;

entity i2s_to_parallel is 
-- width: How many bits (from MSB) are gathered from the serial I2S input
generic(width : integer := 16);
port(
    --  I2S Input ports
    LR_CK : in std_logic;    --Left/Right indicator clock
    BIT_CK : in std_logic;   --Bit clock
    DIN : in std_logic;      --Data Input
    -- Control ports
    RESET : in std_logic;    --Asynchronous Reset (Active Low)
    -- Parallel Output ports
    DATA_L : out std_logic_vector(width-1 downto 0);
    DATA_R : out std_logic_vector(width-1 downto 0);
    -- Output status ports
    STROBE : out std_logic;  --Rising edge means data is ready
    STROBE_LR : out std_logic
);
end i2s_to_parallel;

architecture Behavioral of i2s_to_parallel  is
    signal current_lr : std_logic;
    signal counter : integer range 0 to width;
    signal shift_reg : std_logic_vector(width-1 downto 0);
    signal output_strobed : std_logic;
    
begin
    process(RESET, BIT_CK, LR_CK, DIN)
    begin
        if(RESET = '0') then
            DATA_L <= (others => '0');
            DATA_R <= (others => '0');
            shift_reg <= (others => '0');
            current_lr <= '0';
            STROBE_LR <= '0';
            STROBE <= '0';
            counter <= width;
            output_strobed <= '0';
        elsif rising_edge(BIT_CK) then
            -- Note: LRCK changes on the falling edge of BCK
            -- We notice of the first LRCK transition only on the
            -- next rising edge of BCK
            -- In this way we discard the first data bit as we start pushing
            -- data into the shift register only on the next BCK rising edge
            -- This is right for I2S standard (data starts on the 2nd clock)
            if(LR_CK /= current_lr) then
                current_lr <= LR_CK;
                counter <= width;
                --clear the shift register
                shift_reg <= (others => '0');
                STROBE <= '0';
                output_strobed <= '0';
            elsif(counter > 0) then
                -- Push data into the shift register
                shift_reg <= shift_reg(width-2 downto 0) & DIN;
                -- Decrement counter
                counter <= counter - 1;        
            elsif(counter = 0) then
                --TODO Optimization
                -- Data could be written one clock behind
                -- when counter = 1 (step down counter)
                -- We're wasting a cycle here
                if(output_strobed = '0') then
                    if(current_lr = '1') then
                        --Output Right Channel
                        DATA_R <= shift_reg;
                    else
                        --Output Left Channel                    
                        DATA_L <= shift_reg;
                    end if;
                    STROBE_LR <= current_lr;
                    output_strobed <= '1';
                else
                    STROBE <= '1';
                end if; --(output_strobed = '0')
            end if;    -- (counter = 0)
        
        end if; -- reset / rising_edge
        
    end process;

end Behavioral;


inace ovaj ocekuje 3 linije na ulazu, klok, datu i r/l .. bice da pre ovoga moras nekako iz koax-a da izvuces ta 3 signala

EDIT: stavih pogresan kod :D


[Ovu poruku je menjao bogdan.kecman dana 17.10.2013. u 05:03 GMT+1]
[ bogdan.kecman @ 17.10.2013. 03:55 ] @
inace vezano za hifi i dac ... zasto ne XMOS ?
ne verujem da pucketanje moze da ima veze sa usb-om na rpi, nije to tolika kolicina podataka da ne moze da stigne ... jedino ako rpi nema dovoljno snage da hendla istovremeno mrezu i usb pa krenu da se guse i jedan i drugi bus ..

u svakom slucaju http://www.ebay.com/itm/XMOS-U...amplis&hash=item2c71a1761b samo verzija sa 3xTCXO a ne obicnim kristalima radi bezobrazno dobro .. a trebalo bi da ofloaduje procesiranje sa rpi, kapiram da generisanje i2s direktno na rpi trosi vise resursa nego usb .. mada ko zna ...

kada vec imas i2s (dal sa rpi ili sa xmos-a) onda uzmes nesto tipa:http://www.ebay.com/itm/ES9018...onents&hash=item35ca661e5b to radi zadovoljavajuce dobro (bolje nego sto ja mogu da cujem :D ) (obrati paznju, 70$ je cena bez cipova !!! prodaje lik i sve cipove naravno za $$$ :D ) ili uzmes neki drugi ES9018 kit .. ima ih milion na bleju .. a ti u kucnoj radinosti tesko da ces da odradis nesto bolje od toga a garant ne taj kvalitet za te pare





[ npejcic @ 17.10.2013. 09:14 ] @
Citat:
bogdan.kecman: inace vezano za hifi i dac ... zasto ne XMOS ?
ne verujem da pucketanje moze da ima veze sa usb-om na rpi, nije to tolika kolicina podataka da ne moze da stigne ... jedino ako rpi nema dovoljno snage da hendla istovremeno mrezu i usb pa krenu da se guse i jedan i drugi bus ..


XMOS je "vrh", mnogi profi uredjaji ga koriste, za potrebe USB u I2S.
Ovaj je jako hvaljen na forumima: [url=mailto:http://www.diyinhk.com/shop/ho...alow-noise-65uv-regulator.html]XMOS USB to I2S[/url]

Medjutim, Raspy je jako nesrecno uradjen jer se cak i LAN nalazi na istoj magistrali (USB) i hoce zesce da pucketa kada se koristi USB DAC. Postoje revizije i razne zakrpe kernela da to bude sto manje, ali je ipak prisutno iz mog iskustva, zavisno sta radi raspy u trenutku slusanja muzike......

Sa druge strane ZASTO koristiti USB kad na Raspy vec postoji I2S?

Citat:
bogdan.kecman:u svakom slucaju http://www.ebay.com/itm/XMOS-U...amplis&hash=item2c71a1761b samo verzija sa 3xTCXO a ne obicnim kristalima radi bezobrazno dobro .. a trebalo bi da ofloaduje procesiranje sa rpi, kapiram da generisanje i2s direktno na rpi trosi vise resursa nego usb .. mada ko zna ...


Ne bih se slozio, I2S evo ovog momenta gledano sa TOP-om: izmedju 5 do 6.9% zauzima MPD (njega koristim odlican je), i to zato sto se koristi WEB Shell u pisan u pythonu. Dok nisam instalirao WEB shell to je bilo jos i manje. Drajver koristi DMA za I2S.

Kao sto sam vec napisao non-stop na poslu slusamo vec par nedelja I2S DAC koji sam izradio, i nijednom nije secnuo-krcnuo-stucnuo, dok kod kuce imam USB DAC koji cesto secka/pucka, narocito kada ide striming sa NAS-a.

Zanimljivo je da je dosta korisnika prijaviolo da je zvuk cistiji ukoliko se umesto LAN-a koristi neki WiFi dongle.

Prelistajte malo forume, dosta ljudi se zali na probleme sa USB DAC-ovima bez obzira da li su Brand ili Kinezi.... neki rade, neki lose, neki uopste itd....

Citat:
bogdan.kecman:kada vec imas i2s (dal sa rpi ili sa xmos-a) onda uzmes nesto tipa:http://www.ebay.com/itm/ES9018...onents&hash=item35ca661e5b to radi zadovoljavajuce dobro (bolje nego sto ja mogu da cujem :D ) (obrati paznju, 70$ je cena bez cipova !!! prodaje lik i sve cipove naravno za $$$ :D ) ili uzmes neki drugi ES9018 kit .. ima ih milion na bleju .. a ti u kucnoj radinosti tesko da ces da odradis nesto bolje od toga a garant ne taj kvalitet za te pare


Ovde je akcenat na sto manje novca a puno muzike :)

Na ovoj fotografiji imate sistem I2S + MCLK generator + ES9023 DAC koji svira odlicno po mom skromnom misljenju.



Cekam i ove AK4396 DAC-ove (stigli juce na carinu :) , pa cu rezimirati do sada testirane i zakljuciti sta je optimalna konfiguracija.
[ bogdan.kecman @ 17.10.2013. 09:35 ] @
ako su mu usb i net na istom basu onda je sve jasno :( usb otpada :( a i ceo moj posto posto sam ja ocekivao problem na drugom mestu, nisam verovao / zeleo da verujem da su turili usb i net na isti bus, net je bas malo naporan ...

kakav je taj i2s na rpi, stvarno i2s hw ili ga bitbenguju ?

[ mikikg @ 17.10.2013. 10:41 ] @
Ok tek ce se igracemo sa ovim sto je Nebojsa pravio ;)

Nego mene I2S i njegovo dekodiranje (u paralelno) interesuje za neke druge stvari.
Konkretno me interesuje kako te informacije "najbrze" tj najbezbolnije sa najmanje potrosenih ciklusa (sa strane prijemnog MCU jer tamo nemam dedicated HW za to) proslediti recimo ka Piccolo kontroleru. A vec ste mozda upuceni zasto bas na Piccolo ... :)

I ovo pitanje sto je Bogdan postavio, da li RPi radi bit-bang ili ima dedicated HW za to ... Apropo toga da li moze RPi da izbaci recimo 8itnu rec + neki strobe na onaj njegov konektor bez upotrebe dodatnog HW-a za to?
[ npejcic @ 17.10.2013. 10:48 ] @
Citat:
bogdan.kecman: ako su mu usb i net na istom basu onda je sve jasno :( usb otpada :( a i ceo moj posto posto sam ja ocekivao problem na drugom mestu, nisam verovao / zeleo da verujem da su turili usb i net na isti bus, net je bas malo naporan ...

kakav je taj i2s na rpi, stvarno i2s hw ili ga bitbenguju ?


Hardverski, evo ovde je c izvorni kod koji to radi:
http://lwn.net/Articles/551381/

Ovo je blog coveka koji je izradio kernel "patch", ja njega koristim pod raspbianom:
http://blog.koalo.de/2013/05/i2s-support-for-raspberry-pi.html
[ npejcic @ 17.10.2013. 11:03 ] @
Citat:
mikikg
Nego mene I2S i njegovo dekodiranje (u paralelno) interesuje za neke druge stvari.
Konkretno me interesuje kako te informacije "najbrze" tj najbezbolnije sa najmanje potrosenih ciklusa (sa strane prijemnog MCU jer tamo nemam dedicated HW za to) proslediti recimo ka Piccolo kontroleru. A vec ste mozda upuceni zasto bas na Piccolo ... :)


I2S je relativno jednostavan protokol, sastoji se od BCLK, DATA i LRCK signala. BCLK je osnovni clock, DATA nosi podatke u 16, 24 ili 32 bita o "zvuku" i LRCK nosi podatak o LEVOM/DESNOM kanalu. Ono sto uglavnom pravi probleme to je MCLK koji je reda 12.288MHz, 24.576MHz, do 49.152 MHz, koji je bitan za potrebe digitalnih filtara jer danas su DAC-ovi uglavnom na bazi "oversampling"-a.
BCLK frekvencija je reda za recimo 16bita 44100Hz "sample-rate" => 16 * 44100 * 2 = 1411200Hz, odnosno za 24bita 192kHz sampling-a => 9216000Hz
[ mikikg @ 17.10.2013. 11:13 ] @
To mi je poznato, nego ja (tj kontroler) ne mogu da to dekodiram bez specificnog HW-a, to je problem :(
Ja bih "voleo" da vec razbijen signal uguram u moj PWM modulator. Piccolo vec ima pune ruke posla oko PWM i da ga jos uposlim da dekodira neki signal sa min 1.4MBaud (do 9Mbaud) nema pojma da postigne ... Zato bih to smanjio za bar 8 (ili 16) puta kako bi se trosilo manje vremena na to.
Sta znam mozda neki shift registar sa strane RPi ili tako nesto (a da bude tamo u kernelu to podrzano) ... Imam vazdan slobodnih nozica na Piccolu pa u tom pravcu razmisljam ...
[ npejcic @ 17.10.2013. 13:47 ] @
Citat:
mikikg: To mi je poznato, nego ja (tj kontroler) ne mogu da to dekodiram bez specificnog HW-a, to je problem :(
Ja bih "voleo" da vec razbijen signal uguram u moj PWM modulator. Piccolo vec ima pune ruke posla oko PWM i da ga jos uposlim da dekodira neki signal sa min 1.4MBaud (do 9Mbaud) nema pojma da postigne ... Zato bih to smanjio za bar 8 (ili 16) puta kako bi se trosilo manje vremena na to.
Sta znam mozda neki shift registar sa strane RPi ili tako nesto (a da bude tamo u kernelu to podrzano) ... Imam vazdan slobodnih nozica na Piccolu pa u tom pravcu razmisljam ...


A, ha.... pa iskreno nisam sretao da MCU/FPGA bude DAC :) Uglavnom se DAC kaci na mikrokontrolere, neki koriste i obican SPI port kako bi prosledili informaciju ka DAC-u, a DAC moze da radi u MASTER ili SLAVE modu.
Ako ti nesto znaci ovaj projekat je lep primer FLAC plejera, znaci da pojasnim, PIC32 je taj koji dekodira FLAC i salje na EXTERNI DAC, nije to sto ti zelis, ali je tu prikazano kako da se obican SPI upotrebi u I2S svrhe pa mozda primeniti obrnutu komunikaciju da SPI hw bude u slave rezimu....
https://sites.google.com/site/k9spudllc/traxmod/traxmod-for-pic32

Mozda ti i ovo pomogne:
https://www.sparkfun.com/datasheets/BreakoutBoards/I2SBUS.pdf
Pogledaj stranu 6
[ mikikg @ 20.10.2013. 03:41 ] @
>> inace vezano za hifi i dac ... zasto ne XMOS ?

XMOS je odlicna sprava, vredi da se proba u svakom slucaju (nevezeno za HiFi). Kakva je tu ponuda? Moduli neki?
Video sam ove module sto guraju DAC, sta ima jos na tu temu a da je mozda nekog nizeg cenovnog ranga?
XMOS ima super pristup sa ovim multy-core kontrolerima.
[ npejcic @ 20.10.2013. 08:43 ] @
Citat:
mikikg:
XMOS je odlicna sprava, vredi da se proba u svakom slucaju (nevezeno za HiFi). Kakva je tu ponuda? Moduli neki?
Video sam ove module sto guraju DAC, sta ima jos na tu temu a da je mozda nekog nizeg cenovnog ranga?
XMOS ima super pristup sa ovim multy-core kontrolerima.


Pitanje u pravom trenutku :)
U toku je akcija, dele besplatno 2500 start-kitova, po sistemu, prijavis se pa neka komisija odlucuje kome ce dodeliti.
Po meni i cena od 14.99$ nije puno da se proba.... evo linka:
http://www.xmos.com/news/15-oc...lticore-development-board-1499
[ mikikg @ 11.11.2013. 23:36 ] @
Hmm, vrlo zanimljiv ovaj RaspyFi OS …

Ovo me je odusevilo :)



Citat:

Elem, na ovo linku imas SVE sto je potrebno da za 10 minuta ozivis
Raspberry da radi na I2S audio out za ovu moju plocicu:
LINK1: http://www.crazy-audio.com/pro...ry-install-precompiled-kernel/

Princip je jednostavan, skini odlicnu verziju RaspyFi i ubaci gore
navedeni kernel:
LINK2: http://sourceforge.net/project...s/latest/download?source=files


PS: Samo nemojte "apt-get update; apt-get upgrade" da radite posle instalacije, prestane I2S da radi nakon toga, verovatno posledica zato sto ovi kernel moduli nisu instalirani "regularno" preko APT pa ga ova procedura "prepuca".
Hmm, mada dok ovo pisem mi pade napamet da se uradi upgrade pa onda ponovo da se instaliraju kernel moduli.
Probam pa javim …

UPDATE:
Ipak radi, dakle uraditi update pa onda postaviti kernel module sa I2S podrskom ;)

[Ovu poruku je menjao mikikg dana 13.11.2013. u 02:44 GMT+1]
[ mikikg @ 17.12.2013. 09:20 ] @
Citat:
npejcic:
Citat:
mikikg:
XMOS je odlicna sprava, vredi da se proba u svakom slucaju (nevezeno za HiFi). Kakva je tu ponuda? Moduli neki?
Video sam ove module sto guraju DAC, sta ima jos na tu temu a da je mozda nekog nizeg cenovnog ranga?
XMOS ima super pristup sa ovim multy-core kontrolerima.


Pitanje u pravom trenutku :)
U toku je akcija, dele besplatno 2500 start-kitova, po sistemu, prijavis se pa neka komisija odlucuje kome ce dodeliti.
Po meni i cena od 14.99$ nije puno da se proba.... evo linka:
http://www.xmos.com/news/15-oc...lticore-development-board-1499


Jao jel se secate ovoga?

Donese mi malopre postar neku neuglegnu kuticu, sva izhabana i otvarana, ja pogledam kad ono poklon od XMOS-a :)
E bas su mi ulepsali dan :) Samo mi je jos 8core 500MIPS procesor falio u zivotu, hehe, igracemo se i sa ovim, ne mogu da postignem, moram onaj STM32F3 prvo da namunjim da radi nesto korisno ...

[ npejcic @ 17.12.2013. 11:59 ] @
Bravo za XMOS-ovce :) E, pa Miki sada nema "zime" čime ćeš da se zanimaš u toku januara ;)
[ HeYoo @ 18.12.2013. 12:01 ] @
I meni danas stigao mejl da ce mi starter kit stici ovih dana. Nadam se da ovi iz poste nece zabrljati.
Koliko vidim imaju developer friendly pristup, besplatan IDE za sve platforme, ok dokumentaciju, primere. Bice zanimljivo poigrati se s multicore spravicom.
Hvala npejcicu sto je pustio informaciju ovde :)
[ niceness @ 26.12.2013. 20:47 ] @
Jel stigao još nekom ovaj XMOS starter kit? Isto sam dobio mail kad i HeYoo, pre nekih 8 dana, ali još ništa od pošiljke.
[ mikikg @ 26.12.2013. 21:07 ] @
Vidis vrlo cudno, jos nekoliko ljudi mi je reklo da je isto dobilo email ali se jos nisu oglasili da im je nesto stiglo?!
Mozda zbog guzve oko praznika … Ne verujem da postari / carina "plene" to, sta ce im to u zivotu …
Stvarno ne znam, sacekajte jos neko vreme. Ako posle cca mesec dana ne stigne nista da se kontaktira XMOS i vidi tacno sta se sa tim desava.
Meni je to stiglo iz Velike Britanije, verovatno je poslato sa nekom low-cost shipping opcijom, verovatno klasicna posta, ne kurirske sluzbe.
[ niceness @ 26.12.2013. 23:54 ] @
Pa valjda će doći jednom, ako nekom stigne nek se javi.
Inače sam i ja potpuno zaboravio na ovo sve dok mi nije stigao mail :)
[ mikikg @ 27.12.2013. 00:50 ] @
Da se vratimo malo na temu.

Probao sam novu Nebojsinu plocicu koja se bazira na PCM5102A DAC-u.

Mogu da vam kazem da to svira vrlo vrlo fino. Sve se "normalno" cuje, nema krckanja, puckanja, shuma i slicno.
Za test sam uzeo neke nekopresovane WAV-ove i nekoliko HD Flack-ova, sve je OK.
Dakle to je bilo testiranje na "uvo", nisam radio nikakva specialna merenja, THD, SNR i slicno.

Naravno ovde ima jos mesta za unapredjenje, mozda jos bolji DAC-ovi, bolje napajanje, izlazni bufferi i slicno.

Za jedno chipche i nesto sitnih delova zakaceno RPi to je odlicno i definitivno potvrdjuje da ovaj koncept "pije vodu".

U medjuvremenu su se pojavile jos neke dve distribucije OS-a specificno namenjene za tu HD-audio player primenu (pokazuje da ima relativno veliko interesovanje za taj koncept), nisam ih jos probao, o tome moze Nebojsa nesto vise da kaze.

[ kudlik @ 27.12.2013. 06:31 ] @
Pozdrav

Starter Kit
Prvo je stigao paket, a sad nedavno mejl
[ npejcic @ 27.12.2013. 17:28 ] @
@niceness Stižu XMOS starteri lagano ali sigurno. Meni je prvo stigao email i tek posle 7 dana poštom i sam starter. Šalju ga poštom najnižeg prioriteta, tako da sporije ide.

@mikikg Što se tiče HiFi Raspberry Pi plejera, mogu vam reći da smo zaokružili "mainstream" verziju koja će većini biti sasavim Ok - RaspyPlay3. Kvalitet zvuka je odličan, kao što je mikikg rekao, veoma je jednostavan za implementaciju na Raspberry Pi i cenovno prihvatljiv. Koristi isto napajanje kao Raspberry Pi i ne zahteva dodatne komponente. Prijatelj mi je obećao da će isprojektovati i plexy kutiju da sve ovo može da se uklopi u nju. Čekam da još par ljudi koji imaju muzičkog ukusa i dobro ozvučenje da oslušnu ovaj plejer, pa da zvanično kažemo da je ova etapa završena.

Radimo i na verziji za one najzahtevnije, tačnije pokušavamo da izradimo modul koji će biti interfejs između Raspberry Pi i nekog vrhunskog DAC-a kao što je ES9018. Tu je već stvar prilično kompleksnija, tako da ne mogu da kažem kada će ovo biti gotovo...... imamo probleme i sa ograničenjima na Raspberry-ju, tako da ćemo tek videti šta sa tim.

Na ovim slikama prikazan je RaspyPlay3, kao i LCD 4x20 alfanumerički koji se direktno priključuje na ovu pločicu:





Što se tiče Linux OS-a za Raspberry, situacija je odlična. Postoje 3 verzije koje podržavaju ovaj HiFi plug-in.
1. Zvanični Raspbian sa kernelom 3.10.23 i noviji.
2. http://www.volumio.org (specijalno optimizovan za HiFi, generički podržava RaspyPlay3 pločicu)
3. http://www.runeaudio.org (specijalno optimizovan za HiFi, za sada ne podržava RaspyPlay3 pločicu, ali smo u pregovorima da je integrišu uskoro)

Za sada ovo je status, nemogu da postignem da postavim web stranicu posvećenu ovom projektu, ali biće u toku januara.
[ niceness @ 27.12.2013. 19:07 ] @
Evo stigao danas xmos, ko da me je poštar čuo. Samo ga je nagurao u sanduče, nije ni nosio do vrata :)

Kad smo se već vratili temi, da pitam nešto :D
Tražim neki i2s kodek, za povezivanje na rpi, ali da ima i ADC (tj. ulaz) pored DAC.
Treba mi nešto lako dobavljivo (neka ploča ili sam IC, možda bolje ploča) prvenstveno za prenos govora (znači ne treba baš HiFi :)) samo bitno da ne pucketa, krči, šumi.
E sad, vidim ima pločica u mikroe sa WM8731 koja bi možda mogla poslužiti, ali imate li još kakav predlog?
[ npejcic @ 27.12.2013. 20:28 ] @
Citat:
niceness:Tražim neki i2s kodek, za povezivanje na rpi, ali da ima i ADC (tj. ulaz) pored DAC.
Treba mi nešto lako dobavljivo (neka ploča ili sam IC, možda bolje ploča) prvenstveno za prenos govora (znači ne treba baš HiFi :)) samo bitno da ne pucketa, krči, šumi.
E sad, vidim ima pločica u mikroe sa WM8731 koja bi možda mogla poslužiti, ali imate li još kakav predlog?


Taj WM8731 je lepo rešenje. Spada u popularne, pa ćeš lako naći primere na netu. Ja sam ga probao u modu za reprodukciju i radi on svoj posao ok. Može da radi i u MASTER i u slave modu. Ovo drugo ti omogućava lakšu implementaciju.
MikroE pločica je sasvim korektna sa cenom.
Ovde imaš sve što ti treba za WM8731 i Rpy http://blog.koalo.de/2013/05/i2s-support-for-raspberry-pi.html
[ mikikg @ 27.12.2013. 23:20 ] @
I mene jako puno interesuje ADC.

Da se ja pitam, ja bih nekako pokrenuo AKM4620B, chipche koje svira a i sempluje samo tako!
Evo slicica iz jedne pro-audio sprave:



Nego sa ADC tu ima jedan nezgodan problem, sta raditi dalje sa tim semplovanim podacima??
Kako to "dogurati" do PC :(

RPi bi mozda mogao "malo" tu da pomogne, ali je osnovno pitanje da li moze on da izgura recimo full-duplex u 192kHz preko USB? Da li moze makar half-duplex a da ne krcka/pucka itd?
Preko LAN bi mozda moglo ali ko da natera to cudo da se tako "prijavi" u sistem kao neka "normalna" zvucna kartica (a mene silom prilika ASIO interesuje), tj kako se izboriti sa drajverom.
Komplikacija na kvadrat sa ADC … :(

Ili nekako "pretvoriti" u audio strim / SPDIF … Ne znam, znam samo ta sprava koju spominjem ima neke dve "zesce" kockice (neki DSP mrga) zbog toga ...

[ npejcic @ 28.12.2013. 08:26 ] @
@mikikg 192kHz preko USB

Uff, mislim da ovo nema šanse ni sa dsPIC, PIC32, RPy. Kod RPy je jako loša situacije jer se USB "šeruje" sa ostalim periferijama, tako da su za sada iskustva da preko 96kHz reprodukcija preko USB DAC-ova pravi probleme, uz svu optimizaciju koju su radili. Pretpostavljam da je slično i u obrnutom smeru kada radi kao ADC. Microchip je radio sa PIC32 do 48kHz.

Nekako "mi se javlja" da je idealan upravo ovaj XMOS StartKit za ovu namenu :) Ali treba tu ispisati dosta koda....
[ niceness @ 28.12.2013. 21:52 ] @
Za sada najverovatnije idem na varijantu sa WM8731.
U mom slučaju samo je bitno da audio semplovi stignu do rpi, a dalje će ići voip (SIP/RTP) sa nekim kodekom.

Inače sam ranije bio probao sa usb adapterom, ali kao što je već pomenuto to nije baš najsrećnije rešenje.
[ mikikg @ 28.12.2013. 22:38 ] @
Za VOIP je dosta bolja situacija, drasticno manje tu protoka informacija ima, cak je tu dovoljno i upola klasicnog sampling rate, 22ksps.
Tu ce se RPi snaci super, nije iskljuceno da nesto ima vec gotovo na tu temu, treba potraziti malo.
Cak mozda moze da zavrsi posao i jedan klot dsPIC sa internim 12bit A/D, mada treba kompresija, SIP protokol, TCP/IP layer, tu je negde na granici da sve odradi ali mislim da je moguce.
Mada je RPi mnogo ugodniji za rad po tom pitanju, ima brdo vec gotovi SW koji mogu da se direktno iskoriste.