Univerzální programátor
Moderátor: Moderátoři
- Panda38
- Příspěvky: 725
- Registrován: 21 lis 2012, 00:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
Univerzální programátor
Zatím jsem vymyslel tuhle koncepci - jádrem ATmega169, 40 IO portů je vyvedeno na jednotlivé piny programovací patice. Na některé piny je občas potřeba přivádět +12V, proto jsou vstupy ATmegy chráněné odpory 120R a zenerkami 5,6V. Napětí +12V je na piny připojované PNP tranzistory, které jsou řízené ze sériového registru TPIC6C595. Víc by se mi líbilo spínání +12V nějakým IO, možná analogový multiplexer, nebo bitově řízený oddělovač sběrnice, ale nic vhodného jsem nenašel.
A protože jsou porty megy chráněné odpory, nedávají dostatečný proud a nemohou tak sloužit i jako napájecí, proto ještě další sada posuvných registrů musí spínat 0V a jiná sada s tranzistory zas +5V.
Výsledkem je monstrum s 15 registry TPIC a 160 tranzistory, což sice není problém finanční, ale rozměrový - plošňák vychází dost složitě a je dost rozměrný (zatím mi vychází na 3 jednostranné desky 10x8cm).
Neměl by někdo nějaký nápad jak to udělat líp? Jak nějak efektivně připojit k pinu +12V a přitom odpojit port procesoru, který takové napětí nesnese?
- Panda38
- Příspěvky: 725
- Registrován: 21 lis 2012, 00:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
Původně jsem myslel, že půjde použít programovatelné hradlové pole, které procesor přeprogramuje tak, aby mu správně přehazovalo piny a procesor tak mohl rychle přistupoval ke kompletním datům a adresám a nemusel to sestavovat po bitech, ale to se ukázalo nerealizovatelné.
- Panda38
- Příspěvky: 725
- Registrován: 21 lis 2012, 00:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
Druhá ATmega by nahradila jen ty posuvné registry, tranzistory a ochranné odpory by musely zůstat ... i když ... teď ty posuvné registry zabírají dost místa, možná by druhý MCU mohl být také zajímavou náhradou.
Vsetky piny su na jedno napatie VCC (nastavuje sa samostatne, da sa pouzit nielen 5V, ale aj 3,3V) a niektore sa daju prepinacmi prepnut na druhe napatie (VPP - tam sa da dat podla potreby napr. aj 13,8V), pripadne zem. Takze to nie je univerzalne. Nevyhodou je SW, ktory je stary a nikomu sa nechce urobit lepsi (chcel som urobit podporu do linuxoveho programu flashrom, ale potom ma presla chut).
- Panda38
- Příspěvky: 725
- Registrován: 21 lis 2012, 00:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
Tranzistor T1 přivádí na pin napájecí napětí +5V, tranzistor T2 napětí +12V. Dioda v kolektoru T1 ho chrání proti průrazu emitorového přechodu v případě zapnutí +12V. Kvůli úbytku je proto napětí zvýšené na +6V. Tranzistory jsou spínané posuvným registrem s DMOS tranzistory na výstupu (otevřený kolektor), jeden z výstupů spíná pin na 0 jako napájecí. Přes ochranný odpor a zenerku 5,1V je připojen port procesoru, buď jako vstup nebo výstup (používá se když není zapnutý žádný napájecí tranzistor).
Nenapadá někoho možný zádrhel? (tedy kromě toho, že to stále vychází až moc rozsáhlé).
- Přílohy
-
prepinac.png- (6 KiB) Staženo 124 x
- Panda38
- Příspěvky: 725
- Registrován: 21 lis 2012, 00:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
... no a možná by se mi ještě hodilo i možnost přepínání (z MCU) mezi +5.5V a +3,8V, ale to už je další problém a možná to nebudu používat, tak to až do budoucna.
Mimochodem jak jsem se zde řešil přepínání napětí na pinech, tak už jsem měl z poloviny ten programátor sletovaný, ale pak mě naštvalo že to jsou 3 desky a hromady součástek, zahodil jsem to a začal znovu, jednodušší variantu, kde se +12V přepíná na piny jumperama. Vyjde to na 1 desku a zapojení je docela jednoduché, jen mám teď na programovaném obvodu docela malé napětí.
- Panda38
- Příspěvky: 725
- Registrován: 21 lis 2012, 00:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
- Přílohy
-
PandaProg_5V_sch.png- (4.7 KiB) Staženo 109 x
- Panda38
- Příspěvky: 725
- Registrován: 21 lis 2012, 00:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
Tady je k němu recenze: http://nostalcomp.cz/g540.phpPvvS píše:Z ciny programator G540 i s adapterama a testovanim svabu za litr ..
A jak je vidět podle vnitřností, přepínají různá napětí pomocí tranzistorů pro každý pin zvlášť. Jiné (profesionální) programátory na to mají speciální integráče, pin drivery.
- Panda38
- Příspěvky: 725
- Registrován: 21 lis 2012, 00:00
- Bydliště: Most, Praha, Lanžhot
- Kontaktovat uživatele:
S projektem jsem už z časových důvodů skončil (nestíhám vše co bych chtěl) - bohužel v nedokončené fázi. Pokročil jsem na tom celkem dost, ale k využití v praxi to zatím ještě nestačí. Potěšilo by mě, kdyby někdo ten projekt ještě nějak využil nebo dokonce pokračoval. V programátoru je možné nyní programovat procesory Atmel (sériově i paralelně 12V), na víc už se nedostalo. K dispozici je poměrně dobrý a rychlý interpreter skriptů.
http://panda38.sweb.cz/hw/PandaProg.html
Při té příležitosti bych rád doporučil ještě jeden projekt - osvětlení vánočního stromku s 320 LED. Dělal jsem ho minulý rok na Vánoce a možná by to mohl někdo využít. Nahraná videa nejsou moc kvalitní (můj foťák to nezvládal), skutečnost vypadala mnohem líp.
http://panda38.sweb.cz/hw/Xmas.html
ukázkové video na YouTube: https://www.youtube.com/watch?v=Vc0DMElMmiI
- Přílohy
-
PandaProg.jpg- (44.21 KiB) Staženo 87 x
-
Xmas.jpg- (40 KiB) Staženo 93 x