Skip to content

shaynoorani/ECE4180_CANalyzer

Repository files navigation

CANalyzer - Frugal CAN Line Analyzer with a C# GUI

  • Brendan Bassett, Carl Cort, Eric Galluzi, Shayan Noorani, Tiancheng Zhao
  • Throughout this page, there are links to the section of the main github repo shaynoorani/ECE4180_CANalyzer that correspond to the given component. Navigate to those to see the exact implementations
Team Picture

Description

  • CAN Line Analyzer for easy access to CAN data
  • Simple C#-based GUI
    • Can filter based on CAN message ID
  • Calculates and displays CAN Load

Team Picture

Functionality Demo

Team Picture

Hardware

Parts

Wiring Diagram

Wiring Diagram

Note: the TCAN105 is the SMD CAN transducer itself and the wiring shown is for that device. However, the wires directly from the mbed go through the SOP14 breakout. The maping for the TCAN105 pins to the SOP14 pins are TCAN105(1-4) -> SOP14(1-4) and TCAN105(5-8) -> SOP14(11-14). This can be seen in the realworld image below.

Closeup of the Electronics

Closeup of the final electronics

Housing (Optional)

  • The housing was developed to make the device more rugged for practical use but is not required for functionality
  • As such, this section is presented to show not only our final design but also the measurements of the underlying device so that a different housing ould be developed if desired

Embedded Device Dimensions

Dimensions of relavent parts of the embedded device for designing the housing

*The CAN lines no longer come out as 3 lines but as one bundled wire that are terminated with a male molex connector since our car's CAN was accessible via a female molex

Final Housing Design

  • Two 3D printed components (PLA on the Bambu printers at the HIVE)
  • Front plate
    • Openning with ample clearance for varying size mini USB cables
  • Main housing Body
    • Window for onboard Mbed indicator LEDs
    • Openning for Mbed reset button
    • Openning on back side for CAN lines
  • Connected by M4 screws with a locking not pressure fit into the main housing side
    • Sturdy but also allows for replacement of Mbed or other components

Software

  • The Software is broken up into two key units: 1.) the Mbed-based CAN load calculator with CAN message passthrough and 2.) the C#-based DBC Message parser with the C# GUI
  • The messages are first read across a serial connection from the CAN transducer to the mbed where they are either tallied to calculate CAN load or passed-through the USB virtual COM port to the computer for use in the DBC Parser and Gui
  • The DBC parser reads the CAN messages sent by the mbed and packages them in structs that delineate the messages and segments the data into the message components
  • Finally, the GUI displays the CAN message in an easily read format
  • Handles CAN passthrough using Serial communication with the CAN transducer and and the computer via the virtual COM port
  • Also manages the logic for calculating the load in 10ms intervals
  • The CAN load is calculated according to the following equation:
load
  • The C# GUI & Parser reads in the serial data from the Mbed and differentiates between load messages and CAN messages sent as an ID + Data Frame
  • Load is displayed on a progress bar at the top
  • User is given the option to select a DBC, COM Port, and Baud Rate
  • The program uses the DBCParserLib to parse and display live decoded data.
  • A filter option is included to facilitate analysis

Usage

  • Select COM Port
  • Select Baud Rate
  • Select DBC
  • (Optional) Select ID Filter
  • Connect/Run and Stop when necessary
gui

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •