Forum: Mikrocontroller und Digitale Elektronik Problem ATMega16 und PDIUSBD12


von Benjamin Hase (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe ein Problem den USB-Baustein PDIUSBD12 von Philips
anzusprechen. Die Schaltung ist gemäss App-Note von Philips aufgebaut.
Daten gehen über Port B, /CS geht an PA3, /WR geht an PA2, /RD geht an
PA1 und A0 an PA0.
Ich bekomme jedoch keine vernünftige Kommunikation mit dem Baustein
hin. In den FAQ zu dem Baustein ist das Kommando beschrieben, mit dem
die Chip-ID gelesen werden kann (0xFD). Das sollte 0x1012 zurückgeben.
Jedoch reagiert der Baustein bei mir überhaupt nicht auf Lesebefehle
und es wird nur Müll eingelesen. Ich habe den Verdacht, dass in meinen
Ein- / Ausgaberoutinen noch ein Bug drin ist.
Ich habe auch schon mehrfach das Timing gegen das Datenblatt gecheckt,
aber ich finde keinen Fehler - vielleicht bin ich einfach schon zu
lange dran.
Was noch aufgefallen ist: Sobald der Write-Strobe kommt, fällt die
Spannung an den Datenleitungen mit High-Pegel um ca. 1 Volt - keine
Ahnung warum.
Kann da vielleicht mal jemand drüber schauen oder hat eine Idee? Ich
suche schon seit drei Tagen nach dem Fehler und finde jetzt gar nichts
mehr...

Hier noch die Definition des flag_t:
typedef enum flags {Data, Command, Write = 0x2, Read = 0x4} flag_t;

Viele Grüße
Benjamin

von Benjamin Hase (Gast)


Lesenswert?

So,

ich habe den Fehler jetzt gefunden. Das war ein ganz blöder Fehler, ich
hatte /RD und /WR vertauscht - das kann natürlich auch nicht gehen.
Jetzt kann ich die Chip-ID auslesen, SoftConnect funktioniert usw. :-)

Der flag_t sieht jetzt so aus:
typedef enum flags {Data, Command, Write = 0x4, Read = 0x2} flag_t;

Viele Grüße,
Benjamin

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.