Chyba v programátoru?

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

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
MartinOV
Příspěvky: 112
Registrován: 01 dub 2010, 02:00

Chyba v programátoru?

#1 Příspěvek od MartinOV »

Dobrý den.
Mám programátor PRESTO a chtěl jsem s ním naprogramovat nějaké procesory PIC. PIC16F84A v jisté konstrukci šel naprogramovat bez problémů.
Ovšem při programování 12F675 mi program UP zobrazí chybu: "Nadproud na programovacím napětí". Tento typ mám celkem 3 krát a u všech tří kusů vykazuje stejnou chybu.
Dělá to i u jiných procesorů, jako např. 10F202, 12F629 nebo 16F676. U dvou kusů (16F630 a 16F84A) čte špatně data a též je nelze naprogramovat (s tím, že nehlásí chybu Nadproud).
Procesory jsem programoval na kontaktním poli, signály jsem zapojoval dle datasheetu a v programu UP jsem vždy nastavil typ dotyčného procesoru. V čem může být problém?
Ještě dodám, že procesory jsou staré asi dva roky. Může to být tím?

Uživatelský avatar
Simil
Příspěvky: 185
Registrován: 16 říj 2008, 02:00
Bydliště: NR

Programator PIC

#2 Příspěvek od Simil »

Ahoj.ja mam tiež presto,a s takou hlaškou som sa stretol asi len 1x.Ako maš nastavene napajanie? Ja používam Interne,a mam dojem,že ta hlaška mi vyskočila,ked som mal nastavene Externe napajanie.alebo prehodené piny na programovanie.Ešte je aj možnosť,že maš zly spoj na niektorom pine.Taktiež to pri Externom napajaní načítalo blbosti.Skus sa popozerať v nastavení programu.Určite maš len niečo zle nastavené.

Uživatelský avatar
MartinOV
Příspěvky: 112
Registrován: 01 dub 2010, 02:00

#3 Příspěvek od MartinOV »

Simil: Napájení volím při programování "holého" procesoru (12F675) na kontakním poli vždy interní (z čeho jiného by se to taky dalo napájet že? :) ) a při programování zapojeného 16F84A používám někdy interní, jindy externí (z aplikace) - podle toho, jestli je aplikace zrovna zapnutá.
Zkoušel jsem v programu různě experimentovat s prodloužením časů pro zapnutí a výsledek je furt stejný. Nadproudovou hlášku to nevyhodí jen tehdy, když odpojím programovací napětí (13V). Pak se sice nic nenaprogramuje ani nepřečte, nicméně proces dojede úspěšně do konce.

Dokonce se tato chyba začíná občas objevovat i u zmíněného 16F84A. Jenže zatím stačilo spustit programování znovu a procesor byl naprogramován bez chyby.
(Teď jsem úspěšně zjistil, že to odmítá spolupracovat i s "velkými" procesory z řady F87xA.) Vypadá to spíš na chybu v programátoru než v zapojení nebo procesorech.

Uživatelský avatar
Atlan
Příspěvky: 4499
Registrován: 10 kvě 2004, 02:00
Bydliště: Košice

#4 Příspěvek od Atlan »

nepouzivas LPV mod na programatore ????

Uživatelský avatar
nop
Příspěvky: 158
Registrován: 18 kvě 2007, 02:00

#5 Příspěvek od nop »

Tohle mi taky hlásilo už si to moc nepamatuju,ale asi to byla jedna z těchto věci buď přehozene programovaci piny data a clock a nebo k picu na některy z těchto pinu připojena snad led nebo i2C eeprom....

Uživatelský avatar
BaluSK
Příspěvky: 264
Registrován: 28 zář 2007, 02:00
Bydliště: Rimavska Sobota
Kontaktovat uživatele:

#6 Příspěvek od BaluSK »

Hlavne nezabudni v nastaveniach povolit dlhsi cas pre zapojenie napatia pri ICSP a samozrejme tie casy pre zapnutie aj vybitie aj definovat,napr.550000uS

Uživatelský avatar
MartinOV
Příspěvky: 112
Registrován: 01 dub 2010, 02:00

#7 Příspěvek od MartinOV »

Atlan: LVP nepoužívám. PIC12F675 jej ani nepodporuje a u ostatních procesorů jsem vždy používal HVP.

nop: Procesory obvykle programuji bez jakýchkoli součástek okolo. Navíc ta chyba Nadproud vzniká na programovacím napětí. Při přehození clock a data program reaguje stejně - Nadproud na programovacím napětí. Pokud ovšem odpojím Vpp, chyba zmizí.

BaluSK: S těmi časy jsem chvíli experimentoval. Delší čas na programování holého procesoru bez přídavných sooučástek nemá význam (vyzkoušeno) - opět nastala chyba Nadproud na Vpp.
Zajímavé je však to, že i při nulovém čekacím čase programátoru nevadí kondenzátory umístěné v konstrukci s PIC16F84A. Myslím, že je tam jeden 100n a ještě jeden elektrolyt 100uF a PRESTO je oba úspěšně ignoruje a procesor naprogramuje tak rychle, jako by tam nebyly.

Záleží na délce kabelu ICSP? Protože procesor zapojený v konstrukci programuji zvláštním kabelem (na konci je pětikolík :) ) a zbytek kabelem asi metr a půl dlouhým.

Uživatelský avatar
Atlan
Příspěvky: 4499
Registrován: 10 kvě 2004, 02:00
Bydliště: Košice

#8 Příspěvek od Atlan »

neviem ako kde ale vadi... kablik do max 20cm dlzky... nemas skrat na tom tvojom predlzovaku niekde ?

Uživatelský avatar
BaluSK
Příspěvky: 264
Registrován: 28 zář 2007, 02:00
Bydliště: Rimavska Sobota
Kontaktovat uživatele:

#9 Příspěvek od BaluSK »

1,5m je dost dlhy kabel,rozhodne by som pouzil ovela kratsi...v kazdom pripade to vsak nebude pricinou hlasky o nadprude (teda pokial ten kabel nie je kdesi shortnuty)....rozhodne by som tie picka skontroloval ohmicky ,vyvod GND oproti Vdd a aj GND oproti MCLR..ci teda nie su nahodou v skrate a tym padom v kremikovom nebi (zazil som uz aj take)....jo a hlavne over pre istotu este raz spravnost zapojenia vyvodov programatora voci PIC

Uživatelský avatar
MartinOV
Příspěvky: 112
Registrován: 01 dub 2010, 02:00

#10 Příspěvek od MartinOV »

Tak bylo to kabelem. Vyrobil jsem kratší (cca 15cm) a už to frčí. Procesor byl v pořádku, úspěšně se mi do něj podařilo nahrát program.

Teď už jen řeším, jak donutit mikroprocesor (12F675), aby nastavil vývod GP4 na vstup. V simulátoru se tvrdohlavě nastavují pouze čtyři nižší bity TRISIO (přičemž by mělo jít nastavit všech šest bitů do 1) a v reálu se asi děje to samé, protože dotyčné vývody jsou v log. 0, což pro vstup není obvyklé. Úryvek kódu:

Kód: Vybrat vše

	org	.0

	banksel	OSCCAL
	call	3FFh
	movwf	OSCCAL		;seřízení oscilátoru

	movlw	B'11111001'	;nastavení I/O
	movwf	TRISIO


	movlw	B'00010001'	;nastavení A/D převodníku
	movwf	ANSEL

	banksel	0
	movlw	B'10000001'
	movwf	ADCON0
No a do TRISIO se mi v simulátoru ukládá '00001001'. To je správně?
Pro mě to je chybně, protože já potřebuji GP4 jako vstup.

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

#11 Příspěvek od Andrea »

A nemáš na těch GP4,5 nastavený oscilátor nebo jinou periferii?

Uživatelský avatar
MartinOV
Příspěvky: 112
Registrován: 01 dub 2010, 02:00

#12 Příspěvek od MartinOV »

Jo, byl tam špatně nastavený oscilátor.
Díky za pomoc. ;)
Teď už A/D převodník jede jak chci já a ne jak chce on. :D

Odpovědět

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