CANBUS Overview
What is the CANBUS?The CANBUS is one of many communication systems within the vehicle, others being MOST, LIN, FLEXRAY and Ethernet.
As I understand it the Polestar 2 has 11 CANBUS networks for different areas of the car.
The information shared here is gained from passively snooping the Canbus's and listening to the standard 'chatter' of the Polestar communication network. This differs from many ODB-II tools that actively request debug data.
At the moment I have focused on the CAN_Infotainment, this runs between the VGM and the TCAM, I knew that would contain standard journey data that I wangted access to. I will move on to Engine_CAN (High voltage battery information) and then body CAN exp (front lights etc.) next.
Why?
The Polestar app and the journey logger are quite limited with their features, I want something that can record odometer and battery usage etc... And as an engineer I want to know how and why stuff works, or if I was paranoid I'd want to know what data is being sent back to Polestar!
What information do I expect to find on the CANBUS's?
A whole myriad of information should be available, all dashboard information, GPS, wheel speeds, steering wheel controls, steering wheel angle sensor, individual cell voltages, charge information, temperatures, lighting status, etc.....
Equipment used for CANBUS logging
In its simplest form you can use an Arduino with a CANBUS shield. However, the CANBUS speeds are relatively high (500KHz) and for a simple AVR like the basic Arduino there will be very little overhead to do any computational analysis of the data as well as reading all CANBUS commands. AVR's like the ESP32 have a better CPU architecture and a much faster clock.
The CAN_Infotainment bus runs at 500KHz however I expect others may run even faster at 1MHz or possibly slower at 250KHz.
Using the Data
Once you have parsed the data it can be recorded to an SD card, or transmitted over WiFi or Bluetooth. Creating a php script or Bluetooth app means that you can create your own bespoke black box or logger.
Polestar CANBUS's
Please note that I am still in the process of validating the information below and completing the table.
CANBUS NAME | Modules on this bus | Speed | CANBUS_H Colour | CANBUS_L Colour |
---|---|---|---|---|
CAN_INFOTAINMENT | TCAM, VGM | 500KHz | GN/YE | YE/WH |
Body CAN Exp | HCML, HCMR, CEM | - | BN/GY | YE/VT |
Body-CAN (CANHS) | CCM, POT, CEM | - | VT/WH | VT/GN |
Diagnostics and Connectivity CAN | VGM, VCU1, ATM, ODB | - | GN | YE |
Front 1 CAN | HVB, VCU1 | - | BN/WH | BN/GN |
Front 2 CAN | HVB, ESM, ECM | 500KHz | BN/WH | BN/GN |
Front 3 CAN | IHFA, ECM, VCU1 | - | WH/GN | GN/YE |
Mid 1 CAN | EGSM, SWM, SCL, EPAS, VCU1 | 500KHz | BN/WH | BN/GN |
Front CAN Exposed | FLR, ASDM | - | WH/GN | PK |
Rear 1 CAN | OBC, ECM, IEM, VCU1, SRS | - | PK | BN |
Safety CAN Exposed BEV | BLIS (L), BLIS (R), ASDM, WAM | - | WH | GN |
CAN_ABS_Braking | IEM, IHFA, BCM2 | - | GN/YE | YE/WH |