Forum: Mikrocontroller und Digitale Elektronik AVR und CS8900a (Ethernet)


von Sebastian (Gast)


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

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Der IP-Stack von Adam Dunkels scheint ganz ok zu sein:
http://dunkels.com/adam/uip/
Einen AVR-GCC-Port gibt's auch.

Gruß
Andreas

von Haiko (Gast)


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

von Christian Balzer (Gast)


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

von Christian Balzer (Gast)


Lesenswert?

Sorry,
hier noch mal der funktionierende Link:
http://www.ifas.htwk-leipzig.de/easytoweb/php/download/easyToWeb_105.zip

von meysam taassori (Gast)


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

von Christian S. (kriki)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.