RS-485 + iCE40 für besseres CAN-FD

Das ist eine Idee, mit der ich schon eine Weile spiele und wollte mir eine Meinung einholen. Als ich zum ersten Mal von CAN-FD hörte, dachte ich, es wäre die Antwort auf dieses Problem. Die meisten Mikrocontroller der Mittelklasse haben jedoch keine Unterstützung für CAN-FD (ausgenommen LPC546). Der STM32H7 hat Unterstützung, aber die Kosten für diesen Mikrocontroller sind für die meisten Anwendungen viel zu hoch. Es gibt einige Geräte wie den TCAN4550 und die Microchip-Version, die recht gut, aber nicht so flexibel sind.

Mit einem RS-485-Transceiver und einem iCE40 oder einem anderen FPGA kann man ein kundenspezifisches Transceiver-System erstellen. Die Idee wäre, einen Mikrocontroller über SPI oder UART mit dem FPGA zu verbinden. Das FPGA würde das eigentliche Protokoll handhaben, das CAN ähnlich wäre.

Die Vorteile eines solchen Systems sind:

  • Flexible Systemgeschwindigkeit und Kosten (bis zu 48 Mbit/s)
  • Viele einstellbare Adressen pro Gerät
  • Option für ein Multicast-System
  • Nicht auf eine bestimmte Architektur beschränkt

Meine Fragen sind:

  • Lohnt sich der Preis wirklich oder versuche ich hier nur das Rad neu zu erfinden?
  • Kann die Arbitrierung noch bei hohen Geschwindigkeiten erfolgen oder sind sehr genaue Uhren erforderlich?
  • Gibt es schon ein Projekt wie dieses, das ich nur verpasst habe?

Es könnte ein großartiges Open-Source-Protokoll werden, für dessen Entwicklung ich sicherlich bereit wäre, einige Anstrengungen zu unternehmen.

Sie vermissen die Kosten für FPGA und Entwicklung. Sie müssten Tausende oder Zehntausende solcher Geräte herstellen, um die Kosten zurückzuerhalten. Und das FPGA wird mit genügend Gates zur Unterstützung von CAN leicht 5 $ kosten.
Werfen Sie auch einen Blick auf den STM32H750 – eine kürzlich auf den Markt gebrachte „billige“ Version des H7 – für nur 3,5 USD
@janDorniak Sie haben Recht, die Kosten für Entwicklung und Test wären hoch. Ich denke, wenn die gesamten Systemkosten ~ 10 $ für Transceiver, FPGA und Support betragen, ist es das vielleicht nicht wert.
@JanDorniak Ich habe mir den H750 angesehen. Das sieht nach einem hervorragenden Controller aus. Bei 10 $ für eine 400-MHz-MCU mit CAN-FD gibt es meiner Meinung nach keinen Wettbewerb. Es sieht so aus, als ob sie auch Unterstützung in die ST-Toolkette für diese Geräte einarbeiten.
Fragen Sie Ihren Händler – das H750 hat Budgetpreise unter 5 USD aufgeführt. Es gibt einen Konkurrenten – I.MX RT, der früher auf dem Markt war und diese zusätzliche Funktion der In-Bus-Verschlüsselung für QSPI hat. Aber viel weniger RAM.
Klingt, als wollten Sie einen CAN-FD-Controller wie diesen erfinden? ti.com/product/TCAN4550-Q1 . Ich habe keine Erfahrung damit, ich habe nur "can fd controller" gegoogelt.
Was kostet der iCE40? Zum Beispiel relativ STM32H7?
@Lundin dieser Controller wurde im ursprünglichen Beitrag erwähnt. Es ist auf dem Tisch als eine gute mögliche Alternative zu etwas Maßgeschneidertem.

Antworten (1)

Ich koche ein RS485-basiertes Protokoll für die Gebäudeautomation; Einzelmaster, 250 kbps. Nichts anderes entspricht meinen Anforderungen. Damit kann ich die winzigen, kostengünstigen Sensoren/Aktuatoren erstellen, die ich benötige. Das Rad neu erfinden kann meiner Meinung nach in Ordnung sein.

Die physikalische Schicht des CAN-Busses unterstützt Kollisionen, was für die Unterstützung mehrerer Master wesentlich ist. Die physische RS485-Schicht war nicht dafür gedacht, Kollisionen zu bewältigen, aber neuere Treiber und Empfänger verhalten sich bei Fehlerbedingungen elegant, sodass Sie es zum Laufen bringen könnten. Aber haben Sie darüber nachgedacht, einen CAN-FD-Transceiver für Ihr benutzerdefiniertes Protokoll zu verwenden?

Möglicherweise können Sie etwas Ähnliches wie Ihr FPGA-Konzept erstellen, indem Sie eine relativ schnelle ARM-Cortex-MCU verwenden. Könnte einfacher zu entwickeln sein, könnte durchaus billiger in der Produktion sein. Das Ergebnis kann für andere einfacher zu bearbeiten sein.

Schließlich erwähnen Sie 48Mbps. Ich hatte den Eindruck, dass sowohl CAN-FD als auch RS485 bei etwa 10 Mbit / s übertreffen?

7k-Gate-FPGA und eine gute MCU kosten etwa gleich viel. Und eine MCU wird nicht die gleiche Datenrate für das Geld verarbeiten
Ich denke es kommt auf die Kabellänge an. Maxim hat einige ICs, die Ihnen RS485 mit 100 Mbit / s liefern. Mein größtes Problem war herauszufinden, wie man mit Kollisionen umgeht. @JanDorniak Ich denke immer noch, dass die 750 die Antwort auf mein Problem sein könnte.