A method of transferring data around a ring bus (133, 135, 137) connecting a plurality of nodes and a controller together, comprising: passing commands (223, 224) in a given direction around the ring bus (133, 135, 137) from the controller to the nodes in order to establish at least one of the nodes as a source of data to be transferred and at least one other of the nodes as a destination of data to be transferred, and reading data to be transferred from memory connected to said at least one source node into temporary data storage provided at said at least one source node, thereafter transferring the read data only in the given direction around the ring bus (133, 135, 137) from the temporary data storage at said at least one source node, thereafter writing the transferred data into temporary data storage provided at said at least one destination node, and thereafter writing the transferred data from the temporary data storage at said at least one destination node into memory connected therewith; CHARACTERISED IN THAT: the controller includes a micro-controller operably connected with the ring bus (133, 135, 137), the micro-controller arranged to cause a transfer of multiple channels of data from one or more of the nodes completely around the ring bus (133, 135, 137) in a single direction over a number of time-multiplexed data frames adapted to include the number of multiple channels of data being transferred; and passing commands includes establishing at least two of the nodes as sources of data to be transferred and at least two of the nodes as destinations of data to be transferred, wherein transferring the read data includes transferring data around the ring bus (133, 135, 137) from said at least two source nodes in at least two sequential time slots and wherein writing the transferred data includes writing the data being transferred into said at least two destination nodes from different ones of said at least two sequential time slots. passing commands (223, 224) in a given direction around the ring bus (133, 135, 137) from the controller to the nodes in order to establish at least one of the nodes as a source of data to be transferred and at least one other of the nodes as a destination of data to be transferred, and reading data to be transferred from memory connected to said at least one source node into temporary data storage provided at said at least one source node, thereafter transferring the read data only in the given direction around the ring bus (133, 135, 137) from the temporary data storage at said at least one source node, thereafter writing the transferred data into temporary data storage provided at said at least one destination node, and thereafter writing the transferred data from the temporary data storage at said at least one destination node into memory connected therewith; CHARACTERISED IN THAT: the controller includes a micro-controller operably connected with the ring bus (133, 135, 137), the micro-controller arranged to cause a transfer of multiple channels of data from one or more of the nodes completely around the ring bus (133, 135, 137) in a single direction over a number of time-multiplexed data frames adapted to include the number of multiple channels of data being transferred; and passing commands includes establishing at least two of the nodes as sources of data to be transferred and at least two of the nodes as destinations of data to be transferred, wherein transferring the read data includes transferring data around the ring bus (133, 135, 137) from said at least two source nodes in at least two sequential time slots and wherein writing the transferred data includes writing the data being transferred into said at least two destination nodes from different ones of said at least two sequential time slots. the controller includes a micro-controller operably connected with the ring bus (133, 135, 137), the micro-controller arranged to cause a transfer of multiple channels of data from one or more of the nodes completely around the ring bus (133, 135, 137) in a single direction over a number of time-multiplexed data frames adapted to include the number of multiple channels of data being transferred; and passing commands includes establishing at least two of the nodes as sources of data to be transferred and at least two of the nodes as destinations of data to be transferred, wherein transferring the read data includes transferring data around the ring bus (133, 135, 137) from said at least two source nodes in at least two sequential time slots and wherein writing the transferred data includes writing the data being transferred into said at least two destination nodes from different ones of said at least two sequential time slots.