Witam szanownych grupowiczów W tym roku będę bronił pracy magisterskiej na kierunku Informatyka (PolSl), w związku z tym, mam pare pytań. Jeszcze nie jestem do końca zdecydowany co do tematu pracy magisterskiej, a czas niestety goni. Myśle nad zrobieniem testera sieci LAN na mikrokontrolerze AVR. Nie chodzi mi o 8 diod mrugających w przypadku przerwania linii w skrętce, ale o układzie sprawdzającym nieco dokładniej jakość połączenia. Chodzi mi o np. wysyłanie pakietów ping, które mogą się przydać w przypadku sprawdzania np. połączenia za radiem.
Zestaw pytań które mnie nurtują:
1 literatura - aktualnie znalazłem 3 ciekawe pozycje wydawnictwa BTC, które po przejrzeniu spisu treści (i przelotnie jednej z nich) nastawiają optymistycznie co do ich przydatności. Są to:
-Mikrokontrolery AVR ATmega w praktyce
2 język programowania - Aktualnie doświadczenie mam w programowaniu (assembler) i architekturze procesorów rodziny 8051, ale dotarło do mnie, że napisanie rozbudowanego programu nawet dla tak "prostego" układu to zadanie strasznie czasochłonne. Dlatego w tej pracy chce wykorzystać język wyższego poziomu C lub BASCOM. Bardziej się skłaniam do C, gdyż jest dla mnie językiem wyjątkowo logicznym i przejrzystym (wiem, nie wielu tak myśli). Co do BASCOMA mam mieszane uczucia. Nie znam obu języków dla mikrokontrolerów,ale pare opini na googlach już przeczytałem. BASCOM ma pozytywną opinie (prosty, łatwy i przyjemny), ale czy jest równie funkcjonalny jak C? Przy okazji wydajny i szybki (wielkość kodu)? Co proponujecie dla osoby która dobrze zna C dla platformy PC i nie boi się tego języka jak niestety wielu programistów? Dla PC wybór jest prosty, tylko C w różnych wydaniach, ale mikrokontroler to nie PC i rządzi się własnymi prawami. Zakładam, że oba języki mają wstawki w ASSEMBLERZE,bo bez tego nie wyobrażam sobie programowania. Drugą rzeczą jest dostępność darmowego środowiska do programowania.
3 Ethernet - no właśnie jak to zrealizować tanio i dobrze? Zakładając, że chce uzyskać przepustowość 100mb/s, ale bez obróbki danych. Czyli po prostu sprawdzić jaka jest przepustowość łącza, np. po FTP. Licznik kolizji, uszkodzonych pakietów też się przyda. Czy taki procesor AVR poradzi sobie z tym? Do tego zapewne należy wykrzystać dodatkowy układ ze stosem TCP/IP itp. Mikrokontroler zwalniał by w miare możliwości buffor odbiorczy po odebraniu kolejnego pakietu danych. W tym temacie jestem niestety zupełnie zielony, ale zakładam, że sporą część pracy wykonuje dodatkowy układ np. RTL8139. Widze 3 rozwiązania tego zagadnienia:
- oprogramować karte sieciową z układem RTL8139 - plus to to, że taniej sie chyba nie da kupić takiego układu + dodatkowe elementy wymagane do jego poprawnego działania. Minus to nie wiem, czy da się taką karte sterować poprzez AVRa. Częstotliwość taktowania magistrali jest sporo wyższa od AVRa i nie wiem, czy karta będzie działała dla częstotliwości np. 20MHz AVRa. Jaki jest koszt samej kostki RTL8139 i gdzie jest dostępna? Pewnie kompletna karta jest tańsza od samego układu, znając życie :D
- inny dodatkowy układ,
- nowy mikrokontroler AT91RM9200-QI
4 linki z przykładami podobnych urządzeń - czy ktos zna stronę ze zrealizowanymi takimi urządzeniami? Serwery WWW itp.
Troszkę się rozpisałem. Za wszelką pomoc, wskazówki i sugestie bardzo dziękuję.
Pozdrawiam