logo elektroda
logo elektroda
X
logo elektroda
ADVERTISEMENT
ADVERTISEMENT
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

PIC12F629, DL4YHF, WinPIC - problem z programowaniem i weryfikacją chipu

Wiechoobike 20 May 2008 22:53 6876 6
ADVERTISEMENT
  • #1 5162676
    Wiechoobike
    Level 11  
    Posts: 26
    Rate: 1
    Chce zaprogramować PICa jak w temacie i (oczywiście) nie udaje mi sie...

    Zrobiłem ładnie programator, podłączyłem, zainstalowałem program i okazuje sie, że on nie widzi programatora. Tzn. zachowuje sie tak jakby on nie był podłączony do kompa. Korzystałem ze stron i schematów z tematu

    https://www.elektroda.pl/rtvforum/topic466246.html#2381676

    Jakieś uwagi i pomysły...?


    EDIT:

    Ok. Programator już sie z kompem łączy, inicjalizacja sie udaje. ale dalej coś znów nie idzie... To są wszystkie komunikaty jakie dostaję:
    Inicializacja PIC-Programatora : Gotowy.
    Parsed "C:\Program Files\MPLAB\PIC12F629.dev" : found 22 bit combinations in 8 configuration bit groups .
         Strange line in HEX-file (49): ;PIC16F627
    Programowanie...
    Kasowanie ("bulk" lub "chip") ...
    Programowanie PROGRAM, 0x000000..0x0003FF
         Użyj stare słowo OSCCAL z bufora pamięci (0x003480) .
    Weryfikacja 0x06lX..0x000000
    Błąd weryfikacji: 000000: odczyt 003FFF, oczekiwany 003000
    Błąd weryfikacji: 000001: odczyt 003FFF, oczekiwany 00008A
    Błąd weryfikacji: 000002: odczyt 003FFF, oczekiwany 002928
    Błąd weryfikacji: 000003: odczyt 003FFF, oczekiwany 000000
    Dalsza weryfikacja błędna, bez pełnej listy (total=357)
    Przywrócenie BANDGAP calibration bits dla CONFIG-WORD
    Programowanie CONFIG, 0x002000..0x002007
    Weryfikacja 0x06lX..0x002000
    Błąd weryfikacji: 002007: odczyt 003FFF, oczekiwany 0031CC
    ERROR: Programowanie błędne !
    


    ...i nie wiem co dalej?
    Interesują mnie te 2 wyróżnione tabulatorem linijki...
    Pierwsza: dlaczego tam jest inny PIC niż ja programuje? Czy dlatego, że w programie był taki napisany (ja programu nie ukladalem, mialem gotowy plik hex)
    Druga: Drugiej to juz w ogóle nie rozumiem
    A reszta jak widać to same błędy.

    Jakieś pomysły?
  • ADVERTISEMENT
  • #2 5163088
    piti___
    Level 23  
    Posts: 623
    Help: 67
    Rate: 9
    Witam

    Zainstaluj PortTalk żeby WinPic działał z programatorem. Wyniki 3FFF oznaczają że nie działa Ci programator (odczytuje same jedynki). W WinPic w zakładce interface masz opcje do testowania układu. Zobacz czy zmieniają sie napięcia na liniach data/clock/vpp gdy zmieniasz recznie ich stan w programatorze.

    Co do zaznaczonych lini to nie pomogę gdyż nie programowałem PIC12 tylko większe układy. OSCCAL to rejestr kalibracji oscylatora i widać że programator coś tam chce wpisać.

    Pozdrawiam
  • ADVERTISEMENT
  • #3 5163625
    Wiechoobike
    Level 11  
    Posts: 26
    Rate: 1
    Mówisz, że nie działa programator, a inicjalizacja sie udaje, nawet gdy zaznaczę Vpp, CLK i DATA pojawiają mi sie komunikaty:

    Inicializacja PIC-Programatora : Gotowy.
    Inicializacja PIC-Programatora : Gotowy.
    Inicializacja PIC-Programatora : Gotowy.


    Więc programator jest dobry czy ja coś źle robię? ...bo boję się, że chyba go źle testuję...

    W winXP PortTalk podobno instaluje sie automatycznie z WinPic-em.
    Tak wyczytałem z tej strony:

    http://www.qsl.net/dl4yhf/winpic/install_porttalk.htm#porttalk_reg

    Dla pewności jednak, zainstalowałem program tak jak tam pisze. Przekopiowałem PORTTALK.SYS i żadnych zmian w moim programowaniu nie widzę... Dalej są komunikaty:
    Inicializacja PIC-Programatora : Gotowy.
    Inicializacja PIC-Programatora : Gotowy.
    Inicializacja PIC-Programatora : Gotowy.
    Parsed "C:\Program Files\MPLAB\PIC12F629.dev" : found 22 bit combinations in 8 configuration bit groups .
    Strange line in HEX-file (49): ;PIC16F627
    Programowanie...
    Kasowanie ("bulk" lub "chip") ...
    Programowanie PROGRAM, 0x000000..0x0003FF
    Użyj stare słowo OSCCAL z bufora pamięci (0x003480) .
    Weryfikacja 0x06lX..0x000000
    Błąd weryfikacji: 000000: odczyt 003FFF, oczekiwany 003000
    Błąd weryfikacji: 000001: odczyt 003FFF, oczekiwany 00008A
    Błąd weryfikacji: 000002: odczyt 003FFF, oczekiwany 002928
    Błąd weryfikacji: 000003: odczyt 003FFF, oczekiwany 000000
    Dalsza weryfikacja błędna, bez pełnej listy (total=357)
    Przywrócenie BANDGAP calibration bits dla CONFIG-WORD
    Programowanie CONFIG, 0x002000..0x002007
    Weryfikacja 0x06lX..0x002000
    Błąd weryfikacji: 002007: odczyt 003FFF, oczekiwany 0031CC
    ERROR: Programowanie błędne !


    A co do tej pierwszej wyróżnionej linijki to nie pamiętasz czy u Ciebie występował ten sam PIC którego programowałes?
  • #4 5163918
    piti___
    Level 23  
    Posts: 623
    Help: 67
    Rate: 9
    Hej

    Inicjalizacja może być "dobra" ponieważ winpic ustawia 1 na linię danych i sprawdza jej stan. U Ciebie może ta linia być cały czas w stanie wysokim. Sprawdz miernikiem napięcia na liniach które powinny być podłączone do procesora i zmieniaj ich stan w zakładce "interfaces". Powinno być -0.5V i w zależności od tego jaką diodę zenera zastosowałeś np 5.1V. Na linii Vpp/MCLR 0-13V. Jeżeli się nie zmienia to szukaj błędu w układzie.

    Programowaniu u mnie wygląda następująco:
    Info: Loading definitions for "PIC16F628A" from D:\Program Files\WinPic\devices.ini .
    Info: PIC16F628A added by Leonardo, different device ID,
    Info: and different 'Bulk Erase' procedure than 16F628 !
    Couldn't find "devices\PIC16F628A.dev", please borrow/copy from MPLAB !
    Initialising PIC-Programmer: Success.
    Testing: delay(500ms) took 0.50 seconds, timer_freq=3.5795 MHz ... ok
    Programming...
    Erasing: CODE ..
    Programming CODE, 0x000000..0x0007FF
    Verifying 0x000000..0x0007FF
    Programming CONFIG, 0x002000..0x002007
    Verifying 0x002000..0x002007
    Verify Error: 002007: read 000000, wanted 003FFC
    ERROR: Programming FAILED !
    


    Co do ostatniego błędu programowania bitów konfiguracyjnych to nie wiem skąd sie bierze. Układ działa mimo błędu.

    W przypadku gdy mam odłączony programator podczas weryfikacji odczytuje:
    Programming...
    Erasing: CODE ..
    Programming CODE, 0x000000..0x0007FF
    Verifying 0x000000..0x0007FF
    Verify Error: 000000: read 000000, wanted 000183
    Verify Error: 000001: read 000000, wanted 003000
    Verify Error: 000002: read 000000, wanted 00008A
    Verify Error: 000003: read 000000, wanted 002804
    More Verify Errors, unable to list all (total=2034)
    Programming CONFIG, 0x002000..0x002007
    Verifying 0x002000..0x002007
    Verify Error: 002007: read 000000, wanted 003FFC
    ERROR: Programming FAILED !


    Jeżeli u Ciebie będzie odczytywał 3FFF to znaczy że porttalk czy inny sterownik nie działa. Wypnij z COMa programator i przetestuj.
  • ADVERTISEMENT
  • #5 5166465
    Wiechoobike
    Level 11  
    Posts: 26
    Rate: 1
    U mnie na odłączonym programatorze jest tak:
    Programowanie...
    Kasowanie ("bulk" lub "chip") ...
    Oscillator calibration word looks bad (0x000000) !
    Nie można programować kodu programu - bufor jest pusty.
    Przywrócenie BANDGAP calibration bits dla CONFIG-WORD
    Informacja: Bufor nie zawiera danych dla CONFIGURATION BITS.
    Programowanie CONFIG-WORD
    Weryfikacja 0x06lX..0x002007
    Błąd weryfikacji: 002007: odczyt 000000, oczekiwany 000FFF
    ERROR: Programowanie błędne !


    W Twoim programowaniu ciekawią mnie 2 rzeczy:
    1)
    Couldn't find "devices\PIC16F628A.dev", please borrow/copy from MPLAB ! 

    Nie znajduje Ci PIC16F628 a mimo to programuje

    2)
    ERROR: Programming FAILED ! 

    Właśnie ten ostatni błąd. Pisze, że programowanie się nie powiodło, a program jednak jest zapisany w uK.
    Jak to się dzieje??

    U siebie jeszcze sprawdzę, czy te napięcia się zmieniają (choć jak mierzyłem wczesniej to dochodzi napięcie na układ).
  • ADVERTISEMENT
  • #6 5168216
    piti___
    Level 23  
    Posts: 623
    Help: 67
    Rate: 9
    ERROR: Programming FAILED !
    ten blad jest przez to ze veryfikacja bitow konfiguracyjnych jest bledna.. pamiec programu zapisala sie normalnie.

    Co do pierwszej lini to nie wiem.

    Otworz jakis hex jak programujesz bez podlaczonego programatora. U Ciebie pisze ze bufor jest pusty:
    Nie można programować kodu programu - bufor jest pusty.

    Mimo to przy zapisie konfigu masz odczyt 000000 a wcześniej miałeś 3FFF. Widać więc że masz błąd w programatorze i na linii chyba CTS cały czas jest jedynka.
  • #7 6518884
    debesciak75
    Level 11  
    Posts: 31
    Rate: 1
    Kod:
    ERROR: Programming FAILED !
    
    Właśnie ten ostatni błąd. Pisze, że programowanie się nie powiodło, a program jednak jest zapisany w uK.
    Jak to się dzieje??
    

    Miałem identycznie, dopiero po przeczytaniu http://www.qsl.net/dl4yhf/winpic/index.htm#pgd_pgc_filtering i realizacji umieszczonych tam wskazówek, programator działa bez zarzutu. (przestał pojawiać się ten komunikat błędu i weryfikacja przebiega prawidłowo)
    (Programowałem PIC18F4620)

Topic summary

✨ Dyskusja dotyczy problemów z programowaniem mikrokontrolera PIC12F629 za pomocą programatora DL4YHF i oprogramowania WinPIC. Początkowo programator nie był wykrywany przez komputer, co wymagało instalacji sterownika PortTalk, niezbędnego do poprawnej komunikacji WinPIC z programatorem. Po nawiązaniu połączenia pojawiły się błędy podczas programowania i weryfikacji, m.in. komunikaty o błędach w słowie kalibracji oscylatora OSCCAL oraz błędach weryfikacji konfiguracji. Wskazano, że linie sygnałowe (DATA, CLOCK, VPP) mogą być stale w stanie wysokim, co sugeruje błędy w układzie programatora lub połączeniach. Zalecane jest mierzenie napięć na liniach programatora podczas zmiany ich stanów w oprogramowaniu, aby potwierdzić poprawność działania sprzętu. Problem z błędami weryfikacji może wynikać z nieprawidłowego odczytu bitów konfiguracyjnych, mimo że pamięć programu jest zapisywana. Wskazano również, że poprawne działanie programatora wymaga zastosowania filtrów sygnałów PGD/PGC, zgodnie z instrukcjami dostępnymi na stronie DL4YHF, co pozwala uniknąć błędów programowania i weryfikacji.
Generated by the language model.
ADVERTISEMENT