Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 26 lut 2025, o 00:11


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 10 sty 2017, o 16:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 gru 2013
Posty: 121
Pomógł: 16

Przeciwnik : PIC24HJ128GP502 obudowa 28 nóżkowa DIP wąska .
Czemu ten model ?? ano ma na pokładzie dosyć bogate peryferia m.in CAN , DMA, zegar RTC i to mnie zachęciło :)
Dokładna specyfikacja :
http://www.microchip.com/wwwproducts/en/PIC24HJ128GP502

Żródło zakupu : ebay.com ok 6.8 USD za szt.

Wybrane uzbrojenie przeciwnika :
- architektura 16 bitowa (1 cykl na jedną instrukcję)
- CPU Speed (MIPS) 40
- pamięć programu 128 kB
- RAM 8 kB
- Peryferia : 2xUART, 2xSPI, 1xI2C, CAN, RTC (zegar czasu rzeczywistego), IrDA (encoding and decoding hardware),LIN
- DMA 8 kanałów
- 5 x Timer 16 bitowy
- 2 x Timer 32 bitowy
- 1 x Timer dla RTC

inne nie wymienione opcje.

Zasoby wojsk własnych :
- MPLAB-X IDE + MPLAB Code Configurator + kompilator XC16 pobrane ze strony producenta i zainstalowane na Linux Mint ver 17.3 Wszytko w wersji bezpłatnej, Trzeba jednak zauważyć, że kompilator w wersji bezpłatnej nie optymalizuje w pełni kodu wynikowego czego efektem jest mniej optymalny kod zajmujący więcej pamięci. Jest to jakaś wada ale mając na uwadze , że pamięci mamy sporo nie dostrzeżemy tego mankamentu w boju.
- programator PICKIT3

Pierwsze starcie :

- zdobycie i rozpoznanie planów przeciwnika w tym zapoznanie się z datasheet, dodatkowymi materiałami udostępnionymi na stronie producenta microchip.com .

Wnioski z rozpoznania : o ile datasheet w wykonaniu Atmela jest lekko strawny i przyjemny w odbiorze z wyczerpującą ilością informacji o tyle w przypadku PIC-a na pierwszy rzut oka delikatna niestrawność. PIC jednak dostarcza wyczerpujące informacje w dodatkowych materiałach i to już sprawia , że czujemy się lepiej.

- ustawienie zegara : peryferia i zegar konfigurujemy podobnie jak w ARM-ach ale w przypadku PIC zdecydowanie sympatyczniej i prościej to się dzieje (przynajmniej takie mam subiektywne odczucie) . Producent udostępnia wtyczkę do MPLAB-X IDE w postaci MPLAB Code Configurator, ustawiamy tutaj dowolne peryferia za pomocą klikania i pisma obrazkowego. Zdecydowanie ułatwia to początki nauki specyfiki PIC-ów ,ponieważ wtyczka wypluwa gotowe kody konfiguracyjne i stąd możemy szybko zapoznać się np. z ustawieniem dowolnego Timera w dowolnej konfiguracji i specyfiką dyrektyw.

Wszystko fajnie i nawet pięknie ale niestety wtyczka MPLAB Code Configurator była trochę wredna i nie obsugiwała mojego wypasionego mikrokontrolera. Spis obsługiwanych mikrokontrolerów przez wtyczkę jest na stronie producenta microchip.com/mcc.
W tym momencie trochę się obraziłem na microchipa ale co począć przecież nie wyrzucę z tego powodu procka do śmieci ,będzie trudniej ale pójście na łatwiznę podobno czasami nie popłaca.

Zegar skonfigurowałem na 40 MHz przy użyciu oscylatora wewnętrznego 7.37 MHz i PLL. Co ciekawe rdzeń procesora jest taktowany dwa razy szybciej czyli 80 MHz.
Najobszerniejsze i wyczerpujące informacje dotyczące ustawienia i trybów zegara uzyskałem z materiałów dodatkowych dostępnych na stronie microchipa : http://ww1.microchip.com/downloads/en/d ... 70308b.pdf
Na początku użyłem przykładowych kodów zawartych w w/w materiałach ale kompilator był uprzejmy mnie poinformować , że niektóre fragmenty kodu są już w przestarzałej konwencji i należy to zmienić więc zmieniłem.
Poniżej kod konfiguracyjny dla ustawienia zegara .
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


W sumie bez użycia wspomagacza w postaci MPLAB Code Generator udało się całkiem w zgrabny sposób ustawić zegar . Było miło i przyjemnie bez zacinek, wiedza była przyswajalna a materiały w szczególności dodatkowe, wyczerpujące. Warto zapoznać się z predefiniowanymi dyrektywami zawartymi w pliku nagłówkowym dotyczącym naszego mikrokontrolera (znajduje się w katalogu kompilatora XC16 ).

Reasumując wejście w świat PIC-a było zaskakująco łatwe i przyjemne, zarówno od strony softu jak i sprzętu oraz dostępnych informacji, kuszą tutaj bogate peryferia w szczególności w wersjach 16 i 32 bitowych a dla hobbystów miłe , że to wszystko w przyjaznych obudowach DIP. Dotychczas nie wychylałem się z podwórka AVR-ów ale po pierwszym ataku na PIC24 widzę, że warto .

_________________
http://strefapic.blogspot.com



Ostatnio edytowano 17 sty 2017, o 12:50 przez wat1970, łącznie edytowano 13 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 sty 2017, o 17:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 wrz 2014
Posty: 1530
Lokalizacja: Warszawa
Pomógł: 55

Bardzo fajny opis - aż kusi, żeby samemu pogmerać.... dzięki!!

_________________
--... ...-- - --- -- . -.-



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 sty 2017, o 17:53 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3216
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

Listingi wstawiamy tak: topic7402.html

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 sty 2017, o 20:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 gru 2013
Posty: 121
Pomógł: 16

Przepraszam już poprawiłem listing kodu.

_________________
http://strefapic.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 sty 2017, o 22:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 gru 2014
Posty: 88
Pomógł: 2

Dzięki "żołnierzu" za rozpoznanie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 sty 2017, o 22:51 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8609
Pomógł: 338

Żołnierzu ...
Obiekt rozpoznany , zadanie wykonane ...
czas na nowe wyzwania ...

mianowicie PIC32MX250x128 , ten osobnik również ukrył się w magazynach DIP ..

zadanie ...

Wytropić, rozpoznać i wykorzystać do cna technologie ....

odtajnione informacje : http://www.sunduino.pl/wordpress/sundui ... -prototyp/

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sty 2017, o 10:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 gru 2013
Posty: 121
Pomógł: 16

SunRiver napisał(a):
Żołnierzu ...
odtajnione informacje : http://www.sunduino.pl/wordpress/sundui ... -prototyp/


SunRiver wyrazy szacunku za Twoje artykuły na sunduino.pl, zaglądam tam często :) i nie wykluczone, że ten artykuł Twój w którymś momencie otworzył mi klapki na PIC-e :)

PIC32MX na płytce uruchomieniowej/testowej możemy nabyć tutaj : https://kamami.pl/chipkit/560600-zestaw ... -dp32.html
Co ciekawe pinologia PIC24 (16 bitowe) i PIC32MX (32 bity) jest w 95 % zgodna co umożliwia zamiennie stosowanie PIC24 i PIC32MX na płytkach.

PIC32MX może troszeczkę onieśmielać tą swoją 32 bitowością w szczególności jak widzimy rejestr 32 bitowy i dostajemy oczopląsu :) ale z tego co się pobieżnie zorientowałem na podstawie pliku nagłówkowego 32MX w kompilatorze ,PIC bardzo ładnie obudował strukturami rejestry czego efektem jest duża przyjazność i czytelność w pisaniu kodu dla tego fajowego procka.
W następnym kroku zabawy z PIC-ami na pewno rozpoznam 32MX ale póki co usiadłem na PIC24 i tutaj mam sporo jeszcze do rozpoznania :)

W następnym poście postaram się pokazać jak sterować portami i jak dokonfigurować PIC-a aby zechciał z nami poprawnie gadać. Tylko muszę sam to wnikliwie rozpoznać :) Ale już zasygnalizuję jako ciekawostkę , że mój PIC24 ma do każdego Portu przyporządkowany rejestr zatrzaskowy LAT, który ma podobno m.in za zadanie zmniejszenie zakłóceń w dystrybucji sygnałów czyli pewnie można to zrozumieć jako ogólnie większą odporność na zakłócenia PIC-a. Ale temat jest jeszcze do rozpoznania i dogłębnej analizy.

_________________
http://strefapic.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sty 2017, o 18:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 gru 2013
Posty: 121
Pomógł: 16

Warto wspomnieć jako ciekawostkę , że do mikrokontrolerów PIC serii 32 microchip udostępnia dedykowany kompilator języka C++.

_________________
http://strefapic.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2017, o 18:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 gru 2013
Posty: 121
Pomógł: 16

Pozwoliłem sobie stworzyć bloga na którym będę archiwizował moje postępy w zabawie z PIC-ami.
Na razie skupiam się na serii 16 bitowej, ponieważ jest to bardzo sympatyczna i ciekawa seria .
Blog traktuję jako pewnego rodzaju pamiętnik techniczny.
http://strefapic.blogspot.com/

_________________
http://strefapic.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sty 2017, o 17:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 gru 2013
Posty: 121
Pomógł: 16

To już jako ciekawostka techniczna, mianowicie PIC32MX250x128 (32 bitowiec) pędzony zegarem 50 MHz ma mniejszą wydajność w MIPS-ach niż PIC24HJ128GP502 (16 bitowiec) pędzony 40 MHz.

_________________
http://strefapic.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO