Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

AVR - Programatory- różnice

zeluzel 30 Maj 2013 16:43 2619 16
  • #1 30 Maj 2013 16:43
    zeluzel
    Poziom 8  

    Cześć,
    Chciałbym zacząć zabawę z mikrokontrolerami AVR, ale po lekturze internetów mam trochę mętlik w głowie. Konkretnie chodzi mi o wybór programatora. A więc...
    1. Czym różnią się programatory typu bitbang od programatorów buforowanych? Tak jak ja to rozumiem, bitbang wysyła pojedyńcze bity informacji bezpośrednio do µc, natomiast programatory buforowane same składają się z jakiś układów mikroprocesorowych, które składają bity w 'paczki' (bajty, kilka bajtów?), które następnie przesyłają do naszego układu. Jeśli dobrze to rozumiem, to jaka jest zaleta programatorów buforowanych? są bardziej odporne na zakłócenia? intuicyjnie powinny być raczej wolniejsze od bitbangowych LPT, a w internecie mówią, że LPT są o wiele wolniejsze.
    2. Jakie są niebezpieczeństwa używania prostych programatorów LPT? Czytałem, że te porty nie mogą być odłączane ot tak oraz nie można wyłączać komputera przy zasilanym µc, trzeba stosować filtrację sygnału i krótkie kable. Coś jeszcze? Czy te programatory są programatorami ISP (można zostawiać wpięty programator odpalając program, ew używać wyprowadzeń programujących do czegoś innego- poprawcie mnie, jeśli źle to rozumiem)?
    3. Czym różnią się drogie programatory od zwykłych usb za 40 zl? Szybkością transmisji? Jakie może to mieć znaczenie dla początkującego?
    Dodam, że chciałbym programować w c. Na pytania nie znalazłem odpowiedzi w sieci ani na forum

    0 16
  • #2 30 Maj 2013 17:32
    tmf
    Moderator Mikrokontrolery Projektowanie

    http://mikrokontrolery.blogspot.com/2011/04/atmel-studio-programatory-cz2.html
    http://mikrokontrolery.blogspot.com/2011/03/A...io-zalety-wspolpracujacych-programatorow.html
    http://mikrokontrolery.blogspot.com/2011/03/Atmel-Studio-Programator-USBasp-USBTiny.html

    Masz tam parę słów o programatorach. W szczególności jest napisane czym się różnią te "drogie" od tych "tanich".
    Co do punktu 1 - nie, buforowanie polega na czymś zupełnie innym. Takie programatory posiadają bufor zapewniający konwersję napięć i stanowią dodatkową ochronę.

    0
  • #3 30 Maj 2013 17:48
    Józef18
    Poziom 32  

    Buforowane programatory pozwalają na to iż nie uszkodzisz portu LPT no chyba że się bardzo postarasz.
    Ad2. Proste programatory czyli zawierające rezystory z łatwością mogą uszkodzić port LPT a nawet i cały komputer. Taki problem nie występuje jak się zastosuje buforowany.
    Co do odległości kabla hmmm ja mam dosyć duży przewód LPT i jakoś nie wpływa na sposób działania programatora.
    Co do wyboru to dobrze żeby miał możliwość uruchomienia na płycie np. zestaw z nowego elektronika 300-k sam takiego używam i nie narzekam.

    0
  • #4 30 Maj 2013 18:34
    piotrva
    Moderator na urlopie...

    Ogólnie powiem, iż wszystkie opcje LPT bym sobie odpuścił w dzisiejszych czasach.
    W nowych programatorach bufor zwykle oznacza to, iż programator może programować układy zasilane niemalże dowolnym napięciem (czyli niezależnie czy układ programowany działa na 5V, 3V3 czy inne napięcie). Niektóre tanie programatory takiego bufora nie mają, przez co bez samodzielnego kombinowania zwykle nie da się (bezpiecznie) programować układów zasilanych innym niż 5V napięciem.

    0
  • #5 31 Maj 2013 05:56
    zeluzel
    Poziom 8  

    Okej, dzięki za szybką odpowiedź. Czyli wychodzi, że posiłków za darmo jednak nie ma... Będę to musiał przemyśleć, bo faktycznie możliwość korzystania z fajnego IDE jest super. A jaka jest zaleta mikrokontrolerów zasilanych niższym napięciem (oprócz poboru prądu)? Na tutorialach które oglądałem zawsze zasilali 5V.

    0
  • #7 31 Maj 2013 11:07
    zeluzel
    Poziom 8  

    Okej, rozumiem. Poczytam jeszcze trochę, dzięki za naprowadzenie na dobry temat. A jak to jest z tym bitbangingiem? Co to dokładnie znaczy i czym droższe programatory różnią się w samej 'fizyce' przesyłania programu do pamięci mikrokontrolera? Widziałem, że najczęściej same mają jakiś procesor, czytałem też, że taki programator też trzeba osobno zaprogramować. Jak to, przynajmniej w zarysie, działa?

    0
  • Pomocny post
    #8 31 Maj 2013 11:40
    piotrva
    Moderator na urlopie...

    Ehh, to znaczy pojęcie to odnosi się głównie do programatorów typu "harcerskiego".
    Czyli zrobionych na LTP czy samym układzie FT232RL - wtedy wykorzystuje się ten tryb do programowania układów, żeby na dowolnych liniach symulować sygnały programujące.
    Osobiście te metody na dłuższą metę odradzam - nadaje się do zaprogramowania czegoś w sytuacji awaryjnej, ale w normalnej pracy nie ma sensu się męczyć.

    Co do wyboru programatora to polecam AVR ISP mkII (klony na pewnym serwisie aukcyjnym po 70-100zł). Świetnie współpracuje z oryginalnymi IDE od Atmela (Atmel/AVR Studio) i także z AVRDude i innymi wynalazkami, działa bardzo szybko, ma wbudowany bufor napięciowy, także ma dodatkowe oprócz ISP interfejsy - to jest wybór przyszłościowy i rozwojowy.

    Jeśli zaś masz bardzo ograniczony budżet i liczysz każdy grosz to od biedy USBasp za 30-40zł wystarczy i sporo nim zaprogramujesz, choć na pewno nie będzie to tak wygodna praca jak z tym droższym sprzętem.

    0
  • #9 31 Maj 2013 11:42
    tmf
    Moderator Mikrokontrolery Projektowanie

    Nie ma różnic, bo sposób przesyłania danych określa protokół programowania mikrokontrolera. Wiele programatorów ma procesory, ale one służą innym celom w zależności od typu programatora. Dla tanich (usbasp) procesor udaje urządzenie USB-device, najczęściej jest to jakaś ATMega8, w efekcie procesor jest średnio kompatybilny z USB, a całość działa wolno. W złożonych programatorach (np. AVRISPMkII) procesor ma sprzętowo realizowaną klasę USB-Device, a sam zajmuje się interpretacją protokołu wymiany danych pomiędzy IDE odpalonym na PC a programatorem. Tłumaczy polecenia na ciąg instrukcji ISP czy JTAG dla procesora. Programatory takie są znacznie szybsze w działaniu. Różnice to kilka-kilkanaście razy.
    No i tak jak kolega piotrva napisał, najistotniejszą cechą programatorów z buforami jest możliwość pracy z szerokim zakresem napięć zasilających, co jest o tyle istotne, że obecnie co raz więcej elementów pracuje z napięciem maks. 3,3V. W efekcie żeby je łączyć z MCU pracującym na 5V trzeba robić dziwne kombinacje. To dotyczy nie tylko kart SD, ale taże np. modułów radiowych (RFM22/23, RFM 70/73, BT czy ZigBee), różnych przetworników (ciśnienia, temperatury, itd.). Same procki co raz częściej mają też max 3,3V, np. z AVR rodzina XMEGA. Także 5V powoli przeżytek i wygodniej jest stosować niższe napięcia zasilania.

    0
  • #10 02 Cze 2013 21:30
    zeluzel
    Poziom 8  

    Okej, dzięki za informacje. Chyba zdecyduję się na prosty USBASP, na początek chyba wystarczy.

    0
  • #11 02 Cze 2013 21:50
    tmf
    Moderator Mikrokontrolery Projektowanie

    Pewnie wystarczy, tyle, że za 20-30 zł masz byle co, a za 50 zł masz fajnego klona świetnego programatora (AVRISPMkII). Niby to 2x tyle, ale to ciągle tylko 20zł różnicy.

    0
  • #12 03 Cze 2013 06:20
    zeluzel
    Poziom 8  

    No jest to do przemyślenia. A który z tych 'klonów' mógłbyś polecić? Widzę, że dużo układów się pod to podszywa. Na razie znalazłem takie:
    http://serwis.avt.pl/manuals/AVT988.pdf
    http://protech-micro.pl/Programator-AVR-ISP-USB-63.html
    Obydwa mają, jak to nazwaliście, konwerter napięć, ale nie wiadomo jak to jest z współpracą z atmel studio. Czy w okolicach 50 zł faktycznie można kupić taki programator? A może da się go wykonać samemu? Nie mam praktycznie żadnego doświadczenia z elektroniką, ale może znacie jakieś dobrze opisane projekty w sieci?
    //edit znalazłem jeszcze coś takiego: http://sklep.avt.pl/p/pl/487726/mini+programa...kontrolerow+avr+kompatybilny+z+stk500+v2.html . Generalnie jeśli chodzi o samodzielne wykonanie programatora, to chciałem spytać, czy osoba nie znająca się na elektronice praktycznej może temu podołać i nic nie schrzanić

    0
  • #13 03 Cze 2013 10:11
    tmf
    Moderator Mikrokontrolery Projektowanie

    Żaden z nich nie jest wersją MkII. Prosty test na MkII to czy programator programuje XMEGA, czyli czy obsługuje tryb PDI. Jeśli chcesz sam zrobić to tu są przykłądy:
    http://www.fourwalledcubicle.com/AVRISP.php
    i naszego kolegi:
    http://mdiy.pl/programator-usbtiny-mkii-slim/

    0
  • #14 03 Cze 2013 11:16
    piotrva
    Moderator na urlopie...

    Jak mówi Kol. @tmf - te programatorki na atmega8 sobie odpuść.
    A co do wykonania zależy jakie masz zdolności manualne i jak poradzisz sobie z lutowaniem SMD no i czy masz odpowiedni sprzęt do takiego montażu.
    Na pewno polecam programator w wydaniu ze strony mdiy.pl , a jeśli nie czujesz się na siłach w montażu SMD to czasem lepiej dopłacić ze parę złotych i kupić coś gotowego, niż samemu podczas montażu coś uszkodzić i i tak być w plecy pieniądze + czas.

    0
  • #15 03 Cze 2013 23:33
    zeluzel
    Poziom 8  

    No właśnie nie miałem z tym nigdy do czynienia, pewnie zanim bym się w tym wprawił, to na zepsute części wydałbym tyle, co na gotowy sprzęt.
    Tak marudzę, bo na AVRach chcę się nauczyć podstaw. Na uczelni mamy koło naukowe dot mikrokontrolerów i programowania, ludzie pracują tam na układach Freescale. Jako studenci możemy bardzo tanio /części są sprowadzane zdaje się z Chin/ skompletować tam sobie świetny, profesjonalnie zaprojektowany zestaw uruchomieniowy, z możliwością dołączenia wszelakich szpejów. Ja teraz na wakacjach chciałem poznać podstawy, żeby w przyszłym roku nie noobować, no i w takiej sytuacji nie wiem, czy opłaca mi się inwestować aż tak dużo w super programator do AVR...
    Właśnie, słyszeliście może coś o procesorach Freescale? Z tego co udało mi się wygooglować, to jest to chyba jakaś podfilia Motoroli. Ja jestem zupełnie zielony, ale akurat dzisiaj na laboratoriach doktor pozwolił mi się pobawić jednym z układów /nareszcie pomrugałem diodami ;p), i mają naprawdę świetne IDE. Właśnie wspominał też, że Atmel nie ma chyba jednego standardu tych programatorów /może chodziło właśnie o to, że np nie można używać Atmel Studio z niefirmowymi programatorami/ i są przez to dość uciążliwe w pracy...

    0
  • Pomocny post
    #16 04 Cze 2013 09:47
    tmf
    Moderator Mikrokontrolery Projektowanie

    Jeśli chcesz wejść w freescale to od razu odpuść sobie AVRy, strata czasu.
    Co do IDE z freescale, to zwykłe IDE oparte na eclipse, "darmowe" - w cudzysłowiu bo darmowa jest wersja do 32 kB kodu. A pełna wersja kosztuje tyle, że szkoda mówić.
    Atmel ma niezły standard programatorów, problem w tym, że te tanie usbasp nie mają żadnego standardu, dlatego też z Atmel Studio w pełni nie współpracują. Częściowo się je da połączyć:
    http://mikrokontrolery.blogspot.com/2011/03/Atmel-Studio-Programator-USBasp-USBTiny.html
    BTW, już 5 dni kontynuujesz wątek, którego celem jest ewentualne przyoszczędzenie 20-30zł. To ma jakiś sens?

    0
  • #17 04 Cze 2013 13:59
    zeluzel
    Poziom 8  

    Dobra, dobra, masz rację. Ten temat z blogu już przeczytałem, wgl rozumiem, że to ty go prowadzisz, tak? Dzięki za pomoc i sorry, jak zadaję głupie pytania, każdy kiedyś zaczynał. Lecą do was punkty, temat zamykam.

    0