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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 10 cze 2025, o 16:23


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
    Autor Wiadomość
    PostNapisane: 24 cze 2013, o 12:16 
    Offline
    Nowy

    Dołączył(a): 24 cze 2013
    Posty: 22
    Pomógł: 0

    Witam,
    Chciałbym zrobić pewien programator i od razu pojawił się szereg pytań :oops: ale przejdę do rzeczy
    Potrzebuje zrobić programator, który odbierał by program z innego uC będącego "buforem" i następnie programował jeszcze inny uC.
    ||uC"BUFOR"||->>>Wysyłanie programu>>>||Programator||>>>Programowanie>>>||Programowany uC||
    W założeniach mój programator byłby zrealizowany na uC jak jest to zrobione w usbasp.
    I teraz pytanie, w jaki sposób mógłbym przerobić schemat np usbasp aby takie połączenie mogło działać. Spodziewam się, że usb trzeba będzie zamieć na komunikację miedzy uC, uart/spi, i z pewnością zmieć wkład do programatora.
    a może mógłbym to zrealizować w jakiś inny łatwiejszy sposób?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 cze 2013, o 12:18 
    Offline
    Moderator zasłużony dla forum.atnel.pl
    Avatar użytkownika

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

    A nie możesz za pomocą USBasp po prostu odczytać wsadu z pierwszego układu i zapisać tym drugi układ?

    _________________
    http://www.jaglarz.info



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 cze 2013, o 12:29 
    Offline
    Nowy

    Dołączył(a): 24 cze 2013
    Posty: 22
    Pomógł: 0

    jestem początkujący, proszę więc o wyrozumiałość gdyż moje pytania pewnie będą ... no jakie będą to będą ;)

    Mój bufor w przyszłości będzie odbierał program przez internet i będzie go przekazywał właśnie na programator.

    Co do Twojej odpowiedzi, nie bardzo rozumiem zdanie "odczytać wsad", masz na myśli że program z 1 uC pojawi się również w 3? ( zgodnie z moim schematem). No i nie potrafię sobie wyobrazić jak USBasp odczytać z 1uC wsad ? Musiałbym zrobić wysyłanie danych po
    usb jak ma np w komputerze ?

    Jeśli potrafisz wskazać jakiś artykuł czy stronę, na której mógłbym się oprzeć byłbym wdzięczny, nie zawracał bym wam tak głowy na forum :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 cze 2013, o 13:09 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27408
    Lokalizacja: Szczecin
    Pomógł: 1043

    Ja rozumiem, że jesteś początkujący ale ... tzn inaczej - naprostuję twój nader KOSMICZNY pomysł i sprowadzę cię na właściwe tory:

    Deker01 napisał(a):
    Mój bufor w przyszłości będzie odbierał program przez internet i będzie go przekazywał właśnie na programator.

    ZAPOMNIJ o tym pomyśle raz na AMEN - nie tędy droga - do tego celu stosuje się mechanizm zwany BOOTLOADEREM

    warto byłoby przede wszystkim zacząć od jakiejś książki, która sporo ci wyjaśni jeśli chodzi o podstawy to wtedy nie będziesz wpadał na takie kosmiczne pomysły, zobacz tutaj:

    http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

    poczytasz w niej także o bootloaderze co nie co

    a ma to wyglądać tak, że np piszesz sobie bootloader, który właśnie przez Ethernet odbiera dane ..... i można powiedzieć że procek sam się programuje. Znasz pewnie zasadę wgrywania nowego BIOSU do kompa ? ;) to podobna zasada

    zresztą poczytaj i obejrzyj to:

    http://atnel.pl/mkbootloader.html

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 cze 2013, o 14:23 
    Offline
    Nowy

    Dołączył(a): 24 cze 2013
    Posty: 22
    Pomógł: 0

    Dziękuje za szybkie odpowiedzi ! :)
    Przeczytałem w Pana książce odpowiedni dział i obejrzałem film.
    Jednak z tego co zrozumiałem, mój procesor musi mieć w sobie odpowiedni wsad który będzie tak jakby "podmieniał" program.
    Chciałbym jednak móc programować procesory które " wyszyły" z fabryki i nie ma w nim odpowiednich wsadów ;)
    pomysł pewnie Kosmiczny jak to Pan określił, niestety tak brzmi temat mojego projektu zaliczeniowego :p a mianowicie projekt programatora avr umożliwiającego programowanie przez ethernet ;) Dlatego właśnie chciałem zastosować "bufor" i komunikacje miedzy buforem >> programatorem.
    Do września jeszcze trochę czasu dlatego jestem dobrej myśli ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 cze 2013, o 19:54 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    Jak wiele własnego wkładu masz włożyć w to zadanie ?
    Widzę 2 opcje:
    1) Klon STK500v2 + przejściówka Ethernet<->RS232 + HW VSP3-Virtual Serial Port + Eclipse/AVR Studio/MkAVRCalclator - zadanie sprowadzi się do właściwej konfiguracji całości, ale pewnie trzeba będzie zrobić obejście konwertera USB/USART w programatorze i wpiąć się w USART konwertera. Polecam tą drogę tym bardziej, że możesz sobie sprawdzić poszczególne składniki osobno.
    2) Podłączyć przejściówkę Ethernet SPI do USBASP i przerobić program. Można będzie skorzystać z gotowych funkcji z pliku isp.c, a wyrzucić te odpowiedzialne za komunikację przez USB. Nie podajesz dokładnie co rozumiesz przez programowanie przez Ethernet, czy odczytanie źródła pliku hex ze strony czy ściągnięcie pliku z serwera czy programowanie w oknie przeglądarki czy jeszcze coś innego. Nie do zrobienia w 3 miesiące z uwagi na fakt, że programator USBASP to również software na PC który koordynuje wszystko.

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 cze 2013, o 08:50 
    Offline
    Nowy

    Dołączył(a): 24 cze 2013
    Posty: 22
    Pomógł: 0

    Rzeczywiście troszkę niejasno to opisałem.
    1 mikrokontroler ma za zadanie odebrać plik z programem, przechować go w swojej pamięci i wysłać do programatora. Następnie programator ma z tego pliku zrobić pożytek i zaprogramować nim 3 uC.

    A jak wiele wkładu mam włożyć w to zadanie ? Powiem szczerze mocno się zdziwiłem czytając wasze odpowiedzi, gdyż prowadzący to ćwiczenie powiedział że kwestię programatora i połączenia z buforem można zamknąć w 2 wieczory. I teraz pytanie czy on miał jakąś wizję którą można było w łatwy sposób zrealizować, czy dał do zrealizowania temat który nie do końca przemyślał ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 cze 2013, o 10:54 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27408
    Lokalizacja: Szczecin
    Pomógł: 1043

    Deker01 napisał(a):
    gdyż prowadzący to ćwiczenie powiedział że kwestię programatora i połączenia z buforem można zamknąć w 2 wieczory. I teraz pytanie czy on miał jakąś wizję którą można było w łatwy sposób zrealizować, czy dał do zrealizowania temat który nie do końca przemyślał


    a może jest tak, że to ty jednak źle zrozumiałeś założenia ? jesteś na 10000% pewien tego co chcesz zrealizować ? bo może gdzieś popełniasz właśnie błąd. Dla początkującego w tych tematach - tak jak napisał wyżej kolega Krauser nie jest to na pewno temat na 2 wieczory ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 cze 2013, o 11:02 
    Offline
    Nowy

    Dołączył(a): 24 cze 2013
    Posty: 22
    Pomógł: 0

    Otrzymałem nawet pewne sugestie, żeby na początku złożyć programator zbudowany na uC i zobaczyć czy programuje(stąd te USBasp o które pytałem), potem zająć się przesłaniem pliku z bufora do programatora, i w końcowej fazie zająć się kwestią odbierania danych z ethernetu ;)
    Wystosowałem e mail do prowadzącego, ale raczej założenia są jak napisałem ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 cze 2013, o 11:26 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27408
    Lokalizacja: Szczecin
    Pomógł: 1043

    to będziesz miał niezły orzech do zgryzienia ... odpada ci nawet ta prostsza metoda nr.1 o której pisał Krauser z tym STK500 i przejściówką Ethernet/RS232 - bo chcesz mieć buforowanie - a przecież program na PC wysyłający dane do STK500 czy innego programatora - nie pcha ich na ślepo tylko żąda potwierdzeń i odpowiedzi. Nie wiem nawet czy w przypadku STK500 i opóźnień związanych z transmisją Ethernet/RS232 program np AVRDUDE nie zwracałby co chwilę komunikatu że nastąpił TimeOut i Quniec transmisji

    zresztą jak miałby wysłać jak ty chciałbyś mieć pomiędzy programatorem a programem AVRDUDE jeszcze jakiś BUFOR ? a komunikacja dwustronna z potwierdzeniami ????

    Poszukaj sobie projektu takiego mobilnego programatora AVRów zrobionego przez niego na procku AVR z małym wyświetlaczem LCD z Nokii ;) poczytaj na elektrodzie ile czasu mu to zajęło, ile się zmagał i jaki to kawał roboty

    No chyba że na jakimś FPGA postawiłbyś symulator STK500 który przechwyci dane z AVRDUDE ;) ... zbuforuje je a później ten sam symulator zgodnie z protokołem STK500 prześle je dalej do właściwego programatora .....

    przepraszam ale to jakiś (jak dla mnie nadal MEGA KOSMICZNY pomysł) w czasach gdy mamy bootloadery i to na nich załatwia się takie rzeczy - bo niech się np transmisja w stk500 zatnie, albo się zawiesi - to jesteś ugotowany. A bootloader po zdalnym resecie (łatwym do realizacji) zawsze wystartuje i na nowo można pchać wsad do procka czy do procków.


    ale ..... ale należy mieć na uwadze, że ja też czegoś nie wiem i może się mylę ;) może jednak jest jakiś super prosty sposób .... nie twierdzę że nie - po prostu ja go nie mam - tak bym to ujął. A może twój prowadzący ma i realizował to w 2 a niech nawet i w 5 wieczorów. To uważam że ma głowę na karku ;) i sporą wiedzę - na pewno nie jest początkującym.

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 wrz 2013, o 21:43 
    Offline
    Nowy

    Dołączył(a): 24 cze 2013
    Posty: 22
    Pomógł: 0

    Witam ponownie w temacie po kilku miesiącach ! ;)
    Więc tak, udało mi się zrobić programator po ethernecie :) Nie jakiś tam super, ale programuje Flash, EEprom i fuski na atmege 168.
    Nie chcę rozpoczynać ponownie dyskusji czy był sens robienia takiego programatora czy nie ;) był to projekt zaliczeniowy i udało mi się go zaliczyć :D

    No ale nie piszę tutaj tylko żeby się pochwalić ;) Mam pewien problem i nie wiem do końca z czego on wynika.
    Tyczy się on komunikacji po UDP, a mianowicie mój program od czasu do czasu się zacina.

    Zrobiłem 1000 testów i wyszło na to, że program czasem zawiesza się w następujących 2 liniach ( funkcje opierają się na książce Pana Mirka)
    Składnia: [ Pobierz ] [ Ukryj ]
      Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Mój program działa na zasadzie komunikacji komputera z uC. Wysyłam linie programu do uC, ten zaś robi z nią różne rzeczy, i kiedy skończy odsyła do kompa potwierdzenie. Patrząc na WireShark widać że komputer potwierdzenie otrzymuje, i wysyła nową linię.
    Czasem właśnie uC odbierze tą linię w jakiś dziwny sposób przez co cały uC się wiesza. Sprawdzając diodą linia po lini kod, doszedłem właśnie do powyższego fragmentu kodu, który najprawdopodobniej jest odpowiedzialny za zawieszenie pracy.
    Nie wychwyciłem żadnego schematu w zawieszaniu uC, tz kiedy 'Bombarduje' go hexem składającym się z 600 linii, czasem wiesza się po 9 liniach, czasem po 100, a czasem po 3 krotnym przesłaniu programu (1800linii kodu).
    Co jeszcze ciekawe, kiedy program tak sobie wypadnie z schematu, i się zawiesi . . czasem wykonuje mi 2 funkcje ( zawsze te same) , których nie ma prawa wykonać ponieważ są one wywoływane przez odpowiedni rozkaz z komputera. Te 2 funkcje są jednak zawsze wykonywane przed wysłaniem programu. Może więc kiedy program się wiesza, przepełnia się w jakiś sposób stos przez co wykonywane są te funkcje ponownie ???
    W czym może tkwić problem? Tak sobie myślę, że może kiedy suma kontrolna się nie zgadza to powyższe funkcje nie przypiszą mi do bufora żadnej wartości, przez co uC nie wyśle potwierdzenia. Co o Tym myślicie ?

    Ps Przepraszam za liczne powtórzenia wyrazów, ale nie mam już głowy do słowotwórstwa ;)



    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: 11 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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