Zaprogramowanie uC PIC18F

To forum jest dla wszystkich pasjonatów mikrokontrolerów PIC. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C jak i asemblerze.
slawek55
Użytkownik
Posty: 484
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Zaprogramowanie uC PIC18F

Post autor: slawek55 » 13 gru 2013, 20:00

Cześć.
Muszę zaprogramować uC z którym mam po raz pierwszy do czynienia i stąd do Was prośba o pomoc.
Jest to uC PIC18F458. mam do niego plik HEX, układ jest "czysty" ze sklepu.
I teraz nie wiem czym to zaprogramować.
Znalazłem rożne programatory ale nie mam pojęcia czy te układy programuje się wysokim napięciem (13,4V) czy wystarczy do tego układ po niskim. Coś podobnego jak AVRy?
Co z bitami konfiguracyjnymi, czy te układy tez je posiadają?
Może mi ktoś podrzucić jakiś schemat programatora i oprogramowanie?

alaris
Użytkownik
Posty: 531
Rejestracja: 21 lut 2006, 14:56
Lokalizacja: Gorzow/Poznan

Post autor: alaris » 13 gru 2013, 21:58

Co do napięć nie wiem, używam firmowego programatora PICkit i nie wiem co on tam robi. Do dyspozycji jest środowiski MPlab (za darmow), które obsługuje programatory produkcji Microchipa lub samodzielna aplikacja dla PICkitów (też za darmo). Wybiera się tam HEXa, klika write i tyle.
PICe posiadają bity konfiguracyjne i są one kluczowe dla działania procka (m.in. żródło sygnału zegarowego). W przeciwieństwie do AVRów nie da się zabić mikrokontrolera złymi bitami konfiguracyjnymi. Ponadto są one zapisywane w pliku HEX, więc jest łatwiej niż z AVRami, bo nie trzeba samodzielnie nic tu grzebać.
Jeżeli chcesz mogę wystawić na Allegro PICkita2 (używanego) za 50pln plus wysyłka, ale jeżeli programować będziesz jednego procka i masz sporo wolnego czasu, to pewnie budowa jakiegos prostego programatora z netu się w tym przypadku opłaci.

slawek55
Użytkownik
Posty: 484
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 14 gru 2013, 7:47

Dzięki za propozycję. Znalazłam w sieci prosty programator i go po prostu złożę.
mówisz że jak mam plik HEX to nie muszę się martwić o bity konfiguracyjne?
A czy się rożni w PICach programowanie wysokonapięciowe od niskonapięciowego?

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 14 gru 2013, 23:10

A czy się rożni w PICach programowanie wysokonapięciowe od niskonapięciowego?
Głównie ilością wykorzystywanych końcówek CPU, ale najlepiej korzystać, z trybu wysokonapięciowego, gdyby tak w nitach konfiguracyjnych przypadkiem, końcówka RESET stała się portem I/O.
Co z bitami konfiguracyjnymi, czy te układy tez je posiadają?
Tak.
W przeciwieństwie do AVRów nie da się zabić mikrokontrolera złymi bitami konfiguracyjnymi.
Nie jest to do końca prawda, aczkolwiek dużo ciężej zabić PICa niż AVRa. Grzechy są zasadniaczo dwa.
1. wyłączyć sobie końcówkę RESET.
2. przełączyć procesor w tryb programowania niskonapięciowego.

slawek55
Użytkownik
Posty: 484
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 25 gru 2013, 20:29

Mam jeszcze jedną prośbę. Tym razem muszę zaprogramować PIC18F14K50 do analizatora CAN. Możesz polecieć coś do zrobienia do jednorazowego użytku?

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 26 gru 2013, 15:03

Do jedno razowego użytku raczej nie. Co prawda były jakieś kiedyś programatory na RS232, takie proste JDM się to nazywało, ale był to bardzo ograniczony programator, i nie gwarantuję czy nim to zaprogramujesz.
Ogólnie najlepiej zainwestuj sobie w PICKIT3, za 175zł dostaniesz programator, do wszystkiego.
Jak masz tego PIC18F14K50 w obudowie DIP, to ci go mogę zaprogramować, bo mam programator.

slawek55
Użytkownik
Posty: 484
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 26 gru 2013, 16:12

Nie wiem czy dobrze zrobiłem, ale zainwestowałem w klona PICKit-2
Wg opisu programuje te układy, ale czytając datasheet uC oraz patrząc na schemat programatora mam takie obawy, czy oby na pewno ten uC uda się zaprogramować? Do niego sygnały PDG i PDC mogą być na poziomie max 3.3V a w schemacie programatora są tylko szeregowe rezystory, czy oby na pewno takie zabezpieczenie jest wystarczające?
Zwróciłem też uwagę na taki szczegół, program do obsługi PICKit-2 Programmer ver 2.61 ma wyszarzoną zakładkę Device Family? czy coś tu jest nie tak z tym, czy to wina niepodłączonego programatora?

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 26 gru 2013, 18:29

Program musi najpierw wykryć PICKIT2, inaczej jest w trybie jakby uśpienia.
Jeżeli masz procesor w wersji F tzn 18FxxKxx to nie ma obaw, jest to pełna wiersja 5V.

slawek55
Użytkownik
Posty: 484
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 26 gru 2013, 19:39

Masz rację. Jednak jest chyba haczyk, może ja to źle rozumiem? Zobacz na rys 2-1 w zał. pdfie

pdf

Problem chyba w tym że linie PGD i PGC są współdzielone przez USB i wymagają max 3,3V?
Nie do końca rozumiem jeszcze zasilanie Vusb pin 17 bo tu jest pokazane że należy podać zasilanie a w ogólnej nocie jest że jest to wyjście napięcia a nie wejście?

I pomimo że jest to układ 5V to przez jakiś translator muszą przejść sygnały. A... i jeszcze linia Vpp, w normalnych układach jest ok.13V a tym chyba max 9V? Tak doczytałem ale czy dobrze?

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 26 gru 2013, 21:20

W opcjach programatora można ustalić napięcie zasilania, wybierzesz sobie 3,3V i tyle.
Jak wybierzesz, układy PIC18F_K nawet domyślnie ci się ustawia takie napięcie, na linii zasilania.
W napięcie VPP nigdy nie wnikałem, ale ja mam oryginale programatory Microchipa. Ale Microchip udostępnia, schematy i wsady do tych programatorów, więc klony powinny być dosyć wiernymi ich kopiami.
Załączniki
PIC18.jpg

seg
Użytkownik
Posty: 228
Rejestracja: 17 sie 2005, 1:08
Lokalizacja: PÓŁNOC - POŁUDNIE

Post autor: seg » 27 gru 2013, 0:25

Przecież z automatu wykryje Ci rodzaj PIC'a. Nad czym tu się zastanawiać? Programuj.

slawek55
Użytkownik
Posty: 484
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 27 gru 2013, 7:08

Może dla Ciebie to śmieszne, ale ja czysty układ s ebaya ściągnąłem i mam tylko jedną sztukę, jak spalę to nie będzie fajnie.
Dlatego wolę się dwa razy zapytać niż raz zepsuć. Tak mi zostało po wcześniejszych doświadczeniach, więc wybacz dociekliwość.

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 27 gru 2013, 8:13

Przecież ten układ można w Polsce dostać ? Co prawda SMD, choć jakby poszperać to i DIP się znajdzie.
http://www.tme.eu/pl/katalog/mikrokontr ... order=DESC
seg pisze:Przecież z automatu wykryje Ci rodzaj PIC'a. Nad czym tu się zastanawiać? Programuj.
Jemu bardziej chodzi o połączenie elektryczne tego MCU. W moim PICDuino, tam też jest PIC z USB na pokładzie, i tam VUSB jest tylko zwarte kondensatorem 100nF do masy. natomiast zasilanie jest bezpośrednia ze złącza programującego. jedynie są zworki do odcięcia sygnałów D+, D- jakby zasilanie układu było z USB.
Ogólnie zerknij sobie na KIT AVT-1625.

slawek55
Użytkownik
Posty: 484
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 27 gru 2013, 8:58

Może i można dostać w Polsce ale zamawiałeś kiedyś jedną rzecz z TME?
Ale prawda jest tu jakaś niejasność z tym napięciem Vusb?
Co ciekawe nawet pełna karta katalogowa (plik 41350C.pdf) podaje chyba sprzeczne informacje. Z jednej strony podają że jest to pin wejściowy zasilania, a z drugiej że to wyjście.

Awatar użytkownika
kayron
Użytkownik
Posty: 2088
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 27 gru 2013, 9:17

slawek55 pisze:Może i można dostać w Polsce ale zamawiałeś kiedyś jedną rzecz z TME?
Ale prawda jest tu jakaś niejasność z tym napięciem Vusb?
Co ciekawe nawet pełna karta katalogowa (plik 41350C.pdf) podaje chyba sprzeczne informacje. Z jednej strony podają że jest to pin wejściowy zasilania, a z drugiej że to wyjście.
Microchip niestety ma w kartach nieścisłości, ja bym się tak zbytnio nie przejmował, programator i tak ustawi wszystko automatycznie. Zrób sobie tak jak w Kice AVT i powinno być gitara. ja dobrze pamiętam w środku jest stabilizator LDO dla USB, a VUSB to wyjście dla kondensatora filtrującego, i tak też jest w nocie kat, dla zasilania 5V.
Najlepiej zapytaj na Polskim Forum Microchipa, tam ci odpowiedzą.
http://www.ekiert.com/cgi-bin/YaBB/YaBB.pl

ODPOWIEDZ