PIC 12F629 problem z kasowaniem

Witam Proboje sobie zlozyc pewne urzadzenie na w/w PICu. Do programowana uzywam Willema, udalo mi sie raz zaprogramowac uklad, jednak musze go przeprogramowac i tu sie zaczynaja schody... PIC sie nie chce skasowac. Przy probie kasowania dostaje komunikat "Blad zapisu pola OSCCAL" W przypadku gdy probuje nadpisac nowym hexem pamiec, willem pisze "blad zapisu pola programu"

Czy ktos moze mi powiedziec co jest grane ? Czyzby to F w nazwie bylo tylko dla "PICu" a ten uklad jest OTP ?

Reply to
Robgold
Loading thread data ...

Robgold przemówił ludzkim głosem:

Nie, układ nie jest OTP :-]. Podejrzewałbym raczej twój programator. Do uruchomienia trybu programowania konieczne jest przytrzymanie nogi zegara, danych na masie i podanie napięcia zasilania i programującego w odpowiedniej sekwencji

formatting link
Większość prostych programatorów tego nie potrafi. Zmontuj sobie jdma z dodatkowym tranzystorem do odcinania zasilania
formatting link
i powinno się przeprogramować bez problemu.

Reply to
Zbych
Reply to
Robgold" <robgold NO
Reply to
invalid unparseable

Robgold przemówił ludzkim głosem:

Pod windows najlepiej mi się sprawdzał ic-prog, a pod linuksem pkp.

Reply to
Zbych

użyj Winpic do JDM.

Reply to
szlovak

Jaki masz ustawiony oscylator i jak MCLR?

sword

Reply to
Adam Jurkiewicz
Reply to
Robgold" <robgold NO

Jakieś dzikie oznaczenia, pytanie jest czy MCLR jest ustawiony na Internal czy External?

Zakładam, że Internal bo w innym wypadku nie było by problemu.

Pytanie jeszcze jak skonfigurowałeś porty GP0 i GP1 (wejście/ wyjście)?

Nic się z tym PICem nie stało tylko nie doczytałeś pewnie jakie są warunki programowania.

W skrócie - Jeśli masz ustawiony MCLR na wewnętrzny to programator nie jest w stanie zatrzymać/wyzerować procesora sygnałem "0" -> MCLR. Jeśli zatem na GP0 lub GP1 w czasie pracy pojawia się "1" to, tak jak już był wspomniane, nie jest wygenerowany warunek wejścia w tryb programowania. Jeśli zdarzy się przypadkiem, że procesor wejdzie w tryb programowania to i tak może odczytać nieprawidłowe informacje gdy przesunie się licznik rozkazów.

Rozwiązaniem problemu jest programator, który nie podaje napięcia na stałe ale ma możliwość załączania tylko na czas programowania.

Jak już go wykasujesz to ustaw w configu MCLR na zewnętrzne i po sprawie.

Po nowego nie ma sensu bo z każdym stanie się to samo.

Pozdrawiam, sword

Reply to
Adam Jurkiewicz

Problem zazegnany. Programator JDM w wersji z tranzystorem MOSFET dal sobie rade skasowac i zaprogramowac uklad. Dla potomnych zostawie tylko informacje ze tego 2n7000 mozna z powodzniem zastapic BS170

W kwesti tej konfiguracji bitow czekam ze kolega mi to moze wyjasni, bede wiedziec na przyszlosc.

Reply to
Robgold" <robgold NO

sam możesz też wyjaśnić, wszystko jest w pdfie. O oscylatorze sobie poczytaj , a dalej to:

watchdog: robi reset procka w czasie działania procka jeśli timer odliczający ten reset nie zostanie skasowany, przydatne do układów gdzie procek może być zakłócony np. w samochodzie, kasuje sie go poleceniem w takich przypadkach CLRWDT, oczywiście czas timera się ustala i można ustalić od kilku chyba ms do

200 czy jakoś tak

power up timer: timer startujący procka po opuźnieniu aby napięcie się ustabilizowało

brown out detect: czujnik spadku napięcia, robi reset chyba w takich przypadkach , nie używałem nigdy

code protect: no comment

data ee read protect: to samo ale do pamięci wewnętrznej eeprom

Reply to
szlovak

Tak jak wspominałem, najlepiej zainstaluj MPLABa, a potem zaimportuj plik hex i zobacz jak wygląda słowo konfiguracyjne w oryginale.

Kroki:

  1. Ustaw procesor: Configure -> Select Device...
  2. File -> Import...
  3. Configure -> Configuration Bits...

Microchip, do danego procesora, zawsze udostępnia dokumentację podzieloną na dwie cześci: 'Data Sheet' oraz 'Programming Specification', opis słowa konfiguracyjnego znajdziesz akurat w jednym i drugim dokumencie:

formatting link
formatting link
formatting link
Pozdrawiam, sword

Reply to
Adam Jurkiewicz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.