Abstract:
In a device and a method to execute commands in components of an imaging system, in particular of a magnetic resonance tomography system, local clocks in the components are temporally synchronized, commands, including a respective command execution time specification which respectively specifies at which point in time a command should be executed, are sent to the components, the commands are received by the components, commands and command execution time specifications that are received by components are stored in these components, and a stored command is respectively executed when a time indicated by the local clock coincides with the stored command execution time specification regarding the command.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention concerns methods and devices to execute commands in components of an imaging system, and an imaging system, in particular a magnetic resonance tomography apparatus. 
     2. Description of the Prior Art 
     Magnetic resonance tomography apparatuses are known from DE 10 2005 052 564, for example. 
     Modern magnetic resonance systems operate with coils to emit radio-frequency pulses for nuclear magnetic resonance excitation and to receive induced magnetic resonance signals. A magnetic resonance system typically has a permanent magnet or a superconducting coil to generate a basic magnetic field (H 0 ) that is optimally homogeneous in an examination region, a large coil known as a whole-body coil, (also called a body coil or BC) that is normally permanently installed in the MR apparatus, and multiple small local coils (also called surface coils or LCs). To obtain information from which images of a patient can be generated, selected regions of the subject to or, respectively, patient be examined are read out with independently controllable, magnetically orthogonal gradient coils for three axes (for example X, Y approximately radial to the patient, Z in the longitudinal direction of the patient). 
     Spatially separate components of a magnetic tomography system conventionally have been connected via a number of dedicated control signals (for example “RF_ON”) via optical waveguide connections, for example. These control signals are defined based on a central system clock of a central controller (for example 10 MHz). When these control signals are generated or decoded in clock domains that are faster than this system clock, a rigid relationship with the system clock is established by synchronization. 
     Due to a spatial separation and a simplified scaling capability of the components, it is complicated to conduct the multiple control signals in a base system that are required for the maximum expansion. A new structure of an MR with an optical PCI express bus has been considered. However, the problem arises that now the data and commands to the components controlled via the PCI Express bus arrive at different and variable times. Commands should be executed with extreme precision. The revolution of a spin (360°) in a 3T system is ( 1/123 MHz=) 8 ns. However, the required phase lock characteristic of the commands must be significantly better so that the same phase conditions (between transmission system and reception system) can be reproducibly achieved. 
     SUMMARY OF THE INVENTION 
     An object of the present invention is to synchronize components of an imaging system with one another and with a central controller. 
     This object is achieved in accordance with the invention by an imaging system with multiple components, that include a local clock, an input for commands, including a respective command execution time specification, a memory for commands received via the input, an input for a time synchronization signal, and a control to execute the commands given agreement of a time indicated by the local clock with the command execution time specification (that defines the point in time of the desired execution of the command). 
     According to an embodiment of the invention, the transmission of commands ensues (in star topology) from a central controller to every component without a detour through other components, in particular via conductors of identical length to each component (even if the spatial distance of the components from the central controller is different). 
     According to a further embodiment of the invention, the commands are transferred from a central controller to the components via a ring structure (in particular a structure in which a component is connected with two additional components), in particular in that at least two synchronization signals are fed out from a synchronization master into the ring structure in opposite directions relative to one another. 
     A memory (also called a cache in the following) can be designed so that commands are sent to the autonomous components in the order in which they should be executed (also called “FIFO” in the following) or commands are sent to the autonomous components independent of the order in which they should be executed, wherein the commands are written into a memory in the order of their command execution time specification, or commands are stored in a memory, wherein command execution time specifications regarding commands in a CAM (“content addressable memory”=CAM) are stored with the same address, wherein if the clock time (time) of a clock coincides with an arbitrary execution time stored in the CAM, the corresponding address is output from the CAM and is placed at the read port of the command memory that addresses the command selected for execution (also called “cache” in the following). 
     The time-controlled execution of stored commands can ensue so that the time information of the first command stored in FIFO is compared with the current clock time of a local clock, and the command is executed at the moment in which both items of information coincide (also called “triggered command execution” in the following), or the commands are stored in a command memory, sorted according to their execution time, wherein the read addresses are stored sequentially in the command memory, wherein a command is respectively executed with a time stamp (or command execution time specification) corresponding to an applied read address, or a CAM with time information is supplied with the current time information of a local clock, wherein if the CAM registers an agreement of the time information with a command execution time specification, the command corresponding to the command execution time specification is executed. 
     According to an embodiment of the invention, commands are transferred via a ring structure from a central controller to the components, in particular in that at least two synchronization signals are sent from the central controller in the direction of different components in the ring structure. 
     In another embodiment of the invention, a point in time that is identical for all clocks is advantageously determined as follows as a central point in time between the reception of two synchronization signals in the components: 
     The local clocks are reset to a start point in time with the receipt or decoding of the first synchronization signal. Upon the receipt or decoding of the second synchronization pulse in a component, in the component the local clock time is halved in the clock thereof. If the two synchronization pulses are propagated through a ring structure to the central controller, the central controller also sets its clock to the median between transmission and reception of the two synchronization pulses. 
     The invention can be implemented in an imaging system that is a magnetic resonance tomography system or a computed tomography system, or an AX system. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  schematically shows an MRT whole-body coil. 
         FIG. 2  schematically shows an imaging system with multiple components that are synchronized. 
         FIG. 3  schematically shows time curves given a time synchronization of local clocks. 
         FIG. 4  schematically shows a time synchronization of local clocks and command execution with a FIFO arrangement. 
         FIG. 5  schematically shows a time synchronization of local clocks and command execution with an additional arrangement. 
         FIG. 6  schematically shows a time synchronization of local clocks and command execution with an additional arrangement. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       FIG. 1  shows a magnetic resonance apparatus MRT  1  with a whole-body coil  2  with a tube-shaped chamber  3  into which a patient bed  4  (for example with a patient  5  and a local coil arrangement  6 ) can be driven in the direction of an arrow z in order to then generate exposures of the patient  5 . A local coil array  6  is placed on the patient, with which exposures are enabled in a local region and whose signals can be evaluated (converted into images etc.) by a known evaluation device that can be connected via coaxial cables etc. Gradient coils  7 ,  8  that generate gradient fields are provided as exemplary additional components. In local components such as transmitters or receivers ( 6 ,  7 ,  8 ) for RF pulses and/or for gradient pulses and/or other RF signals of the MRT  1 , commands that are transferred from a central controller ZS via connections R 1 , R 18 , R 23 , R 17  etc. to components  6 ,  7 ,  8  are executed at the predetermined point in time (t 1 , t 2 ) with the aid of synchronized local clocks in the components. The components K 1 , K 2  in  FIG. 1  here respectively control at least one element (for instance here the coils  7 ,  8 ) according to commands that they (K 1 , K 2 ) receive from a central controller ZS. 
       FIG. 2  schematically shows multiple components K 1 , K 2 , K 3 , K 4 , K 5 , K 6 , K 7  (for example transmitters or receivers or controllers etc.) of an imaging system  1 , wherein a respective local clock LU 1 , LU 2 , LU 3 , LU 4 , LU 5 , LU 6 , LU 7  of a component K 1 , K 2 , K 3 , K 4 , K 5 , K 6 , K 7  should respectively trigger the execution of commands B 1 , B 2  sent to the component at the respective point in time defined by a command execution time specification t 1 , t 2  (sent with the command, for example). 
     A central clock generator TG sends clock signals via clock lines T 1  through T 8  to the components K 1  through K 7  and the central controller ZS (which sends commands to the components) that, for example, can enable the local clocks to run at identical speed (or, alternatively, the local clocks to run identically quickly with sufficient precision without a central clock). 
     The controller ZS sends commands B 1 , B 2  to components K 1  through K 8  via a ring (comprising the ring segments R 1 , R 2 , R 3 , R 4 , R 5 , R 6 , R 7 , R 8 , R 11 , R 12 , R 13 , R 14 , R 15 , R 16 , R 17 , of which two (R 1 , R 18 ) can be a physical conductor, for example) and, with/regarding the commands B 1 , B 2 , sends execution times t 1 , t 2  at which the commands B 1 , B 2  are to be executed by the unit K 1 , K 2  addressed by the command. 
     For this purpose, the local clocks LU 1  through LU 7  in the components K 1  through K 7  are synchronized relative to one another (and also relative to the clock LU 8  of the central controller ZS) so that they thus display the same time (“Time”) (exhibit or output as “Time”) at a point in time and run at the same speed as necessary. 
     For this the local clocks LU 1  through LU 8  receive information (Sync 1  and Sync 2 ) from the central controller ZS that help them to set their current clock time in sync with one another and the controller ZS at an identical point in time (or, respectively, to actually adjust their clock time to different points in time at different times in  FIG. 2 , wherein they nevertheless subsequently display the same clock time simultaneously). 
     In the exemplary embodiment in  FIG. 2 , this is executed in that the central controller ZS of the ring (“Ring Master”) sends signals (Sync 1  and Sync 2 ) in two directions via the ring: in  FIG. 2  the central controller sends the synchronization signal Sync 1  in the clockwise direction via the ring elements R 1  through R 8  and sends the synchronization signal Sync 2  counter-clockwise via the ring elements R 11  through R 18 . 
     ZS sends the synchronization signal Sync 1  via the ring element R 1  to the component K 1 , the component K 1  sends the synchronization signal Sync 1  via the ring to the component K 2 , the component K 2  sends the synchronization signal Sync 1  via the ring to the component K 3  etc. until the component K 7  or until the controller ZS. 
     Moreover, ZS sends the synchronization signal Sync 2  via the ring R 11  to the component K 7 , the component K 7  sends the synchronization signal Sync 2  via the ring to the component K 6 , the component K 6  sends the synchronization signal Sync 2  via the ring to the component K 5  etc. until the component K 1  or until the controller ZS. 
     In all local clocks LU 1  through LU 8 , a point in time that is identical for all clocks is determined here as a middle point in time between two synchronization signals (Sync 1  and Sync 2 ) as follows:
         the local clocks L 1  through L 8  are reset to an initial point in time (for example 0:00:00.000000000) with the decoding of the first synchronization signal (Sync 1 ),   with the decoding of the second synchronization pulse (Sync 2 ) in a component K 7 , the local clock time (for example 0:00:00.000000014 in K 7 ) is respectively (for each component) halved in the local clock LU 7  of this component (for example to 0:00:00.000000007) and the local clock LU 7  of this component is set to this halved point in time (for example to 0:00:00.000000007 in LU 7  by K 7  upon receipt of Sync 2  in K 7 ),   and if the two synchronization pulses are propagated completely through a ring structure to all components, the synchronization master ZS also sets its clock LU 8  to the middle (for example 0:00:00.000000008) between transmission (for example 0:00:00.000000000) and reception (0:00:00.000000016) of the two synchronization pulses (Sync 1  and Sync 2 ) by it (ZS).       

     The local clocks LU 1  through LU 7  are then synchronized to one another and to the local clock LU 8  of a command-transmitting central controller ZS, thus set to the same point in time. The clocks can then continue to run either with the same, identical time speed or with clock pulses from TG. 
     Commands B 1 , B 2  and data that are received from the autonomous components K 1  through K 7  are buffered in a cache up to their actual activation. 
     In the explained ring-topology synchronization, in which the synchronization signals are fed out from a master in opposite directions into the ring and are relayed in every component with constant (relative to the component) delay; the delays in the conductors and plurality of electrical components are compensated. 
     As an alternative to the explained ring-topology synchronization, a star-topology synchronization is possible: conductors of identical length are used to every component (for example conductors that are arranged like the conductors T 1  . . . T 8  in  FIG. 2 ). The length is conformed to the longest conductor. In addition to this the electrical conductors to the surface modules are likewise to be taken into account, as well as the processing time of electrical and optical components. This leads to a structure that must be individually balanced and can only conditionally be extended beyond a pre-established maximum expansion. (For instance, an additionally inserted splitter must be compensated again for all branches running in parallel.) 
       FIG. 3  clarifies a few chronological workflows with an oscilloscope image for cables (R 1  through R 8  and R 11  through R 18 ) of identical length between a central controller ZS and the components K 1  through K 7 : 
     ZS sends Sync 1  and sets its clock to 0. 
     K 1  receives Sync 1  and sets its clock to 0. 
     K 3  receives Sync 1  and sets its clock to 0. 
     K 4  receives Sync 2  and sets its clock LU 4  to half of the current time in its clock LU 4 . 
     K 3  receives Sync 2  and sets its clock LU 4  to half of the current time in its clock LU 4 . 
     K 3  receives Sync 2  and sets its clock LU 3  to half of the current time in its clock LU 3 . 
     K 1  receives Sync 2  and sets its clock LU 8  to half of the current time in its clock LU 1 . 
     ZS receives Sync 2  and sets its clock LU 8  to half of the current time in its clock LU 8 . 
     (The same correspondingly ensues for the additional components and signals.) 
     All clocks are then synchronized, thus indicate the same time. 
     This functions in a corresponding manner in cables of different lengths (R 1  through R 8  and R 11  through R 18 ) between a central controller ZS and the components K 1  through K 7 . 
     Time-controlled execution of the commands:
         The implementation of the time-controlled execution of the commands   is dependent on the type of cache (see above).   In an arrangement according to  FIG. 4 , for example, the time information of the first command is compared in FIFO with the current clock time. At the moment at which both items of information coincide, the command is executed (triggered command execution).   In an arrangement according to  FIG. 5 , for example, the commands are stored in a command memory, sorted according to execution time, the read addresses are placed sequentially in the command memory. The command belonging to a read address (=corresponding time stamp) is executed.       

     In an arrangement according to  FIG. 6 , for example, the CAM is supplied with the time information, for example with the current time information of the clock. If the CAM registers an agreement, the corresponding command is executed. The time controller thus lies in the structure of the distributed command memory and the local clock. 
       FIG. 4  explains the synchronization of local clocks LU 2  through LU 7  of components K 1  through K 7  using each respective FIFO memory to decode the time information t 1  of the first command B 1  in each of the components K 1  through K 7 . 
     The system ZS that generates the commands B 1 , B 2  and sends these to the component K 1  hereby implements this in a temporally monotonic order. Here the time information at the end of the buffer is decoded (upon readout). However, only one command can thereby ever be checked for a matching execution time. Moreover, a “deadlock” can occur if the time of the first command that is planned for execution is already past. 
     If the signal Sync 1  arrives at a component in a synchronization logic SY (for example a receiver interface) of a component, the clock LU 1  is set to zero via the “clear” (=wipe) input; when the signal Sync 2  arrives, the clock LU 1  is halved to the current clock time “Time” that is output by the local clock LU 1  in a halver [sic?] “½” so that the local clock LU 1  now keeps this (halved) current time. The resolution of the clock is determined by the required time resolution of the commands to be executed and can be 25 ns ( 1/40MHz), for example. 
       FIG. 5  shows a command memory with selective write address and time-synchronized read address: the commands B 1 , B 2  are thereby written depending on their execution point in time t 1 , t 2  in a memory SP in which a point in time is associated with every (memory address). The time information is thus decoded upon writing the buffer. 
     It is not necessary for the commands and data to be received in a temporally monotonic order. Unused memory points (time stamps) must be erased. A deadlock (standstill/block) as in  FIG. 4  cannot occur here. 
     A suboptimal utilization of the command memory and the necessity to erase the entire command memory is somewhat disadvantageous. 
       FIG. 6  shows a command memory with associated read address (cache principle). Commands and read address are stored in two memories; commands are stored in a conventional memory SP 1 ; the time information is stored at the same address in a “content addressable memory” CAM (SP 2 ). 
     If the clock time (“Time”) of the local clock LU 1  now agrees with an arbitrary execution time t 1  stored in the CAM, the address corresponding to the stored execution time t 1  is thus output by the CAM and placed at the read port of the command memory SP. This addresses the command B 1  that is therefore selected for execution. The advantage here is the excellent utilization of the memory and that the commands do not need to be received in a temporally monotonic order. A deadlock (standstill) as in theory in  FIG. 4  can also not occur here. 
     The clocks of all components are thus synchronized via a suitable synchronization such that all clocks run together with reproducible phase (relative precision) and locally indicate the same clock time (absolute precision). 
     Although modifications and changes may be suggested by those skilled in the art, it is the intention of the inventor to embody within the patent warranted hereon all changes and modifications as reasonably and properly come within the scope of his contribution to the art.