AVR und CS8900a (Ethernet)

Gast #17894
Lesenswert?

Hallo,

ich überlege mir gerade, ein kleines Ethernetmodul mit einem ATMega und 
einem CS8900a aufzubauen. Beispiele für die Hardware hab ich schon 
gefunden, aber es sind noch ein paar Fragen offen:

1. Bei allen Layouts, die ich gefunden habe, wird der CS8900a über einen 
Port vom AVR angesprochen, aber nie über den Daten-Adress-Bus. Wieso? 
Ist das soviel aufwendiger?

2. Wenn ich es richtig verstehe, mappt sich der CS8900a ab der Adresse 
300h in den Adressraum. Aber außerdem hat er ja auch noch ein CS\. Muß 
ich also A8 und A9 auf high ziehen UND CS\ auf low? Was macht das für 
einen Sinn, normalerweise würde doch CS\ zum Aktivieren reichen (wie 
z.B. bei einem SRAM)?

3. Kennt jemand eine Quelle für einen freien, AVRGCC-kompatiblen 
C-Sourcecode für einen TCP/IP-Stack und am besten noch einen 
HTTP-Server?

Danke,

Sebastian
Gast #17896
Lesenswert?

Hallo,

du kannst den CS8900 auch in den Addressraum einblenden. Die Leitungen 
A8 und A9 des CS8900 müssen entsprechend dem Datenblatt gesetzt sein, um 
den Chip anzusprechen. Das siehst du schon richtig. Der Vorteil ist, 
dass man so ein Chipselect mit anderen ICs, ohne weitere Logik, 
verwenden kann. Das Problem dabei ist aber die Zugriffsgeschwindigkeit, 
der CS8900 ist relativ langsam.

Gruss Haiko
Gast #17897
Lesenswert?

Hallo zusammen
Ich versuche auch gerade ein ethernetboard mit dem cs8900a und nem
atmega32 aufzubauen. Will dafür den uip stack verwenden. Einen
möglichen device driver für den Controller habe ich schon gefunden,
weiß ihn nur noch nicht recht zu verarbeiten. Gefunden habe ich ihn auf
folgender Seite:
http://www.ifas.htwkleipzig.de/easytoweb/php/download/easyToWeb_105.zip
Hat vielleicht einer von euch Erfahrungen damit gemacht, oder hat einen
besseren mit Tips zur Anwendung?

Danke ,

Christian
Gast #17899
Lesenswert?

i have a question i use cs8900 in my project and connect it with avr
atmega32 i use cs8900 in 8 bit mode for read or write in its register
must i enable aen pin or no i read in cs8900 datasheet that for i/o
mode we must disable aen but i read in some ducument about this project
that we must enable aen please help me
#17900
Lesenswert?

Ok, hab gerade mal in meiner Schaltung nachgeschaut ... verwende 8bit
Hardware Mode (also lesen/schreiben über die Pointer).

AEN ist fix auf GND.

bezüglich der Adressen und /CS:

Bei mir ist es so, dass ich /CS fix auf GND hab und das ganze über die
Adressen mache. Allerdings habe ich wegen einem Flash davor noch ein
CPLD, das einen Adress/DatenLatch beinhaltet.(74LS138 heissts glaub ich
als Baustein).
Fazit: Es ist nicht aufwendiger, im Gegenteil, ich spar mir den Pin aus
und einzuschalten, dafür brauch ich aber noch externe Logik.
Irgendwo im CS8900 Datenblatt ist eine schaltung mit dem Externen
Adress-Latch drinnen.

Bez. Adressen UND /CS: Es wäre möglich, dass du mehrere CS8900 drinnen
hast (für getrennte Sende/Empfangsleitung z.B. bei einer Ringleitung),
dann kannst du über die höheren Bits den /CS ansteueren, wobei die
unteren gleich bleiben.
d.h. CS1 auf 0x1300, CS2 auf 2300.
-> mit 1000/2000 machst du den ChipSelect und die 300 brauchst dann ja
zum ansteuern.

Wer genaues wissen möchte, kann mir gerne schreiben, allerdings kann
ich weder die komplette SChaltung noch den kompletten Sourcecode (Alles
in Assembler - TCP/IP,UDP,DHCP,ARP) zur verfügung stellen, da gewerblich
genutzt.

Mail an: sch@elpro.at oder e0326715@student.tuwien.ac.at

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren