forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
Univerzální programátor

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Programátory
 
Panda38
Profesionál
Profesionál


Založen: 18.9.2012
Příspěvky: 398
Bydliště: Praha, Most

PříspěvekZaslal: 20 listopad 2012, 5:12    Předmět: Univerzální programátor Citovat

Uvažuji o univerzálním programátoru, který by kromě běžných mikročipů uměl programovat např. i EPROMky, vysokonapěťové paralelní programování Atmelů, příp. testování funkcí IO. Základem by byl jediný sokl DIP40 s aretací. Na piny by byly přivedené přímo IO porty ATmega169, čímž by se zajistilo snadno konfigurovatelné TTL rozhraní, napájení obvodů také z IO portů.

Tohle by šlo, ale problém - občas je potřeba na některé piny přivést +12V. Zřejmě jediná možnost spínat to 40 tranzistory PNP (asi na to neexistuje IO, všechny co jsem našel spínají k zemi). Jenomže - co s porty ATmegy? Nesnesou +12V na vstupu, přes ochranné diody by tekl velký proud do +5V. Uvažoval jsem oddělit IO porty odpory např. 100ohm a buď to nechat na ochranných diodách ATmegy nebo sepnout port do LOW a tak odvést proud. Jenže tohle by nešlo použít tehdy, kdy mají piny sloužit i jako napájecí - nebylo by možné kvůli odporům obvod napájet dostatečným proudem. Jediná možnost co mě napadá je vytipovat jenom některé piny kde bude potřeba +12V a ty přepínat za podpory analogového multiplexeru (ale i tam jsem zatím nenašel vhodný IO). Nebo ještě mě napadá další obcházka - použít sice omezovací odpory, ale podobně jako +12V spínat dalšími tranzistory i +5V a GND. Což je celkem 120 tranzistorů, spínaných např. ze sériově/paralelního převodníku. To už je ale fakt dost velká šílenost a i plošňák by pěkne nabobtnal.

Neměl by, prosím, někdo nějaký nápad, jak to vyřešit?

dodatečný EDIT: Obcházka se spínaným napětím +5V a GND bude snad schůdná. Tak tam bude 15x TPIC6C595D a 80x BC807, ale třeba někdo poradí nějaký elegantnější způsob.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 471

PříspěvekZaslal: 20 duben 2013, 13:30    Předmět: Citovat

Upřímně řečeno, než stavět takovej kombain tak raději dám těch 20K za elnec a pod. Mám AL07 ale ten už je totálně yesterday Sad a podpora ani dokumentace není Sad( Jenže dneska je to hlavně o sériových protokolech takže už se nějakou dobu chystám stvořit s kolegou řešení které si poradí s multilevel logikou + jedno HV napětí a do kterýho by se vzdycky nahrál požadovaný programovací plugin (RAM based) takže by to bylo dost univerzální a šlo to vždy rozšířit. Pokud by se k tomu někdo chtěl přidat , tak to bude koncipovaný jako open source / hardware.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
Panda38
Profesionál
Profesionál


Založen: 18.9.2012
Příspěvky: 398
Bydliště: Praha, Most

PříspěvekZaslal: 20 duben 2013, 13:56    Předmět: Citovat

Ve vývoji programátoru pokračuji (první verze byla dost dobře funkční) - základem je ATmega169, který je přímo napojen na piny obvodu (slouží jako univerzální sběrnice, současně i pro napájení - od složitých oddělovačů jsem už upustil), docela jednoduché zapojení. Měnič napětí generuje 12V, dá se s tím snadno dělat i paralelní programování. Teď jsem to předělal tak, že v řídicím procesoru je interpreter makro instrukcí (protože byl problém do paměti nacpat všechny potřebné protokoly), různé protokoly se programují pomocí skriptů. Je to na dost dobré cestě, pořizovací cena kolem 500. Ještě asi doplnit regulaci napětí aby podporoval i 3,3V logiku (což bude bohužel znamenat nutnost použití trochu pomalejšího krystalu), rychlost není moc závratná, ale pro domácí použití by mohl být (vzhledem k ceně a univerzálnosti) dost výborně použitelný.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 471

PříspěvekZaslal: 20 duben 2013, 18:04    Předmět: Citovat

Interpret taky cesta - v jednom ze svých programátorů jsem kromě předprogramovaných konkrétních CPU/MCU měl i nějaké univerzální povely ale bylo to dost pomalý. Nicméně rychlost je pro mě priorita, hlavně tam kde nelze debagovat a jede se stylem compile-program.
Tak se pak pochlub. Já to budu mít založený na x51, to zprogramuje kazdej (když poskytnu mustr ) Smile takže teoreticky by mohly příbývat plaginy podle toho kdo s čím dělá... ale zatím sen.

_________________
x51 , ARM , XILINX
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
Panda38
Profesionál
Profesionál


Založen: 18.9.2012
Příspěvky: 398
Bydliště: Praha, Most

PříspěvekZaslal: 20 duben 2013, 19:14    Předmět: Citovat

Rychlost toho interpreteru je sice trochu pomalejší než přímý kód, ale není to tak strašné, každá pseudoinstrukce zabere kolem 1 us. Např. kousek skriptu pro odeslání bajtu na SPI:
kód:
SPISnd2:loadt   7      ; 1.0us get T flag from AL, bit 7
   pinout   SPI_MOSI,T ; 1.1us output to MOSI from T flag
   pinset   SPI_SCK   ; 0.9us start SCK clock signal
   wait      BL      ; 2..255 us delay 1
   pintest   SPI_MISO   ; 1.0us input MISO to T flag
   pinres   SPI_SCK   ; 0.9us stop SCK clock signal
   wait      BH      ; 1..127 us delay 2
   savet   7         ; 1.0us save T flag to AL, bit 7
   rol      AL      ; 1.1us rotate AL left (bit 7 -> bit 0)
   dec      HL      ; 1.1us decrement loop counter
   jnz      SPISnd2   ; 1.0/1.3us loop until counter is zero
   ret            ; 1.2us
Výhoda skriptu je, že nemusí být univerzální, zkompiluje se pro přesně daný typ MCU (např. čísla bitů portů) a díky tomu může být někdy i rychlejší než univerzální kód. A hlavní důvod, proč jsem to předělal na skript - ten může upravovat každý, aniž mění obsah procesoru, takže si může kdokoliv přidat neznámý obvod.

Lepší by byl ASM kód nahrávaný do RAM, ale to tenhle MCU neumí. ARMy nelze použít kvůli napájení - je potřeba 5V a výstupní proud desítky mA, což splňují asi jen ATmegy.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 471

PříspěvekZaslal: 20 duben 2013, 19:35    Předmět: Citovat

Rozumím. Já jsme to měl univerzální ve smyslu ovládání jednotlivých pinu a to bylo neůnosné. (totalni nouzovka)
Mě jde především o to při jakékoli změně už nic do mcu nevypalovat....
S x51 to jde udělat přes RAM celkem snadno.. ale to ty víš. ARM jsem taky zvažoval ale přišlo mi to skoro trapný mít tam jen několik KB softu jako loader a zbytek třeba i 256KB prázdný (pravda jsou nějaký verze od NXP jen s RAM) Mimochodem stejně tam plánuju konverzní obvody na logickou úroveň takže nezáleží ja napájení a proudové zatížitelnosti mcu .

_________________
x51 , ARM , XILINX
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
Panda38
Profesionál
Profesionál


Založen: 18.9.2012
Příspěvky: 398
Bydliště: Praha, Most

PříspěvekZaslal: 20 duben 2013, 20:00    Předmět: Citovat

Ideální by bylo použít univerzální pin driver - ale ten se zdá být pro amatéry nedostupný. Např. programátor Batronix BX48 používá BATRONIX BxPinDriver A97484 (zřejmě zákaznický obvod) + ALTERA Cyclone III (zřejmě na přemapování pinů) http://www.batronix.com/shop/programmer/BX48/index.html (čipy jsou vidět dole na fotce).

Jiný zajímavý programátor, G540 z Číny, zjevně používá jako pin driver diskrétní součástky (tranzistory): http://nostalcomp.cz/g540.php (nebo zde jsou vidět vnitřnosti: http://mcu.cz/news.php?extend.1672 ). Původně jsem v první verzi programátoru tuto koncepci použil, ale asi 10 součástek na pin (z toho 3 tranzistory, 3 patra plošňáku) se zdála být zbytečně vysoká daň za luxus, když to lze udělat jednodušeji (většinou lze vystačit přímo s piny procesoru a jen výjimečně - pro 12V - přepnout jednu z propojek).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 471

PříspěvekZaslal: 20 duben 2013, 20:16    Předmět: Citovat

Batronix pěknej, to bude zakazník určitě. Jsem tak nějak dospěl k závěru že plnejch, plně ovladatelnech 40 pinů je v ama podminkách moc velkej luxus. Člověk by i něco koupil ale já osobně jen kdyby k tomu byla dokumtace abych mohl dopisovat věci co to neumí i po ukončení podpory.
Doma to nemám ale z práce ti sem můžu hodit odkaz na ty drivery co planujem použít, třeba zjednoduší život.
Plánujem 4piny_in 4piny_out logika 1V-5V a 1pin_Vystup napajeni a 1 pin_high_voltage 5-15V. To by snad mělo pokrýt všechno co budem v budounu potřebovat (tedy nic paralelního)

_________________
x51 , ARM , XILINX
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 471

PříspěvekZaslal: 25 duben 2013, 19:16    Předmět: Citovat

Dobrý obvod na konverzi logických úrovní.
74LVC1T45

_________________
x51 , ARM , XILINX
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
Panda38
Profesionál
Profesionál


Založen: 18.9.2012
Příspěvky: 398
Bydliště: Praha, Most

PříspěvekZaslal: 25 duben 2013, 20:55    Předmět: Citovat

To by vyšlo dost složitě a draho, 40 takových obvodů + posuvné registry pro řízení směru. A nepodporuje 12V.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 471

PříspěvekZaslal: 25 duben 2013, 22:01    Předmět: Citovat

No jo no Sad
Jestli najdeš něco co chodí v plným rozsahu 1.2-12V tak to by mě zajímalo taky.

Arrow administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
Panda38
Profesionál
Profesionál


Založen: 18.9.2012
Příspěvky: 398
Bydliště: Praha, Most

PříspěvekZaslal: 25 duben 2013, 22:16    Předmět: Citovat

To už jsem vzdal (příliš nákladné nebo příliš složité) a proto to řeším jednodušeji.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

 
Panda38
Profesionál
Profesionál


Založen: 18.9.2012
Příspěvky: 398
Bydliště: Praha, Most

PříspěvekZaslal: 11 září 2013, 17:00    Předmět: Citovat

Doplňuji info k Univerzálnímu programátoru, který jsem tu otevřel před rokem.

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



PandaProg.jpg
 Komentář:
 Velikost:  44.21 kB
 Zobrazeno:  13360 krát

PandaProg.jpg



Xmas.jpg
 Komentář:
 Velikost:  40 kB
 Zobrazeno:  13360 krát

Xmas.jpg


Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Programátory Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2017 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)