Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Mały zestaw edukacyjny - jak to dokończyć?

mojzesz101 22 Sep 2011 12:03 3233 7
Altium Designer Computer Controls
  • #1
    mojzesz101
    Level 12  
    Mały zestaw edukacyjny - jak to dokończyć?

    Witam wszystkich, chciałbym przedstawić (przedstawić - nie pochwalić się, bo tu nie ma się czym chwalić) wam moją konstrukcję zestawu uruchomieniowego z atmegą32 na pokładzie. W poprzednim 'zestawiku' znudziły mi się diody, przyciski i wyświetlacz 2*16 więc pomyślałem że czas nauczyć się obsługi czegoś innego.

    Wyszło jak wyszło, wydawało mi się że dobrze obmyśliłem płytkę, ale jak widać musiałem coś jeszcze dodać podczas składania urządzenia (widoczne kabelki etc).

    Po prawej stronie płytki jest mały przełącznik do którego dochodzą kable. Pierwotnie Atmega miała być zasilana z 3,3V z diody zenera ale nie pomyślałem o programowaniu :D, 74hc244 działa coś od 4 V więc na programator podałem 5V, a na atmege szło 3,3V i za nic nie mogłem zaprogramować procka. Przełącznik który dodałem przełącza napięcie na mikrokontrolerze między 3,3 a 5V. Teraz programuje cacy.
    Co do estetyki to oczywiście nie zależy mi na wyglądzie - byle tylko nie rozpadało mi się w rękach, jak już pisałem - jest to zestaw do nauki programowania a nie do noszenia w kieszeni.

    Wyświetlacz z nokii 3310. Chciałbym z tego miejsca podziękować koledze BOBER za udostępnienie materiałów obsługi wyświetlacza i sampla do Bascoma. Udało mi się zaprogramować czcionkę - podstawowe litery, cyfry, kilka znaków i kilka procedur: kasowanie ekranu, czyszczenie określonego wiersza, powrót do wiersza pierwszego itp...

    Na zdjęciach widać, że udało mi się zaprogramować menu, dwie funkcje od góry działają, pomiar temperatury (termistor na płytce pod wyświetlaczem) oraz zegarek (na razie na timerze i wewnętrznym oscylatorze).
    Na obecnym etapie kod programu zajmuje 35% pamięci mikrokontrolera.

    Po prawej stronie płytki widać czytnik kart SD/MMC, niestety tu pojawia się problem, ponieważ kiedy dodałem bibliotekę AVR-DOS do mojego kodu, wyskoczył błąd że mam zbyt mało wewnętrznej pamięci SRAM i obawiam się że mega32 może być za słaba do obsługi kart.
    A może jednak jest możliwość edytowania pliku config_AVR-DOS.bas i zmiany kodu tak żeby zadziałało na atmedze32?
    Ewentualnie mógłbym spróbować zmierzyć się z ewentualnym napisaniem procedury obsługi karty od zera, tak do własnych potrzeb, chcę tylko czytać informacje z karty: .txt, .bmp ewentualnie .wav ...? Szukałem po internecie ale niestety nie mogłem znaleźć żadnych konkretnych informacji jak przebiega komunikacja między hostem a kartą - tak bit po bicie, jak wygląda jakaś komenda albo coś w tym stylu. Dla przykładu podam że w nocie katalogowej pamięci EEPROM (np. 24LC08) jest ładnie napisane jak to ma przebiegać, wszystkie komendy itp. Ma ktoś może takiego PDF'a do kart pamięci w którym WSZYSTKO by było opisane?

    Mały zestaw edukacyjny - jak to dokończyć? Mały zestaw edukacyjny - jak to dokończyć? Mały zestaw edukacyjny - jak to dokończyć?
  • Altium Designer Computer Controls
  • #2
    mateusz.c
    Level 13  
    Mogłeś się bardziej postarać przy projektowaniu płytki, jej wykonaniu i lutowaniu... Ten wyświetlacz to na taśmę przezroczystą jest przyklejony ?!
  • Altium Designer Computer Controls
  • #3
    mojzesz101
    Level 12  
    Celem zaprezentowania mojego urządzenia było uzyskanie pomocy w związku z obsługą karty pamięci, ale widzę że wolicie mnie zmieszać z błotem zamiast mi pomóc, proszę tylko o PDF lub o link odnośnie komunikacji host-karta. Kiedy uda mi się oprogramować wszystko co sobie założyłem to może zrobię urządzenie którym będę mógł "pobłyszczeć", jeśli tak bardzo wam na tym zależy. Zanim temat trafi do kosza, spróbujcie chociaż mi pomóc :x
  • #4
    User removed account
    User removed account  
  • #5
    manekinen
    Level 29  
    mojzesz101 wrote:
    A może jednak jest możliwość edytowania pliku config_AVR-DOS.bas i zmiany kodu tak żeby zadziałało na atmedze32?

    Jak najbardziej. Wystarczyło poczytać opis w tym pliku...

    Code: basic4gl
    Log in, to see the code


    Ustawiasz w ten sposób i avr dos zabiera "tylko" 1085 bajtów sram'u. I zostaje dużo pamięci na inne zmienne i funkcje. I atmega32 bez problemu to pociągnie, daj kwarc 16MHz żeby w miarę szybko to to chodziło.
  • #6
    mojzesz101
    Level 12  
    Dzięki manekinen kod mi się skompilował, ale nie rusza na procku, jak znajdę czas to będę coś próbował jeszcze.
  • #8
    mojzesz101
    Level 12  
    Udało się po części, problem na pewno jest banalny, czasem czyta plik, a czasem wyskakuje błąd. Zegar mam ustawiony na 12MHz, nie chce mi odpalić na wyższej częstotliwości, najgorsze jest to że nie byłem do końca pewien czy mam dobrze podłączoną kartę, ale na szczęście zadziałało, teraz zajmę się programem. Dziękuję manekinen oraz Mundi1970 - dzięki za PDF-a.