Hallo, ich bin mir seit heute etwas unsicher bzgl. meines Verständis zum
CAN Bus. Auf meiner Platine befindet sich ein PCA82C251 Transceiver und
auf dem Testgerät ein TJA1042. Mein Verständnis ist das ich beide Geräte
miteinander verbinden kann und eine CAN Kommunikation nichts im Wege
steht. Seht Ihr das anders? Hab ich etwas übersehen?
Gruß,
Torben
Dann sollte das funktionieren. Natürlich korrekte Spannungsversorgung
und Signalquelle (z.B. µC) am jeweiligen Transceiver vorausgesetzt. Der
Tansceiver setzt ja nur die Logik des Controllers physikalisch auf den
Bus um.
Woher kommen die Zweifel?
Torben schrieb:> Der PCA laeuft mit +5V und der TJA mit 12V, aber laut meinen Verständnis> müsste es laufen, weil es sich um ein Differentialsignal handelt.
Ja, das ist richtig. Allerdings solltest du auch die Massen miteinander
verbinden.
Hallo,
Nein der PCA mit +5V und der TJA1042 mit VBAT 12V und VCCio mit 3,3V.
Zum Testen, ob mein Board (PCA) funktioniert hab ich auch ein Vector
CANCaseXL angeschlossen. In beiden Fällen krieg ich keine CAN
Kommunikation. Mit welcher Spannung die Vectorbox arbeitet weiss ich
nicht.
Tut mir leid, aber ich weiß nicht, was du meinst.
Ich habe es so verstanden, daß du die beiden o.g. Transceiver hast, die
jeweils mit ihrem Controller verbunden sind. Beide Transceiver sollen
dann an einen ordnungsgemäß terminierten Bus angeschlossen werden und
miteinander kommunizieren. Beide Transceiver haben laut Datenblatt eine
Versorgungsspannung von 4.5 - 5.5 V. Was die Controller für eine
Versorgungsspannung haben, ist hier ja egal. Schau dir in beiden
Datenblättern mal die "typical application" an; dort ist die Beschaltung
abgebildet.
Hallo,
ok dann muss ich es besser erklaeren.
Meine Platine besitzt den PCA82C251 mit VCC +5V. Das zweite Gerät
besitzt den Transceiver TJA1042 mit VCC +5V und Vio +3,3V. VBAT gibt es
bei der IC garnicht und ist mein Fehler, weil ich das Bauteil mit dem
TJA1041 verwechselt hatte.
Meine Platine mit PCA82C251 arbeitet mit 500k und das Zielgerät
(TJA1042) werkelt auch mit 500k. Beide Geräte sind mit 120 Ohm
terminiert.
Nachdem ich mit meiner Platine keine Datenempfangen konnte wurde ein
CANcaseXL von der Firma Vector angeschlossen, obwohl ich davon ausgehen
kann das das Zielgerät einwandfrei arbeitet. Selbst mit den Vector Tools
emfpange ich keine Daten und empfange keine Daten, deshalb hab ich mich
mit einem Oszi. direkt an meinen AT90CAN128 gehängt auf den TX bin und
sehe Datenänderungen auf der Leitung, die RX Leitung bekommt keine
Daten. Wenn ich differential am PCA82C251 an CANH undCANL messe sehe ich
keine Pegeländerungen. Mein Messaufbau hab ich danach an den Vector Tool
getestet und messe dort einwandfrei auf CANH und CANL den Datenverkehr.
Ich dachte das mein RS Pin vielleicht floated bzw. nicht auf Masse
liegt, aber eine ohmische Messung zeigte eine einwandfreie Verbindung
zur Masse.
Gibt es noch Möglichkeiten den Transceiver auszuschliessen als
Übeltäter, den Daten werden auf TXD vom AVR gesendet nur erhalte ich
keine Daten auf CANH und CANL?
Prinzipiell werden beim CAN gesendete Daten auch selbst wieder empfangen
(Bus-Arbitrierung), d.h. auf Tx gesendete Daten müssen via Transceiver
auch an Rx messbar sein, sonst ist der Transceiver platt oder falsch
beschaltet.
Hallo,
zum testen, ob der Transceiver das Problem ist wollte ich eine zweite
Platine mit gleichen Problem nehmen und auf beiden Platinen den
Transceiver entfernen, danach möchte ich die beiden AT90CAN direkt ohne
Transceiver verbinden, siehe unten.
Board1 CANTX -----> Board2 CANRX
Board1 CANRX <----- Board2 CANTX
Spricht etwas dagegen oder sollte so eine Kommunikation funktionieren?
Hallo,
ein Schaltplan wäre sehr hilfreich. Ins blaue getippt: Am PCA82C251 den
Anschluss "8 - Rs /slope resistor input" richtig beschaltet? Sonst wird
nichts gesendet.
Gruß
-HolgerT
Hallo, das war auch meine erste Vermutung, aber der Pin ist mit einem
Jumper gegen Masse gelegt. Ich muss ganz ehrlich sagen das ich noch nie
diesen Transeiver im Einsatz hatte, sondern immer nur 14Pin Automotive
Versionen und da auf diesen Platinen funktionierte alles auf anhieb.
> Board1 CANTX -----> Board2 CANRX> Board1 CANRX <----- Board2 CANTX
Nein das geht nicht, da jeder Controller ja auch
seine eigene Nachricht wieder hoert also der
CAN Tranceiver verbindet ja intern
Board1 CANTX -----> Board1 CANRX.
Aber so schwer ist das doch nicht einen CAN
Tranceiver richtig zu beschalten. Also zeig uns
deinen Schaltplan sonst wird das nichts mit
weiterhelfen
hoppel
Hallo,
in der Schaltung mit dem PCA82C251 stoplere ich immer über den Ref Pin
der nicht benutzt wurde.
Ich hab in vielen Projekten erfolgreich den TJA1040 eingesetzt und die
Beschaltung von der Seite 8 Fig.3 benutzt ohne Probleme. Die
Widerstandswerte wurde auf die Kabellänge und die auftretenen
Reflektionen und auf die anderen Teilnehmer ausgerechnet
Könnte das schon mein Problem mit dem PCA sein, dass der REF Pin in der
Luft hängt?
http://www.nxp.com/documents/data_sheet/TJA1040.pdf
Eine sehr ähnliche Schaltung setze ich seit vielen Jahren ein, ohne
Probleme, es ist auch noch nie ein PC82C251 abgeraucht.
Unterschiede:
Überspannungsschutz und Gleichtaktdrossel auf CAN-Seite,
Anstatt ADUM1201 ein IL712 (I/O Kanäle getauscht)
Anderer Controller
Vrerf ist offen, Rs ist entweder mit Masse gebrückt (funktioniert
immer), oder angepasst.
Bleiben noch Probleme in der Versorgung, Kurzschlüsse oder offene
Verbindungen auf der Platine oder Busverdrahtung, Rterm hat 1,2 Ohm oder
so.
ISO1050 schon gesehen? Spart etwas Boardspace und ist Failsave, kann
aber nur bis 500kbit/s.
Ich habe eine aehnliche Schaltung ebenfalls schon
oefters eingesetzt (mit dem TJA1051) und noch nie
Probleme gehabt. Der ADUM1201 funktionierte bei mir
ohne Probleme, was hast du denn fuer einen DC/DC Wandler
genommen?
hoppel
Hallo,
wie vorgegeben:
http://such002.reichelt.de/?SID=28gr0eHawQARwAAF2FAoAc939232ac1e005de27d489daed75fe91;ACTION=446
Der ADUM1201 macht auch keine Probleme ich kann perfekt das CANTX Signal
auf dem Ausgang messen, aber aus dem Transceiver kommt nix raus und auch
nix rein. Ich stehe momentan auf dem Schlauch. Meiner Meinung ist auch
nicht der Transceiver kaputt, weil zwei PCB's das Verhalten zeigen und
die Wahrscheinlichkeit das beide defekt sind recht klein sind. Ich werde
noch einmal die Bestückung prüfen, weil ich die Platinen nicht bestückt
habe.
Ich bedanke mich recht herzlich für die Anteilnahme, falls jemand noch
Tipps hat, dann wäre ich demjenigen sehr verbunden.
> wie vorgegeben:> http://such002.reichelt.de/?SID=28gr0eHawQARwAAF2F...
Da kommt bei mir nur ne leer Seite, wenn du das bestueckt
hast ist es kein Wunder das es nicht funktioniert ;-).
> Der ADUM1201 macht auch keine Probleme...
Ich bezog mich da eher auf das vorherige Posting mit
dem IL712.
Was mist du den auf dem CAN Bus. Normalerweise
hat der im Ruhezustand so um die 3 - 5 Volt (Can-High)
und 2 bis 3 Volt (Can-Low).
hoppel
Hallo,
Reichelt: SIM1-0505 SIL4
>Was mist du den auf dem CAN Bus. Normalerweise>hat der im Ruhezustand so um die 3 - 5 Volt (Can-High)>und 2 bis 3 Volt (Can-Low).
Hierzu muss ich den Messaufbau noch einmal herstellen und werde mich
persönlich kurz mit Oszi und LA (mit Interpreter) auf den Bus hängen.
Leider war heute keine Zeit um etwas in dieser Richtung zu tätigen.
Ich wollte in dem Forum andere Leute erreichen die den Transceiver um
Erfahrungen auszutauschen und einen Tipp zur Fehlersuche zu bekommen.
Warum setzt Du so einen Billig-Wandler ein, der ist nicht wirklich
kurzschlussfest (hier nicht ganz so wild, da die 5V nicht direkt nach
aussen gehen) und hat eine schlechte Spannungsregelung.
Wenn ich das schon sehe: 2 Datenblätter, widersprüchlich im
Betriebstemperaturbereich.
Wenn der 5V +-5% Ausgangsspannung hat und zusätzlich +-8%
Lastausregelung (eingeschränkte Angabe für 20-100% Last) musst Du
schonmal einen worst case von +-13% annehmen.
Der PC82C251 erlaubt aber nur 10%, siehe Tabelle 4 im Datenblatt:
Supply TXD CANH CANL Bus state RXD
0V<VCC < 4.5 V floating floating floating floating X
Prüf mal die Versorgungsspannung, auch mit dem Oszi. Nicht das da der
erste Pegelwechsel die Versorgung einknicken lässt und der PC82C251 sich
abschaltet.
Langsame Lastausregelung des DCC, Rs der Drossel und die fehlende
grössere Kapazität (bei mir z.B. 10µ16 1206, vor und hinter der
Drossel(Ferrit 0805, der Wandler ist aber auch schöner ;-)) könnten dazu
beitragen.
Hallo,
>Warum setzt Du so einen Billig-Wandler ein, der ist nicht wirklich>kurzschlussfest (hier nicht ganz so wild, da die 5V nicht direkt nach>aussen gehen) und hat eine schlechte Spannungsregelung.>Wenn ich das schon sehe: 2 Datenblätter, widersprüchlich im>Betriebstemperaturbereich.
die Schaltung ist nicht meine Entwicklung, sondern ich wollte gerne für
zu Hause was fertiges nehmen und auf der Homepage gab es relativ viele
positive Berichte, dass die Schaltung funktionert.
>Wenn der 5V +-5% Ausgangsspannung hat und zusätzlich +-8%>Lastausregelung (eingeschränkte Angabe für 20-100% Last) musst Du>schonmal einen worst case von +-13% annehmen.
Danke ein guter Tipp die Spannung vom DC/DC auf Ripple etc. zu prüfen.