Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

FT232R - ultra prosty programator AVR + USB/RS232 za free

mirekk36 19 Lut 2011 16:51 91655 159
  • FT232R - ultra prosty programator AVR + USB/RS232 za free

    Witam,

    Ostatnio w wyniku dużej chęci rozgryzienia tematu wykorzystania układu FT232R do programowania procesorków AVR, postanowiłem zbudować taki prosty ale jakże przydatny programator dla każdego. Często nowe płyty główne lub notebooki nie posiadają już gniazda LPT więc odpadają proste programatory jak "Simple Programmer" itp.

    Często natomiast używamy w swoim warsztacie miłych układzików FT232R jako przejściówek USB/RS232. Czemu by więc nie ożenić tego z programatorem? Proszę bardzo. Poniżej prezentuję taką możliwość. Do wykonania przez każdego, nawet początkującego elektronika. (No może lutowanie trzeba troszkę poćwiczyć ze względu na mały raster pinów FT232R).

    FT232R - ultra prosty programator AVR + USB/RS232 za free

    (oczywiście można sobie jeszcze dodać dwie diody sygnalizujące pracę RS232 zgodnie z notą PDF tego scalaczka.

    Koszty - pomijalnie NISKIE !!! w takim przypadku. Cóż my tu mamy?

    1. Gniazdo USB
    2. Układ FT232R
    3. Trzy kondensatorki
    4. Gniazdko szpilkowe 10pin (złącze ISP KANDA + rozszerzenie dla RS232)
    5. Płytka PCB

    FT232R - ultra prosty programator AVR + USB/RS232 za free

    Czegóż chcieć więcej - prostota, wygoda, niska cena - same zalety.

    Aby jednak skorzystać można było z takiego programatora należy albo, pobrać z internetu odpowiednią wersję avrdude albo, pobrać program MkAvrCalculator . Ten ostatni jest pięknie przystosowany do tego aby w całkowicie naturalny sposób tak jak to robimy przy pomocy innych programatorów dokonywać programowania naszych procków AVR. Jedyny mankament na dzień dzisiejszy to to, że występują problemy z odczytem EEPROM'a w procku (jeszcze nie wiem dlaczego ale pracuję nad tym). Natomiast to co nas najbardziej interesuje czyli programowanie/odczytywanie FLASH lub FUSEBITÓW działa w pełni zadowalająco.

    Tu widać miejsce w programie, dzięki któremu ustawiamy/wybieramy nasz programator ;)

    FT232R - ultra prosty programator AVR + USB/RS232 za free

    Nawet więcej - można programowo spowalniać jego działanie (kliknięcie jednego "ptaszka" w programie tak aby obsługiwać procesorki taktowane fabrycznie prędkością 1MHz.

    FT232R - ultra prosty programator AVR + USB/RS232 za free

    Tego typu programator wykorzystałem od razu w zestawie uruchomieniowym, który zawiera taki miły scalaczek, wystarczyło dorobić "sprytny" kabelek, żeby nie plątały się pojedyncze przewody proszę:

    FT232R - ultra prosty programator AVR + USB/RS232 za free

    tak to działa sobie w całym zestawie nawet z włączoną kartą ATB-Ethernet "na kanapkę" ;)

    FT232R - ultra prosty programator AVR + USB/RS232 za free


    Fajne!
  • #2 19 Lut 2011 17:36
    tmf
    Moderator Mikrokontrolery Projektowanie

    Można i tak. Ale dlaczego po prostu nie kupić AVR-ISP, lub jak ktoś chce AVR-ISPMkII? Osobiście nie lubię programatora na gołym FT, bo jest wolny - nie jest to wina samego programatora, lecz USB. Stąd też lepiej wsadzić tam procesor i wysyłać paczki danych, tak jak to robi oryginalny AVR-ISP, a zamiast tandemu FT+AVR wsadzić od razu np. ATMega16U2 lub zrobić programowe USB na zwykłym AVR (tylko po co, skoro w tej samej cenie można to mieć bez kombinowania).

  • #3 19 Lut 2011 17:47
    mirekk36
    Poziom 42  

    tmf napisał:
    Można i tak. Ale dlaczego po prostu nie kupić AVR-ISP, lub jak ktoś chce AVR-ISPMkII?


    Ależ proszę mnie źle nie zrozumieć. Ja zdecydowanie nie proponuję i nie preferuję tego rozwiązania jako docelowego. Pewnie, że warto złożyć czy kupić lepszy programator. W 100% się zgadzam.

    Moim celem było jednak pokazanie bardzo taniej alternatywy dla najprostszych programatorów pod LPT ale też tego, że czasem gdy np ktoś sam buduje sobie jakiś programator i potrzebuje zaprogramować procka, jak choćby w USBASP - ATmega8 ...... to takie rozwiązanie "jak znalazł" ;) ..... Poza tym sam często znajduję się przypadkowo w takiej sytuacji, że zapomnę programatora sprzętowego a pod ręką mam i tak przejściówkę USB/RS232 właśnie na FT232. No to znowu - RATUNEK z takiej opresji ;) .....

    Po to więc warto mieć takiego mikrusa w odwodzie skoro i tak, jak wspominałem wcześniej zwykle mamy pod ręką przejściówkę USB/Rs232. A wtedy nawet jeśli nie mamy takiej płytki to co za problem na pająka 4 przewody wyprowadzić z takiej przejściówki ???? ŻADEN.

    Reasumując - to nie ma być rozwiązanie zastępujące jakieś porządne programatory jak np: AVR-ISPMkII, AVR-DRAGON itp ;) .... to ma być rozwiązanie na tzw wypadek, gdy np główny programator padnie, zabraknie, coś będzie szwankował i nie wiadomo z jakiego powodu - wtedy zawsze można takim "pikusiem" się posłużyć żeby coś tam sprawdzić. Mnie się to w takich sytuacjach - chociaż od niedawna tym się posługuje - to już przydaje ;)

  • #4 19 Lut 2011 18:03
    tmf
    Moderator Mikrokontrolery Projektowanie

    No tak, awaryjnie jest to ok. Tylko takie małe ostrzeżenie - najlepiej, żeby programowane urządzenie było zasilane z USB. Szczególnie jeśli korzystamy z USB 3.0. Napięcie na nim może wynosić min. 4V, + diody zabezpieczające 0,6V = 4,6V max napięcie na wejściach FT. Jeśli układ będzie zasilany z 5V to potencjalnie może się pojawić problem.
    Ja w swoich układach jak mam FT na pokładzie to go wykorzystuje jako programator tak jak w tym twoim układzie - dzięki temu mam łatwość updatowania firmware i nie muszę robić bootloadera w takich układach oraz gniazda ISP. Ale ostatnio staram się zapomnieć o FT i przechodzę na chipy ATMegaxxxU2. Z genialnym LUFA jest to fajne i tanie rozwiązanie. Niestety takiego dongla trzeba programować albo przez programator, albo przez bootloader (co nie jest problemem bo wszystkie U2 mają firmowo załadowany bootloader DFU).

  • #5 19 Lut 2011 19:00
    mirekk36
    Poziom 42  

    Tak, z tym zasilaniem wyprowadzonym to oczywiście tylko przykład, że można. A żeby go używać to jak najbardziej trzeba wziąć te wszystkie aspekty pod uwagę o jakich piszesz.

    Rzeczywiście fajna alternatywa także dla bootloadera w pewnych przypadkach - SUPER ;)

    A z ciekawości też będę musiał powalczyć z LUF'ą ;)

  • #8 19 Lut 2011 21:51
    grzeniu_pl
    Poziom 14  

    W jakis sposób programowo realizujesz wymianę danych z uC ? Korzystasz z driverów D2XX i dll'ki ?

  • #9 19 Lut 2011 21:58
    Dar.El
    Poziom 40  

    Witam
    Jesteś wielki :!: . Tak prosty programator, bardziej już chyba uprościć się nie da :D . Całą robotę przerzuciłeś na program na PC, więc umiesz programować uP i PC i korzystasz z tego. Teraz tylko trzeba uruchomić produkcję, aby ci biedniejsi mogli bawić się w programowanie. Ciekawe za ile można by było zrobić programator w ilościach hurtowych?

  • #11 19 Lut 2011 22:22
    mirekk36
    Poziom 42  

    Panowie przede wszystkim podpowiem, że program MkAvrCalculator to tylko nadal nakładka graficzna na avrdude. Jednak z uwagi na to, że ten programator obsługuje specyficzna kompilacja avrdude to jest o tyle zagwozdka w programie-nakładce, że dynamicznie że tak powiem "w locie" podmienia sobie avrdude na taką wersję jaką potrzebuje w danym momencie przy wyborze odpowiedniego programatora. Tak to z grubsza działa .... ale efekt jest o tyle miły , że oto nagle mamy wszystko w spoób niezauważalny pod ręką - jakby w starym programie. I użytkownika nie obchodzi, że trzeba sobie szukać i dogrywać inny avrdude, inny plik *.config i że jeszcze w specyficzny sposób trzeba to obsługiwać.

    Generalnie na pewno warto to sprawdzić, bo wbrew pozorom prędkość programowania procków z taktowaniem większym niż 1MHz jest na prawdę spora - powiedziałbym, że prawie porównywalna do prędkości USBASP. Ale tam, nawet jeśli jest wolniejszy to nie takie istotne bo jest to i tak najtańsza i najprostsza chyba wersja pod USB ;)

    Dodano po 2 [minuty]:

    SylwekK napisał:
    Kurcze, zaszalałeś mirekk36 :) Ciekaw jestem czy wyszedł by jeszcze ślub z Bascomem... ale to pewnie MSC już musiał by to pobłogosławić :)


    hmmm dobre pytanie, jak bym miał czas to bym może i to dopracował jeszcze. Tyle że i na dzień dzisiejszy można sobie spokojnie podłączyć program MkAvrCalculator pod Bascoma, żeby był wywoływany automatycznie po naciśnięciu klawisza do programowania. Ale jeśli udałoby mi się dorobić (potrzebny czas) żeby wywoływać go z parametrami takimi jak potrzebuje Bascom - to można byłoby to jeszcze bardziej uprościć i zrobić w sposób przeźroczysty dla usera Bascoma ;)

  • #12 19 Lut 2011 22:54
    Qujav
    Poziom 22  

    Jest szansa, że pojawi się jako produkt komercyjny w Waszym sklepie ?
    "Dzieło sztuki" :)

  • #13 19 Lut 2011 23:16
    naelektryzowany
    Poziom 17  

    Elementy jak na bootloader USB, tak zresztą myślałem do puki nie przeczytałem opisu. Jeżeli programowanie jest szybkie, programator działa stabilnie, to może zrobię w niedalekiej przyszłości, lecz pewnie w wersji na rs232 (mam w płycie głównej dwa porty com1/2 jeden do testów a drugi wolny...na razie) szkoda tylko, że jeden max232 do konwertowania sygnałów nie wystarczy.

  • #14 19 Lut 2011 23:21
    mirekk36
    Poziom 42  

    naelektryzowany napisał:
    Elementy jak na bootloader USB, tak zresztą myślałem do puki nie przeczytałem opisu. Jeżeli programowanie jest szybkie, programator działa stabilnie, to może zrobię w niedalekiej przyszłości, lecz pewnie w wersji na rs232 (mam w płycie głównej dwa porty com1/2 jeden do testów a drugi wolny...na razie) szkoda tylko, że jeden max232 do konwertowania sygnałów nie wystarczy.


    Niestety nie pójdzie to w wersji na zwykły RS232 podłączany do zwykłego portu COM. :( .... wykorzystywane jest tu bezpośrednie programowanie FT232R przez bibliotekę ftd2xx.dll

  • #15 20 Lut 2011 00:13
    p4trykx
    Poziom 16  

    Fajne rozwiązanie choć jeśli chodzi o koszty to chyba wychodzi mniej więcej na to samo co zastosowanie Atmega8 ze znanego AVRUSB np. http://www.elektroda.pl/rtvforum/topic630756.html
    Dużą zaletą, jest to, że w przeciwieństwie do Atmegi nie musimy programować układu jak jeszcze nie mamy programatora.

    Ja kupiłem ft232rl na płytce z wyprowadzeniami i złączem USB-B. W zależności od potrzeby przepinam to do różnych testowych rozwiązań.

  • #16 20 Lut 2011 00:19
    mirekk36
    Poziom 42  

    p4trykx napisał:
    Dużą zaletą, jest to, że w przeciwieństwie do Atmegi nie musimy programować układu jak jeszcze nie mamy programatora..


    No właśnie o to chodzi, dobrze powiedziane ;) .... a do tego dodam, bo ktoś wyżej pytał, że rozwiązanie to działa bardzo stabilnie i bez żadnych fochów.

    Jeszcze tylko została mi jednak kwestia na gorąco do rozpracowania, bo po zaprogramowaniu w trybie BitBang - układ FT232 pozostaje w takim stranie, że cały czas trzyma sciągnięty pin RESET do GND przez co trzeba wyjąć wtyczkę USB i włożyć ponownie żeby układ ruszył - ale jak mówię:

    'I'm working on it - just a moment please' ;) .... jeszcze kilka chwil albo nawet kolejna nocka jak będzie trzeba i problem naprawimy szybciutko. Tzn posprzątamy programowo po tym co narozrabiał avrdude kończąc programowanie. ;)

  • #17 20 Lut 2011 01:48
    aktus
    Poziom 17  

    Ja sam osobiście zastanawiam się kiedy producenci wpadną na pomysł programowania uC bezpośrednio po USB. To by tyle ułatwiło...

  • #18 20 Lut 2011 03:39
    Jimi Hendrix
    Poziom 19  

    http://doswa.com/blog/2009/12/20/sparkfuns-ftdi-basic-breakout-as-an-avr-programmer/

    tutaj jest i na linuksa i windowsa z prostym parulinijkowym configiem i bez użycia płatnego programu mirkka36

    do pliku avrdude.conf dodajemy następujące linijki:

    Code:
      id = "ftdi";
    
      desc = "FTDI Basic Breakout";
      type = ft245r;
      miso = 1; # RxD
      sck = 3; # CTS
      mosi = 0; # TxD
      reset = 4; # DTR


    by zaprogramować do linii polecenia dla avrdude dodajemy:
    Cytat:
    -c ftdi


    chyba prościej się nie da i możemy zadeklarować, które linie używamy do którego wyprowadzenia SPI

  • #19 20 Lut 2011 04:04
    mirekk36
    Poziom 42  

    No bardzo fajnie, że jest coś takiego na linuxa za free. Na windows też na pewno znajdzie się coś takiego za free - co za problem ;) ????? Ciekawe jak długo będą się jeszcze co niektórzy prześcigać w takich rewelacyjnych doniesieniach. Ważne jest to, że nie ma takiego programu jak MkAvrCalculator ;) bo to ja go napisałem i ma swoje grono zwolenników.

    A ja sam na początku pisałem że całkiem za darmo każdy może sobie to samo robić za pomocą avrdude pod każdym systemem, pod którym on działa - proszę bardzo. (nawet masz dokładnie tę samą rozpiskę pinologii co configa avrdude)

    Ok a teraz przejdźmy do rzeczy. Właśnie zakończyłem pracę nad pewną WAŻNĄ OPCJĄ !!!

    bo jak doczytałem to wiele różnych nakładek tego typu oraz sam avrdude mają problem o jakim pisałem, że po takim zaprogramowaniu czy odczycie przez FT232 - następuje RESET procesorka na STAŁE - i jak tłumaczy wiele manuali do takiego rozwiązania - trzeba jedynie wyjąć wtyczkę USB i włożyć żeby było OK.

    A w moim rozwiązaniu NIE TRZEBA !!! wyjmować wtyczki - ponieważ wszystko pięknie działa - ale nie na poziomie avrdude tylko sam dokonuję specjalnego programowego resetu scalaka - dzięki czemu po każdej operacji procek jest gotowy do pracy ;)

    Druga rzecz to taka, że dodany został od razu taki FEATURE, że przy okazji od razu wyświetla się nam ładnie numerek portu COM w komputerze na jakim mamy podłączony tą przejścióweczkę FT232R.

    Czyli wszystko w jednym :) .... wygodnie, prosto i bardzo przydatnie, proszę sprawdzić. Poniżej widok programu z tym o czym pisałem wyżej:

    FT232R - ultra prosty programator AVR + USB/RS232 za free

  • #20 20 Lut 2011 06:11
    Jimi Hendrix
    Poziom 19  

    fajny programik.
    jedyne co bym zrobił na Twoim miejscu, to wsadził ten plik z locale (default.mo - to chyba jakiś plik z komunikatami, nie) to wnętrza programu (jako resource, jest kompilator w folderze bin delphi, nazywa się brcc - resource compiler). Wtedy byś mógł go rozprowadzać jako jednego EXEca, bez konieczności tworzenia archiwum. zawsze wygodniej dla użytkownika, dwie wersje - portable executable i pełny instalator, gdzie dodatkowo instalujesz potrzebne rzeczy jak avrdude czy co tam jeszcze.
    do tego możesz skompresować program UPXem, jak ja próbowałem, to Twój program wszedł o 11% mniejszy.

    pozdrawiam serdecznie

  • #21 20 Lut 2011 08:55
    Komar91
    Poziom 18  

    witam

    czy do programowania µC można wykorzystać zasilanie z tego programatora czy trzeba podłączyć zewnętrzne?

    a poza tym ta płytka jest dwustronna więc początkujący może mieć problemy z wykonaniem jej

  • #22 20 Lut 2011 09:14
    maxiomax
    Poziom 12  

    Świetne! Zaraz zamawiam części :D Mógłbyś dodać plik eagle z płytką?

  • #23 20 Lut 2011 12:11
    mirekk36
    Poziom 42  

    Jimi Hendrix napisał:
    fajny programik.
    jedyne co bym zrobił na Twoim miejscu, to wsadził ten plik z locale (default.mo - to chyba jakiś plik z komunikatami, nie) to wnętrza programu (jako resource, jest kompilator w folderze bin delphi, nazywa się brcc - resource compiler). Wtedy byś mógł go rozprowadzać jako jednego EXEca, bez konieczności tworzenia archiwum.


    Tak tak, wiem jak się dodaje resource do programu i stosuję to w bardzo zaawansowany sposób ale nie z tym co jest w folderze locale. Tam są - mogą być umieszczane różne wersje językowe. Jeśli np ktoś nie wgra sobie tego locale to program będzie działał tyle, że po angielsku. Natomiast jeśli ktoś zechce to edytorem POEDIT.exe może sobie zrobić translację na dowolny inny język np niemiecki, hiszpański itp ;)


    Jimi Hendrix napisał:
    zawsze wygodniej dla użytkownika, dwie wersje - portable executable i pełny instalator, gdzie dodatkowo instalujesz potrzebne rzeczy jak avrdude czy co tam jeszcze.


    Czyli jak na razie jest to właśnie taka wersja portable jak to nazwałeś - tylko plik językowy trzeba sobie wgrać chociaż nie trzeba.

    Jimi Hendrix napisał:
    do tego możesz skompresować program UPXem, jak ja próbowałem, to Twój program wszedł o 11% mniejszy.


    Kiedyś stosowałem różne tego typu kompresory, ale już od dawna zrezygnowałem bo po pierwsze nie zawsze program chce działać po takim spakowaniu a po drugie wewnętrzne resources'y i tak trzymam wewnątrz programu skompresowane. Są rozpakowywane w locie jako różne pliki zewnętrzne gdy są potrzebne. Z tego powodu też jak widzisz procent kompresji UPX'em wyszedł ci taki mały - tylko 11%.

    Komar91 napisał:
    czy do programowania µC można wykorzystać zasilanie z tego programatora czy trzeba podłączyć zewnętrzne?


    No właśnie po to pokazałem taką przykładową płytkę i schemat, żeby każdy zobaczył, że zasilanie z USB jest ładnie wyprowadzone na zewnątrz do układu i można z niego skorzystać do programowania procka i całego układu. Tylko warto zanim się z tego skorzysta zbadać w ogóle miernikiem czy mamy na pewno w USB napięcie większe niż przynajmniej +4,5V - +4,7V

    Co do płytki to spokojnie - jak pisałem to jest taka super uproszczona wersja ale przydałoby się właśnie dołożyć jeszcze jumperka do włączania/wyłączania zasilania na zewnątrz i ew kilka innych drobnych bajerków. Niedługo się to ukaże - proszę obserwować stronkę.

  • #24 20 Lut 2011 13:13
    Komar91
    Poziom 18  

    A czy testowałeś ten układ pod win7 bo zawsze jest z tym problem?

  • #25 20 Lut 2011 13:17
    mirekk36
    Poziom 42  

    Komar91 napisał:
    A czy testowałeś ten układ pod win7 bo zawsze jest z tym problem?


    Ja cały czas pracuję pod Win7 Ultimate 64bit więc to podstawa że musi tu działać jak o tym piszę ;) .... ale spokojnie testowałem też na Win XP i Win Vista.

    Powiem więcej - jakość tego rozwiązania na różnych systemach gwarantują wręcz w pewnym sensie sterowniki do FT232R bo one nie mają nigdy żadnych problemów z działaniem na żadnym systemie ;)

    Więc spokojnie wszystko pięknie działa.

  • #27 20 Lut 2011 13:38
    mirekk36
    Poziom 42  

    Komar91 napisał:
    na schemacie zauważyłem, że FT232R ma niewykorzystaną linie DTR czy na przykład po drobnych przeróbkach schematu można by było zrobić z tego termometr FT232R - ultra prosty programator AVR + USB/RS232 za free
    ze strony http://grzesiek21.republika.pl/termo.htm


    ;) myślę że tak, fajny pomysł - tylko trzeb popróbować bo akurat są jeszcze wolne linie DTR i RTS - więc jak najbardziej ;)

    Proszę bardzo ile od razu takich dodatkowych zastosowań wyjdzie tego programatorka ;)

  • #28 20 Lut 2011 13:52
    Kriti
    Poziom 14  

    Witam

    Może post nie dokładnie w temacie ale bardzo blisko związany, chodzi o programowanie AVR przez USB i układy FTDI. Osobiście używam czegoś takiego:


    AVREAL

    Współpracuje on z układem FT2232 ja wykorzystałem JTAG dla ARM bazujący na FT2232 dorabiając odpowiedni kabel jako przejściówkę ze złącza 2x20 na ISP ( u mnie 1x6 pinów).
    Minusem tego rozwiązania jest ze nie jest one otwarte, dostępność aktualizacji zależy od ukraińskiego autora.

  • #29 20 Lut 2011 13:58
    Komar91
    Poziom 18  

    czy układ jest sam wykrywany czy trzeba instalować jakieś dodatkowe sterowniki

  • #30 20 Lut 2011 14:02
    mirekk36
    Poziom 42  

    Kriti --> no to rzeczywiście fajne rozwiązanie ;) zamknięte, zależne od jakiegoś ukraińskiego autora ;) .... może ktoś poda jeszcze coś od chińskiego autora w chińskim języku. I znowu rozwiązanie konsolowe.

    Toż wolałbym już użyć gołego avrdude niż takich (sorki) dziwolągów ;)

    A tu mowa o ładnym okienkowym i w pełni zintegrowanym rozwiązaniu. Dodatkowo: prostyym, pochodzącym z Polski, od polskiego autora i rozwijającym się dalej ;)

    Dodano po 1 [minuty]:

    Komar91 napisał:
    czy układ jest sam wykrywany czy trzeba instalować jakieś dodatkowe sterowniki


    Tak trzeba zainstalować standardowe sterowniki do FT232RL ze stronki producenta. Bardzo łatwo je znaleźć a Win7 zdaje się że nawet sam to potrafi zrobić ;)

    Niedługo przygotuję pełen PACK do pobrania włącznie z gotowymi sterownikami.

 
Promocja -20%
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
tme