Gruppo Meteo/CanBus

Da raspibo.
Jump to navigation Jump to search

estendere un bus I2C

https://www.nxp.com/docs/en/data-sheet/PCA9615.pdf https://www.sparkfun.com/products/14589

Can Bus

Overview

The CAN bus is an ISO standard bus originally developed for vehicles. It manages the Chassis Electrical System Control and is responsible for critical activities like engine electrical, and skid control. This system is also used to provide vehicle diagnostic information for maintenance. A multi-star configuration seems typical of this bus with a primary bus line that branches into sub bus lines at its extremities then attaches to multiple device nodes. Differential voltage is applied over twisted pair at 1.5 to 2.5V and 2.5 to 3.5V for noise resistant signaling. Bit rates up to 1 Mbit/s are possible at network lengths below 40 m. Decreasing the bit rate allows longer network distances (e.g., 500 m at 125 kbit/s). (Jeremiah J. Flerchinger Source) Controllers supporting CAN FD, an enhanced CAN version with frames up to 64 byte and bit rates up to 4 Mbit/s, will be available in the second half of 2014. A can4linux version supportig CAN FD on a IFI CAN is ready to be used.

Can bus in Linux

Can bus python


hardware

CAN SPI mcp2515

SLCAN

STM32

https://github.com/r-map/rmap/blob/master/platformio/test/canbus-exocan/schematic.png

==

exocan

https://github.com/r-map/rmap/blob/master/platformio/test/canbus-exocan/src/bpCanBlinkInterrupt.ino

STM32CAN

https://github.com/J-f-Jensen/libraries/tree/master/STM32CAN

CanOpen

CANopen is a communication protocol and device profile specification for embedded systems used in automation. In terms of the OSI model, CANopen implements the layers above and including the network layer. The CANopen standard consists of an addressing scheme, several small communication protocols and an application layer defined by a device profile.

CANdevStudio

https://github.com/GENIVI/CANdevStudio


SAE_J1939

https://en.wikipedia.org/wiki/SAE_J1939

UAVCAN

What is UAVCAN?

UAVCAN is an open lightweight protocol designed for reliable intravehicular communication in aerospace and robotic applications over CAN bus, Ethernet, and other robust transports. It is created to address the challenge of deterministic on-board data exchange between systems and components of next-generation intelligent vehicles: manned and unmanned aircraft, spacecraft, robots, and cars.

https://uavcan.org/ https://uavcan.org/specification/UAVCAN_Specification_v1.0-beta.pdf

https://forum.uavcan.org/t/automatic-configuration-of-port-identifiers/840/3

libreria per arduino

https://github.com/107-systems/107-Arduino-MCP2515


Applicazioni Px4

https://dev.px4.io/master/en/uavcan/

pyuavcan

pyuavcan sub --transport "pyuavcan.transport.can.CANTransport(can.media.socketcan.SocketCANMedia('can0',8),None)" uavcan.node.Heartbeat.1.0


==

UAVCAN libreria c++ semplificata per arduino

UAVCAN library for Espressif microcontrollers. (Arduino SDK)

https://github.com/JediJeremy/libuavesp


stm32duino

https://github.com/r-map/rmap/blob/master/platformio/test/uavcan-v1/src/example.ino