CAN noder

Jag har skrivit ett C# program i Microsoft Visual Studio för att visa data från bilens CAN-bus.
Bilens- och högspänningsbatteriets CAN-data läses med ett USB interface från Kvaser. Data filtreras och skalas till fysikaliska värden som skall visas numeriskt eller med visarinstrument. Vissa digitala signaler använd också för att tända och släcka indikeringar på displayen. Eftersom jag inte är någon vidare duktig Windows-programmerare har jag valt att låta applikationen anropa javascript i en brower för att kunna utnyttja webbläsarens fina stöd för grafik och dynamik med AJAX (Asynchronus Javascript And XML).

Bilen kommer att ha två CAN:
  • Vehicle-CAN där elmotorinverter, batteriladdare, DC/DC-omvandlare, GPIO-enhet , reservdisplay och telematikenhet är anslutna.
  • Battery-CAN där de 12 batterimudulerna (slavenheterna) är anslutna.

Jag kommer att behöva konstruera några av dessa CAN-noder själv.
  • GPIO-enheten – denna kommer att ha ett antal digitala och analoga in- och utgångar. Primärt kommer denna att användas för att förse huvudinstrumentet med information som annars inte finns på CAN. t.ex. blinkers, helljus etc.
  • Reservdisplayen – syftet med denna är att kunna övervaka viktiga parametrar om PCn tillfälligt inte fungerar.
  • Telematikenheten – denna skall kunna anropas för att t.ex. kunna läsa högspänningsbatteriets laddningsgrad.

Kvaser interfacet är ett USBcan II HS/HS med två CAN-kanaler, en kanal för Vehicle-CAN med 500 kbit baudrate och 11-bitars identifierare och en kanal för Battery-CAN med 125 kbit.

Nedan följer en schematisk bild av detta.


Kommentarer