Chyba v programátoru?
Moderátor: Moderátoři
Chyba v programátoru?
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?
Programator PIC
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.
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
- BaluSK
- Příspěvky: 264
- Registrován: 28 zář 2007, 00:00
- Bydliště: Rimavska Sobota
- Kontaktovat uživatele:
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.