Stránka 1 z 2
ISP programátor - využití pinů pro aplikaci i programování
Napsal: 17 bře 2010, 11:57
od michalino
Dobrý den všem,
prosím Vás o radu....
Mám Atmega8, kterou programuji pomocí ISP a v aplikaci mi chybí volné piny, tak chci použít i tyto nožičky určené předně pro programování
info o ISP například zde:
http://web51.hw.cz/isp_prg.html
mám pro programování obsazené piny MISO, MOSI, SCK a RESET
prosím vás o radu, zda můžu jednu z těchto nožiček využít i pro rozsvícení diody v aplikaci i když chci nadále používat ISP programování....
= naprogramuju atmegu, vyndám prog. konektor ISP a ovládám jeden z
pinů pro diodu v aplikaci.
Třeba v Bascomu musím nastavit v hlavičce programu PIN jako OUTPUT:
Config Pinb.4 = Output ' pin MISO dioda zelena
Portb.4 = 0
vadí toto řešení programátoru ISP? můžu prosím takovou věc udělat?
Po naprogramování AtMEGY vytáhnu konektor programátoru z obvodu a běží mi program, kde rozsvícím zelenou diodu pomocí pinu MISO....
Vadí nastavení Output v BASCOMU pinu MISO?
Děkuji moc
Napsal: 17 bře 2010, 13:08
od GeorgeB
Programovací piny nesmí být zatíženy tak, aby to programátor neutáhl. Tedy já programovací piny využívám buď jako vstupní nebo jako výstupní přes posilující tranzistor.
Jinak z vlastní zkušenost: zařízení s bodovým displejem 5x7 jsem navrhl díky malé desce plošných spojů tak, že MOSI je připojeno na jeden řádek displeje, MISO přes NPN tranzistor na jeden sloupec a SCK přes tranzistor na další sloupec. Tedy MOSI je při programování zatíženo jednou nebo dvěmi LED z displeje pokud SCK nebo MISO je v log.1. a není s tím žádný problém. Zatížení toho pinu je v tuto chvíli asi 20mA.
Napsal: 17 bře 2010, 13:14
od AB1
Vadí nastavení Output v BASCOMU pinu MISO?
Možná by bylo vhodnější použít MOSI nebo SCK, které jsou při programování výstupní.
Napsal: 17 bře 2010, 13:14
od michalino
George B, AB1, děkuji za zkušenost a rady.
je to tak s piny AB1 jak píšete.
ISP rozhraní obsahuje kromě napájení ovládání resetování procesoru (/RESET), vodiče pro sériový zápis (MOSI) a čtení (MISO) obsahu interních pamětí FLASH a EEPROM + jeden vodič pro synchronizaci přenosu dat (SCK).
A co kdybych to udělal tak, že:
1)
Mám konektor na desce plošných spojů
2)
když chci programovat, zastrčím do konektoru programovací kabel
3)
Když doprogramuju, vyndám programovací konektor a místo něj strčím do programovacího konekotru na plošném spoji druhý konektor, jehož kabely vedou právě k diodě, kterou chci rozsvícet a zhasínat
Takto můžu obejít veškeré starosti, že?
Jen mě ještě zaráží...
Jakmile proběhne programovací procedura, ihned se nastartuje nahraný
program v aplikací...
a když mám v bascomu deklaraci směřující na pin MOSI:
Config Pinb.3 = Output ' pin MOSI dioda zelena
Portb.3 = 0
ublíží tento stav PINU nějak programátoru do chvíle, než programovací konektor odpojím a strčím na jeho místo konektor směřující k diodě?
co myslíte, prosím,
děkuji
Napsal: 17 bře 2010, 13:28
od Andrea
AB1 píše:Vadí nastavení Output v BASCOMU pinu MISO?
Možná by bylo vhodnější použít MOSI nebo SCK, které jsou při programování výstupní.
Akorát, že MOSI a SCK jsou při programování vstupní
Ten ISP programátor se po skončení programování sám odpojí, proto jsou tam ty třístavové budiče, takže není potřeba ani vytahovat programovací konektor.
Napsal: 17 bře 2010, 13:38
od AB1
Teď se dívám, že jsem to napsal přesně naopak.
MISO je výstupní, CLK a MOSI vstupní.
ublíží tento stav PINU nějak programátoru do chvíle, než programovací konektor odpojím a strčím na jeho místo konektor směřující k diodě?
To je otázka.
Piny CLK a MOSI můžou kolidovat s výstupy IO 244.
Ale MISO může přes 244 kolidovat s hodnotou na portu LPT.
Asi se tady schyluje ke zničení paralelního portu, jak o tom občas slyšíme.
Napsal: 17 bře 2010, 14:09
od michalino
Andreo a AB1, vždy jste mě dobře navedli poradili...
teď ovšem nevím, na čem jsem....jestli se mám spolehnout na automatické odpojení od porgramátoru nebo jestli zničím LPT..
a kdybyste to shrnuli, který PIN byste tedy nakonec doporučili:
MISO? MOSI? SCK nebo RESET?
Děkuji moc...
Napsal: 17 bře 2010, 14:32
od Andrea
Proč bys měl ničit LPT, dyť je oddělený přes ty budiče.
Napsal: 17 bře 2010, 14:41
od michalino
A když nezničím LPT,je možné, že zničímprogramátor?
je to 50 na 50 nebo
nezničím vůbec programátor?
A prosím ten PIN mám použít který, jestli jsem si přeložil příspěvky správně, pak MISO je nevhodnější PIN pro účel připojení diody?
Prosím Vás o upřesnění
Napsal: 17 bře 2010, 17:26
od stepa
Dej tam nízkopříkonovou LEDku a vůbec se toho neboj.
Napsal: 17 bře 2010, 18:22
od michalino
Stepo,
děkuji za příspěvek...
ještě na jaký PIN prosím, který je nejlépe vhodný?
MISO MOSI SCK RESET?
Děkuji
Napsal: 17 bře 2010, 18:57
od stepa
Na reset bych ji nedával. Co jsem dával naposledy, tak to bylo na SCK.
Napsal: 17 bře 2010, 19:07
od michalino
Tak teď už nechápu vůbec tuto větu....:
ISP rozhraní obsahuje kromě napájení ovládání resetování procesoru (/RESET), vodiče pro sériový zápis (MOSI) a čtení (MISO) obsahu interních pamětí FLASH a EEPROM + jeden vodič pro synchronizaci přenosu dat (SCK).
Stepo, dekuji za radu, zkousim si to ted potvrdit na zaklade vseho co tu bylo nspsano a nechapu to..
podle vety vyse ma byt MOSI jako input, MISO když je pro čtení, tak má být taky input a u SCK je jedno, jestli je pin nastaven jako input nebo output..
proto je SCK nejvhodnější pin?
chci to vyřešit jednou pro vždy, proto se ptám..jestli je SCK opravdu nejvhodnější PIN...prosím o názor...
Děkuji
Napsal: 17 bře 2010, 19:17
od stepa
to michalino: MASTER je programátor, SLAVE je procesor!
MOSI - programování procesoru programátorem(MASTER OUT, SLAVE IN)
MISO - procesor posílá data na základě dotazu od programátoru(MASTER IN, SLAVE OUT)
SCK - hodiny generuje MASTER, takže SLAVE IN
Ty zkratky jsou stejný, jako u "normální" SPI komunikace mezi procesorem a nějakou periferií(případně druhým procesorem), atp. S tím rozdílem, že při programování je procesor SLAVE, protože je "mrtvej". A zápis řídí programátor. Nehledej v tom žádnou vědu.
Je úplně šumák, jak si ty porty nastavíš v programu, protože při programování se to nastaví samo tak jak má. Takže o vhodnosti použití jednotlivých pinů se nemá cenu bavit. jak jsem psal...naposledy jsem pro LED použil SCK a MOSI jsem použil jako vstupní. A proč? Protože mi to tak vyhovovalo nejvíce(layout, rozložení pinů v programovacím 6ti-pinu,atp.)
Napsal: 17 bře 2010, 19:36
od michalino
STEPO,
děkuji moc za radu, vysvětlení, Váš čas a stejně tak všem za příspěvky a pomoc...
Jdu to tak zapojit...ještě jednou ,
děkuji!