cancel
Showing results for 
Search instead for 
Did you mean: 

Dominant/Recessive state support for UART

flyer31
Senior
Posted on March 25, 2014 at 17:48

A wish for new chips: It would be nice if STM could consider to implement a UART which supports bit-wise arbitration, as it is required for KNX / EIB networks.

KNX/EIB of course is a big market, but this functionality would be also very nice for any other network - it then allows collision-free data transfer on UART channels (only requirement is that you use a PHY with recessive/dominant state, you can just any CAN transceiver or LIN transceiver for this).

Currently I consider to do it with a ''slave processor'' who handles the complete data transfer itself ''bit for bit''. But this of course is a bit cumbersome (it would be nicer of course, if an STM32 dual core would be available similar to the LPC4300 ... but as my application is quite cost sensitive I would by far prefer an STM32F0 or STM32F1 chip which includes a UART with bit-wise arbitration functionality).
14 REPLIES 14
flyer31
Senior
Posted on March 27, 2014 at 17:13

OK, I give up.

Just one final remark: I do NOT want something like CAN. CAN of course is much more complex with all its automatic CRC calculation, automatic filtering and automatic FIFO system.

I just want a simple switch, that stops the UART-TX, as soon as the UART recognizes that a received Bit on UART-RX is different from the bit sent out on UART-TX (=within one bit time). As far as I see it, this is something which will need very few additional gates.

flyer31
Senior
Posted on March 27, 2014 at 17:15

OK, I give up.

Just one final remark: I do NOT want something like CAN. CAN of course is much more complex with all its automatic CRC calculation, automatic filtering and automatic FIFO system.

I just want a simple switch, that stops the UART-TX, as soon as the UART recognizes that a received Bit on UART-RX is different from the bit sent out on UART-TX (automatic stop within one bit time - ''manual'' re-enable by software). As far as I see it, this is something which will need very few additional gates.

flyer31
Senior
Posted on April 16, 2014 at 10:49

Please allow one further remark concerning UART with arbitration control:

Renesas has a full microcontroller famikly RL78, which all support such an automatic arbitration control in their UART, see http://www.renesas.eu/press/news/2012/news20121204.jsp. This is just to show you, that this definitely is not considered as niche market application (at least not by Renesas).

To achieve this, it is just important, that the UART TX stops sending within one bit time, as soon as the arbitration is lost (as soon as RX detects a Lo Level, when TX is within transfer of Hi Level). (and of course this arbitration loss should be signalled by a status bit, if possible one of the interrupts should come up, error interrupt would be fine (but the interrupt is not really necessary - status bit and automatic stop of TX would be perfectly sufficient)).

I succeeded in implementing such an arbitration control for a restricted frame by short circuit of CAN-RX - RX and CAN-TX - TX. But this will work only for one UART interface. Just I would like to use such a functionality on 2-4 UART interface to produce a router.

For lower speed interfaces as KNX (9600 baud), I can use some timer control and ''manual'' bit checking, but this cannot be extended to higher baud rates (and even at lower bit rates this steals quite a bit of processor power due to quite many high priority interrupts coming up).

I really would be very interested to have the possibility of such collition free UART transfer also for higher speed data transfer, and for several UART interfaces.

zzdz2
Associate II
Posted on April 16, 2014 at 11:31

Renesas has a full microcontroller famikly RL78, which all support such an automatic arbitration control in their UART, see http://www.renesas.eu/press/news/2012/news20121204.jsp.

 

I can't see where they state they have hardware KNX transceiver.

flyer31
Senior
Posted on April 16, 2014 at 12:12

Sorry, I do not find it currently again - I am quite sure that yesterday I saw some documents of Renesas where they proclaimed that the complete 78 series has arbitration control, but now I find ''arbitration'' in their datasheet only in connection with I2C multi master functionality.

Of course the µPD78F053x will have this arbitration included, but this really is a specialized KNX chip, which also includes special KNX hardware.