Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ACAN

ACAN is an open-source hardware and firmware platform designed to seamlessly bridge CAN (Controller Area Network) and USB communication. It empowers developers and engineers with a robust, efficient, and versatile tool to interact with CAN networks, monitor real-time messages, and log data for comprehensive offline analysis.

With its seamless cross-platform compatibility and robust design, ACAN is perfectly suited for automotive, industrial, and embedded systems applications where reliable CAN communication is essential. Actively maintained and supported, the project thrives on contributions from the open-source community, fostering innovation and collaboration.

  • CAN-to-USB Bridge: Seamlessly connect and interact with CAN networks via a USB interface.
  • Cross-Platform Support: Compatible with Linux, Windows, and macOS for maximum flexibility.
  • Efficient Firmware Design: Optimized for performance with independent UART and CAN operations.
  • Data Logging: Log CAN messages to an SD card for offline analysis.

!Note Compatible with can-util on Linux using SocketCAN. Follow the guide here.

Hardware Overview

The ACAN hardware is built around the Infineon CYT2B75CAE microcontroller, featuring an ARM Cortex-M4 core. This microcontroller acts as the central bridge between the CAN peripheral and the UART peripheral, interfacing with USB via a USB-to-TTL converter.

  • Power Supply: Powered via USB, supporting a voltage range of 4.5V to 6V.
  • Status LEDs: Two LEDs provide real-time feedback on operational states (e.g., active communication, errors).
  • SD Card Support: SPI-based interface for SD card operations.

For detailed micrcontroller specifications, refer to the Infineon CYT2B7 Datasheet.

Firmware Overview

The ACAN firmware is meticulously crafted to deliver efficient and reliable communication between CAN and USB interfaces. Designed with performance as a priority, it ensures seamless operation, low latency, and robust handling of data transfers.

  • Static Scheduler: Implements a static scheduler to manage the state machine and refresh the watchdog timer.
  • Independent Operations: UART and CAN operations are executed outside the scheduler for optimal performance and reduced latency.
  • Error Handling: Error detection and handling mechanisms for reliable communication.

The firmware is implemented in C and developed using the ASDK (Application Software Development Kit) platform, ensuring a robust and efficient foundation for seamless CAN-to-USB communication.

Future Roadmap

The following features and improvements are planned for future releases:

  • Extended documentation and pre-built binaries for easier development.
  • Full SD card support for logging CAN messages.
  • Configurability for CAN baud rates.

Contributing

Contributions to the ACAN project are welcome! To contribute, please follow these steps:

  1. Fork the repository on GitHub.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them with descriptive messages.
  4. Push your branch to your forked repository.
  5. Submit a pull request to the main ACAN repository.

License

ACAN is licensed under the MIT License. See the LICENSE file for more information.

Support

For support, please open an issue on the GitHub repository or contact the maintainers via the provided channels in the repository.

Thank you for your interest in ACAN! We look forward to your contributions and hope you find ACAN useful for your projects.

About

Ather Control Area Network (ACAN) is a utility for CAN communication.

Resources

Stars

31 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages