Skip to content

GHolli/eBUS-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

eBUS Synchronisation

Communication via the eBUS requires synchronisation. This project should enable this synchronisation although transmission latency (e. g. via WiFi).

Overview:

What You Need

eBUS Adapter: Any eBUS adapter with a UART interface should be fine.

Microcontroller board: The STM32F103C8T6 achieved a good timing accuracy also with quite some debug output. I also tested a ATmega328P with 8 MHz, which was too slow. At 16 MHz it was slightly better, but with Arduino and quite some debug output it was also too slow (an optimised native implementation should be fine).

Wiring

Connect Vcc and GND.
eBUS TxD - A0 (SENSE_PIN)
eBUS RxD - A1 (WRITE_PIN)

eBUS adapter (example):
MCU pinning

STM32F103C8T6 board:
MCU pinning

Firmware

Flashing the bootloader:

Flashing Bootloader for STM32F103C8T BluePill Boards

The firmware can then be easily uploaded via USB by the "STM32duino bootloader".

Synchronisation-Firmware

My test software (ugly draft, not released yet) buffers the data which should be sent to the eBUS and transmits it after a SYN symbol, as required by the specification. It should also detect collisions and pre-process received data before forwarding.

I have chosen Arduino to be able to easily test on different platforms. Since no special libraries are used, it should be rather easy to natively port the code to a particular platform.

What I observed on the Arduino IDE with the STM32F103C8T6 (CPU Speed configured at 72 MHz): The timer micros() works as expected, but delayMicroseconds() only delays half of the time as requested. To fix this, I double the delay value.

To-Do's:

Evaluation

A logic analyser trace shows quite nice timings: MCU pinning

Other Projects

ebusd-esp

The (closed-source) firmware ebusd-esp synchronises to the SYN symbol, but has quite some latency: MCU pinning Wireshark shows that a lot of packets are sent with just one byte of payload: Wireshark ScreenShot

Serial Bridge Projects

[Untested]

References

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published