Hallo zusammen, Meine nächste Aufgabe besteht darin, mit dem Cypress Mikrocontroller CY7C68013A-128AXC eine CAN Bus Anbindung zu realisieren. Der Cypress Mikrocontroller ist zwingend einzusetzen. Als weitere Anforderung muss der CAN Bus vom Mikrocontroller galvanisch getrennt sein. Datasheet von Mikrocontroller: http://download.cypress.com.edgesuite.net/design_resources/datasheets/contents/cy7c68013a_8.pdf Leider unterstützt der Cypress kein SPI, daher kommt als Interface wohl nur der 8051 Adress- und Datenbus in Frage (Adress- und Datenleitungen nicht multiplexed). Als CAN Controller kommt wohl der SJA1000 von Philips nicht in Frage, weil dieser nur multiplexed Adress- und Databus unterstützt - was der Cypress nicht kann. Hier http://www.mikrocontroller.net/articles/CAN habe ich nun den AN82527 von Intel (entwickelt von Bosch) gefunden, dessen paralleles Interface scheint mal grob zu passen. Detailliert habe ich die Interfaces aber noch nicht verglichen. Die galvanische Trennung sollte wohl kein grösseres Problem sein, im CAN Controller kann offenbar ein Flag gesetzt werden, so dass TX0 und RX0 als Aus- resp. Eingang auf einen separaten CAN Transceiver geführt werden können. (z.B. PCA82C251 http://www.datasheetcatalog.org/datasheet/philips/PCA82C251T.pdf) Die beiden Leitungen können dann einfach galvanisch getrennt werden. Fragen: - Hat jemand Erfahrung mit dem AN82527? - evtl. in Verbindung mit dem Cypress Mikrocontroller? - Sollte ich einen anderen Ansatz wählen, z.B. "Software-SPI" und einen MCP2515 von Microchip? Sonstige Anregungen, was als CAN Anfänger noch zu beachten ist? Danke für die Antworten. Gruss, Martin
hm, 8051-Architektur - bei dem konnte man doch die UART auch in einen synchronen Modus setzen? Kann man da nicht den MCP2515 ranstricken? Software-SPI kann schnell zum Flaschenhals werden. Kommt aber auch auf deine geforderte CAN-Bus-Baudrate an. Den AN82527 kenne ich nicht.
crazy horse wrote: > hm, 8051-Architektur - bei dem konnte man doch die UART auch in einen > synchronen Modus setzen? Kann man da nicht den MCP2515 ranstricken? Hmmm... Da muss ich nachschauen, das habe ich bisher nicht beachtet. > Software-SPI kann schnell zum Flaschenhals werden. Kommt aber auch auf > deine geforderte CAN-Bus-Baudrate an. Genau. Das wäre auch der letzte Strohhalm. Die Baudrate sollte bis 1MBaud möglich sein.
SJA1000 alt gedient, Fehler sind bekannt, Beispielcodes gibts genug. ALE des SJA1000 über Logik aus Adresse/WR/CS oder ähnlich generieren. Der SJA1000 hängt so bei mir an einem XSCALE. Und dann über nen Analog Devices ADUM oder nen Silabs Isolator (guenstiger) und nen NTE0505 oder ähnlich an den Bus.
Christian S. wrote: > SJA1000 > alt gedient, Fehler sind bekannt, Beispielcodes gibts genug. heisst Augen offen halten. Danke. > ALE des SJA1000 über Logik aus Adresse/WR/CS oder ähnlich generieren. > Der SJA1000 hängt so bei mir an einem XSCALE. Hat der XScale denn auch getrennten Adress- und Datenbus wie der Cypress? Sonst sind wir ja bei den Äpfeln und Birnen. > Silabs Isolator (guenstiger) Noch nie eingesetzt. Wie sind die in Handhabung/Betrieb im Vergleich zu Optokopplern? > und nen NTE0505 DC/DC Wandler.
Hier gibts nen Schaltplan in dem alles drin ist, was du brauchst! http://www.toradex.com/@api/deki/files/27/=Colibri_EvaluationBoard_Schematics_Rev2.1.pdf den 245er brauchst du nicht, wenn du keine Pegelanpassung machst. genausowenig wie den FET fuer die Pegelanpassung beim Interrupt. Bin nicht von der Firma setzte aber deren Produkte ein. Digital Isolator: https://www.silabs.com/products/power/isolators/Pages/default.aspx Handhabung extrem einfach. Ist wie ein Logikbuffer, den du dazwischen hängst. Evtl. ein bissel teurer als Optokoppler. Kommt allerdings auf die Geschwindigkeit an. Optokoppler find ich fuer galvanisch getrennte Eingänge gut, da sie robuster gegen den ein oder anderen Surge sind. Beim CAN hast du allerdings sowieso den Transceiver dazwischen und da ist es egal. DC/DC brauchste fuer die isolierte Spannungsversorgung. Wenn du das Produkt fertig hast kannste dich ja mal bei mir melden. Biete günstige und qualititativ gute Elektronikfetigung und -entwicklung in Asien an (deutsche Leitung und Engineering vor Ort). Beraten auch bei der Entwicklung bei der Wahl von Komponenten zur Kostenoptimierung. Hoffe das ist jetzt nicht zuviel Werbung. Wenn du auf der SPS in Nürnberg sein solltest kannste gerne mal auf unseren Stand kommen. Meld dich per PM wenn du Eintrittskarte und Standinfo brauchst.
Hallo Christian, Danke für die Antwort und v.a. den Schaltplan (Seite 26). Sehe ich das richtig, dass zwei Systembus Zugriffe erforderlich sind, um einen Zugriff auf den CAN Controller durchzuführen? Elektronikentwicklung und -fertigung erledigen wir über die bereits bestehenden Kontakte. Danke trotzdem für das Angebot, man weiss ja nie.
Das mit den Zugriffen siehts du richtig. Beim Setup ist dies ja von der Performance eh kein Problem und beim Empfang der Nachricht liest du eh nur von einer Adresse, da der SJA intern automatisch die Adresse im FIFO hochzaehlt.
Sodele, dann haben wir hier mal einen Entwurf der Schaltung. Der SJA1000 wird direkt an den Cypress Controller angeschlossen, da dieser 5V-tolerante Inputs hat. Bildlegende: D[0:7] : direkt an den Datenbus des uC angeschlossen CAN_nRESET : kommt von einem Digital OUT des uC CAN_nIRQ : geht auf Interrupt Eingang !IRQ5 des uC CAN_A4 : Adressleitung A4 alle weiteren Signale kommen direkt vom uC Nach Datenblatt liefern die uC Outputs mind. 2.4V @ 4mA für einen High Pegel, der SJA1000 braucht 2.0V (ALE, !CS, !RD, !WR) um ein High zu sehen. Das sollte also passen. Beim Reset Input muss ich wohl noch einen Level Shift einbauen, dieser braucht mind. 2.4V für einen High Pegel. Passt mit Open Collector und Pull-up also auch. Sieht da noch einer ein Problem mit der Beschaltung? Gruss, Martin
Keine Kommentare? Dann wird das so wohl passen ;-)
Nachtrag: Die galvanische Trennung wird dann später eingebaut, d.h. einfach RX0 und TX0 per Optokoppler auftrennen.
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.