PC-USB-HUB-JTAG-CÉL táplálás

 ( tovis | 2016. június 2., csütörtök - 13:19 )

Kezdek összezavarodni :(
PC USB - külső HUB - a HUB csipet érdemesnek tűnik a PC tápról hajtani.
HUB - JTAG - a JTAG táplálása már kicsit fogósabb kérdésnek tűnik. A CÉL (az eszköz amit programozok/debuggolok) rendelkezhet saját táppal de akár a PC is táplálhatja, vagy a HUB külső tápegysége. Ráadásul a CÉL lehet 3,3 V -os (most épp 5V -os).
A kérdés mit, miről kellene táplálni és mit kell(ne) levédeni (hogy ne táplálhasson vissza)?
Ha találkoztatok valami jó leírással annak is örülnék.

Most úgy gondolom, hogy a HUB csipet érdemes a PC -ről táplálni, de a kívülről rácsatlakozó JTAG vagy egyéb eszköz (pl. USB soros, vagy USB UART adapter) már egy külső tápról kellene járatni (5V). Viszont a most használt Atmel JTAG-ICE kínai klón ugyancsak táplálja a CÉL -t? Nézegettem a kombinált (ATMEL AVR és ARM) JTAG bekötését, ott úgy írják, hogy a táp pin csak azért kell hogy össze egyeztesse a CÉL és a JTAG szintjeit (3,3 - 5V esetleg 1,8V) - tehát teljesítményt nem visz át, nem táplálja meg a CÉL áramkört.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

A zavar elhárítása: nem kell egyszerre űrrakétát és mosógépet tervezni. :)

A fő szabály csak annyi, hogy az 5V USB visszafelé táplálása tilos!

A mit honnan táplálunk kérdése:
- Mekkora a fogyasztás?
Std. usb 2.0 0,5A. Nekem pl. ájfón töltéshez megerősített 1,5A-es portom van.
Mindez semmit sem ér, ha vékony és/vagy hosszú a kábeled. (Az AWG 28 nem jó.)
Nemrég készítettem olyan cuccost, ami >1A fogyasztású. Ehhez a kétségbeesés elkerülése végett külső táp kell.
- Mit írnak a HUB-ról?
- Mennyire szabványos az amit rákötsz?
A kezdeti terhelés legfeljebb 44 Ohm || 10 uF lehet.
- Milyen a sebesség és a zavarok?
Az ajánlás: Vusb + és - ferritgyöngyön keresztül csatlakozik a földre és a tápra.
Az árnyékolást nem szabad a földre köni, hanem 4,7 nF-on keresztül a ferritgyöngy után a földre.
Még ha írják is, hogy nem kell a D+ és D- bemenetekkel semmit csinálni (pl. a PIC18 usb bemenet), érdemes RC tagot kötni a bemenetre. Pl. 12 Ohm sorba, utána 47pF a földre. Biztosan megy nélküle is, de így kevesebb topicot fogsz nyitni. ;)

A kettős táplálásnál lehet pl. cpu-val figyelni, vagy "diódával".
A fórumok helyett az usb.org-on is találsz leírásokat. És szőlőből is lehet bort csinálni! :)
Érdemes a Texas háza táján is körülnézni, mert ott elég precíz leírásokat találhatsz. (kezdetnek google=usb power inurl:ti.com)

Hirtelen ami kéznél van: DS30684A -> 24.6 USB Power

A lényeg: először fogalmazd meg a célt, csak utána oldd meg!

Látom jól beleástad magad!
A terhelés kapacitív voltára nem is gondoltam - pedig mindig van.
> A lényeg: először fogalmazd meg a célt, csak utána oldd meg!"
A cél annyi hogy itt hever egy kupac különféle arduino és más "minimal" board - mind valamilyen terv része - általában saját táplálással. Dugdosom össze vissza - még nem volt belőle gond - de aggasztó hogy mikor lesz. Jó lenne olyan feltételeket kialakítanom, hogy ne kelljen "sok topicot" nyitni.

> A kettős táplálásnál lehet pl. cpu-val figyelni, vagy "diódával"."
A cpu -val figyelni alatt mit értesz? Kísérleteztem GL850 alapú HUB -al, megpatkoltam FET -el és Linux shell -ből ki/be kapcsoltam a fogyasztót, de az átlagos (fapados) HUB -ok ezt nem tudják. Itt-ott lehet látni (öngyógyító?) biztosítékokat, de valódi teljesítmény vezérléssel még nem találkoztam.

* Én egy indián vagyok. Minden indián hazudik.

Kénytelen voltam, mivel motor(kerékpár)diagnosztikai műszereket fejlesztek. Ezeknek legfontosabb műszaki paraméterei: Windows 5618-on működik usb csatolással. :( A főnököm húzta a száját a külső táp miatt, míg a kolléga össze nem futott egy kínai kábellel. Persze nem volt meglepi, mert adtam a jelzést, hogy elfogyott a villany.

Erről már beszéltünk. Én először elolvasom az adatlapot, szabványt, stb. Tényleg az usb.org és egyes gyártók ajánlásait követem. Ebből még nem volt gondom. Max. egy kicsit igazítok, ha komolyabb a környezeti zavar, vagy nem "átlagos pendrive szerű" a szerkezet. Utána egyszerű a dolgom, mert én terveztem, és pontosat tudom hova mi kell.

A sok idegen kütyü nem egyszerű, mert talán nem mindegyiknek van pontos specifikációja. Általában akkor kell külső táplálás, ha nagyobb a fogyasztás, vagy olyan analóg áramkört használsz, amit igényli a pontosabb 5V-ot és nem szeretnéd a pontatlan esetleg zavaros usb táplálásra bízni.
Lényegében a következőket használom:
- PICKIT3 adja a feszültséget, ha nagyon kicsi a fogyasztás
- usb adja
- megbízható 5V-os táp
- megbízható 12V-os táp, ha a szerkezet saját magának állítja elő a tápot, vagy nincs USB
- 5V->3,3V esetén 0,2A-ig LDO, felette saját kapcsolóstáp. Ez csak magánvélemény.

CPU esetén nem feltétlenül a shell-re gondoltam. ;) Hanem a másik CPU-ra, amelyik maga kapcsolja a feszültségforrást igény szerint. Pl. a kapacitív terhelés kezelésekor először az usb driver megbeszéli a fogyasztást és csak utána szabad rákapcsolni az akkutöltőt. :)

A "valódi teljesítmény vezérlés" megismeréséhez érdemes az egyes gyártók céláramköreit tanulmányozni. Van bennük FET és áram(irány)érzékelő is. Így tudja megállapítani a host, hogy hazudtál és több áramot fogyasztasz. ;) Vagy zárlat esetén teljesen lekapcsolja a portot - az adatvezetékekkel együtt. Egy légyszarnyi (SOT23) FET is tud 3..6A áramot kapcsolni 50..80A csúcsáram és néhányszor 10mOhm mellett. Megfelelő elektronikával bármilyen zárlatos eszközt le lehet kapcsolni károsodás nélkül. Ezekben az áramkörökban általában a felső ági áramérzékelés a kihívás. De mondhatod azt is, hogy 4,4V alatti feszültség esetén vagy túláram van, vagy pedig gyenge a táp és off.

"Dugdosom össze vissza - még nem volt belőle gond..."
Talán erről is beszéltünk már. Az amatőrnek semmi nem számít. Ezt általában nem tudom megtenni, mert a deszkamodell és prototípus kihagyásával azonnal az éles áramkörhöz való nyomtatott áramkört gyártatom le kipróbálás nélkül. Ehhez elég gondosan kell tervezni még az egyszerű áramköröket is! Után legfeljebb egy-két alkatrésszel tudok módosítani vagy "finomhangolni". Nem az a cél, hogy véletlenül működjön, hanem a véletlenszerűen kiválasztott, esetleg - bizonyos határokon belül - más gyártótól származó alkatrészekkel is ugyanúgy teljesítsen a szerkezet. Ennél azért talán egyszerűbb a helyzeted, csak mérni meg olvasgatni kell!

Anno az RS-232 és hasonlók is okoztak elegendő gondot, most ez a táplálási história végképp bezavar.
Viszont sok éve használok olyat, hogy külső USB -n csatolt 2,5" diszk, még sosem kellett a másodlagos táp kábelt használnom - megbízhatóan működött.
Tény, hogy valójában ezek a kis áramkörök roppant kevés teljesítménnyel is beérik, hiába ketyegnek 16MHz órajellel.
A kapcsoló tápok zaját folyton látom a szkópon ez is kicsit aggasztó - pl. mi van az ADC -el? Valaki már jelezte, hogy a mérés idejére az AVR -ket érdemes elküldeni aludni és akkor még nem beszéltünk a kiegészítő analóg cuccokról.
Rengeteg hibalehetőség van.

* Én egy indián vagyok. Minden indián hazudik.

Aha. Hát itt vannak a problematikákok!
A külső diszk minden bizonnyal rövid vastag kábellel csatlakozik, fogyasztása <<5W - hol a probléma?
"A kapcsoló tápok zaját folyton látom a szkópon" -Nem, nem azt látod. Általában a sugárzott zavart és a földelésen folyó áram okozta feszültségváltozást. Próbáld meg szonda nélkül közvetlenül a táp kimeneti kondenzátorát megmérni! No, az a táp "zaja", ami brumm vagy inkább denevércincogás. :) Ehhez koax, vagy speciális koax mérőszonda kell.
Az ADC? Egy 2000N-os erőmérő cellát (load cell) "hitelesítettem" 1/2kg Uncle Ben's rizzsel. Osztva-szorozva ez olyan 25uV - a pontosság 13 bit a zaj miatt. Mellette ott csörömpöl a 160kHz-es táp, ami bizonyos okok miatt még egy kicsit hebeg is.
Persze az ADC jelenléte nem jelenti azt, hogy tudod is használni.
Pl.: Legyen az usb 5V a referencia +50mVpp zaj. Megmérsz egy 1,5V-os elemet (az egyszerűség kedvéért a felbontás 1000). A mérés eredménye 300+/-3 lesz. Ha egy ezzel arányos osztót kötsz a bemenetre, annak elméletileg nem lesz hibája. Ha 2,5V-os referenciát használsz (megint egyszerűsítve), akkor az eredmény 600+/-0,6, de a mértékegységünk a bit, így legfeljebb 1 bitnyi ingadozást mérsz. Ez pedig 1/6%. Szóval az utóbbi megoldás 6x pontosabb és még a zaj miatti hiba is hatodrésze az első megoldáshoz képest.

Konklúzió: Voltage=ReadADC(); után is van élet! ;)

Vagy esetleg már számoltál és beállítottál határfrekvenciát, mintavételi sebességet és időt, vagy hőmérséklet függvényében bemeneti ellenállást? Ezek mind az ADC paraméterei!

"A táp zaja" - nehezen megfogható történet, de az jól látszik, ha egy analóg (trafó + Greatz + puffer kondi + stabilizátor) akkor a szkópon látható zajok szinte eltűnnek. De ez sem igaz, hiszen itt az emlegetett brumm 100Hz (már ha nem gerjed a stabilizátor) - ha egy több 10 KHz négyszöget nézegetsz. A vezetett és a sugárzott zavart mérni teljesen külön eljárást igényel.
Az ADC konverzió hibái szintén nehéz téma lehet a határértékek közelében.
Egy biztos, hogy a katalógus adatoknál jobbat elérni nagyon nehéz.

* Én egy indián vagyok. Minden indián hazudik.

Asszem ezeket már egyszer leírtam.
Az említett bonyolultságú analóg táppal pl. egy CD olvasó teljesen megbolondul, míg a szerinted zajosabb kapcsolóstáppal meg nem. Egyértelműen az analóg táp többlet zavarai miatt.
A fenti hibaszámítasokat úgy végeztem, hogy az orrom előtt volt a Texas slva482a - Figure 4. - ahol láthatod a TL431 zaját. Ehhez képest a kapcsolóüzemnél legalább a spektrumot tudod. ;)

ADC határérték közelében? Több módszer létezik a határértékek túlszárnyalására, pl. oversampling vagy igen érdekekes megközelítés a nóniusz. Az előbbit előszeretettel használják profi CD lejátszókban, mert a lineáris kvantálás miatt kis jelszinteknél nagyon leromlik a jel-zaj viszony. Így készül a matematikailag 90dB helyett 102dB vagy jobb jel-zaj viszonnyal rendelkező ADC.

Visszatérve a tápokra, a kedvemért nézd meg ezt a 7x5x1,5mm méretű táp ic-t. Mindössze 40A jön ki belőle 10MHz effektív kapcsoló frekvenciával. Van szkóp és hőkamerás felvétel is. Elég tanulságos.

Köszönöm! - átnézem. A 40A nagyon izgalmas!
A "nóniusz" -t egyenlőre nem találom. Ismereteim szerint az ilyen eljárásokat akkor lehet használni ha tudod milyen sávszélességben, milyen célra használod - tipikusan a hangtechnika minden területén elterjedt.

* Én egy indián vagyok. Minden indián hazudik.

Szívesen. Örülök, ha jól szórakoztál.
Ettől kezdve talán érted, hogy miért berzenkedtem locsemege 7805 mániája ellen.
Hallod locsemege?! :)
Az ugyan igaz, hogy egy ilyen cuccost nem tűzöl bele breadboardba. De van alternatíva: az ne is zavarjon, hogy ez nem LM2596, hanem MP1584! Az előbbi úgy 10 évvel öregebb fejlesztés, meg tranzisztoros és csak 150kHz-es. A kínaiak meg néha marhaságokat írnak.
Figyeld meg: nincsenek elkók és hűtőborda!
Ha van kedved, nézd meg ezt a TPS560200 600kHz/0,5A-es modellt. Ez is elég egy breadboard meghajtásához.

A nóniuszt talán nem az oroszok találták fel, de azért jelent meg ilyen irodalom, mert akkoriban nem volt lehetőségük egy nagyobb felbontású Burr-Brown ADC-t megvenni. A lényege pont az, mint a subler esetén: A natív felbontásnál néhányszor jobbat lehet elérni, ha melléraksz egy kicsit eltérő skálát.

Megvalósítást láttál?
Kicsit fázom az ilyenektől - analóg, általában OPAM mindenféle járulékos problémával (offset, bias, zaj stb.). Ugyanakkor szinte megkerülhetetlen valami aktív az ADC bemenetén így is úgy is.
Igen tulajdonképpen az én tapasztalataim is 10 évesek vagy több. A MHz tartományban működő SMP, monolitikus kivitelben, a legújabb fejlesztésű FET -el mint kapcsolóelem ...
OFF: Anno a tapasztalatok panoráma vevőkkel KF és széles sávról szólnak. Ott az akkori idők technológiáival nagyon keserves volt az alig 100 KHz SMP tele ne szórja a spektrumot. A hangtechnikában is nagyon fordult velem a világ, amikor eBay -en vettem 2x3, 2x15 és végül 2x50 W kimeneti teljesítményű, D osztályú sztereó erősítőket, és járattam kapcsoló tápról, meg analóg tápról (78S12). A zene forrás egyszerű alaplapi hang és inkább annak a zaját hallom, mintsem a táp és/vagy az erősítőben keletkező zavarokat - a 2x50W kb. tenyérnyi, minimális hűtőbordával. Számomra zavarba ejtő. Persze ez nem a "vájtfülű" zenebolondoknak való, de azért megnézném a szubjektív eredményeket úgy, hogy nem tudják éppen melyik erősítőt hallják.

* Én egy indián vagyok. Minden indián hazudik.

Kicsit feljebb írtam egy megvalósítást. Az áramkör egy ilyenből kiszerelt csip - mivel külön nem tudtam beszerezni. Ez egy kétcsatornás load cell erősítő és sigma-delta ADC. Adatai:
- maximális jel 20mV
- zaj 90nV (No, itt egy kicsit számolunk: ebben a pillanatban csak 17,5 bit a felbontás, de azért jobb, mint a CD! A fent leírt áramkörben a kapcsolóstáp több mint 4 bitet ront.)
- offset 0,2mV (differenciális, azaz lényegtelen)
- offset drift +/- 6nV/C
- erősítés hiba +/- 5ppm/C
- táp és közösmódusú elnyomás 100dB
- mitavétel 80s/s (11,0592MHz órajel mellett, ami max. 20MHz lehet)
- fogyasztás 1,5mA
és az ár <1$. Egyébként japán fejlesztés, de kínai gyártmány. :)

Ha a nóniuszos ADC-t kérdezted, az már elavult. A sigma-delta átalakítás kisebb zajt és jobb felbontást biztosít, mint a bármilyen elven működő osztós vagy dual-slope átalakítók. Elvégre csak egy komparátor meg egy kapcsoló van benne. (A DVD-Audio vs. SACD!)

Az ilyen paraméterek a mai gyártástechnológiától függnek. Már a TTL áramkörök belsejében is kb. tízszeres a sebesség, mert ott nincsenek nagy induktivitású és kapacitású összekötések. Ha belűl el lehet intézni a dolgokat, akkor kifelé nem jön semmi. Pl. a fenti áramkörnek is belső órajelgenerátora van (de rakhatsz rá külsőt vagy kvarcot). Ideális esetben az összes zavar csak a kiolvasáskor keletkezik.
A másik lényeges dolog, hogy a (diszkrét) FET-ek GHz kürüli frekvenciával képesek működni. Csak meghajtás kérdése, hogy milyen gyorsan kapcsol.
A harmadik, hogy a félvezetőipar fejlődésével szinte tetszőlegesen kicsi offset, drift, zaj is rendelkezésedre áll, vagy nagy pontosságú erősítő is. Ugyan ez áll az elérhető referenci feszültség forrásokra is.
A negyedik meg a felületszerelésből fakadó kis méretek, kisebb induktivitású és kapacitású összekötések. Breadboardon sem analóg áramkört, sem kacsolóüzemű áramkört nem lehet érdemben megvalósítani.

Azért számomra eddig a csúcsot a 200A/100kHz-es táp jelentette! Nem is táp, hanem 0-99,9% között vezérelhető áramforrás. Sajnos ez a projekt éppen halódik. :(

"Breadboardon sem analóg áramkört, sem kacsolóüzemű áramkört nem lehet érdemben megvalósítani."
Profit nyilván nem, de igénytelen, alacsonyfrekis játékokat lehet - a végső kivitelezés itt sem lehet breadboard.

* Én egy indián vagyok. Minden indián hazudik.

Az analóg áramkör gerjedni fog a hatalmas parazita értékek miatt, a kapcsolóüzeműt meg nem lehet terhelni (értsd: tud mondjuk 20-30mA-t).

Bocs! Modulokat lehet dugdosni, kopasz IC -t nem.
Bár sok ilyet láthatsz a weben.

* Én egy indián vagyok. Minden indián hazudik.

Persze, hiszen alumíniumból is lehet aranytallért készíteni. De az csak játék. ;)

A FET-es kapcsoló ugyanúgy kapcsol ritkán, mint sűrűn.
Le tudod lassítani, de akkor pont a túllövések és lengések változnak meg. A hosszú vezetékek miatt más lesz a szórt induktivitás. Esetleg pont emiatt újabb alkatrészeket kell beépíteni. Eközben a szükséges induktivitás megnő, amit megodottál 1uF kerámia kondenzátorral, oda 1uF +3x220uF elkó kell. Szkópon az egyiknek parabolikus, a másiknak fűrész alakja van. OK. Van olyan kapcsolás, amit meg lehet így is építeni, csak minek. Akár több szakértelem is kellhet hozzá, mint egy "rendeshez". (Aztán vigyoroghatsz, hogy igazad volt: zajos a táp.)

Ne is építsűnk tápot! A gyártó a mikrokontroller lábaihoz csatlakoztatott alkatrészekre több esetben előirja, hogy "a lehető legközelebb kell elhelyezni" - ez breadboardon nem kivitelezhető.

Mottó: Hé! Józsi! Nem fogok gyorsan menni, nem kell meghúzni a hengerfej csavarokat!

Tehát maradjunk annyiban, hogy a breadboard célja az amatőrök támogatása, így alkalmas
- alapáramkörök kipróbálására (pl. villogó led)
- kész modulok összekötésére, ha az összekötések nem speciálisak (pl. cpu modul, tápegység modul, relé meghajtó modul)

...a végső kivitelezés itt sem lehet breadboard.
Én is így kezdtem a felületszerelt áramkörökkel: naívan! ;)
Majd megszerelem a "lábasjószágokkal" és ha működik a végeredmény SMD lesz. Csak van egy kis bibi! Pl. amit előszeretettel használok: IRFML8244, (közép)mérete 2,35 x 2,9 x 1mm (lábakkal együtt), 5,8A (81A) áramot kapcsolni képes FET-nek sincs megfelője. A gyártók nem hülyék, és "lábasjószágban" ilyen paraméterű eszközt nem lehet előállítani. (Ha mégis találnál, akkor elmondom, hogy melyik az a további öt paraméter, ami miatt teljesen más alkatrészről van szó. De legfontosabb az ár!) Így lehetetlen kipróbálni más alkatrésszel a kapcsolást!

5,8A ? Feladom!
Piramist nem lehet futóhomokra építeni.

* Én egy indián vagyok. Minden indián hazudik.

Ha engem kérdezel: külső USB hubot saját táppal vesz az ember, ami képes a rádugott összes eszköz megtáplálására. Azaz portonként min. 0.5A. Ennek hiányában az a szomorú helyzet állhat elő, hogy a direktben még működő készülék a hubon keresztül már nem fog stabilan menni (ez gyakorlati tapasztalat).

JTAG-ról by default nem táplálunk céláramkört, több okból sem. Ha ismeretlen (kapcsolású) a készülék, akkor nem tudhatod, hogy jól érzi-e magát, ha azt az egy szál tápvonalát kívülről megtáplálod. Eléggé elterjedt már manapság, hogy nem csak egy szál táp van a készülékekben belül, az pl. tipikus, hogy az USB miatt van benne 5V is, viszont szinte semmi nem megy már manapság 5V-ról, ergó lesz ott ennél alacsonyabb táp is (jellemző ugye a 3.3V az I/O vonalakra, így a JTAG-re is). Innentől eleve nem is nagyon reális, hogy mondjuk a 3.3V-ról visszatáplálva megnőjön benne az 5V is, ugye. Az meg eléggé undefined, hogy mi történik, ha a készülék egyik tápvonalát megtáplálod, a másikat meg nem.
Másrészt a JTAG illesztőtől sem várható el, hogy ampereket tudjon kitolni magából.
Tehát az az üzemszerű működés, hogy a készüléket a normál tápjával üzemelteted, és a JTAG tényleg a nevéhez híven csak "illeszt".

Az HUB saját táppal rendelkezik, így is használom.

* Én egy indián vagyok. Minden indián hazudik.

Milyen JTAG adaptert használsz?

A JTAG csatlakozóra azért van a feszültség kivezetve, hogy a külső eszköz tudja milyen feszültséget kell használnia. Ha a te JTAG adaptered ezen tápot is ad (és nem csak mint valami bekapcsolható opció) akkor ott valami baj van.

Most épp ilyet használok:
http://www.ebay.com/itm/1pcs-New-USB-Download-Programmer-Debugger-for-AVR-JTAG-ICE-Atmega-AVR-STUDIO-/191442783293?hash=item2c92e10c3d:g:cB4AAOSwofxUhqzB
Nem látok rajta kikapcsolási lehetőséget :(
(Az eredeti ATMEL/Farnell sem találok ilyet, hacsak nem szoftverből kikapcsolható)

* Én egy indián vagyok. Minden indián hazudik.

OFF: Bocsánat, szabin voltam.

* Én egy indián vagyok. Minden indián hazudik.