Netzwerkkarte versaut mir alles!
Hi,
ich habe eine ISA Netzwerkkarte mit RTL8019 und ein Display an meinen PIC angeschlossen.
Netzwerkkarte und Display teilen sich die Datenleitungen. Das funktioniert bzgl. der Netzwerkkarte sehr gut, sie verrichtet ihren Dienst. Das Display kann ich aber nur beschreiben. Sobald ich zum lesen der Displaydaten die Datenleitung im PIC auf Input stelle, produziert die Netzwerkkarte mir einen High-Pegel an allen Input-Pins und versaut alles.
Ist das nun ein Elektronik-Fehler? Also ich habe die ISA-Pins direkt mit dem PIC verbunden, keine Pull-Ups/Downs etc. ebenso die Display-Pins. Oder ist das ein normales verhalten der ISA-netzwerkkarte, ich mein einen Chip-Select wie das Display hat die Karte ja nicht. Aber man kann ja im PC auch mehrere ISA-Karten an einem Bus betreiben.
Hat jemand Tipps oder Ratschläge was ich testen könnte? Bin irgendwie Ratlos.
Schonmal Danke im vorraus!
Gruß starkeeper
Liste der Anhänge anzeigen (Anzahl: 1)
Also ein Bild sagt mehr als tausend Wort, daher hier mal der Schaltplan.
Softwaremäßig habe ich das jetzt alles mal auf ein minimum reduziert um Fehlerquellen ausschliessen zu können. Folgender Code produziert mir einen wechselnden High-Low-Pegel je nachdem ob der PIC nun auf input oder output stellt. Zum testen habe ich nur die Netzwerkkarte auf der Platine stecken. Mit dem Debugger oder dem Voltmeter kann ich das ganze Schauspiel dann beobachten.
Code:
CCS:
BYTE data;
output_d(0x00);
output_high(IOW);
output_high(IOR); (auch low-Pegel getestet)
output_high(RST);
delay_ms(2);
output_low(RST);
output_high(AEN);
data=0;
delay_ms(2000);
data=0;
data = input_d();
delay_ms(2000);
output_d(0x0);
delay_ms(2000);
data=0;
data = input_d();
delay_ms(2000);
output_d(0x0);
delay_ms(2000);
data=0;
data = input_d();
Den AEN habe ich auch mal in meinen kompletten netzwerk-code eingearbeitet. Also die Karte kann in der tat nicht beschrieben werden wenn AEN disabled (high) ist. Aber der Effekt das die Datenleitungen auf high gehen sobald ich auf input stelle bleibt. Wenn ich der Karte natürlich einen ordnungsgemässen Read-Befehl sende gehen nicht alle Datenleitungen auf High.
Bisher macht es keinen Unterschied, ob ich die Netzwerkkarte initialisiere oder nicht, daher sollte der obige Code zum testen ok sein.