Menu English Ukrainian Rosyjski Strona główna

Bezpłatna biblioteka techniczna dla hobbystów i profesjonalistów Bezpłatna biblioteka techniczna


ENCYKLOPEDIA RADIOELEKTRONIKI I INŻYNIERII ELEKTRYCZNEJ
Darmowa biblioteka / Schematy urządzeń radioelektronicznych i elektrycznych

Programowanie nowoczesnych PIC16, PIC12 na PonyProg. Encyklopedia elektroniki radiowej i elektrotechniki

Bezpłatna biblioteka techniczna

Encyklopedia radioelektroniki i elektrotechniki / Mikrokontrolery

Komentarze do artykułu Komentarze do artykułu

Jak wiadomo programator PonyProg przeznaczony jest do programowania ograniczonej liczby typów mikrokontrolerów PICmicro firmy Microchip (PIC12C50x PIC16F8x, PIC16F87x). Można go jednak wykorzystać do programowania innych, w tym nowych mikrokontrolerów serii PIC12 i PIC16. W artykule opisano, jak to zrobić.

Wielu radioamatorów buduje swoje konstrukcje w oparciu o popularny kontroler PIC PIC16F84 (PIC16F84A). Czas jednak nie stoi w miejscu, a gama produkowanych mikrokontrolerów (MCU) PICmicro stale się poszerza. Pojawiły się nowe, bardziej zaawansowane MCU z serii PIC16F i PIC12F (na przykład PIC12F629, PIC12F675, PIC16F628, PIC16F630, PIC16F676). Zawierają komparator zdolny do pracy przy napięciu wejściowym bliskim zeru, co jest bardzo kuszące przy zasilaniu z jednego źródła. Zawarty w ich składzie 10-bitowy przetwornik ADC ma dokładność nie gorszą od wyspecjalizowanych mikroukładów, co wraz z większymi możliwościami przetwarzania i wyświetlania informacji pozwala tworzyć unikalne urządzenia z minimalną liczbą elementów zewnętrznych. Nowe MK mają większą pamięć, dodatkowe timery, uniwersalny port komunikacyjny i inne ulepszenia. Co więcej, ich koszt jest znacznie niższy niż PIC16F84, a FLASH PIC16F630 jest tańszy niż PIC16C505 (oba w obudowach 14-pinowych). Organizacja pamięci PIC12Fx jest taka sama jak w PIC16F84 (jedna strona), co ułatwia adaptację programów, które nie wymagają użycia mikrokontrolerów w obudowach wielopinowych.

Jeśli zdecydujesz się zastosować w swoich projektach nowe mikrokontrolery, to zanim je przestudiujesz i napiszesz programy, zastanów się, w czym je zaprogramować. Zakup markowego programatora po cenie porównywalnej z kosztem jednostki systemowej komputerowej jest prawie niemożliwy dla radioamatorów. Jednak wielu z nich zmontowało programator PONYPROG [1]. Zastanówmy się, jak można go użyć do zaprogramowania nowych MK.

Wszystkie MK są programowane poprzez magistralę trójprzewodową. Do programowania wymagane są sygnały Upp (przejście do trybu programowania), CLK (synchronizacja) i DAT (dane).

Hobbyści nie posiadający programatora mogą skorzystać z prostego urządzenia zmontowanego według schematu na ryc. 1. Podłączany jest do portu COM komputera, do zasilania MK służy osobne źródło o napięciu wyjściowym 5 V.

Programowanie nowoczesnych PIC16, PIC12 na PonyProg
(kliknij, aby powiększyć)

W „Ustawieniach sprzętu” podaj typ programatora – JDM API. Zaciski podłączamy zgodnie z tabelą. Programowanie można przeprowadzić bezpośrednio w gotowym urządzeniu wykorzystując jego źródło zasilania (konieczne jest jedynie wyeliminowanie manewrowania pinów programujących MK przez elementy produktu). Napięcie zasilania podczas programowania powinno mieścić się w przedziale 4,5...5,5 V (w razie potrzeby należy wybrać diodę Zenera VD1).

Z tabeli wynika, że ​​przeznaczenie pinów PIC16F84 i PIC16F628 używanych podczas programowania jest takie samo, zatem można je programować w tym samym gnieździe programatora. W przypadku innych mikroukładów konieczne będzie zainstalowanie dodatkowych gniazd podłączonych do adaptera zgodnie z tabelą. Bardziej szczegółowe informacje na temat kontrolerów PIC można znaleźć na stronie internetowej [2].

Dalsze wyjaśnienia podano na przykładzie PIC16F628, ponieważ nie wymaga on modyfikacji sprzętowych programatora PonyProg i jest łatwiej dostępny w sklepach niż inne.

Jak zauważono, wszystkie PICmicro MK są programowane za pomocą trzech przewodów (dokładniej dwóch). Protokół programowania (polecenia) jest również taki sam.

Pamięć programu zaczyna się od adresu 0000 i kończy w zależności od jej objętości w danym typie chipa. Oznacza to, że wybierając MK odpowiedni dla tego parametru z listy PonyProg, możesz nagrać żądany program. W naszym przypadku odpowiedni jest PIC16F871. Należy wziąć pod uwagę, że dolna linia okna PonyProg wskazuje ilość pamięci w bajtach, a parametry techniczne MK zwykle wskazują liczbę słów (14 bitów). Innymi słowy programista pokazuje większą głośność. PIC16F871 i PIC16F628 mają pojemność pamięci 2048 słów. Dodatkowo można to sprawdzić w pliku .Ikr odpowiedniego MK (znajdującym się w folderze instalacyjnym MPLAB), czytając go za pomocą standardowego programu Notatnik. Adres pamięci programu jest wskazywany w następujący sposób:

NAZWA STRONY KODOWEJ=wektory START=0x0 END=0x4 CHRONIONE (przesyłanie warunkowe) NAZWA STRONY KODOWEJ=strona START=0x5 END=0x7FF (przesyłanie warunkowe)

Programowanie nowoczesnych PIC16, PIC12 na PonyProg

Na tym etapie można już podjąć próbę zapisania informacji do pamięci programu. Nadaje się do tego dowolny plik HEX nie większy niż 2048 słów. Po uruchomieniu programu serwisowego należy podłączyć urządzenie do portu komputera, włożyć MK do odpowiedniego gniazda, następnie włączyć zasilanie programatora. Z menu wybierz PIC16F871, załaduj wybrany plik HEX i kliknij przycisk „Zapisz pamięć programu (FLASH)”. Pojawi się komunikat o błędzie informujący o problemach z MK i zawierający trzy przyciski (rys. 2): „Przerwij” (przerwaj), „Ponów próbę” (powtórz), „Ignoruj” (ignoruj). Kliknij ostatni („Ignoruj”) i rozpocznie się proces programowania. Po zakończeniu powinien pojawić się komunikat informujący o pomyślnym nagraniu. Jeśli programista wygeneruje „Błąd zapisu”, sprawdź zawartość pamięci programu, uznając to za odpowiednie polecenie. Obecność błędów wskazuje, że programista mógł działać zbyt szybko (dzieje się tak, jeśli na komputerze jest zainstalowany system WINDOWS XP; w systemie WINDOWS 98 program działa wolniej i pisze bardziej niezawodnie). Przyczyną mogą być również zakłócenia (jeśli przewody łączące są za długie), a w rzadkich przypadkach programy antywirusowe i inne programy działające w tle. Jeśli wpisu brakuje całkowicie, oznacza to, że sprzęt programatora jest uszkodzony lub program jest nieprawidłowo skonfigurowany (w menu).

Kolejnym, najważniejszym etapem jest zapisanie słowa konfiguracyjnego. Jego adres można również znaleźć w pliku .Ikr odpowiedniego MK. Linia w pliku wygląda następująco:

CODEPAGE NAME=.config START=0x2007 END=0x2007 PROTECTED (transfery warunkowe).

Słowo konfiguracyjne znajduje się pod adresem 0x2007. W naszym przypadku PIC16F871 i PIC16F628 mają adresy 2007, czyli nadają się do podstawienia (należy zaznaczyć, że pod tym adresem znajduje się słowo konfiguracyjne dla wszystkich PIC16 i PIC12F). Nie zaleca się ustawiania bitów konfiguracyjnych bezpośrednio w programatorze, ponieważ ich oznaczenie na panelu programatora dla PIC16F628 i PIC16F871 jest inne i możliwe są błędy, a niektóre bity są wyszarzone i nie można ich ustawić bezpośrednio. Lepiej jest zapisać konfigurację MK podczas kompilacji programu. W przypadku MPLAB te linie mogą wyglądać mniej więcej tak:

w lude p16f628.inc> lista p=16f628_config H'0242"

Wartość „0242” jest kompilowana zgodnie z przeznaczeniem każdego bitu w słowie konfiguracyjnym i może być inna w konkretnym przypadku. Szczegółowy opis wszystkich bitów można znaleźć na stronie internetowej [2].

Skróty bitów konfiguracyjnych znajdują się w pliku .INC odpowiedniego MK w folderze instalacyjnym MPLAB. Przybliżony widok:

BODEN NA EQU H'3FFF'

BODEN OFF EQU H'3FBF'

CP WSZYSTKIE EQU H'03FF'

CP 75 EQU H'17FF'

CP 50 EQU H'2BFF'

CP OFF EQU H'3FFF'

DANE CP NA EQU H'3EFF'

DANE CP WYŁĄCZONE EQU H'3FFF'

PWRTE OFF EQU H'3FFF'

PWRTE NA EQU H'3FF7'

WDT NA EQU H'3FFF'

WDT WYŁĄCZ EQU H'3FFB'

LVP NA EQU H'3FFF'

LVP OFF EQU H'3F7F'

MCLRE NA EQU H'3FFF'

MCLRE OFF EQU H'3FDF'

ER OSC CLKOUT EQU H'3FFF'

ER OSC NOCLKOUT EQU H'3FFE'

INTRC OSC CLKOUT EQU H'3FFD'

INTRC OSC NOCLKOUT EQU H'3FFC

EXTCLK OSC EQU H'3FEF'

LP OSC EQU H'3FEC

XT OSC EQU H'3FED'

HS OSC EQU H'3FEE'

Używając tych notacji, ciąg wejściowy może wyglądać tak:

__config CP_ALL i WDT WYŁ. & BODEN WŁ. & _PWRTE_ON & _HSJ3SC &_LVP WYŁ.; (przelewy są warunkowe).

W ten sposób możesz napisać słowo konfiguracyjne dla dowolnego MK, używając jego pliku .INC. Jest to wygodne w przypadku adaptacji gotowego programu, np. w przypadku wymiany PIC16F627 na tańszy PIC16F627A. Jeśli umieścisz konfigurację w tekście programu, zostanie ona uwzględniona w pliku HEX, a zacienione bity również zostaną ustawione. Po wpisaniu słowa konfiguracyjnego do programatora poprzez wczytanie zawierającego go pliku HEX programu, zapis odbywa się w zwykły sposób, poprzez wprowadzenie odpowiedniego polecenia. Podobnie można to odczytać z MK. Można upewnić się, że konfiguracja została zapisana albo czyszcząc panel programowania konfiguracji programatora po zapisaniu, a następnie odczytując konfigurację z MK, albo wczytując pamięć programu z chipa zabezpieczonego przed odczytem: przed zapisaniem konfiguracji jest ona odczytywana , ale po zapisaniu tak nie jest (o ile zabezpieczenie jest ustawione). W tym przypadku konfiguracja jest również czytelna w chronionym mikroukładzie.

Nie zaleca się ustawiania bitów bezpieczeństwa, jeśli nie jest to absolutnie konieczne. Faktem jest, że niektóre MK mają różne polecenia kasowania i nie będzie można ich przeprogramować, ponieważ bity zabezpieczające w PonyProg nie zostaną usunięte. Jednak w przypadku zapisu na niezabezpieczonym chipie poprzez zawarte w nim „oprogramowanie sprzętowe” zapisywany kod usunie poprzednie informacje i nie będzie potrzeby ich kasowania. Nie dotyczy to jednak PIC16F627, PIC16F628; zawarte w nich informacje można bez obaw chronić.

Dane są zapisywane do EEPROM w zwykły sposób, ponieważ dane w MCU PIC16F i PIC12F są umieszczane z adresu 2100p. Możesz to również zobaczyć w pliku .Ikr. Przykładowa linia:

CODEPAGE NAME=eedata START=0x2100 END=0x217F PROTECTED (przelewy warunkowe).

Różne dla kontrolerów PIC - tylko koniec obszaru danych (ze względu na różne objętości): dla PIC16F628 - 128, dla PIC16F871 - 64 bajty, ale jeśli wolumen potrzebny do pracy nie przekracza rozmiaru EEPROM wybranego zamiennika chip (dla PIC16F871 - 64 bajty), wtedy możesz programować bez zmiany typu MK w menu: nadwyżka pamięci PIC16F628 po prostu nie będzie używana. Jeśli trzeba zapisać większy wolumin, to w menu programatora należy zastąpić typ MK pojemnością pamięci zbliżoną do PIC16F628 (w naszym przypadku jest to PIC16F874 z EEPROM 128 bajtów) i pisać w zwykły sposób. Typ MK możesz zmienić w menu na dowolnym etapie programowania.

Należy zaznaczyć, że choć PIC16F874 posiada pamięć programu dwukrotnie większą od PIC16F628, to można do niej zapisywać informacje ustawiając w menu PIC16F874, a nawet PIC16F877 (16K), jednak przy sprawdzaniu nagrania programista wyświetli komunikat Komunikat o błędzie. Faktem jest, że podczas odczytu części pamięci, która nie jest zaimplementowana w PIC16F628, MK wygeneruje informacje zapisane w niższych adresach (ignorowane są wysokie bity adresu), czyli pamięć programu zostanie odczytana dwukrotnie (w PIC16F877 - cztery czasy). Innymi słowy, nie jest to błąd w programie, ale ponowne odczytanie pamięci; program jest napisany normalnie.

literatura

  1. Dolgiy A. Rozwój i debugowanie urządzeń na MK. - Radio, 2001, nr 6, s. 24. 26-7: nr 19, s. 21-XNUMX: XNUMX-XNUMX.

Autor: A.Sizov, Ivanovo

Zobacz inne artykuły Sekcja Mikrokontrolery.

Czytaj i pisz przydatne komentarze do tego artykułu.

<< Wstecz

Najnowsze wiadomości o nauce i technologii, nowa elektronika:

Hałas drogowy opóźnia rozwój piskląt 06.05.2024

Dźwięki, które otaczają nas we współczesnych miastach, stają się coraz bardziej przeszywające. Jednak niewiele osób myśli o tym, jak ten hałas wpływa na świat zwierząt, zwłaszcza na tak delikatne stworzenia, jak pisklęta, które nie wykluły się jeszcze z jaj. Najnowsze badania rzucają światło na tę kwestię, wskazując na poważne konsekwencje dla ich rozwoju i przetrwania. Naukowcy odkryli, że narażenie piskląt zebry rombowatej na hałas uliczny może spowodować poważne zakłócenia w ich rozwoju. Eksperymenty wykazały, że zanieczyszczenie hałasem może znacznie opóźnić wykluwanie się piskląt, a pisklęta, które się wykluwają, borykają się z szeregiem problemów zdrowotnych. Naukowcy odkryli również, że negatywne skutki zanieczyszczenia hałasem rozciągają się na dorosłe ptaki. Zmniejszone szanse na rozrodczość i zmniejszona płodność wskazują na długoterminowe skutki, jakie hałas drogowy wywiera na dziką przyrodę. Wyniki badania podkreślają taką potrzebę ... >>

Bezprzewodowy głośnik Samsung Music Frame HW-LS60D 06.05.2024

W świecie nowoczesnych technologii audio producenci dążą nie tylko do nienagannej jakości dźwięku, ale także do łączenia funkcjonalności z estetyką. Jednym z najnowszych innowacyjnych kroków w tym kierunku jest nowy bezprzewodowy system głośników Samsung Music Frame HW-LS60D, zaprezentowany podczas wydarzenia World of Samsung 2024. Samsung HW-LS60D to coś więcej niż tylko system głośników, to sztuka dźwięku w stylu ramki. Połączenie 6-głośnikowego systemu z obsługą Dolby Atmos i stylowej konstrukcji ramki na zdjęcia sprawia, że ​​produkt ten będzie idealnym dodatkiem do każdego wnętrza. Nowa ramka Samsung Music Frame jest wyposażona w zaawansowane technologie, w tym Adaptive Audio zapewniający wyraźne dialogi na każdym poziomie głośności oraz automatyczną optymalizację pomieszczenia w celu uzyskania bogatej reprodukcji dźwięku. Dzięki obsłudze połączeń Spotify, Tidal Hi-Fi i Bluetooth 5.2, a także integracji inteligentnego asystenta, ten głośnik jest gotowy, aby zaspokoić Twoje ... >>

Nowy sposób kontrolowania i manipulowania sygnałami optycznymi 05.05.2024

Współczesny świat nauki i technologii rozwija się dynamicznie i każdego dnia pojawiają się nowe metody i technologie, które otwierają przed nami nowe perspektywy w różnych dziedzinach. Jedną z takich innowacji jest opracowanie przez niemieckich naukowców nowego sposobu sterowania sygnałami optycznymi, co może doprowadzić do znacznego postępu w dziedzinie fotoniki. Niedawne badania pozwoliły niemieckim naukowcom stworzyć przestrajalną płytkę falową wewnątrz falowodu ze stopionej krzemionki. Metoda ta, bazująca na zastosowaniu warstwy ciekłokrystalicznej, pozwala na efektywną zmianę polaryzacji światła przechodzącego przez falowód. Ten przełom technologiczny otwiera nowe perspektywy rozwoju kompaktowych i wydajnych urządzeń fotonicznych zdolnych do przetwarzania dużych ilości danych. Elektrooptyczna kontrola polaryzacji zapewniona dzięki nowej metodzie może stanowić podstawę dla nowej klasy zintegrowanych urządzeń fotonicznych. Otwiera to ogromne możliwości dla ... >>

Przypadkowe wiadomości z Archiwum

Merkury na tle Słońca 07.11.2003

2003 maja XNUMX r. miało miejsce dość rzadkie wydarzenie astronomiczne - przejście Merkurego przez dysk słoneczny.

Proces trwał około pięciu godzin, podczas których uwaga astronomów z całego świata skupiona była na małym czarnym okręgu na Słońcu. Zjawisko to powtarza się w ciągu stulecia 13 lub 14 razy. Astronomowie po raz pierwszy zaobserwowali to w 1631 roku.

Ostatni raz, kiedy Merkury był widziany na tle tarczy słonecznej, miał miejsce w 1993 roku, kolejne takie zdarzenie spodziewane jest w 2016 roku.

Inne ciekawe wiadomości:

▪ Starożytni ludzie zatruci metalami ciężkimi

▪ Attoclocki zdolne do pomiaru parametrów czasowych ruchu elektronów

▪ Za ścianą widoczne są mikroobiekty

▪ chirurg robot

▪ pająk robot

Wiadomości o nauce i technologii, nowa elektronika

 

Ciekawe materiały z bezpłatnej biblioteki technicznej:

▪ sekcja serwisu Parametry komponentów radiowych. Wybór artykułów

▪ artykuł Samochód osobowy. Historia wynalazku i produkcji

▪ artykuł Kiedy powstały szkoły? Szczegółowa odpowiedź

▪ Artykuł Elderberry śmierdzi. Legendy, uprawa, metody aplikacji

▪ artykuł Pralka ultradźwiękowa. Encyklopedia elektroniki radiowej i elektrotechniki

▪ artykuł Przeróbki podstacji i instalacji. Zakres, definicje. Encyklopedia elektroniki radiowej i elektrotechniki

Zostaw swój komentarz do tego artykułu:

Imię i nazwisko:


Email opcjonalny):


komentarz:





Wszystkie języki tej strony

Strona główna | biblioteka | Artykuły | Mapa stony | Recenzje witryn

www.diagram.com.ua

www.diagram.com.ua
2000-2024