Hallo, ich möchte einen SJA1000 mit dem FPGA CycloneII ansteuern. Um die Spannungspegel anzupassen ist zwischen FPGA und SJA1000 ist ein Levelshifter installiert (s.Anhang). Das Schreiben und Lesen von geraden Registern klappt, aber sobald ich auch nur einmal eine ungerade Adresse übertrage, kippt das ResetRequest-Bit ( RR CR.0 ) vom Controlregister wieder auf High (ResetMode). LAut Datenblatt gibt es für dieses Verhalten keine Erklärung. Der Resetmode kann nur durch einen Hard- oder Software Reset, sowie durch Bus-Off erreicht werden. Der Bus ist aber on, sagt mir zumindest das Statusregister mit der geraden Adresse 2. Das gleiche Verhalten zeigt sich sowohl im Intel als auch im Motorola Mode. Einige Adressen wie z.B. Register 11 (Transmit Buffer) kann man nur im Operation Mode beschreiben, dies ist natürlich so nicht möglich. Ich kämpfe jetzt schon zwei Wochen mit dem Problem und mir geht langsam die Puste aus. Kann mir jemand helfen ? Gruß Roland
wir verwenden auch SJA1000 über Busswitches an einem FPGA. Klappt soweit... Was man machen könnte: Hast Du mal einen anderen SJA1000 Chip versucht? Könnte es ein übersprechen zwischen Leitungen sein, das nur bei ungeraden Adresse auftritt? Du könntest ja mal ein Bit "manuell" setzten und dann trotzdem auf die gerade Adresse schreiben (ergibt dann ja ne ungerade Adresse) und gucken was sich da tut? Hast Du ne Möglichkeit den Bus aufzuzeichnen? Vielleicht tut da ja was nicht? Viel Erfolg Falk S.
Einen anderen SJA1000 habe ich versucht, allerdings sitzt der auf einer Karte mit dem gleichen Layout bzw. Routing ... Ich kontrolliere das Timing und den Bus mit einem Gould Classic 500Mhz/2GS/s. Es gibt kein sichtbares übersprechen auf den Bus. Speziell schaue ich mir natürlich AD0 an, doch auch hier alles aal-glatt. Das ALE Timing ist sauber. Auf WR getriggert, passiert auch nur was, wenn ich schreibe. Was meinst du mit "Manuell", wenn ich AD0 fest auf High ziehe, dann kann ich ja ADO nicht mehr auslesen ...
AD0 fest auf high ziehen => klar, dann stimmt beim Lesen bit0 nicht mehr. Ist ja nur zum Testen ob er dann trotzdem in den Reset-Zustand springt.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.