DIY Electronic projects

Full Version: Class D Amplifier - High Quality Power Audio Amplifier
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
Jedino sto mi nije jasno jeste "low to high CP transition", moguce je da nam high ili low kasni za jedan klok ciklus, ali nije nam to toliko ni bitno bitno, bitno nam je da nam flipflop Q prati dsd input bitove! Tako da na tvom grafikonu moguce je da se bitovi na HI_R i na LO_R pomeraju za jedan klok ciklus udesno (obrnut bit??)!!? U tom slucaju mozda RC ispred flipflop nece imati funkciju i pravice problem ako nam bit kasni za jedan klok ciklus? Probacu ja to prvo bez RC a posle cu ih dodati. Juce sam narucio plocicu tako da je sad kasno i ako nesto nije kako treba. Mislim da je sve ok i da nema kasnjenja, HI_R i LO_R bi trebalo da budu identicni sa ulazom sa DSD jer DSD left i right data su vec na flipflop, klok ih samo sinhrono okida napolje. Po grafu koji si okacio, imamo high na DSD_RD_IN, isto high i na flip flop, a klok je vec presao iz low to high, onda bi trebalo i na Q sa izlaza iz flipflop da bude high, isto tako high i na HI_R, i to je onda vec sve sinhronizovano kako treba. Mislim da je sve ok! Jedino mozda RC ispred flipflop ce da napravi problem jer ce ga flipflop videti low umesto high na low to high CP tranziciji! Onda nebi imali DT ako bi sklonili RC sa flipflopa i to je mozda problem koji bi trebalo resiti. Mozda dodati RC pre ulaza u H most tj posle fliplop? I jedan dodatni snober koji prati klok koji ce da premosti high na gnd tako da nam prelazak iz high u low bude sinhronizovan sa klokom a ujedno bi imali DT
Jeste, sinhronizaciju D flipflop Q_out-a nisam ucrtao pravilno!

???Koliki nam je Clock na DSD64??? ...dok nam je 1BIT @354nsec!

Promena se vrši u slijedečem cloku na rastuču ivicu (to je taj CP transition Lo-->Hi, tada je sinhronizacija premena na Q_out),
pa ču to još ucrtati!

Sa tim CP na rastuču slijedeču ivicu clocka se nam sve pomera "u desno" do te prve rastuče ivice,
znači max dodatan Delay nam je ispod jedne poluperiode clocka,
ali se dešava na svim Q_out sinhrono, što je takodjer OK!

Nacrtam/docrtam pa postujem kasnije,
probat ču i u TINI da nadjem i odradim taj naš DSD I2S Input.
Trebam tačan Clock timing na I2S inputu!!!
Dali ima DSD64 I2S timing (DSD_SCLK, DSD_LD_IN i DSD_RD_IN) jednu periodu clocka = 1BIT?  ...ili koliko tačno perioda clocka!

[Image: timing_framestart.svg]

[Image: AGqdf.png]
Ok, bilo bi dobro ali bojim se da nece valjati RC ispred flipflop, nama je klok okidac, znaci ako je tranzicija iz low to high na CP a mi imamo mali delaj iz lo u high na bitu klok ce da okine pogresan bit, umesto high klok ce da okine low!!? Zato bi mozda trebalo taj RC filter staviti posle flipflop da imamo taj neki DT a dodati nesto kao snober (mozda negative edge trigered flipflop) da nam prekine taj pomereni bit za DT vreme u pravom momentu tj synhronizovano sa klokom i prespoji taj pomereni high bit na gnd?
(08-12-2022, 02:44 PM)ragan100 Wrote: [ -> ]Dali ima DSD64 I2S timing (DSD_SCLK, DSD_LD_IN i DSD_RD_IN) jednu periodu clocka = 1BIT?  ...ili koliko tačno perioda clocka!

Na ovom nasem cistom DSD postoji samo jedan bit koji je sinhronizovan sa klokom, znaci jedan bit jedan klok, tj imamo dva bita, jedan bit na levom kanalu, jedan bit na desnom kanalu i jedan klok
Te gore slike su ja mislim za standardni I2S ali mi nemamo I2S nego DSD I2S. Pogledaj koja je razlika! Imamo levi bit, desni bit, i klok. Za razliku od I2S na PCM. Znaci master klok nam ne treba za razliku od pcm gde master klok treba. Nama je master klok ustvari klok DSD-a, taj treci pin diktira klok (source klok)
RC+D nije problem, može i bez njega, montiraš samo R=0R ili pustiš tih 10R a D i C ne stavljaš.
(mozda negative edge trigered flipflop)?
Pa isto i taj sinhronizuje na slijedečoj CP ali sad na Hi-->Lo padajučoj ivici
Da tako sam i mislio da uradim, stavim nula ohm i ne stavljam C i diodu. Ali treba videti prvo kako ce raditi bez DT, pa mozda kasnije probati spojiti neki negative edge trigered flip flop i ugurati nekako RC. Pozurio sam, trebao sam sacekati koji dan Sad
(08-12-2022, 02:55 PM)savan Wrote: [ -> ]Te gore slike su ja mislim za standardni I2S ali mi nemamo I2S nego DSD I2S. Pogledaj koja je razlika! Imamo levi bit, desni bit, i klok. Za razliku od I2S na PCM. Znaci master klok nam ne treba za razliku od pcm gde master klok treba. Nama je master klok ustvari klok DSD-a, taj treci pin diktira klok (source klok)

Pa okači pravi tajming da ga ne tražim!
Master clock je tu zbog tog odabranog flipflopa za MUTE funkciju, a mogla bi iči tu obična kapija bez sinhronizacije!
To je taj problem koga ja vidim...a možda ga i nema, pa zato pitam??? ...
Pa pisao sam ti i u emailu
Mozda bi i moglo bez flipflop ali nebi valjalo imati asynhrone kapije, bitovi na izlazu moraju biti sinhroni sa klokom, u tome i jeste lepota dsd-a, jer fakticni nuliramo kasnjenje kapija. Ne mogu da nadjem tajming diagrame za DSD nema toga na netu, stoji da je jedan bit jedan sampl
Nasao sam nesto, ima i tajming diagram https://pdf.dzsc.com/DSD/DSD1700.pdf , vidi se da je jedan sampl jedan klok ciklus (jedan low to high i jedan high to low)
Kako bi se ovo moglo simulirati? Ima li Tina pozitive edge i negative edge flipflop makro? U cilju da simuliramo DT
Sve je ok, ne treba nam negative trigered flip flop posle RC. Jednostavno ako hocemo da imamo DT stavimo RC i diodu posle flipflop i to je to. Bez obzira sto smo delajisali high posle flipflop  sledeci low to high CP ce da resetuje high bas kao sto si ti rekao odmah na pocetku (brza tranzicija iz high to low), jedina greska je sto smo RC stavili pre flipflop Smile Krivo mi je samo sto sam pozurio pa juce narucio plocicu pa sad moram da budzim a nece biti lako, bela linija treba da se premosti a gore u plavom krugu treba da se uglavi RC, da prekinem HI_L pa da dovedem otpornik Sad ,ali moci ce sa 0402 otpornikom da se uglavi na presecen HI_L a kondenzator odatle na gnd, diodu necu ni stavljati, mozda ako bude mesta
(08-12-2022, 03:37 PM)savan Wrote: [ -> ]Kako bi se ovo moglo simulirati? Ima li Tina pozitive edge i negative edge flipflop makro? U cilju da simuliramo DT

Teško uopšte nači neki flipflop.cir!
Potražit ču, odradim tu shemicu DSD I2S Input, a tajminge možemo poslije da štelamo kao i ulazni SCLK i jedan kanal DSD_Rin
U pravu si ti, tesko bez DT da bude kako treba sa ovim brzim kapijama, imali bi uzduznog provodjenja tacno na pola iz tranzicija hi-lo lo-hi. Znaci ako je flipflop deklarisan na 10ns max mi bi trebali minimum DT rupa da nam bude 10ns ?
Znas sta me jedino brine, dali ce next low uspeti brzo da isprazni kondenzator na RC ? Necemo imati produzeni high?
(08-12-2022, 04:47 PM)savan Wrote: [ -> ]Znas sta me jedino brine, dali ce next low uspeti brzo da isprazni kondenzator na RC ? Necemo imati produzeni high?

Nečemo imati produženi High, ako zanemarimo nekoliko psec! :-)
Taj RC ima kašnjenje ranga nekoliko nsec, nema puno energije u tom C, nešto više koliko jih imaju i sami vodovi u okolini...

Ti bi želeo da radiš preko tih D flipflopa sinhrono podajanje Bit streama do FullBridga, šta je OK.
Mene buni to, da vrši sinhronizaciju u narednom (Qn+1) Rise CLK ili {CP LO-->HI}
tako da, ako su CLK i DSD Din bit-perfect, ta sinhronizacija bude tek u narednom Rise CLK iliti INVertovat če tako stanje.

Trebalo bi CLK za nijansu delay-ati za nijansu

[Image: attachment.php?aid=38156]

Delay CLK_OUT odradimo jednostavno sa malo sporijim kapijama U33, 
malo sporija od U34 i U37, gdje neka su HL-LL i HR-LR delay-a ranga <4nsec
a U33 neka ima delay ranga 7...10nsec
Prvo se postavi Bit na D ulaz, malo kasnije (tih oko 5nsec kasnije) pojavi se Rise CLK i bude ulaz prebačen na izlaz flipflopa

RC+D onda nikako ispred flipflopa, C i D ne stavljaš, R staviš 0R...10R

DT treba svakako ugurati ispred drivovanja FullBridga! 
a DT kojeg treba tek ustanoviti koliki je minimalan a da se nema uzdužnog provodjenja, pričali smo več o tome!
Nije mi jasna fig.6 , vidi se da na input D ima tek neki kraj od high to low tranzicije, a Q output je high skroz do CP low to high tranzicije i bez obzira sto je D vec otisao u low i dalje je high na Q, cini mi se da je tako onda ok u nasem slucaju. Kao da su predvideli ovaj problem pa ostavili taj propagation delaj izmedju Q i CP namerno.

Dioda na RC nam sluzi za brzu tranziciju iz high u low?
Nisam trebao flipflop da stavljam, trebao sam onu nasu multipurpose kapiju sa schmitom da nekako ukombinujem za ovaj purpose fliplopa, fakticki nama je bitan HIGH ulaza i HIGH kloka a to bi moglo lako da se iskombinuje sa tom kapijom pa cak i mute da imamo u isto vreme. Mada tesko da bi tako moglo jer bi klok LOW pravio problem kada imamo high na ulazu, stvarno nemam ideju kako bi se moglo iskombinovati. Treba nam nesto sto ima klok ulaz da nam shiftuje ta stanja sinhrono.

Jos nesto tu mene kopka, za cega nama treba klok signal ako bitovi dolaze srazmerno kloku? Mozda moze i bez kloka direktno sa U34 ili U37 da drajvujemo ovaj nas most? Jasno mi je da je klok potreban za one 8-bit shift registre sa onim otpornicima, tu treba klok da bi pomerao bitove u shift registrima da bi se dobio strujni average, ali ovde je vrlo moguce da nam klok uopste ne treba?
Prebrzo si odlučio naručivanje PCBj, OK, sad šta je ...je!
Ajde da vidimo šta možemo uradit oko tog DSD I2S Inputa.

Flipflop je memory cell, pa treba imati več podatak na našem Din pripremljen,
a u narednom CLK-u proslijedi se taj podatak dalje sinhrono na izlaz za sve upotrebljene flipflope sa svojim D ulazima.

Fig 6. koju pominješ

[Image: attachment.php?aid=38191]


CP_input kasni za t_su D_input
znači D_input imamo več pripremljen (u grafu je to prvi levi LOW), poslije t_su vremena, naš CP_input kasni malo, nastupa CP Lo-->Hi transicija,
naša rastuča ivica CLK-a, gdje se tek vrši transfer D_input na Q_out i to radi sa Propagation_Delay Hi-->Lo ili t_phl

sledeče nastupi Hi na D_input i u narednom CLK-u opet poslije t_su kašnjenja iza D_input promene proslijedi taj Hi na Q_out sa kašnjenjem t_plh.
U medjuvremenu Q_out održava prijašnje stanje. To je taj memory do sledeče promene sinhronizovano sledečim CLK-om!

Tamnije šrafirano u grafu D_input može varirati, a da Q_out ostane isti kao na grafu crtan.

Sad, kad bi tranzicija D_inputa iz Lo u Hi bila kasnija kao u grafu (pomerena još malo u desno, ucrtao sam je crveno) 
onda bi imali t_su manji od tog potrebnog t_su_min minimuma,
i ta D_input Lo-->Hi nebi bio prebačen u tom narednom CLK-u na izlaz, nego tek jedan cijeli CLK ciklus kasnije, 
jasno, ako bi bio Hi na D_inputu još uvijek tada prisutan,
a ako ne, onda kao da nije bilo tog impulza na D_inputu! (ucrtano crveno na Q i Qneg)


Pustit čemo bez RC+D kašnjenja na ulazu flipflopa, R neka je minimalan ili 0R kratkospojnik,
a za CLK kapiju stavi se "malo" sporiji (još uvijek je to ranga do 10nsec) SN74AHC126 pa ako zatreba stavimo mu na izlaz dodatnih 22pF
tako pridobijemo na tom t_su_min

https://www.lcsc.com/product-detail/Buff...84739.html

-----------------------------------------------------------------------
Sve vreme se i sam pitam zašto flipflopove stavljaš tu, kad smo odradili to več sa kombiniranim kapijama (još i schmitt triger imaju ulaze)
SN74LVC1G99, kojim stavljamo i MUTE.
Kasnije sam upitao i tu, ta zapažanja, sad več stranicu i pol popunili od tada....
:-)

CLK tu sad i netrebamo više!
DSD I2S 1BIT chain nam nadolazi sa CLK perfekt ,a zakašnjeni su svi za taj Delay kapija komplementarnog razdvajanja, ranga par nsec,
čak i minimalnih su miss-match/ uparenosti vrednosti delay-a t_phl i t_plh,
odradi se i potreban DT (podesiv za prototip, trimmpotom, pa se ga kasnije makne i stavlja fixan otpornik najbliže vrednosti)
i gura na FullBridge dalje!
Strujni avarage nam radi sad izlaz iz FullBridga, LC+LOAD, pravi D-->A avarage konvertor (SyncroBUCK - Dclass Power OUT)

[attachment=38191]
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46