Zum Inhalt springen

WSAL10771 – RS485 CAN Shield

Aus JW Tech Wiki

Dokumentationshinweis: Diese technische Dokumentation wurde aus einer archivierten Lieferantenquelle neu formuliert. Technische Angaben und Befehle müssen vor der Verwendung mit der Produktversion und den Herstellerunterlagen abgeglichen werden.

Zusammenfassung

Kurze technische Einführung in das Waveshare RS485 CAN Shield für NUCLEO/XNUCLEO-Boards, einschließlich Funktionsbeschreibung der MAX3485- und SN65HVD230-Chips, Pinbelegung und Beispielprogramme für Senden und Empfangen.

Zugeordnete Produkte bei JW Tech

Technische Übersicht

  • Das Shield basiert auf dem Standard-Arduino-Anschluss und ist mit UNO, Leonardo, NUCLEO und XNUCLEO kompatibel.
  • Die RS485-Funktion nutzt den MAX3485-Trägerchip (3,3 V), halb-Duplex-Betrieb; A/B sind die Differenzsignale.
  • Die CAN-Funktion nutzt den SN65HVD230 von Texas Instruments (3,3 V) mit drei Betriebsarten: Hochgeschwindigkeit, Steigung und Warten, gesteuert über den Rs-Eingang.
  • Auf dem Xnucleo sind D14 (PB9) und D15 (PB8) standardmäßig die CAN-Sendeeingänge; PB9/PB8 müssen per GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE) auf CAN1 umgeleitet werden.
  • D7 (PA8) steuert die RS485-Richtung: Hohe Stufe = senden, niedrige Stufe = empfangen.
  • D8 (PA9) und D2 (PA10) sind TX/RX von UART1; alternativ kann über Jumper JP4 auf UART2 (D0/D1) umgestellt werden.
  • Zwei Boards werden über CANH/CANL bzw. A/B-Leitungen direkt verdrahtet.
  • Beispielprogramme nutzen die mbed-Umgebung mit STM32-Library; CAN wird über CAN_Transmit/CAN_Receive angesprochen, RS485 über Serial-Objekte.

Befehle und Beispiele – vor Ausführung prüfen: 

GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE);
CAN_Config();
CAN_Transmit(CAN1, &TxMessage)
CAN_Receive(CAN1, CAN_FIFO0, &RxMessage)
RS485.printf(...)
RS485.scanf("%s", s)

Hinweise und Versionsgrenzen

  • Das Shield benötigt zwingend eine 3,3-V-Ersspannung; bei UNO/Leonardo kann die CAN-Funktion wegen Hardwarebeschränkungen nicht verwendet werden.
  • Die Umleitung von PB9/PB8 auf CAN1 ist versionsempfindlich und muss im Programm gesetzt werden.
  • Der Jumper JP4 muss korrekt konfiguriert sein, wenn UART2 (D0/D1) als RS485-Seriellport genutzt werden soll.
  • Die Demo-Programme setzen ein bestimmtes Xnucleo-F103RB mit STM32F103R voraus; Kompatibilität mit anderen MCU-Typen ist nicht garantiert.
  • Keine Sicherheits-, Zertifizierungs- oder Garantieangaben im Quelldokument vorhanden – keine Annahmen treffen.

Quelle und Revisionsnachweis