logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Projekt przenośnego programatora AVR z ATMEGA162 i XRAM 32kB-128kB, LCD, MMC/SD

asembler 24 Kwi 2010 15:30 5942 25
REKLAMA
  • #1 7998392
    asembler
    Poziom 32  
    Posty: 2099
    Pomógł: 123
    Ocena: 11
    Projekt przenośnego programatora AVR z ATMEGA162 i XRAM 32kB-128kB, LCD, MMC/SD

    Projekt oparty o ATMEGA162 z XRAM 32kB docelowo ma byc 128kB gdyz sam LCD wymaga 16kB a w przypadku kompilacji programów wiekszych od 8kB kompilator potrzebuje do 16kB ramu.
    Załozenia projeku:
    Urządzenie przenośne bateryjne z wyświetlaczem graficznym dobrze widocznym w pełnym słońcu, gniazdo na kartę MMC/SD i normalną klawiaturą od PC, pełny AVR-DOS FAT12/FAT16..
    Program zawiera mozliwosc sterowania wyświetalczem LCD 400x320 pikseli z przełaczaną czestotliwością odświezania 50/75/100Hz. kilkanascie czcionek. mżliwośc wykonywania programów od długosci do 8kB ładowanych z karty SD.
    Kompilacja programów ze zbioru źródłowego i programowanie podłaczonego obcego procesora do ATM128 włącznie. Czasy programowania ja widac na obrazku przyzwoite. Czasy kompilacji mimo zastosowania niskiego kwarzu tez przyzwoite dla przykladu program na ATmega8 to ok 12-15sek.
    Mozliwośc przeglądania katalogów oraz zbiorów w postaci tekstowej jak i binarnej.
    Wyniki mozna przedstawiac w okienka które mozna indywidualnie skalowac jak tez dla kazdego okienka mozna przypisac inną czcionke.
    Pobór mocy to około 100mA Zasilanie z ogniw 3.7v/8Ah
    Urządzenie sprawdziło sie w warunkach bojowych aczkolwiek kolejna wersja otrzyma "pancerną" obudowę tak aby po upadku mogło dalej dzialac.
    Program zmiescił sie w 8kb flash a bootloader umieszczony na koncu flasha umozliwia równiez załadowanie nowszej wersji systemu z karty o ile zostanie tam umieszcony a system go wykryje.

    Projekt przenośnego programatora AVR z ATMEGA162 i XRAM 32kB-128kB, LCD, MMC/SD
  • REKLAMA
  • #2 7998574
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    Fajnie to wygląda, ale powiedz mi tak z ciekawośi pytam, do czego to praktycznie używasz, skoro piszesz, że sprawdziło się w warunkach bojowych ? ;) Czy to tylko do jakichś twoich specyficznych zastosowań?
  • #3 7998643
    asembler
    Poziom 32  
    Posty: 2099
    Pomógł: 123
    Ocena: 11
    Ma to kilka zastosowan.
    1.Po pierwsze przenosny programator (jak w temacie) jak sie okazało najszybszy jaki mialem. Stosuje do przeprogramowywanie urzadzen stosowanych w samochodzie lub w znacznej odjeglosci od stacjonarnego komputer do tej pory mialem SPI na kablu 20m.
    2 Po drugie uzywam tego jak "prawie bootloader" tzn z PC przesyłam po RS do tego urzadzenia co trwa sekundy a potem urzadenie samo programuje podłaczony procesor zewnetrzny
    3 Po trzecie moge szybko przetestowac kolejne projekty (czyli jako taki zestaw) uzywajac dodatkowo procedur "systemowych" ktorych wywolania są umieszczone w tablicy na poczatku systemu.
    4.Docelowo bede sobie tego uzywał na zewnątrz do pisania programów skoro mam mozliwosc kompilacji programow zrodlowych oraz karte SD z całą podreczna biblioteką.
    Kolejne zastosowania pewnie si eurodza skoro jest mozliwosc wykonywani nowych aplikacji z karty.
    Na pewno dorobie podreczny kalkulator i moze organizer a na koncu wpisze gre tetris (czy cos takiego:)
    Jak masz jakies pomysły to pisz.
    A warunki bojowe to były takie ze przejechałem to urzadzenie motocyklem.
  • #4 7998840
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    No to brakuje jeszcze kompilatora C i można wyrzucić te "ciężkie" , "wielkie" i "nieporęczne" notebook'i :wink:.. Jakie rozmiary i wagę ma Twoje urządzenie?
  • #5 7998977
    asembler
    Poziom 32  
    Posty: 2099
    Pomógł: 123
    Ocena: 11
    Ponieważ robie (to) pod siebie :) a znam dobrze turbo pascala to raczej szybciej napisze kompilator z pascala do asm.
    Wielkosc urzadzenia to wielkosc klawiatury PC co do wagi to chyba nie przekracza 0.5 kg bez klawiatury. nie wazylem ale ile moze wazyc LCD z 4 scalakami ?
    Ja wiem ze są teraz takie malutkie duperelki za 1000zł i oczywiscie nawet windowsa maja na pokładzie i full kolor. tylko i tak trzeba do tego notebooka jakis zestaw uruchomieniowy dodatkowo a tu mamy dwa w jednym no i nie zał go przejechac motocyklem:-) koszt 50zł
  • REKLAMA
  • #6 7999004
    rpal
    Poziom 27  
    Posty: 1501
    Pomógł: 72
    Ocena: 49
    kol. asm nie bierz tego co napiszę za kpinę tylko pomysł którego ty jesteś niejako mentorem :) A może by to jakoś zintegrować z komórką ? Powiedzmy że pod symbianem może na tej zasadzie że zasadniczy programator łyka z komóry np. po BT i potem śle w w układ. Niestety ni w ząb nie kumam żadnego środowiska do programowania komórek ale tak sobie to rzuciłem od niechcenia jako burza mózgów:) Napewno potrzebna by była spora pamięć jako bufor danych aby uniknąć niepotrzebnej transmisji na raty między komórką a tym czymś . Przyznam ze ze 3 lata temu kiedy nabyłem sonyericsonna p990i zainteresowało mnie napisanie cokolwiek pod ten telefon, zaśmieciłem komputer jakimiś darmowymi wersjami kilku środowisk ale wyszło jak zwykle że d.. z tyłu i sie poddałem, ale teraz może czas wrócić do tego tylko nie wiem czy gra jest warta świeczki.
  • REKLAMA
  • #7 7999028
    asembler
    Poziom 32  
    Posty: 2099
    Pomógł: 123
    Ocena: 11
    Ja o tym kiedys myslałem zeby taką nokie dla przykładu rozpracowac i miec mozliwosc wgrania tam własnych aplikacji tylko chyba to juz jest faktem tylko trudnosc polega na tym zeby takie aplikacje napisac.
    Mielibysmy wtedy taki zestaw uruchomieniowy za pare groszy. (też burza w mózgu)
    Jedno tylko sie nie zgadza jak podłaczyc klawiature PC :-) bo to jest podstawowy warunek na styku czlowiek maszyna no chyba ze bedziemy mu dyktowac głosem.
    Podejrzewam ze jest to do zrobienia nawet nie majac dokumentacji wnetrza telefonu bo chyba bedzie trudno o takie cos?
  • #8 7999084
    rpal
    Poziom 27  
    Posty: 1501
    Pomógł: 72
    Ocena: 49
    Wszak klawiatura w komórce już jest a w mojej to w zasadzie jest pełnowymiarowa qwery :) W Visual Studio mam możliwość pisania takich aplikacji jednak niestety pod windowsow komórki czy inne takie wynalazji a takiej niestety nie mam. Dla tego szczytnego celu nie widzę jednak powodu aby kupowac kolejny telefon czy jakiegoś pocketa. Poszpera może i znajdę coś pod tego symbiana ale z tego co pamiętam to wersje demo krótko działają za krótko jak na naukę od początku a z kolei wersje płatne są piekielnie drogie. Jednak mimo to perspektywa programowania z telefonu gdzie ekran ma te 3" a może nawet 3,5 oraz bogatą klawiaturę albo ekran dotykowy jest wcale kusząca:) A w zasadzie to po co kombinować jesli można po tym BT posłać to wprost z lajptoka ? Kwetsia tylko dorobienia interface do jakiegoś typowego programatora, np. avrdude
  • #9 7999105
    asembler
    Poziom 32  
    Posty: 2099
    Pomógł: 123
    Ocena: 11
    Oj bardzo kusząca choć mimo ze to moje urzadzenie badziwne jest ma tak przewage ze juz dziala choc jeszcze nie do konca tak jakbym chciał. Jeszcze musze kupic jakis oryginał ATMEGI162 bo ten kupiny w microsie z krakowa to jaksa podróba bo chodzi tylko do 12Mhz i to niestabilnie a załozenia były zeby nawet przetaktowac atmege do 22Mhz wtedy moznaby podłaczyc moze nawet LCD full 8 kolor:)
  • #10 7999135
    rpal
    Poziom 27  
    Posty: 1501
    Pomógł: 72
    Ocena: 49
    moje próby przetaktowania nie skończyły się jakimś sukcesem ale próbuj. Chyba lepiej jednak popróbować z lajptokiem + BT będzie prościej i taniej w sumie nawet można by było podłączyć sie pod jtag-a. Bo coś wątpię aby avrstudio poszło na komórce :) poza tym szkoda oczu na ślepienie w te małe lipko.
  • #11 7999172
    asembler
    Poziom 32  
    Posty: 2099
    Pomógł: 123
    Ocena: 11
    To były założenia zeby przetaktowac bo czulem ze moze mi braknac mocy na jednoczesne odswiezanie LCD czytanie karty i kompilacja programu w rozsądnym czasie, Po optymalizzacji kodu caly system chodzi na 5MHz wiec gdy podepne 16Mhz znamionowe to bedzie to znaczacy skok i raczej nie bede szedł w strone szybkosci ale w strone minimalizacji poboru prądu. Zresztą sam byłem w szkou ze takie małe cos moze zrobic równie szybko jak pecet z zegarem 700MHz. Sama przetwornica 3.7V na -22V dla LCD to polowa zuzycia.
  • REKLAMA
  • #12 7999603
    xantros
    Poziom 11  
    Posty: 41
    Pomógł: 1
    A mi przyszło na myśl, że jeśli chodzi o przenośność to dobrze sprawdziłby się netbook + programator na USB;) Skoro Ty używasz normalnej klawiatury komputerowej, to wymiarowo netbook może być podobny, a nawet mniejszy. Natomiast przedział cenowy jest zapewe zupełnie różny i podobnie z odpornościa na "upadki" ;) No i duma z wykonania czegoś własnoręcznie. Tak czy inaczej pomysł całkiem fajny.
  • #13 8001879
    piotr_go
    Konstruktor DIY elektronika
    Posty: 2904
    Pomógł: 94
    Ocena: 3336
    A może by tak dostosować netbooka na ARMie? Koszt około 300zł. Małe, ma usb.
    Postawił byś na tym jakiegoś linuksa to i gcc by bez problemu śmigało.

    Mimo wszystko projekt mi się podoba, soft na pewno wymagał wiele pracy.
  • #14 8054082
    asembler
    Poziom 32  
    Posty: 2099
    Pomógł: 123
    Ocena: 11
    Jednostka centralna (hehe) waży 220g razem z akumulatorkami ekran LCD 300g.
    Udało mi się zdobyć klawiaturę pobierającą poniżej 1mA po tuningu 0.5 mA + 0.5ma na każde "światełko" LED. Program rozbudowany o grafikę co w połączniu z myszką bedzie udawał windowsa
    Akumlator wystarcza na 3 mies. czuwania lub na 48 godz intensywnej pracy (wbudowany system wykrywania bezczynności) co ogranicza ppbór prądu nawet miedzy posczególnymi nacisnieciami klawisza.

    Pytanie: Jakie złącze. w miare dostępne i niezawodne.
    Do pełni szcześcia potrzebne mi jest gniazdo minimum 7 stykowe do podłaczenia zewnętrznego układu do programowania jak również do przeprogramowywania tego urzadzenia. Niestety miejsca jest dość mało okolo 15x15mm a nie chcialbym stosowac zbyt miniaturowch złacz.

    Jednostka cetralna (prototyp).
    Projekt przenośnego programatora AVR z ATMEGA162 i XRAM 32kB-128kB, LCD, MMC/SD

    Projekt przenośnego programatora AVR z ATMEGA162 i XRAM 32kB-128kB, LCD, MMC/SD
    Projekt przenośnego programatora AVR z ATMEGA162 i XRAM 32kB-128kB, LCD, MMC/SD
  • #16 8055064
    asembler
    Poziom 32  
    Posty: 2099
    Pomógł: 123
    Ocena: 11
    Schematy tak ale PDF to bym chcial z tym że widząc jak sie otwierają na zwykłym pececie to nawet jakbym rozkminil i napisał "acrobat reader" :-) to prawdopodobnie czas przegladania PDF moglaby skonczyc sie jakąś cieżką chorobą i to psychiczną. Przegladanie schematów na obecnym LCD też nie nalezy do przyjemnosci, Mam zamiar zastosowac LCD 640x480 mono co poprawi nieco sytuacje.
  • #17 8055519
    _Robak_
    Poziom 33  
    Posty: 2208
    Pomógł: 231
    Ocena: 29
    A to nie lepiej już na ARMie zrobić mini komputerek z kolorowym LCD TFT? Można by pewnie spokojnie PDF i zdjęcia wczytywać i co kto lubi:)
  • #18 8056018
    asembler
    Poziom 32  
    Posty: 2099
    Pomógł: 123
    Ocena: 11
    O wiele lepiej, ale załozenie było takie żeby AVR kompilował zródła na AVR do AVr poprzez AVR :-) Kolejny raz nie będę pisał kompilatora w asemblerze.
    Wybór AVR był najgorszym wyborem już procesor z rdzeniem '51 byłby lepszy w tym zastosowaniu ale cóż teraz jak już zrobione w 90% nie będę zmieniał procesora i zaczynał od początku.
  • #19 8056075
    Konto nie istnieje
    Poziom 1  
  • #20 8056143
    asembler
    Poziom 32  
    Posty: 2099
    Pomógł: 123
    Ocena: 11
    Ciekawe ile w C by kompilator (5kB) zajął i czy wykonywałby sie w akceptowalnym czasie (7s 8kB), i pewnie potrzebowałby z 64kB RAM-u podobnie jak kompilator na pececie. Poza tym zmiana procesora wbrew pozorom wcale nie pociaga tak dużej straty czasu jakby sie wydawało.
  • #21 8056194
    _Robak_
    Poziom 33  
    Posty: 2208
    Pomógł: 231
    Ocena: 29
    Rozmowa schodzi na znany już nam kierunek;) W każdym razie, śmiem zaryzykować stwierdzenie że jednak CORTEX M3 pobiłby AVR i program napisany w asemblerze;) Trzeba by sprawdzić;)
  • #22 8056575
    Konto nie istnieje
    Poziom 1  
  • #23 8057756
    asembler
    Poziom 32  
    Posty: 2099
    Pomógł: 123
    Ocena: 11
    Sprawa banalna z tym '51 dlaczego lepszy - wykonuje rozkazy z pamieci RAM a zeby było śmieszniej to cały układ (płytka pamiec zatrzask) pochodzi właśnie spod procesora '51. Atmega162 kompatybilna pinowo z 89c53 które chyba tam było na podstawce. Na poczatku mial byc to tylko programator ale skoro zostało 10kB niewykorzystanej pamieci flash to się porobiło. Teraz jak chce wykonac program z "dysku" to za kazdym razem muszę ładowaC do flasha co pewnie wykonczy biedaka po 2-3 latach. Projekt oceniam na 3/6 bo prawdopodobnie bedzie służył za zegarek lub kalkulator, choć już parę razy się przydał. Myszka poroniony pomysł prawdopodobnie później nie bedzie mi sie chciało nawet je przyłaczać (lenistwo rządzi). Oczywiście postaram sie dokończyć projekt ale jak zresztą prawie każdy program, który kończe z chęcią zaczął bym od nowa.
    Z tym złączem o którego pytałem kilka postów wcześniej coś by wiadomo było?
  • #24 8057986
    Konto nie istnieje
    Poziom 1  
  • #25 8058591
    asembler
    Poziom 32  
    Posty: 2099
    Pomógł: 123
    Ocena: 11
    No własnie żadne DB nie wchodzi w rachubę bo jest za długie ze dwa razy.
  • #26 8064398
    rpal
    Poziom 27  
    Posty: 1501
    Pomógł: 72
    Ocena: 49
    kol. assembler tak się złożyło że niedawno nabyłem tel HTC Touch Pro, to chodzi pod Windowsem. Zrobiłem na kolanie przypadkową aplikację (Visual Studio) i wgrałem. Napiszę tak, mając np. takie przenośne urządzenie możesz minimalnym wysiłkiem osiągnąc to o co ci chodzi bez zastanawiania się czy starczy pamięci czy nie, nie będzie za wolno czy za szybko itp. A sam programator może być spokojnie jakimś klonem np. który tylko będzie obsługiwał transmisję w te i we w te. Takie jest moje skromne zdanie.

Podsumowanie tematu

✨ Projekt przenośnego programatora oparty na mikrokontrolerze ATMEGA162 z rozszerzoną pamięcią XRAM (docelowo 128kB) ma na celu umożliwienie programowania urządzeń w terenie, w tym w warunkach bojowych. Urządzenie obsługuje wyświetlacz LCD 400x320 pikseli oraz karty MMC/SD, a także normalną klawiaturę PC. Użytkownicy podkreślają jego zastosowanie jako programatora do urządzeń samochodowych oraz jako narzędzia do testowania i kompilacji programów. W dyskusji poruszono również kwestie związane z przetaktowaniem procesora, optymalizacją kodu oraz możliwościami integracji z telefonami komórkowymi. Uczestnicy rozważają także alternatywy, takie jak wykorzystanie netbooków lub procesorów ARM, ale projekt pozostaje w fazie rozwoju z zamiarem dalszej rozbudowy funkcjonalności.
Wygenerowane przez model językowy.
REKLAMA