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.

Zaprogramowanie atmega128 z podlaczonym max232

benedykt02 27 Lut 2009 10:35 1514 15
  • #1 27 Lut 2009 10:35
    benedykt02
    Poziom 8  

    Hejka.

    Kupiłem sobie moduł z atmegą, wszystko ładnie działa, tylko nie mogę
    go zmusić do komunikacji z kompem poprzez COMa oczywiście.

    Przeanalizowałem fuse bity, napisałem dużo testowych programików, sprawdziłem kabel COM, generalnie wydaje mi się że albo mam COM-a w laptopie zwalonego albo coś nie tak z max232/schematem.

    Zauważyłem także, że z podłączonym max232 do atmelka (poprzez 2 zworki TX i RX) nie moge go programować, czy to normalne?


    Z góry dzięki za odp.

    0 15
  • #2 27 Lut 2009 10:41
    elektryk
    Poziom 42  

    To dość dziwne, na jakiej płycie programujesz procesor, jakieś fabrycznej czy samoróbce?

    0
  • #3 27 Lut 2009 10:54
    mały naukowiec
    Poziom 20  

    Masz na pewno dobrze połączone między max232 a atmega?
    Bo może ci się tam pomyliło. W laptopie zewrzyj w comie pin 2 z 3 i sprawdź w hyperterminalu, czy da sie przesyłać znaki

    0
  • #4 27 Lut 2009 11:01
    benedykt02
    Poziom 8  

    hmm...kupiłem moduł uruchomieniowy, aby nie mieć problemów, a z tego co widać na zdjęciu aukcji trudno coś zle tam podłączyć, sa po prostu 2 zworki, które łączą atmela z max212 i już.

    fakt. zlutuje sobie loop konektora i podłącze do kompa i sprawdzę swojego coma :))

    ...co nie zmienia faktu, że dziwnie sie zachowuje moduł, bo nie mogę go programować przy podłączonym max232 do atmelka.

    0
  • #5 27 Lut 2009 16:11
    mały naukowiec
    Poziom 20  

    Może sie zapytaj sprzedawcy, czemu tak się dzieje?

    0
  • #6 27 Lut 2009 16:44
    benedykt02
    Poziom 8  

    :)))

    tak też dzisiaj zrobiłem.

    ale generalnie chodziło mi o potwierdzenie czy dobrze myślę.

    Że nie powinno być problemów z programowaniem atmegi, w momencie
    gdy podłączony jest w prawidłowy sposób do niego max232.

    Z wątku wnioskuje, że dobrze myślałem.

    0
  • #7 27 Lut 2009 19:01
    mały naukowiec
    Poziom 20  

    Ja tak robiłem i nie było żadnych problemów, tyle że ja miałem inną atmege. Napisz, co sprzedawca odpisał, bo też się zastanawiałem na tymi płytkami :D

    0
  • #8 27 Lut 2009 20:21
    kemot55
    Poziom 30  

    Oczywiście, że w tym procesorze będzie konflikt programowania i używania portu RS0 (są dwa RS'y). Programator szeregowy wykorzystuje linie PE0 i PE1, które są też liniami "portu" szeregowego. Rozwiązania są bardzo proste.
    1)
    Wgraj do ATM128 bootloader (możesz skorzystać z gotowca np. "CV Megaload". Na http://www.microsyl.com/ są wszystkie klocki) lub wklepać to co jest w "datasheet" dla procesora (wariant troszkę trudniejszy).
    Programowanie wtedy będzie się odbywać wyłącznie po porcie szeregowym nr 0.
    2)
    Przepnij MAX232 na "port" szeregowy nr 1 procesora ATM128 (ale tego nie polecam z różnych powodów)

    0
  • #9 27 Lut 2009 20:43
    Balu
    Poziom 38  

    @kemot55 a jakiez to problemy?:>
    L.

    0
  • #10 27 Lut 2009 22:11
    kemot55
    Poziom 30  

    Dlaczego nie przepiąć na port 1?
    Trudno po krótkim poście ocenić zdolności autora i po co wskazywać (we własnym odczuciu) trudniejszą ścieżkę. Skoro zakupił kit (i to pewnie nie tani) to rozumiem, że chce nauczyć się programować a nie "tworzyć" poprawki z "lutownicą w dłoni". Nie widzę osobiście jakiś problemów z tym portem. Może nie potrzebnie napisałem kilka słów.

    A tak na marginesie -> czytając problemy kolegów zaczynam się zastanawiać gdzie zaginęły "pasje poszukiwań" i uparte dążenie do celu.
    Czy na wszystko ma się znaleźć odpowiedź w Internecie?
    To tylko taka mała dygresja :|

    0
  • #11 27 Lut 2009 23:05
    Balu
    Poziom 38  

    Dygresja zrozumiała...
    Co do problemów to pojechałeś.

    0
  • #12 28 Lut 2009 10:32
    benedykt02
    Poziom 8  

    kupiłem kit bo mam pewien cel do zrealizowania
    a nie chciałem poświęcać czasu na lutowanie
    i poprawianie moich głupich błędów.

    Poza tym nie wiem czy nie jest taniej kupic kit niż
    szukac laminatu, chemii, pojemników, drukowac na foliach, naświetlać,
    czy żelaskiem prasować, kupować kondensatory, oporniki, procki
    o zdradzieckich cenach.

    co do odkrywania samemu, to zanim napisałem na forum z 1-2tyg. podchodziłem do problemu sam na różne sposoby.

    a teraz wróćmy do tematu, bo mnie temat mocno intryguje.

    Zgadzam sie, ze atmega128 wykorzystuje 2 piny uartu0 takze do
    programowania, jednakże czy to coś zmienia? według mnie nie.
    W momencie podpiecia programatora, zasilany jest uklad, razem z max232, ktory gdy dziala prawidlowo nie powinien zakłócać programowania. na Rxie bedzie cisza bo na kablu RS bedzie cisza
    a na TXie nawet jak programator cos poda to max232 przesle to
    dalej w swiat nie zakłócając programowania.

    druga sprawa, jak chce zmusic uart1 do pracy to tez nie działa.

    Prosze poprawcie mnie jak nie mam racji.
    Z góry dzieki i licze na konstruktywna dyskusje jaka byla dotychczas :)

    0
  • #13 28 Lut 2009 10:51
    mały naukowiec
    Poziom 20  

    Może niech ci sprzedawca po prostu wymieni :D
    Może masz uwalony max232 po prostu. Sprawdziłeś coma w laptopie?

    0
  • #14 28 Lut 2009 11:03
    marekos
    Poziom 15  

    benedykt02 napisał:
    na Rxie bedzie cisza bo na kablu RS bedzie cisza
    a na TXie nawet jak programator cos poda to max232 przesle to
    dalej w swiat nie zakłócając programowania.


    Z tym to akurat nie do końca tak będzie na Rx będzie stan spoczynkowy czyli po stronie TTL będzie 1 logiczne, natomiast wpinając się programatorem ten stan wysoki jeden z pinów od programatora będzie próbował zwierać żeby wymusić 0 logiczne, a to mu może się nie udać, a w konsekwencji programowanie nie będzie działać.

    Najprawdopodobniej te zworki są po to właśnie żeby w tym układzie w ogóle dało się zaprogramować procesor, trochę to dziwne bo można było dorzucić buforek i to wyjście Rx ustawić w tri-state na czas programowania i po kłopocie.

    Możesz jeszcze pomyśleć o programowaniu przez JTAG.

    0
  • #15 28 Lut 2009 14:59
    kemot55
    Poziom 30  

    Kolega marekos ma rację. Żeby układy działały razem nie można robić "zwarcia na drucie". Chyba, że pomiędzy MAX'em a µP jest jeszcze jakiś układ logiczny (tak jak sugeruje kolega marekos).
    I generalnie do kolegi benedykt02 -> gdybym uważał, że autor tematu jest leniem i nie chce mu się myśleć to bym się nie odzywał.
    Projektuje układy procesorowe od wielu lat i akurat to że w ATM128 zmienili linie portu programującego też było dla mnie pewnym zaskoczeniem. Bootloader jest na prawdę dobrym rozwiązaniem (nie musisz podłączać programatora i przełączać kabli ani zworek). Przy 128kb pamięci, 4kb bootloadera znikomo obciąża projekt. Natomiast trochę ograniczysz prędkość programowania.
    A wracając do tematu. W kicie masz wyprowadzone 2 RS'y.
    Nie bardzo rozumiem dlaczego nie łączyć PC właśnie z użyciem tego drugiego?

    0
  • #16 28 Lut 2009 21:34
    benedykt02
    Poziom 8  

    Proszę państwa, problem rozwiązałem.
    Dziękuje bardzo serdecznie za pomoc,
    bez ten dyskusji dalej bym miał w głowie
    ze coś jest nie tak z max232.

    Jakie było rozwiązanie?
    Wzgardziłem schematem i dokumentacja odbierając
    kit-a i mam za swoje. Dzisiaj przeanalizowałem ścieżki
    i połączenia. Generalnie wstyd się przyznać ale podpinałem
    kabel to złego gniazda.

    Trzeba było zewrzeć piny przy gnieździe górnym a podłączyć kabel COM
    do gniazda dolnego. (nieintuicyjne to ale logiczne po przeanalizowaniu
    ścieżek)


    Wstyd mi.

    0