Hi, Jan, these days I am thinking of how to integrate the Firewire iso into RTnet stack. To make the work more general/not-firewire-specific, I got an idea to introduce the channel based broadcasting, where the Firewire iso is one implementation.
In channel based broadcasting, active node should choose one channel to put its packet on fly, while the passive node tunes itself (in hardware or in software) to that certain channel to receive the packet. One node can listen to multiple channels at the same time, but may only use one channel to "radio" its packet. Compared with traditional point-to-point communication, like on Ethernet, the channel based broadcasting fits better within the distributed control system. Because in distributed control system, almost any communication is time-triggered, e.g. the encoder->controller->actuator in position control. Also some communication is one to many, so really like a radio, the channel based broadcasting can be used here without any extra overhead. To introduce the channel based broadcasting, one or more extra modules need to be created in the stack. One is the API module, which is to provide to the application a set of high level primitives and hide all the internal details. (This could be done by making an extension to the RTDM module.) Second is the Packet Management module, which is to (de)multiplex the messages. There may be several processes on one node, (the process may be called Server here since they are actively sending some message), hence the PM module is responsible to put all the messages into one packet with an index. Also in the receiving side, the PM module should also demultiplex the incoming packet according to the index. It may be asked that where to do the allocation and subscription of channels. Well, this could be done in PM module also. But since distributed control system is not that flexible, and normally not need to be, so this work can also be done during the offline configuration phase. Of course, we also need a hardware/fieldbus-specific module to implement all the high-level primitives. For the hardware, as far as I know, Firewire, CAN, even Ethernet can be a choice. In my opinion, Firewire fits best, both on the latency and the convenience (the tuning to multiple channels is supported in Firewire chip). Ok, so far, this is my rough idea. Any correction and addition is welcome-:). Best regards, Zhang Yuchen MSc Student Control Engineering Group University of Twente The Netherlands ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ RTnet-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/rtnet-developers

