Książki i materiały do nauki mikrokontrolerów AVR dla projektu testera LAN

=?ISO-8859-2?Q?Ksi=B1=BFki_do_AVR_+_pare_dodatkowych_?=





Poprzedni Następny
Wiadomość
Spis treści
From: Marek <ddddfjsajfa_at_nospam_wp.pl>
Subject: =?ISO-8859-2?Q?Ksi=B1=BFki_do_AVR_+_pare_dodatkowych_?=
Date: Sun, 20 Nov 2005 23:19:54 +0100


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
http://www.btc.pl/index.php?id=atmwp
-Mikrokontrolery AVR w praktyce
http://www.btc.pl/index.php?id=avr
-Programowanie mikrokontrolerów AVR w języku BASCOM
http://www.btc.pl/index.php?id=bas

Która z tych pozycji jest "najlepsza" dla osoby, która planuje poznać
AVRy i pisać oprogramowanie w C, lub BASCOMie? Skłaniam sie co do
pierwszej pozycji. Aha, wiem że istnieją bogate źródła do każdego
procka, ale wolałbym zacząć przygode z AVRami w języku ojczystym.

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:
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
http://seguro.pl/sklep/?zobacz=4305&producent=
W nim zawarty jest taki układ. Problem w tym, że jak się nie myle
taktowany jest dość dużą prędkością, a z tym mogą być problemy. Niewiele
osób zapewne ma doświadczenie z nim, więc w razie problemów może być
nieciekawie. Zaletą tego jest to, że ma wszystko!

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

Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: =?ISO-8859-2?Q?Ksi=B1=BFki_do_AVR_+_pare_dodatkowy?=
Date: Sun, 20 Nov 2005 23:42:25 +0100


Marek wrote:

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.
[...]

4 linki z przykładami podobnych urządzeń - czy ktos zna stronę ze
zrealizowanymi takimi urządzeniami? Serwery WWW itp.

Ja na pracę magisterską z elektroniki zrobiłem telefon IP - może coś z
idei tamtego rozwiązania Ci się przyda. Pełny tekst mojej pracy
magisterskiej (opublikowany za zezwoleniem promotora) znajdziesz tutaj:

http://www.amwaw.edu.pl/~adybkows/telefonip/front.html
ew.
http://www.amwaw.edu.pl/~adybkows/telefonip/telefon_ip.pdf

Jeżeli chcesz wykorzystać pełne możliwości FastEthernet'u to bez
procesora minimum 100 MIPS'owego nawet nie zaczynaj. Dobry będzie
wspomniany już tu ARM AT91RM9200.

--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/

Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.

Poprzedni Następny
Wiadomość
Spis treści
From: Marcin Stanisz <mstanisz_at_nospam_bzdury.poczta.onet.pl>
Subject: Re: =?iso-8859-2?b?S3Npsb9raQ==?= do AVR + pare dodatkowych pytan dla =?iso-8859-2?q?praktyk=F3w=2E_=28d=B3ugie=29?=
Date: Sun, 20 Nov 2005 23:48:58 +0100


On Sun, 20 Nov 2005 23:19:54 +0100, Marek wrote:
Witam szanownych grupowiczów
<ciach>
Troszkę się rozpisałem. Za wszelką pomoc, wskazówki i sugestie
bardzo dziękuję.

1. W życiu nie przeczytałem żadnej książki o AVR, imho strata czasu -
to tylko o takie "dedykowane tłumaczenie" dokumentacji. Wyierz typ
procesora i przeczytaj do niego manual.

2. Obejrzyj sobie avr-gcc. I nie myśl o Bascomie (Artur, nie bij ;))

3. www.ethernut.de

Pozdrawiam
--
Marcin Stanisz

"A lie will go round the world before the truth has got its boots on"
Terry Pratchett, "Truth"


Poprzedni Następny
Wiadomość
Spis treści
From: "Paweł" <paw1976_at_nospam_poczta.onet.pl>
Subject: Re: Książki do AVR + pare dodatkowych pytan dla praktyków. (długie)
Date: Mon, 21 Nov 2005 10:07:28 +0100


Myśle nad zrobieniem testera sieci LAN na mikrokontrolerze AVR.
Chodzi mi o np. wysyłanie pakietów ping, które mogą się
przydać w przypadku sprawdzania np. połączenia za radiem.

Da się to zrobić na AVR chociaż na implementację stosu od zera trochę czasu
trzeba poświęcić
to jednak zapewniam cię że warto (TCP/IP w jednym paluszku nie będzie niczym
niezwykłym).

Właśnie robię identyczne urządzenie i już kończę pisać stos. Do komunikacji
z ethernetem wykorzystuję
atmega32, oraz starą kartę isa na rtl1980as( ale są do kupienia stosunkowo
drogie gotowe moduły z tym procesorem).

Sam stos tcp/ip (NIC, ETHERNET, ARP, IP, ICMP, TCP) po niedużym okrojeniu
mieści się w atmega8515 (8kB), a po drastycznym okrojeniu pewnie zmieściłby
się i w mniejszym kwestia wygody używania takiego stosu.
Ja postawiłem jednak na wygodę, rozbudowałem stos (np:. tcp na wzróc gniazd
windowsowych listen, accept, itp.) i dlatego wybrałem atmega32 pownieważ też
przy atmega16 zabrakło mi pamięci na ciekawsze strony html.

W skrócie urządzenie odpytuje (wysyłą icmp_echo) zadane adresy i jak nie ma
połączenia
to restartuje przekaźnik.

Konfiguracja urządzenia przez stronkę www. Ustawiania podstawowych
parametrów sieciowych
adresu ip, maska, bramka, hasło dostępu po base64 no i oczywiście odpytywane
adresy,parametry
zapytań icmp.

Osobiście używam darmowego środowiska WinAVR i avr-gcc. Nie polecam
assemblera bo to mija się z celem.
BASCOMA nie używam, nigdy nie używałem i nie chcę go używać więc nic na jego
temat nie powiem.
Co do literatury to oczywiście i tak trzeba przeczytać pdfa danego procka,
ale nie koniecznie wyszystko
dlatego jak jesteś leniwy to kup sobie jakąś książkę np: "Mikrokontrolery
AVR w praktyce"
zapoznaj się z rdzeniem to zaoszczędzisz sporo czasu resztę doczytasz w
pdfie.
Jak znasz 8051 to zapoznanie się z AVR pójdzie jak po maśle.

Jak się zdecydujesz na samodzielną implementację stosu niekoniecznie w AVR,
ale np. w 8051 to mogę co nieco podpowiedzieć.

Nie wiem jak to wygląda na ARM może ktoś inny się wypowie odnośnie ceny
takiego cacka z interfejsem ethernetowym i dostępu oprogramowania stosu
tcp/ip.


Pozdrawiam
Paweł



Poprzedni Następny
Wiadomość
Spis treści
From: Kristech <kristechUSUNTO_at_nospam_kristech.pl>
Subject: Re: =?ISO-8859-2?Q?Ksi=B1=BFki_do_AVR_+_pare_dodatkowy?=
Date: Mon, 21 Nov 2005 11:43:53 +0100


Tutaj:
http://www.mikroprocesor.pl/product_info.php?cPath=21_29&products_id=34
znajdziesz płytkę a ARMem LPC2129 + kontroler ethernetowy CS8900.
Do płytki dostępny jest darmowy stos TCP/IP (sportowany uIP) w linkach
znajdziesz również Web server (w/w stos uruchomiony jako wątek w FreeRTOS).

--
pozdrawiam
Kajstura K.

Poprzedni Następny
Wiadomość
Spis treści
From: Paweł Pawłowicz <paw-p_at_nospam_ozi.ar.wroc[kropka]pl>
Subject: Re: Książki do AVR + pare dodatkowych pytan dla praktyków. (długie)
Date: Wed, 23 Nov 2005 10:33:59 +0100


On Sun, 20 Nov 2005 23:19:54 +0100, Marek <ddddfjsajfa_at_nospam_wp.pl> wrote:

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
http://www.btc.pl/index.php?id=atmwp
-Mikrokontrolery AVR w praktyce
http://www.btc.pl/index.php?id=avr
-Programowanie mikrokontrolerów AVR w języku BASCOM
http://www.btc.pl/index.php?id=bas

Która z tych pozycji jest "najlepsza" dla osoby, która planuje poznać
AVRy i pisać oprogramowanie w C, lub BASCOMie? Skłaniam sie co do
pierwszej pozycji.

Przeczytalem wszystkie trzy ksiazki,tez bym wybral tak jak Ty. Jest
tam calkiem sympatyczny opis asemblera. Oczywiscie takze architektury
mikrokontrolerow.

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?

Wlasciwie sam sobie odpowiedziales: C.
BASCOM daje mozliwosc latwego i szybkiego napisania programu, ale nie
jest tak elastyczny i funkcjonalny jak C. Co do szybkosci kodu, zalezy
to bardziej od algorytmu, niz uzytego kompilatora. Ale to wiesz.
Po przeczytaniu ksiazki Baranowskiego dojdziesz do wniosku, ze pisanie
w asemblerze wcale nie jest takie straszne.

Drug± rzecz± jest dostępno¶ć darmowego ¶rodowiska do programowania.

AVR Studio + WIN AVR z AVR GCC.
Bardzo sympatyczny zestaw, calkowicie darmowy.

Pozdrawiam,
Pawel