SJA1000 ungerade Register

Gast #626357
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
Gast
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.
Gast
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 ...
Gast
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.