While waiting for experts to respond I did some research on this 
interesting topics ...

On 06/06/2015 01:19 PM, Philipp Burch wrote:
> Hi everyone,
>
> when we're talking about buses and interfaces, I'd like to bring up
> another topic concerning me recently: We're building some kind of PLC
> and motion controller mainly for internal uses, which is built around
> FPGAs. Our FPGA configs are crafted specifically for what the devices
> need to do, so there is no softcore or other microcontroller around. We
> now have a simple serial interface connecting multiple boards using
> differential pairs (RS-485-like) for RX and TX, transmitting frames of
> some 64 bits each. This works, but is obviously completely proprietary.
>

Nothing wrong with being proprietary if nothing else out there suits 
your needs. However, when it comes to communications between logical 
devices you have to pay the price. Either you need to increase 
complexity for more reliable connections or use simpler protocols for 
lower HW costs.

Ethernet interface chips are low cost these days, many hobby SBCs come 
with it. Benefits in using them is in their power to handle the TCP/IP 
connection without more than dumping bytes in and out of it's registers 
something most microcontrollers can easily do these days.

> Hence the question: Are there standard interfaces (call them buses if
> you like, I don't mind) of similar complexity with open specifications
> around? I personally like the idea of the summation frame method
> (Summenrahmenverfahren in German) as is used by EtherCAT, but this
> interface is overkill for us and also not "open" unless you are some
> kind of "member". I found Interbus which seems to fit quite ideally,
> but, again, is not as open as I'd like it to be and it also looks to be
> kind of obsolete.
>
> Rough requirements would be:
> - Usable for daisy-chaining (no common bus)

Wouldn't failure in any single link bring everything down? Fibre channel 
Arbitrated loop (FC-AL) and Tokenring work fall in that category. Each 
host has to pass the message along the line so there is a delay between 
the first and last host.

> - Data rate somewhere in the range 1Mbps .. 10Mbps
> - Serial with exactly one RX and one TX pair in each link

What's the max distance between the hosts? What are electrical 
characteristics for connections between the hosts? There are other 
considerations that need to be looked at: how many units are connected 
in the chain? How do you implement the communication part? 
Microprocessor? ASIC? Do you need isolation between them?

CAT-6 cabling would likely fit the job as far as physical connections 
and relative distance go. Low cost, easy to connect to hubs or switches.

Advantage of ethernet is in possibility to wrap any protocol into TCP/IP 
and route it elsewhere. Not deterministic of course but possibly good 
enough for remote troubleshooting or monitoring.

On the other hand, nobody prevents you to write your own version of 
network protocol. UDP came to mind first but because it's not reliable I 
did additional research and found Reliable User Datagram Protocol 
https://en.wikipedia.org/wiki/Reliable_User_Datagram_Protocol

It's not a formal standard or widely used but the description is 
available https://tools.ietf.org/html/draft-ietf-sigtran-reliable-udp-00
It seems very simple to me so it would not be too hard to write a driver 
I think.

> - Suitable for deterministic cyclic transfers with some tens of bytes each

Not sure how you can do that without a dedicated clock line.

> Any ideas, hints, comments?
>
> Regards,
> Philipp

If nothing else, just searching around and reading responses from others 
I learned a lot.

-- 
Rafael
Where's my floppy disk?

------------------------------------------------------------------------------
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to