Q: RS-485 + iCE40 for better CAN-FD This is an idea I have been toying with for a while and wanted to get an opinion. When I first heard about CAN-FD I thought it was going to be the answer to this problem. However most mid range microcontrollers do not have support for CAN-FD (LPC546 excluded). The STM32H7 does have support, but the cost of that microcontroller is far too high for most applications. There are some devices like the TCAN4550 and the Microchip version which are quite good, but not as flexible.
With an RS-485 transceiver and an iCE40 or other FPGA one can make a custom transceiver system. The idea would be to interface a microcontroller over SPI or UART to the FPGA. The FPGA would handle the actual protocol, which would be similar to CAN.
The advantages of such a system are:


*

*Flexible system speed and cost (up to 48 Mbit/s)

*Many settable addresses per device

*Option for a multi-cast system

*Not restricted to a particular architecture


My questions are:


*

*Is the cost really worth it or am I just trying to reinvent the wheel here?

*Can arbitration still occur at high speeds or are very accurate clocks needed?

*Is there already a project like this out there that I just missed?


It might make for a great open source protocol that I would certainly be willing to put some effort into developing.

A: I am cooking up an RS485 based protocol for building automation; single master, 250kbps. Nothing else quite fits my needs. It lets me create the tiny, low cost sensor/actuators I need. Reinventing the wheel can be OK IMO.
The CAN bus physical layer supports collisions which is essential to its support for multiple masters. The RS485 physical layer was not meant to handle collisions but more recent drivers and receivers behave gracefully in fault conditions, so you could make it work. But have you considered using a CAN-FD transceiver for your custom protocol?
You might be able to create something similar to your FPGA concept by dedicating a reasonably fast ARM Cortex MCU. Might be easier to develop, could well be cheaper in production. The result may be easier for others to work on.
Finally, you mention 48Mbps. I was under the impression that both CAN-FD and RS485 top out at about 10Mbps?
