Labnode/can2usb

Aus LaborWiki
Wechseln zu: Navigation, Suche
Kran
Diese Seite befindet sich noch im Aufbau bzw. wird gerade heftig überarbeitet. Vorsicht: Herumliegende Gedankenfetzen!
Dieser Banner ist hier dokumentiert.
     
CAN2USB

Release status: Experimental [box doku]

Description Labnode mit angepasster Firmware, um über eine virtuelle, serielle Schnittstelle auf den CAN-Bus zuzugreifen
Author(s)  DeadDealer
Last Version  V0.2 (3.11.2010)
Platform  AVR (ATmega32/64)

Hier entsteht eine Anleitung wie man seine Labnode nutzen kann um über den USB-Anschluss, einer an die Labnode angepasste CDC-232 Firmware und einer Java-Applikation den CAN Bus beobachten und auch beeinflussen kann.


Fortschritt[Bearbeiten]

2 Labnodes wurden mit einer angepassten CRC-232 Firmware geflasht und an 2 Rechner angeschlossen. Die RX und TX-Anschlüsse, die im ISP-Stecker vorliegen, wurden mit 2 gekreuzten Adern verbunden. Mit HTerm (oder jeder anderen, beliebigen Terminalsoftware) ist es möglich, Daten und Text zwischen den Rechnern auszutauschen. Die zuvor ermittelte Maximalbaudrate von 56 kbaud funktionierte auch hier. Die Grundfunktion der CRC-232 Firmware ist damit erfolgreich getestet und wird nun Stück für Stück auf den Betrieb mit CAN ausgebaut.

Kleiner Workaround: Eine Labnode wurde mit der CRC-232 Firmware geflasht, die andere Labnode hat eine CAN-UART "READ-ONLY" Firmware bekommen. Die Kommunikation sieht jetzt wie folgt aus:

CAN - MCP2515 - ATmega32 - UART - UART - ATmega32 - Soft-UART - USB - PC - Terminal

Bei einer Baudrate von 19200 werden nun empfangende Pakete von CAN auf das Terminal gezaubert. Die CAN-UART Firmware ist leider nur für das Empfangen von Paketen geschrieben worden. Eine Sendeoption wird ergänzt. Es wird angedacht, die CAN-UART Firmware mit USB zu ergänzen anstatt CAN in die UART-USB Firmware einzuarbeiten.


Done[Bearbeiten]

- CDC-232 Firmware an das Laborboard anpassen
- Bidirektionale Kommunikation mittels Terminalsoftware testen (RX/TX verbinden)
- maximale UART-Geschwindigkeit ermitteln - 56kbaud
- Verbindung zwischen 2 Labodes testen
- UART-Kommunikation zwischen 2 Rechnern herstellen


Todo[Bearbeiten]

- Can-Bibliothek in die Firmware einbinden
- Bypass von UART zu Can in der Firmware herstellen
- Daten eines Can-Geräts über die Labnode auf dem Computer empfangen
- Daten an ein Can-Gerät über die Labnode senden
- Terminalkommunikation über den Can-Bus mittels 2 Labnodes
- automatisches Beziehen einer temporären Adresse auf dem Can-Bus (if !ping.desiredAdress.xTimes set tempFreeAdress)
- Beginn der Java-Applikation für den PC