ISP programátor - využití pinů pro aplikaci i programování

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
michalino
Příspěvky: 348
Registrován: 03 srp 2009, 02:00

ISP programátor - využití pinů pro aplikaci i programování

#1 Příspěvek 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

Uživatelský avatar
GeorgeB
Příspěvky: 1187
Registrován: 21 lis 2005, 01:00
Bydliště: Pardubice
Kontaktovat uživatele:

#2 Příspěvek 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.

Uživatelský avatar
AB1
Příspěvky: 312
Registrován: 23 lis 2009, 01:00

#3 Příspěvek 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í.

Uživatelský avatar
michalino
Příspěvky: 348
Registrován: 03 srp 2009, 02:00

#4 Příspěvek 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

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#5 Příspěvek 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í :roll:

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.

Uživatelský avatar
AB1
Příspěvky: 312
Registrován: 23 lis 2009, 01:00

#6 Příspěvek 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.

Uživatelský avatar
michalino
Příspěvky: 348
Registrován: 03 srp 2009, 02:00

#7 Příspěvek 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..
:wink:

a kdybyste to shrnuli, který PIN byste tedy nakonec doporučili:

MISO? MOSI? SCK nebo RESET?

Děkuji moc...

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#8 Příspěvek od Andrea »

Proč bys měl ničit LPT, dyť je oddělený přes ty budiče.

Uživatelský avatar
michalino
Příspěvky: 348
Registrován: 03 srp 2009, 02:00

#9 Příspěvek 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?

:wink:

Prosím Vás o upřesnění

Uživatelský avatar
stepa
Příspěvky: 4669
Registrován: 05 led 2007, 01:00
Bydliště: poblíž HK
Kontaktovat uživatele:

#10 Příspěvek od stepa »

Dej tam nízkopříkonovou LEDku a vůbec se toho neboj.
...to co pisu nemyslim zle, ikdyz to tak muze vyznit...

Uživatelský avatar
michalino
Příspěvky: 348
Registrován: 03 srp 2009, 02:00

#11 Příspěvek 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

Uživatelský avatar
stepa
Příspěvky: 4669
Registrován: 05 led 2007, 01:00
Bydliště: poblíž HK
Kontaktovat uživatele:

#12 Příspěvek od stepa »

Na reset bych ji nedával. Co jsem dával naposledy, tak to bylo na SCK.
...to co pisu nemyslim zle, ikdyz to tak muze vyznit...

Uživatelský avatar
michalino
Příspěvky: 348
Registrován: 03 srp 2009, 02:00

#13 Příspěvek 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

Uživatelský avatar
stepa
Příspěvky: 4669
Registrován: 05 led 2007, 01:00
Bydliště: poblíž HK
Kontaktovat uživatele:

#14 Příspěvek 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.)
...to co pisu nemyslim zle, ikdyz to tak muze vyznit...

Uživatelský avatar
michalino
Příspěvky: 348
Registrován: 03 srp 2009, 02:00

#15 Příspěvek 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!

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“