Oprogramowanie>"picuś2">instrukcja obsługi
3. Opis bloku "układ programowany"
Fragment okna głównego z zaznaczonym blokiem "układ programowany"
Blok ten umożliwia wykonywanie operacji związanych ze sprzętową stroną układu programowanego. W zależności od wybranego trybu pracy (PIC, SPI, I2C oraz MCW) dostępne są różne funkcje tego bloku.
3.1. Tryb "PIC"
Po wybraniu tego trybu pracy, lista modeli wypełni się obsługiwanymi przez programator modelami mikrosterowników PIC. Nazwy te są automatycznie posortowane w kolejności alfabetycznej. Wybór jakiegokolwiek układu z powyższej listy spowoduje ustawienie jego indywidualnych parametrów w bloku.
Wyboru układu dokonuje się ręcznie poprzez wybranie odpowiedniego układu z listy lub korzystając z funkcji "autodetekcja". Funkcja ta kryje się pod przyciskiem ze znakiem zapytania znajdującym się po prawej stronie listy z układami. Ważne jest by użytkownik miał świadomość, iż nie każdy mikrosterownik PIC może zostać rozpoznany przez programator. Uzależnione jest to od producenta układów. Jeżeli rozpoznanie układu nie jest możliwe to program zwróci na to uwagę użytkownikowi, który będzie zmuszony do samodzielnego wybrania modelu z listy.
Pod listą modeli znajduje się kilka elementów informacyjnych o wybranym układzie. Są to: pojemność pamięci programu oraz pojemność pamięci eeprom. Po ich prawej stronie znajdują się paski postępu, które służą do wizualizacji zajętości tych pamięci przez program. Paski te wskazują jakąkolwiek wartość dopiero po odczycie kodu z mikrosterownika, programowaniu mikrosterownika lub edycji kodu znajdującego się w pliku. Stan zajętości nie jest sprawdzany automatycznie po wybraniu układu.
Fragment okna głównego z zaznaczonym blikiem "układ programowany". Do programu załadowano przykładowe dane
Niżej znajduje się kilka pól edycyjnych, które są opisane kolejno.
Słowo konfiguracyjne określa podstawowe parametry pracy mikrosterownika PIC. Słowo to składa się z czterech znaków w systemie szesnastkowym. Nie jest to wartość dowolna i na pewno nie oznacza wyłącznie prędkosci pracy PICa.
Użytkownicy, którzy sami piszą programy powinni umieścic słowo konfiguracyjne w kodzie programu tak by zostało odczytane przez program komputerowy z pliku wraz z kodem programu. Osoby, które dysponują tylko kodem powinni upewnić się, że słowo to znajduje się w pliku lub znają jego wartość. Należy pamiętać, iż jeżeli w pliku zawarte jest słowo konfiguracyjne to nie wyświetli się ono bezpośrednio po związaniu z nim pamięci (Rozdział 4). Aby sprawdzić czy w pliku znajduję się słowo koniguracyjne, należy związać ten plik z wybraną pamięcią a następnie wybrać edycję tejże pamięci. Jeżeli w pliku znajdują się dodatkowe informacje to dopiero wtedy wyświetlone zostaną w okienku.
Możliwe jest również samodzielne ustawienie słowa konfiguracyjnego według instrukcji programowania konkretnego mikrosterownika. (instrukcja taka jest dostępna na stronie producenta PICów www.microchip.com). Odczyt oraz zapis słowa konfiguracyjnego do PICa odbywa się po wciśnięciu przycisków O - odczyt i Z - zapis.
Słowo identyfikacyjne to składający sie z czterech znaków szesnastkowych "ślad" programisty. Każdy, kto programuje układ może zapisać tam dowolną wartość. Nie ma ona wpływu na późniejsze działanie PICa, ale posiada wartość identyfikującą układ. Można zapisać tam numer licencji lub cokolwiek innego. Odczyt oraz zapis pozycji identyfikacyjnych do PICa odbywa się po wciśnięciu przycisków O - odczyt i Z - zapis.
Kalibracja oscylatora to wartość szesnastkowa wykorzystywana w mikrosterownikach PIC posiadających wewnętrzny oscylator. Fizycznie, wartość ta znajduje się w ostatniej komórce pamięci PICa i nie jest ona odczytywana podczas normalnego odczytu PICa. Niedoświadczony użytkownik nie powinien manipulować tą wartością. W przypadku mikrosterowników typu FLASH możliwy jest zapis tej wartości do PICa. Z układów OTP można tylko tą wartość odczytać. Odczyt oraz zapis kalibracji oscylatora do PICa odbywa się po wciśnięciu przycisków O - odczyt i Z - zapis.
Suma kontrolna to szesnastobitowa wartość zawierającą sumę wszystkich komórek pamięci programu PICa łącznie ze słowem konfiguracyjnym. Wartość tą można tylko odczytać za pomocą przycisku O.
Zalecane użycie przystawki to podpowiedź dla użytkownika, że wybrany układ musi zostać włożony w specjalną przystawkę podłączoną do programatora. Układ taki nie może zostać programowany bezpośrednio w programatorze (zwykle ze względu na ilość wyprowadzeń). Dodatkowo wprowadzono pewne oznaczenia dla układów, które posiadają 20 nóżek i mogą być programowane w podstawce programatora. Oznaczenia te to WDN - wystają dolne nóżki - oznacza, że należy włożyć układ tak by jego pierwsza nóżka weszła w nóżkę pierwszą podstawki a dwudziesta w osiemnastą, oraz WGN - wystają górne nóżki, czyli 2 nóżka PICa wchodzi w pierwszą nóżke podstawki a nóżki 1 i 20 układu wystają niepodłączone. W każdym innym przypadku PICa należy umieścić tak by jego pierwsza nóżka wchodziła w nóżkę pierwszą podstawki. Zasada ta ma zastosowanie również w przypadku PICów ośmionóżkowych.
3.2. Tryb SPI
Tryb ten umożliwia programowanie szeregowych pamięci typu SPI - 25Cxxx. Poza wyborem układu programowanego można ustawić jeszcze jeden parametr. Parametrem tym jest długość strony. Niestety różni producenci pamięci stosują różne długości stron w swoich produktach. Uniemożliwia to wprowadzenie uniwersalnych wartości w programie. Długość strony (wyrażona w bajtach) brana jest po uwagę tylko podczas zapisu danych. Im dłuższa jest strona tym szybciej programowana jest pamięć.
Podczas tworzenia programu stworzono po dwa pod-modele każdego modelu pamięci. Jeden z nich to "model uniwersalny", który posiada strone o długości 1 bajt a drugi to meodel o najbardziej popularnej długości strony. Użytkownik ma trzy możliwości programowania:
- Jeżeli długość strony programowanej pamięci zgodna jest z wyświetlaną wartością to pamięć gotowa jest do programowania.
- Jeżeli długość strony nie jest znana użytkownikowi to należy wybrać z listy "model uniwersalny" oznaczony gwiazdką [*] przed nazwą
- Jeżeli długość strony jest znana użytkownikowi i jest inna niż ta, która jest wyświetlana to należy bezpośrednio wpisać inną wartość w okienku. Długość strony podaje się w systemie dziesiętnym.
Fragment okna głównego z zaznaczonym blokiem "układ programowany". Wybrano tryb SPI
W trybie pamięci szeregowych niemożliwa jest autodetekcja układu.
3.3. Tryb I2C
Tryb ten umożliwia programowanie szeregowych pamięci typu I2C - 24Cxxx. Poza modelem pamięci, możliwe jest ustawienie jeszcze dwóch parametrów:
- Słowo adresowe - jest to fizyczny adres pamięci w magistrali I2C. Jeżeli użytkownik używa przystawki P2 do programowania pamięci to adres ten należy ustawić na A0. Jeżeli zaś użytkownik programuje pamięć w układzie, to należy dowiedzieć się jaki adres został tej pamięci przydzielony i taki właśnie adres wpisać w odpowiednim polu edycyjnym w formacie: A0 + Adr*2. Jeżeli adres pamięci to 111 (bin) to wartość, która należy wpisać w polu edycyjnym to AE (111b to 7h, czyli A0 + 7*2 = A0 + E = AE). Dzięki udostępnieniu użytkownikowi możliwości ingerencji w słowo adresowe programator PICUŚ może odczytywać dane ze wszelkich urządzeń typu i2c (po podaniu mu wymaganych informacji).
- Długość strony - jest to długość strony, na które są podzielone pamięci i2c. Długość strony jest zależna od producenta. Wartość ta jest używana wyłącznie podczas programowania i jest całkowicie obojętna podczas odczytu. Wszystkie informacje odnośnie długości strony podano w punkcie 3.2 przy okazji omawiania trybu SPI.
Fragment okna głównego z zaznaczonym blokiem "układ programowany". Wybrano tryb I2C
W trybie pamięci szeregowych niemożliwa jest autodetekcja układu.
3.4. Tryb MCW
W trybie tym możliwe jest programowanie pamięci typu Microwire - 93Cxx. Nie ma możliwości ustawienia tu jakichkolwiek dodatkowych parametrów. Wszelkie niezbędne dane zostały już ustawione w trakcie tworzenia programu.
Podczas programowania pamięci w tym trybie należy zwrócić uwagę na organizację układu pamięci. Organizacja ta może być 8-, 16- lub 8/16 bitowa. Pamięci z literką A są z założenia 8-bitowe a z literką B - 16-bitowe. Natomiast pamięci bez dodatkowych oznaczeń są zwykle 8/16 bitowe. Jeżeli pamięć 8/16-bitowa programowana jest za pomocą przystawki P2 to domyślnie ustawiona jest organizacja 8-bitowa. Informacja o organizacji jest istotna z punktu widzenia aplikacji, w której pamięć będzie funkcjonować.
Fragment okna głównego z zaznaczonym blokiem "układ programowany". Wybrano tryb I2C
W trybie pamięci szeregowych niemożliwa jest autodetekcja układu.
Mariusz Murawski, 602 58 85 93, info@picus.pl, www.picus.pl