Propagation delay compensation in daisy chain topology
By measuring and compensating for propagation delay, the main controller synchronously actuates the cluster in a daisy-chain topology, solving the synchronization difficulties caused by propagation delay, improving communication efficiency, and making it suitable for multi-level power conversion in electric or hybrid vehicles.
Patent Information
- Application Number
- CN202510618037.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-05-15
- Filing Date
- 2025-05-14
- Publication Date
- 2025-11-18
AI Technical Summary
There is a need to improve the implementation and use of existing multilevel power converters in electric or hybrid vehicles, especially in daisy-chain topologies where propagation delays make synchronous actuation difficult and affect communication efficiency.
By measuring the propagation delay time, the master controller generates and sends messages to synchronously actuate the cluster in the daisy chain, using isolated interfaces for communication to achieve synchronous control with the switching clock.
It enables synchronous actuation of clusters in a daisy-chain topology, reducing costs and improving communication efficiency, thus meeting the needs of electric or hybrid vehicles.
Smart Images

Figure CN120979585A_ABST
Abstract
Description
Technical Field
[0001] This invention generally relates to power conversion, and more specifically to communication topologies for implementing multilevel power conversion. Background Technology
[0002] In modern vehicle systems, power converters are typically used to transfer voltage energy stored in the vehicle's battery to loads such as the electric motors in electric or hybrid vehicles. Compared to conventional power converters, multilevel power converters operate by collectively transferring energy from the power supply to the load through a cluster of actuated regulator cells, providing reduced switching losses and thus reducing energy consumption. While multilevel power converters offer an attractive alternative to conventional power converters, there is a need for improvements to multilevel converters suitable for implementation and use in electric or hybrid vehicles. Summary of the Invention
[0003] This disclosure relates to communication for multi-level power conversion that utilizes a measured propagation delay to communicate synchronously with a cluster coupled in a daisy-chain topology. As an example, a method is described. The method includes a master controller determining a measured delay time associated with a first cluster coupled to a second cluster in the daisy chain, such that the master controller communicates with the second cluster through an isolation interface of the first cluster. The method also includes the master controller determining a propagation delay associated with the first cluster based on the measured delay time. The method further includes the master controller generating a message to the second cluster, the message including a command to be executed by the second cluster. The method also includes the master controller sending the message to the second cluster through its isolation interface based on the determined propagation delay to execute the command to actuate the second cluster synchronously with the master controller's switching clock.
[0004] According to another example, an electronic control unit (ECU) is described. This ECU includes a main controller configured to determine a measured delay time associated with a first cluster coupled to a second cluster in a daisy chain, such that a microcontroller communicates with the second cluster via an isolated interface of the first cluster. The main controller is also configured to determine a propagation delay associated with the first cluster based on the measured delay time. The main controller is further configured to generate a message to the second cluster, the message including a command to be executed by the second cluster. The main controller is also configured to send the message to the second cluster via its isolated interface based on the determined propagation delay to execute the command to actuate the second cluster synchronously with the main controller's switching clock.
[0005] According to another example, a system is described. The system includes a master controller and multiple clusters, including at least a first cluster coupled to a second cluster in a daisy chain, such that the master controller communicates with the second cluster via an electrically isolated interface of the first cluster. The master controller is configured to determine a measured delay time associated with the first cluster. The master controller is also configured to determine a propagation delay associated with the first cluster based on the measured delay time. The master controller is further configured to generate a message to the second cluster, the message including a command to be executed by the second cluster. The master controller is also configured to send the message to the second cluster via its isolated interface based on the determined propagation delay to execute the command to actuate the second cluster synchronously with the switching clock of the master controller. Attached Figure Description
[0006] The invention will now be described by way of example with reference to the accompanying drawings, in which:
[0007] Figure 1 This is a block diagram illustrating an example of a multilevel converter system according to some embodiments.
[0008] Figure 2 This is a block diagram depicting an example of a cluster according to some embodiments, which can be coupled with, for example... Figure 1 The example shows other cluster couplings in the daisy chain topology.
[0009] Figures 3A-3C The diagram depicts a master controller coupled to multiple clusters arranged in a daisy-chain topology via an isolated interface, according to some embodiments, and a timing diagram of the switching clock relative to the master controller.
[0010] Figures 4A-4D Examples of measurements that can be performed by the main controller as part of the process of determining propagation delay, according to some embodiments, are shown.
[0011] Figure 5 It is a block diagram depicting a cluster of multilevel power converters according to some embodiments.
[0012] Figure 6 A simplified example of a step sine wave according to some embodiments is depicted.
[0013] Figure 7 This is a system diagram depicting an example of a multilevel converter system that can be used to supply energy to a three-phase AC motor in the form of a step sine wave.
[0014] Figure 8 This is a flowchart illustrating an example of a method for operating a main controller according to some embodiments. Detailed Implementation
[0015] Figure 1 This is a block diagram illustrating an example of a multilevel converter system 100 according to some embodiments. Figure 1 As shown, system 100 includes a main controller 101 and multiple clusters 110A-11C coupled between a direct current (DC) source 104 (such as a battery) and an alternating current (AC) load 105.
[0016] A main controller 101 (which may be a processing unit, such as a microcontroller) is coupled to control N clusters 110A-110C to transfer energy from a DC source 104 to an AC load 105, for example, such that each cluster is configured to supply a portion of a high-voltage output to the AC load 105. Clusters 110A-110C may include any number of N clusters configured to switch between a predetermined number of states (e.g., two or three states such as positive supply voltage, substantially zero volts, and optionally negative supply voltage) to supply a corresponding portion of the high-voltage output (e.g., greater than 100 volts or 200 volts) at terminal 107 to the AC load 105. Figure 1 As shown, the master controller 101 is coupled to communicate with N clusters 110A-110C in a daisy-chain topology. In the daisy-chain topology, messages from the master controller 101 to all clusters except the first cluster 110A pass through the other clusters in the daisy chain. Similarly, response messages from clusters 110A-110C to the master controller 101 pass through the other clusters in the daisy chain. For example, as... Figure 1 As shown, the main controller 101 is coupled to the input of the isolation interface 112A of the first cluster 110A through the input of the isolation interface 102. The first cluster 110A has an I / O port that is coupled to the I / O port of the isolation interface 112B of the second cluster 110B. The second cluster 110B has an I / O port that is coupled to the I / O port of the isolation interface 112C of the third cluster 110C.
[0017] For example Figure 1 As shown, in an optional embodiment, such as Figure 1 As indicated by the dashed lines, N clusters 110A-110C can be coupled in a "daisy-chain in a loop" topology between cluster 110C and master controller 101. Similar to a daisy-chain topology, messages from master controller 101 to all clusters except the first cluster 110 are sent through one or more isolation interfaces 112A-112C of other clusters. Unlike a daisy-chain topology, in the "daisy-chain in a loop" topology, clusters 110A-110C send response messages to master controller 101 through other clusters in the daisy chain, or directly to master controller 101 through the third cluster 110C (the Nth cluster, i.e., the cluster furthest from master controller 101).
[0018] like Figure 1 As shown, the main controller 101 can operate to control clusters 110A-110C based on a switching clock 103 of the main controller 101, which can be based on a highly accurate clock standard (such as a precise crystal oscillator). Coupled with, as Figure 1 In the daisy-chain topology shown (or the optional "daisy-chain in a loop" topology), messages from the master controller 101 to the daisy-chain cluster may experience a propagation delay T. PROP For clusters 120A and 120B, this propagation delay has an impact when the message arrives at the intended cluster. For example, when the master controller 101 sends a message to the second cluster 110B through the isolation interface 102, the delay imposed on the message by the first cluster 110A can be referred to as the propagation delay T associated with the first cluster 110A. PROP C1 120A. Similarly, the time it takes for a message for the third cluster 110C to travel through the second cluster 110B can be referred to as the propagation delay T associated with the second cluster 110B. PROP C2 120B.
[0019] In some examples, the main controller 101 can be configured to control more than Figure 1 The three clusters 110A-110C depicted may be numerous, such as N clusters (between 10 and 20), or even more clusters in some examples. As a specific example in which system 100 includes 16 clusters, a message from the master controller 101 to the N=16th cluster may be affected by the propagation delay of the N-1=15th cluster before it reaches the 16th cluster, which could have a significant impact when the message is received by the 16th cluster.
[0020] To control the synchronous actuation of clusters 110A-110C (e.g., at a switching time defined by switching clock 103), the master controller 101 determines one or more measurement delay times associated with one or more of clusters 110A-110C based on the measurement delay times, and determines the propagation delay T associated with clusters 110A-110C based on the measurement delay times. PROP 120A, 120B. The main controller 101 can determine the propagation delay T. PROP 120A and 120B are stored in memory (e.g., data registers or other memory components). The main controller 101 generates messages and sends them to clusters 110A-110C, based on a determined propagation delay T. PROP 120A and 120B are used to actuate cluster 110A-110C, so that cluster 110A-110C is actuated synchronously, for example, synchronized with the switching clock 103 of the main controller 101.
[0021] In some examples, the master controller 101 sends messages to clusters 110B and 110C early enough to accommodate the propagation delay T of the previous clusters in the daisy chain. PROP (For example, 120A, 120B), such as Figures 3A-3C As depicted and described below. In some examples, the master controller 101 can also determine the processing latency T associated with one or more of the clusters 110A-110C. PROC In addition to the propagation delay T of the previous cluster PROP In addition, messages are sent early enough to account for the processing delay T of the triggered cluster. PROC Compensation will be provided, which is also in Figure 3A The example is shown and described below. In other examples, the master controller 101 can be even earlier than the propagation delay T to the previous cluster. PROP 120A, 120B and / or processing delay T PROC The time required for compensation is sent along with instructions for delaying command execution, such as... Figure 3C As shown and described below.
[0022] Figure 1 The depicted system 100 is particularly well-suited for certain applications. For example, system 100 can use relatively inexpensive isolation interfaces 102 and 112A-112C, which can be identical and substantially interchangeable. System 100 is configured to communicate using a stable and redundant daisy-chain topology, eliminating the need for relatively precise and expensive oscillators in each cluster for high-speed synchronization. Instead, the advantages of daisy-chain topology can be obtained at a relatively low cost.
[0023] Figure 2 This is a block diagram depicting an example of cluster 210, which can be connected with... Figure 1 The example shows a daisy-chain topology coupled with other clusters 110A-110C. For example... Figure 2 As shown, cluster 210 includes an isolation interface 212 with a pair of IFL I / O ports 218 and a pair of IFH I / O ports 217, carrying the corresponding polarities of differential signals. The isolation interface 212 can include any type of interface capable of electrically isolating message transmission. For example, the isolation interface 212 can be configured to communicate messages using inductive, capacitive, optical, mechanical, or other electrically isolated couplings while maintaining electrical isolation between components of system 100.
[0024] Refer again Figure 1In some examples, the master controller 101 operates to control the trunking 110A-110C via a Universal Asynchronous Receiver / Transmitter (UART) message. This UART message comprises a series of digital value frames that may, for example, identify the recipient of the message (e.g., to one or all of the trunking 110A-110C), one or more commands to be executed by the trunking 110A-110C, and / or instructions to send an acknowledgment message confirming that the command has been executed. Such commands may, for example, instruct the trunking to perform a read operation to read values (such as sensed data (e.g., temperature measurements of battery cells in the trunking 110A-110C, or other data) or other values) from memory (e.g., a data register) and send an acknowledgment to the master controller 101. In other examples, such commands may include instructions to write values (such as settings, parameters, data, or other values) to memory. In other examples, such commands may include commands to actuate the cluster, such as driving one or more external I / O ports to change the cluster's state, thereby providing a portion of the output voltage at terminal 107 to the AC load 105, and sending a response to the master controller 101 to acknowledge that the cluster has been actuated. In some examples, the master controller 101 may send a message, which may include a command, to a specific one of the N clusters 110A-110C. In other examples, the master controller 101 may send a broadcast message addressing all N clusters 110A-110C.
[0025] Refer again Figure 2 The isolation interface 212 is coupled to a cell management unit 214, which is configured to receive messages (e.g., UART messages) in acknowledgments and send acknowledgment messages to the main controller 101. The cell management unit 214 is coupled to drive at least one regulator cell. Figure 2 In the example, cell management unit 214 is configured to drive multiple M I / O ports 215A-215C, each of which is coupled to control a corresponding regulator cell 216A-216C in multiple M regulator cells.
[0026] like Figure 2 As shown, the cluster controller 211 also includes an oscillator 213, and the cell management unit 214 includes a state machine 221 and one or more registers 222. The cell management unit 214 operates based on a clock signal from the oscillator 213 to communicate via the isolation interface 212 and to control the regulator cells 216A-216C via I / O ports 215A-215C.
[0027] For example, cell management unit 214 can write a message frame to register 222 in the first loop of state machine 221. One or more frames of the message can indicate the recipient of the message (a specific cluster 210). In other loops of state machine 221, cell management unit 214, clocked by oscillator 213, can perform read operations to determine the recipient of the message, such as whether the message is intended for cluster 210 or another cluster. If cluster 210 is not the recipient, then in a further loop of state machine 221, cluster 210 can send the message to subsequent clusters coupled in a daisy-chain topology.
[0028] like Figure 2 As shown above, the time it takes for a message from another cluster in a daisy-chain topology to travel through cluster 210 can be referred to as the propagation delay T of cluster 210. PROP 220. As described herein, the master controller 101 can be configured to perform measurements to determine the propagation delay T associated with cluster 210. PROP 220, and using the determined propagation delay T PROP 220 is used to send messages to accommodate the propagation delay T PROP 220 allows other subsequent clusters in the daisy chain to be based on the propagation delay T. PROP 220 was activated synchronously.
[0029] If cell management unit 214 determines that cluster 210 is the recipient of the message, cell management unit 214 can read other frames of the message in other loops of state machine 221. In further loops of state machine 221, cell management unit 214 can output control signals to one or more of the regulator cells 216A-216C via I / O ports 215A-215C to drive at least some of the regulator cells 216A-216C to change their state and modify the power supply state of cluster 210.
[0030] like Figure 2 As shown, the time spent on messages to be read and commands to be executed (read operations, write operations, commands to actuate cluster 210, or other commands) intended for cluster 210 can be referred to as the processing latency T of cluster 210. PROC 230. As described herein, in addition to the propagation delay T as stated above. PROP In addition to 220, the main controller 101 can send messages to accommodate processing latency T. PROC 230, which causes the daisy chain cluster to be activated synchronously.
[0031] Figures 3A-3CA timing diagram is depicted showing a master controller 101 coupled to multiple clusters 110A-110C arranged in a daisy-chain topology via an isolation interface 102, and a switching clock 103 relative to the master controller 101. In the daisy-chain topology, the master controller 101 communicates with, for example, a second cluster 110B by sending messages through the isolation interface of the first cluster 110A, as described above. Figure 1 As described. Similarly, the main controller 101 communicates with an optional third cluster 110C through the isolated interfaces of the first cluster 110A and the second cluster 110B.
[0032] according to Figure 3A For example, the master controller 101 is configured to send a message to the second cluster 110B, which is timed to cause the second cluster 110B to actuate synchronously with the switching clock 303. The timing diagram shows two switching times 354A and 354B for the switching clock 303, which define the switching period between them. According to... Figure 3A For example, the master controller 101 is configured to send a message to the second cluster 110B, causing the second cluster 110B to execute a command to actuate the second cluster 110B in sync with the switchover time 354B.
[0033] Before sending messages to the second cluster 110B, the master controller 101 can perform measurements to determine the latency associated with the components of the daisy-chain topology, for example... Figures 4A-4D The measurements shown or other measurements not described. For example, such as... Figure 3A As shown, the main controller 101 can determine the propagation delay T of the first cluster 110A. PROP C1 120A corresponds to the delay imposed by the first cluster 110A on messages pointing to other clusters 110B and 110C in the daisy chain. Furthermore, the master controller 101 can also determine the processing delay T of the second cluster 110B. PROC C2 130B corresponds to the time it takes for the second cluster 110B to receive messages and execute commands. Furthermore, the master controller 101 can determine other delays, such as the propagation delay T of the master controller 101's isolation interface 102. PROP ISO 122 corresponds to the delay imposed by isolation interface 102 on messages sent to clusters 110A-110C.
[0034] In some examples, the main controller 101 can perform actions such as Figures 4A-4C The measurements described herein, or other measurements not described, are used to determine the propagation delay T of each of the N clusters 110A-110C arranged in a daisy chain during the time during which system 100 operates slowly to transfer energy to a load (such as AC load 105) coupled to terminal 107.PROP and / or processing delay T PROC For example, the main controller 101 may perform such a measurement during the startup (e.g., conduction) of the AC load 105 or during the time when the AC load 105 is driven relatively slowly by the system 100, thereby allowing the measurement to be performed without hindering the converter from supplying energy to the AC load 105. As an example, in the case where the AC load 105 is an electric or hybrid vehicle motor, the main controller 101 may perform such a measurement during vehicle startup, when the vehicle is slowly driven and / or stopped (e.g., at the brake lights). In other examples, the main controller 101 may perform such a measurement periodically while the vehicle is operating. In other examples, the main controller 101 may perform such a measurement in response to changes in conditions, such as when the measured change or absolute value of the ambient or battery temperature exceeds a predetermined or variable threshold.
[0035] In some examples, the master controller 101 can determine the propagation delay T associated with each cluster 110A-110C in the daisy chain. PROP and / or processing delay T PROC And store them in memory (such as one or more registers of the main controller 101). The main controller 101 can use the stored propagation delay T PROP and / or processing delay T PROC To precisely time the communication of messages to cluster 110A-110C, and in some examples, to execute commands synchronously with master controller 101 to start cluster 110A-110C. Figures 3A-3B Only a few such examples are described for the synchronous message delivery applied to messages sent to the second cluster 110B. In practice, the master controller 101 can be coupled to more clusters in a daisy chain, and the described techniques can be applied to any of the clusters to synchronously actuate the cluster.
[0036] In order to control the second cluster 110B in sync with the switching clock 303, the master controller 101 can generate a message early enough and send the message to the second cluster 110B to accommodate the propagation delay T of the first cluster 110A. PROP C1 120A, the propagation delay T PROP C1 120A can be a value previously determined by the main controller 101. Figure 3A In the timing diagram, the main controller 101 generates and sends a message during a duration 340A prior to the switching time 354B, ensuring that the message arrives at the second cluster 110B with sufficient time to execute commands at or near the switching time 354B. For example... Figure 3AAs shown, duration 340A includes segment 342 to accommodate the propagation delay T of the first cluster 110A. PROP C1 120A.
[0037] In some examples, the master controller 101 may limit the duration of 340A to accommodate a propagation delay T greater than that of the first cluster 110A. PROP C1 120A. For example, also as Figure 3A As shown, duration 340A also includes a second segment 444 to accommodate the processing time T of the second cluster 110B. PROC C2 130B. In some examples, the processing delay T has been determined. PROC C2 130B is used to address the drift of the local oscillator in cluster 110B. For example... Figure 3A As shown, duration 340A also includes a third segment 446 to accommodate propagation delay T. PROP ISO 122, which represents the propagation delay T on messages imposed by the isolation interface 102 from the master controller 101 to the cluster 110A-110C. PROP .
[0038] By controlling the duration 340A to accommodate the propagation delay T of the first cluster 110A. PROP C1 120A, and optionally adapted to the propagation delay T of the second cluster 110B. PROP ISO 122 and / or processing time T PROC C2 130B, the main controller 101 can enable commands to be executed synchronously (i.e., at the same or close to the switching time 354B defined by the switching clock 303).
[0039] exist Figure 3A In the example, the two switching times 354A and 354B are shown as the corresponding rising and falling edges of the switching clock 303. In some examples, the master controller 101 may send messages to one or more clusters 110A-110C to execute synchronously with switching time 354B after switching time 354A, such as... Figure 2 As shown. In other examples, the master controller 101 may send some messages even earlier, such as before switching time 354A.
[0040] Figure 3B Basically similar Figure 3A For example, the master controller 101 is configured to send messages to the second cluster 110B for a duration 340B prior to the switchover time 354B, and includes segments 342, 344, and 346 to accommodate corresponding delays 122, 120A, and 130B. Figure 3BFor example, the main controller 101 sends a message at a duration 340B that is even earlier than the required adaptation delays 120A, 122, and / or 130B (i.e., including an additional segment 345), and generates a message with instructions to apply delay 347 to execute a command via the second cluster 110B (e.g., actuating the second cluster 110B after multiple state machines or clock cycles of the second cluster 110B). Figure 3B For example, the master controller 101 can adjust either the duration 340B or the delay 347 to precisely time messages to the second cluster 110B so that they are executed synchronously with the switching time 354B.
[0041] Figure 3C This includes a timing diagram of messages sent to a third cluster 110C arranged in a daisy-chain topology, such that the third cluster 110C receives messages from the master controller 101 through the isolation interfaces of the first cluster 110A and the second cluster 110B. According to... Figure 3C For example, the master controller 101 has determined the propagation delay T associated with the isolation interface 102 of the master controller 101. PROP ISO 122, propagation delay T of cluster 110A PROP Propagation delay T of C1 120A and second cluster 110B PROP The processing latency T of C2120B and, optionally, the third cluster 110C PROC Each of the C3 130C measurements can be based on previously performed measurements and stored in memory. For example... Figure 3C As shown, the master controller 101 is configured to send messages to the third cluster 110C for a duration 340C prior to the switching time 354B. This duration 340C includes segments 342A and 342B, wherein segment 342A adapts to the propagation delay T of the first cluster 110A. PROP C1 120A, segment 342B adapts to the propagation delay T of the second cluster 110B. PROP C2 120B. Also, Figure 3C As shown, duration 340C also includes an optional segment 344C to accommodate the processing latency T of the third cluster 110C. PROC C3 130C, and / or include optional segment 346 to accommodate the propagation delay T of isolation interface 102. PROP ISO122.
[0042] In some examples, the master controller 101 is configured to control more clusters coupled in a daisy chain. In some examples, the master controller 101 can measure the propagation delay T associated with each of the N clusters in the daisy chain. PROP and / or processing delay T PROCThese values are stored in memory, and messages are sent to accommodate the determined propagation delay T. PROP and / or processing delay T PROC This allows for the timing of message generation and transmission, and optionally the execution of commands used to actuate the cluster, in sync with the switching clock 103.
[0043] As mentioned above Figures 3A-3C As described above, the main controller 101 can be configured to determine, as... Figure 1 The propagation delay T associated with clusters 110A-110C of the multilevel converter system 100 shown is... PROP Processing delay T PROC . Figures 4A-4D An example measurement is depicted, which can be performed by the main controller 101 to determine the propagation delay T associated with the cluster of multilevel converter systems 100 as described above. PROP and / or processing delay T PROC .
[0044] Figure 4A An example of a measurement that can be performed by the main controller 101 according to some embodiments is shown. Figure 4A For example, the master controller 101 sends a first test message 470A to the first cluster 110A. The first test message 470A includes a command that instructs the first cluster 110A to perform an operation (such as a read operation or a write operation) and sends a first response message to the master controller 101 as an acknowledgment.
[0045] according to Figure 4A For example, the master controller 101 determines the first measurement delay time 480A associated with the first cluster 110A by comparing the time T0 when the master controller 101 sends the first test message 470A to the first cluster 110A with the time T5 when the master controller 101 receives the first response message 478A from the first cluster 110A in the confirmation of the first test message 470A.
[0046] like Figure 4A As shown in the example, the first measurement delay time 480A can be divided into different time periods. For example, as Figure 4A As shown, the first measurement delay time 480A includes a time period 471 from T0 to T1, which is equal to the propagation delay T imposed by the isolation interface 102 on the first test message 470A from the master controller 101 to the first cluster 110A. PROP Corresponding to ISO 122. Also, for example... Figure 4A As shown, the first measurement delay time 480A also includes a time period 472 from T1 to T4, which corresponds to the processing delay T associated with the first cluster 110A. PROC C1 130A.
[0047] Figure 4B Another measurement, which can be performed by the main controller 101 according to some embodiments, is shown. For example... Figure 4B As shown, the main controller 101 sends a second test message 470B to the first cluster 110A. Similar to the first test message 470A, the second test message 470B includes a command to be executed (such as a read command or a write command), and instructions to generate and send a second response message 478B within the acknowledgment second test message 470B. Similarly... Figure 4B As shown, the message also includes a known delay 479, which has instructions for the execution of the command with a known delay 479 and / or the generation or transmission of a second response message 478B, and the known delay 479 can be specified as a number of clock cycles.
[0048] according to Figure 4B For example, to determine the second measurement delay time 480B, the master controller 101 compares the time T0 when the master controller 101 sends the second test message 470B with the time T6 when the master controller 101 receives the second response message 478B in the acknowledgment of the second test message 470B. The second measurement delay time includes the C1 processing time 472', which corresponds to the processing time of the C1 cluster 110A affected by the known delay 479.
[0049] In some examples, the propagation delay T used to determine the first cluster 110A is... PROP As part of the C1 process, the main controller 101 compares a first measured delay time 480A and a second measured delay time 480B to determine a first time difference. For example, the main controller 101 can determine the oscillator drift of the first cluster 110A based on the first time difference. As an example, since the first test message 470A and the second test message 470B differ only by a known delay 479 (e.g., processing time C1 472'), the first time difference can indicate the drift of the oscillator of the first cluster 110A relative to the effect of the execution of the first test message 470A on the execution of the second test message 470B. As an example, if the known delay 479 of the second test message 470B is 4 clock cycles, but the first time difference is equal to 8 clock cycles, then the main controller 101 can determine that the oscillator of the first cluster 110A is operating out of phase for 4 clock cycles.
[0050] As a further step, the main controller 101 can compensate for the known processing delay (KPD) of the conventional clusters (such as C1, C2, and C3) by, for example, adding or subtracting the determined oscillator drift according to the following equation (1), thereby using the determined oscillator drift (OSC DRIFT C1) to calculate the processing delay T associated with the first cluster 110A.PROC C1430A.
[0051] T PROC C1 = KPD + -OSC DRIFT C1(1)
[0052] Once the main controller 101 determines the processing latency T of the first cluster 110A... PROC In the C1330A, the main controller 101 can subtract the determined processing delay T from the first measurement delay time 480A (FMDT). PROC C1 330A, to determine T based on the following equation (2). PROP ISO+T PROP The sum of ISO REPLY ( Figure 4A Time periods 471 and 473):
[0053] T PROP ISO+T PROP ISO REPLY = (FMDT-T) PROC C1)(2)
[0054] In some examples, the corresponding propagation delay T is applied to messages from master controller 101 and responses from clusters 110A-110C. PROP ISO and T PROP The ISO REPLY may differ because the master controller 101 utilizes different mechanisms to couple to the isolation interface 102 for the respective transmit and receive operations. In some examples, the master controller 101 can determine the propagation delay T by adding (or subtracting) a compensation factor (CF). PROP ISO 122, to compensate for known timing imbalances between delays imposed on messages sent or received by the main controller 101, as shown in equations (3) and (4) below.
[0055] T PROP ISO REPLY = T PROP ISO+-CF (3)
[0056] T PROP ISO = (FMDT-T) PROC C1+-CF) / 2(4)
[0057] Figure 4C and Figure 4D This includes timing diagrams illustrating further measurements that can be performed by the main controller 101 according to some embodiments. Figure 4CFor example, the master controller 101 sends a third test message 470, this time to the second cluster 110B. The third test message 470C includes a command with instructions for the second cluster 110B to perform an operation (such as a read operation or a write operation), and sends a third response message 488A as an acknowledgment to the master controller 101.
[0058] according to Figure 4C For example, the master controller 101 determines the third measurement delay time 480C by comparing the time T0 when the master controller 101 sends the third test message 470C with the time T7 when the master controller receives the third response message 488A from the second cluster 110B in the acknowledgment of the third test message 470C.
[0059] like Figure 4C As shown in the example, the third measurement delay time 480C can be divided into different time periods 481-485. For example, as... Figure 4C As shown, the third measurement delay time includes a time period 481 (from T0 to T1), which is related to the propagation delay T imposed by the isolation interface 102 on the third test message 470C from the master controller 101 to the first cluster 110A. PROP Corresponding to ISO 122. Also, for example... Figure 4C As shown, the third measurement delay time 480C also includes a time period 482, which is the propagation delay T of the first cluster 110A from T1 (when the message is received at the first cluster 110A) to T2 (when the second cluster 110B receives the third test message 470C after the first cluster 110A reads and sends the third test message 470C). PROP C1 corresponds to 120A. Also, for example... Figure 4A As shown, the third measurement delay time 480C also includes the C1 processing time 483 from T2 to T5, which is related to the processing delay T of the second cluster 110B. PROC Corresponding to C2 130B, this processing delay T PROC C2 130B includes the time for receiving the second test message 470B, executing the command, and generating and sending the third response message 488A as confirmation.
[0060] Similarly, Figure 4C As shown, the third measurement delay time 480C also includes a time period 484 from T5 to T6, which is the propagation delay T of the first cluster 110A from T5 (when the third response message 488A is received at the first cluster 110A) to time T6 (when the first cluster 110A sends the third response message to the main controller 101 after reading and sending the third response message 488A). PROP C1 corresponds to REPLY. Also, for example... Figure 4C As shown, the third measurement delay time 480C also includes a time period 485 from T6 to T7, which, together with the delay T imposed by the isolation interface 102 on the third response message 488A from the first cluster 110A to the master controller 101, is... PROP This corresponds to ISO REPLY.
[0061] Figure 4D An example of another measurement that can be performed by the main controller 101 according to some embodiments is shown. Figure 4D As shown, the main controller 101 sends a fourth test message 470D to the second cluster 110B. Similar to the third test message 470C, the fourth test message 470D includes the command to be executed (such as a read command or a write command), and the instruction to generate and send a fourth response message 488B in the acknowledgment of the fourth test message 470D. Similarly, as... Figure 4D As shown, the fourth test message 470D also includes a known delay 489, which has instructions for delaying the execution of a command, or the generation and / or sending of a fourth response message 488B, during the C1 processing time 483', the C1 processing time 483' being delayed by the known delay 489, which can be specified as the number of clock cycles.
[0062] according to Figure 4D For example, to determine the fourth measurement delay time 480D, the master controller 101 compares the time T0 when the master controller 101 sends the fourth test message 470D with the time T8 when the master controller 101 receives the fourth response message 488B in the acknowledgment of the fourth test message 470D. The second measurement delay time includes the C1 processing time 472', which corresponds to the processing time of the C1 cluster 110A affected by the known delay 479.
[0063] According to some embodiments, the master controller 101 can compare a third measurement delay time 480C and a fourth measurement delay time 480D to determine a second time difference. For example, the master controller 101 can use the second time difference to determine oscillator drift associated with the second cluster 110B, such as by using the second time difference to identify the impact of the second cluster 110B oscillator drift on commands executed by the second cluster 110B. As an example, if the known delay 489 of the fourth test message is four clock cycles, but the second time difference is equal to eight clock cycles, then the master controller 101 can determine that the second cluster 110B oscillator is operating out of phase for four clock cycles.
[0064] As a further step, the main controller 101 can compensate for the known processing delay (KPD) of the regular clusters (such as C1, C2, and C3) by, for example, the determined oscillator drift (OSC DRIFT C2) according to the following equation (5), thereby using the determined oscillator drift to calculate the processing delay T associated with the second cluster 110B. PROC C2120B.
[0065] T PROC C2 = KPD + -OSC DRIFT C2(5)
[0066] Return to reference Figure 4C Based on previous measurements and calculations, many of the time periods 481-485 in the plotted graph have been known by the main controller 101. For example, based on equations (3) and (4) above, time period 481(T PROP ISO 122) and 485(T PROP ISO REPLY is known and can be assumed to be consistent at both ends of different messages, regardless of which cluster in clusters 110A-110C the message is addressed to. Furthermore, the processing latency T of the second cluster 110B... PROC C2 130B is known, for example, based on the above equation (5).
[0067] The sum of time periods 482 and 484, plus the transmission and reception propagation delay T imposed by the first cluster 110A on messages to and from the second cluster 110B. PROP C1+T PROP C1 corresponds to REPLY. As shown in equation (6) below, the sum of the transmission and reception propagation delays, T PROP C1+T PROP C1 REPLY can be considered equal to the third measurement delay time 480C (TMDT) minus the processing delay T. PROC C2 130B and propagation delay T PROP ISO 122+T PROP The sum of ISO REPLY. The main controller 101 can be based on the propagation delay T. PROP C1 SEND and T PROP The propagation delay T is determined by the assumption that C1 REPLY are essentially equal. PROP C1 120A, as shown in equation (7) below, because the same mechanism can be used to communicate messages to and from the master controller 101. Based on this assumption, T PROP C1 SEND can be considered equal to T PROP C1 SEND+TPROP The sum of C1 REPLY divided by 2 is shown in equation (8) below. As shown in equation (9), the main controller 101 can subtract the processing delay T of the second cluster 110B from the third measurement delay time (TMDT) 480C. PROC C2 130B and propagation delay T PROP ISO 122+T PROP The sum of ISO REPLY values and the result divided by 2 determine the propagation delay T of the first cluster 110A. PROP C1 120A (i.e., T) PROP C1 SEND).
[0068] T PROP C1 SEND+T PROP C1 REPLY = TMDT-T PROC C2-(T PROP ISO+
[0069] T PROP ISO REPLY))(6)
[0070] T PROP C1 SEND==T PROP C1 REPLY (7)
[0071] T PROP C1 SEND=(T PROP C1 SEND+T PROP C1 REPLY) / 2(8)
[0072] T PROP C1 SEND=(TMDT-T PROC C2-(T PROP ISO+T PROP ISO
[0073] REPLY)) / 2(9)
[0074] Once the master controller 101 has determined the propagation delay T of the first cluster 110A PROP C1 120A, the main controller 101 can then use the determined propagation delay T. PROP C1 120A is used to communicate messages to other clusters in the daisy chain (e.g., the second cluster 110B), so that messages are received and commands are executed by the second cluster 110B at precise timing, for example, synchronized with the switching clock 103 of the main controller 101. Figures 3A-3C Some examples of it are described in the text.
[0075] The propagation delay T of the first cluster 110A is determined by reference. PROP C1 120A to describe Figures 4A-4D The measurement indicates that the first cluster 110A is the first of multiple clusters coupled in a daisy chain, closest to the master controller 101, and configured to receive messages directly from the master controller 101. In other examples, Figures 4A-4D The measurements described herein can be applied to any cluster 110A-110C arranged anywhere in the daisy chain. For example, once performed on the first cluster 110A... Figure 4A and 4B The measurements described herein can be performed on each subsequent cluster of the daisy-chain topology. Figure 4C and 4D The measurements described in [the document] are used to determine the corresponding propagation delay T associated with each cluster. PROP and / or processing delay T PROC As an example, Figure 4C and 4D The measurements can be applied to the third cluster 110C and used to determine the propagation delay T associated with the second cluster 110C. PROP C2 120B. The determined propagation delay T PROP C1 120A and T PROP C2 120B can be used to send one or more messages to a third cluster 110C, which are used to resolve propagation delay T. PROP C1 120A and T PROP C2 120B, for example Figure 3C As shown.
[0076] The main controller 101 can base its decisions on the determined propagation delay T. PROP C1 120A generates messages and sends them to clusters 110B-110C, causing clusters 110B-110C to be actuated synchronously with the switching clock 103 of the master controller 101. For example, as Figures 3A-3C As shown, the master controller 101 can send messages to each cluster in the daisy-chain topology early enough to resolve the propagation delay T of previous clusters in the chain. PROP This allows the receiver cluster to receive messages and synchronously actuate them. In some examples, these techniques can provide significant improvements compared to conventional systems used to implement multilevel converters, such as those requiring synchronously actuated, precise oscillators.
[0077] Figure 5 It describes a multilevel power converter (e.g., according to some embodiments) Figure 1 A block diagram of cluster 510 of system 100. Figure 5The described cluster 510 can be arranged in a daisy-chain topology along with other clusters 110A-110C, such as... Figure 1 As shown in the example. Figure 5 As shown, the cluster controller 511 is configured to communicate with the master controller via the isolation interface 512. Figure 5 (Not shown in the image) Communication. For example... Figure 1 As shown in the example, as indicated by the solid arrow, cluster 510 can cause a propagation delay 520 in messages pointing to other clusters following cluster 510 in a daisy chain. A processing delay 530 can also be associated with cluster 510, representing the delay associated with cluster 510 receiving a command in an acknowledgment, executing the command, and sending an acknowledgment message to the master controller.
[0078] like Figure 5 As shown, the cluster controller 511 is coupled to control one or more regulator cells 516, which are coupled to the terminals of multiple battery cells 504A-504B. Figure 5 As shown in the example, regulator cell 516 is configured to output output voltage V at output terminal 515 of cluster 510. OUT When coupled, the cluster controller 511 is configured to control the state of the cluster 510 by controlling the regulator cell 516 to couple battery cells 504A-504B to or decouple them from terminal 515, so as to supply a portion of the output voltage to the load 105 of the multilevel converter system 100, such as... Figure 1 As shown.
[0079] like Figure 5 As shown in the example, the cluster controller 511 can control the regulator cell 516 to generate an output voltage V with two or three possible discrete states at terminal 515. OUT The output voltage V OUT It depends on whether the application is supplied with a positive supply voltage, zero, or an optional negative supply voltage. Figure 5 In the example, cluster 510 can be controlled at 531 to output 0 volts, at 532 to output 24 volts, and at 533 to output -24 volts. In applications requiring both positive and negative voltages, cluster 510 can be controlled in different third states 533, such as... Figure 5 As shown in the example. In other examples, in applications where positive and negative voltages are not required (e.g., cluster 510 works with other clusters to supply energy in a rectified step sine wave), cluster 510 may simply be configured to alternate between two states 531 and 532.
[0080] In some examples, cluster 510 can be coupled to control the combined supply maximum voltage. Figure 5In the example, 24V), 0V, or minimum voltage ( Figure 5 In the example, -24V represents multiple N regulator cells as the output voltage of cluster 510. In some examples, cluster 510 can control multiple regulator cells, each coupled to a battery cell terminal having a voltage potential that aggregates to the minimum and maximum voltage of the cluster. For example, a cluster that can switch between 0V, 24V, and optionally -24V can be coupled to control 12 battery cells with a potential of 2V, 6 battery cells with a potential of 4V, 4 battery cells with a potential of 6V, 2 battery cells with a potential of 12V, or any other combination of battery cell potentials and the number of regulator cells arranged to supply a maximum output voltage of 24V and / or a minimum output voltage of -24V, respectively.
[0081] Figure 6 An example of a step sine wave 750 according to some embodiments is shown. (Return to Reference) Figure 1 For example, in some examples, the main controller 101 may be configured to control clusters 110A-110C via a daisy chain to supply energy to AC load 105 in the form of a step sine wave 750 synchronized with the switching clock 703 of the main controller 101. For example, AC load 105 may be a phase of a commutated AC motor configured to be driven by a sinusoidal energy signal. According to other examples, AC load 105 may be an AC power grid, and the main controller 101 controls clusters 110A-110C to convert DC energy from DC source 104 into AC energy for supplying to the AC power grid. In other examples, the main controller 101 sends messages to actuate clusters 110A-110C to bidirectionally couple AC energy sources (e.g., across terminals 107) into DC energy to charge DC source 104 (such as a cell of a battery).
[0082] Figure 6 A simplified example of a step sine wave according to some embodiments is depicted. Figure 6 Examples, such as Figure 1 The depicted multilevel converter 100 includes three clusters 110A-110C coupled in a daisy chain. Each of the clusters 110A-110C can be individually controlled by the main controller 101 to three different states to convert a portion of the multilevel output voltage (by...) Figure 1 The vertical axis represents the time (relative to the horizontal axis) supplied to the load 105. (Reference) Figure 6 For example, each of the three clusters 110A-110C can switch between 24 volts, 0 volts, and -24 volts, such as... Figure 5 As shown in the example.
[0083] Figure 6A simplified example of a sine wave is shown, ranging from a maximum voltage Vmax of approximately 72 volts to a minimum voltage Vmin of approximately -72 volts. Figure 6 As shown, in order to approximate the sine wave 751, the main controller 101 actuates clusters 110A-110C to change the output voltage at a switching time 754 defined by a switching clock 103 based on the main controller 101. The switching time 754 is separated from each other by a switching period 752, which corresponds to each segment of the step sine wave 750.
[0084] Refer again Figure 6 In the first switching cycle 752A, the main controller 101 actuates one of the three clusters 110A to 110C to supply 24 volts to terminal 107, while the other two clusters supply 0 volts, resulting in a total of 24 volts output to terminal 107. In the second switching cycle 752B, the main controller 101 actuates the second of the three clusters 110A-110C to supply another 24 volts to terminal 107, while the remaining clusters supply 0 volts, resulting in a total of 48 volts supplied to terminal 107. In the third switching cycle 752C, the main controller 101 actuates all three clusters 110A-110C to supply 24 volts to terminal 107, resulting in a total of 72 volts supplied to terminal 107. In the fourth switching cycle 752D, the main controller 101 actuates one of the three clusters 110A-110C to supply 0 volts instead of 24 volts, while the other two clusters supply 24 volts, resulting in a total of 48 volts supplied to terminal 107. In the fifth switching cycle 752E, the main controller 101 actuates another of the three clusters 110A to 110C to supply 0 volts, while one cluster still supplies 24 volts, resulting in a total of 48 volts being supplied to terminal 107. In the sixth switching cycle 752F and the seventh switching cycle 752G, the main controller 101 actuates the remaining clusters to supply 0 volts, resulting in a total of 0 volts being supplied to terminal 107. Figure 6 As shown, during the switching cycle 752H-752M, the main controller 101 continues to actuate clusters 110A-110C to output 0V, -24V, -48V, -72V, -48V and -24V respectively, to approximate the negative part of the sine wave 751.
[0085] Figure 7 This is a system diagram depicting an example of a multilevel converter system 800, which can be used to supply energy to a three-phase AC motor in the form of a step sine wave. (As shown...) Figure 7As shown, system 800 includes electronic control unit 828, which includes main controller 801 (e.g., microcontroller) and three isolation interfaces 802A-802C, each of which is coupled to control a corresponding phase 820A, 820B, 820C to supply energy to a phase of a three-phase AC motor.
[0086] like Figure 7 As shown, each phase 820A-820C includes 16 clusters 810A-810C, each of which is coupled in a daisy chain via an isolation interface 812 and can be actuated by the main controller 801 in one of three states to couple 24V, 0V, or -24V to the coupled output (not shown) to drive each phase. According to this example, the main controller 801 is configured to actuate the clusters 810A-810C to supply energy with a step sine wave having a range from a maximum voltage of 384 volts to a minimum voltage of approximately -384 volts, or approximately 800 volts (768 volts). According to this example, the main controller 801 is part of the vehicle's electronic control unit (ECU), which may include other components associated with the vehicle's electrical system.
[0087] like Figure 7 As shown, in an optional embodiment, clusters 810A-810C can be coupled in a daisy chain in a loop topology, wherein the last cluster in the daisy chain (the 16th cluster 810C) is on an optional return path (such as... Figure 8 (shown by the dashed line in the diagram) is coupled to the main controller 101, and clusters 810A-810C are configured to send responses to the main controller 801 via other clusters in 810A-810C preceding clusters in a daisy chain or via an optional return path.
[0088] In some examples, the isolation interfaces 812 of each cluster are substantially similar to each other; for example, the isolation interfaces can be interchangeable components. In some examples, the isolation interfaces 802A-802C are also substantially similar to each other and can also be interchangeable components. In some examples, the isolation interfaces 802A-802C are substantially similar to the isolation interfaces 812 of each cluster 110A-110C and are interchangeable components with the isolation interface 812.
[0089] according to Figure 7For example, each phase 820A-820C of the 16 clusters 810A-810C can be coupled to the corresponding phase of an AC load 105 (such as an AC motor) and used to drive each phase with a step approximation of a sinusoidal waveform with a phase shift relative to the other phases. In some examples, the propagation delay of the 16 daisy chains coupling the clusters 810A-810C in each phase can affect the master controller 801 to synchronize the actuation of the corresponding clusters in each phase to drive the AC motor. Accordingly, the master controller 801 performs measurements to identify the propagation delay T associated with the 16 clusters 810A-810C in each phase. PROP and / or processing delay T PROC And control the timing of messages and / or command execution for actuating clusters 610A-610C to accommodate propagation delay T. PROP and / or processing delay T PROC This allows the system 800 to drive the AC motor efficiently at a fast speed, without incorporating expensive, precise oscillators into each cluster 810A-810C that are synchronized to the main controller 801.
[0090] Figure 8 This is a flowchart illustrating an example of a method for operating a main controller (e.g., 101) according to some embodiments. Figure 8 As shown, in step 901, the method includes determining a measurement delay time associated with a first cluster (e.g., 110A) by a master controller (e.g., 101), wherein the first cluster is coupled to a second cluster (e.g., 110B) in a daisy chain, such that the master controller communicates with the second cluster through an isolation interface (e.g., 112A) of the first cluster. Figure 8 As shown, in step 902, the method includes determining, by the master controller and based on the measured delay time, the propagation delay associated with the first cluster (e.g., T). PROP (C1120A). In some examples, the propagation delay associated with the first cluster represents the delay introduced by the first cluster in messages from the master controller to at least the second cluster.
[0091] like Figure 8 As shown, in step 903, the method includes generating a message from the master controller to the second cluster, the message including commands to be executed by the second cluster. Figure 8As shown, in step 904, the method includes sending a message from the master controller to a second cluster based on a determined propagation delay via the master controller's isolation interface (e.g., 102) to execute a command to actuate the second cluster synchronously with the master controller's switching clock (e.g., 103). In some examples, the command actuates the second cluster to supply a portion of the output voltage to a load. In some examples, the method also includes sending the message to the second cluster early enough to accommodate the propagation delay associated with the first cluster. In some examples, the switching clock has a switching period, and this switching period corresponds to a discrete segment of a step sine wave.
[0092] In some examples, the first and second clusters are arranged in a daisy chain with at least a third cluster (e.g., 110C), such that the master controller communicates with the third cluster through isolated interfaces (e.g., 112A, 112B) of the first and second clusters. According to these examples, the measurement delay time is a first measurement delay time (e.g., 480A), and the propagation delay is a first propagation delay (e.g., T). PROP C1 120A), and the method also involves the main controller determining a second propagation delay (e.g., T) associated with the second cluster. PROP C2 120B).
[0093] In some examples, the method further includes: generating a second message by the master controller to the third cluster, which includes a second command to be executed by the third cluster; and sending the second message to the third cluster by the master controller through the master controller's isolation interface to execute the second command based on a determined second propagation delay synchronized with the master controller's switching clock by sending the second message early enough to accommodate the first and second propagation delays.
[0094] In some examples, determining the measurement delay time associated with the first cluster (e.g., 480A) includes: sending a test message to the first cluster; receiving an acknowledgment message from the first cluster; and measuring the time difference between outputting the test message and receiving the acknowledgment message. In some examples, the test message is a first test message (e.g., 470A), the acknowledgment message is a first acknowledgment message (e.g., 478A), and the time difference is a first time difference. The method further includes determining a second measurement delay time (e.g., 480B), including sending the second test message (e.g., 470B) to the first cluster with a known delay (e.g., 479), receiving a second acknowledgment message (e.g., 478B) delayed by the known delay, and measuring the second time difference between outputting the second test message and receiving the second acknowledgment message. In some examples, the method further includes using the first time difference and the second time difference to determine an oscillator drift associated with the first cluster, and using the determined oscillator drift to determine a processing delay (e.g., T) associated with the first cluster. PROC(C1 130A). In some examples, the method further includes determining a measurement delay time associated with the second cluster, which includes determining a third measurement delay time (e.g., 480C), including sending a third test message (e.g., 470B) to the second cluster, receiving a third response message (e.g., 488A) from the second cluster, and measuring a third time difference between sending the third test message and receiving the third response message. In some examples, the method further includes determining a fourth measurement delay time (e.g., 480D), which includes sending a fourth test message (e.g., 470D) to the second cluster with a known delay (e.g., 479), receiving a fourth response message (e.g., 488B) from the second cluster, and measuring a fourth time difference between sending the fourth test message and receiving the fourth response message.
[0095] In some examples, the method also includes using a third time difference and a fourth time difference to determine the oscillator drift associated with the second cluster; and using the determined oscillator drift to determine the processing delay associated with the second cluster (e.g., T). PROC (C2 130B). In some examples, the method further includes using the processing delay associated with the second cluster to determine the propagation delay associated with the first cluster. In some examples, the method further includes sending a message to the second cluster to supply a corresponding portion of the output voltage to a load (e.g., 105), and the load includes one or more loads selected from the group consisting of batteries, power grids, and phases of AC motors. In some examples, the method includes sending a message to the second cluster to couple a DC power source (e.g., 104) to an AC load (e.g., 105), or to couple an AC power source to a DC load.
[0096] Although the invention has been described with reference to illustrative embodiments, this description is not intended to be limiting. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the invention, will become apparent to those skilled in the art upon reference to the specification. Therefore, the appended claims are intended to cover any such modifications or embodiments.
[0097] Discussion of possible embodiments
[0098] The following is a non-exclusive description of possible embodiments of the present invention.
[0099] According to one example, a method is described in some aspects. The method includes a master controller determining a measured latency associated with a first cluster coupled to a second cluster in a daisy chain, such that the master controller communicates with the second cluster through an isolation interface of the first cluster. The method also includes the master controller determining a propagation delay associated with the first cluster based on the measured latency. The method further includes the master controller generating a message to the second cluster, the message including a command to be executed by the second cluster. The method also includes the master controller sending the message to the second cluster through its isolation interface based on the determined propagation delay to execute the command to actuate the second cluster synchronously with the master controller's switching clock.
[0100] Additionally and / or alternatively, the methods described in the preceding paragraphs may optionally include any or more of the following features, configurations, and / or additional steps, individually or in combination with each other.
[0101] According to one example, in some aspects, the propagation delay associated with the first cluster represents the delay introduced by the first cluster in messages from the master controller to at least the second cluster. According to another example, in some aspects, a command actuates the second cluster to supply a portion of the output voltage to the load. According to another example, in some aspects, the method further includes sending messages to the second cluster sufficiently early to accommodate the propagation delay associated with the first cluster. According to another example, in some aspects, the switching clock has a switching period, and the switching period corresponds to a discrete segment of a step sine wave.
[0102] According to another example, in some aspects, the first and second clusters are arranged in a daisy chain together with at least a third cluster, such that the master controller communicates with the third cluster through the isolation interfaces of the first and second clusters. According to another example, in some aspects, the propagation delay is a first propagation delay, and the method further includes the master controller determining a second propagation delay associated with the second cluster. According to another example, in some aspects, the method further includes the master controller generating a second message to the third cluster, the second message including a second command to be executed by the third cluster, and the master controller sending the second message to the third cluster through its isolation interface to execute the second command based on the determined second propagation delay synchronized with the master controller's switching clock by sending the second message early enough to accommodate the first and second propagation delays.
[0103] According to another example, in some aspects, determining the measurement delay time associated with the first cluster includes sending a test message to the first cluster, receiving an acknowledgment message from the first cluster, and measuring the time difference between outputting the test message and receiving the acknowledgment message. According to another example, in some aspects, the test message is a first test message, the acknowledgment message is a first acknowledgment message, and the time difference is a first time difference, and the method further includes determining a second measurement delay time, which includes sending the second test message to the first cluster with a known delay, receiving the second acknowledgment message delayed by the known delay, and measuring a second time difference between outputting the second test message and receiving the second acknowledgment message. According to another example, in some aspects, the method further includes using the first time difference and the second time difference to determine one or more of the oscillator drifts associated with the first cluster, and using the determined oscillator drifts to determine a processing delay associated with the first cluster. According to another example, in some aspects, the method further includes determining a third measurement delay time, including sending a third test message to the second cluster, receiving a third acknowledgment message from the second cluster, and measuring a third time difference between sending the third test message and receiving the third acknowledgment message. According to another example, in some aspects, the method also includes determining a fourth measurement delay time, which includes sending a fourth test message to a second cluster with a known delay, receiving a fourth response message from the second cluster, and measuring a fourth time difference between sending the fourth test message and receiving the fourth response message.
[0104] According to another example, in some aspects, the method further includes using a third time difference and a fourth time difference to determine an oscillator drift associated with the second cluster; and using the determined oscillator drift to determine a processing delay associated with the second cluster. According to another example, in some aspects, the method further includes using the processing delay associated with the second cluster to determine a propagation delay associated with the first cluster. According to another example, in some aspects, the method includes sending a message to the second cluster to supply a corresponding portion of the output voltage to a load, and the load includes one or more loads selected from the group consisting of: a battery, a power grid, and a phase of an AC motor. According to another example, in some aspects, the method includes sending a message to the second cluster to couple a DC power source to an AC load, or to couple an AC power source to a DC load.
[0105] According to one example, an electronic control unit (ECU) is described in some aspects. The ECU includes a main controller configured to determine a measured delay time associated with a first cluster coupled to a second cluster in a daisy chain, such that the main controller communicates with the second cluster via an isolation interface of the first cluster. The main controller is also configured to determine a propagation delay associated with the first cluster based on the measured delay time. The main controller is further configured to generate a message to the second cluster, the message including a command to be executed by the second cluster. The main controller is also configured to send the message to the second cluster via its isolation interface based on the determined propagation delay to execute the command to actuate the second cluster synchronously with the main controller's switching clock.
[0106] Additionally and / or alternatively, the ECU described in the preceding paragraph may optionally include any one or more of the following features, configurations and / or additional components, individually or in combination with each other.
[0107] According to one example, in some aspects, a command actuates a second cluster to supply a portion of the output voltage to the load. According to another example, in some aspects, the propagation delay associated with the first cluster represents the delay introduced by the first cluster in messages from the master controller to at least the second cluster. According to another example, in some aspects, the master controller is configured to send messages to the second cluster sufficiently early to accommodate the propagation delay associated with the first cluster. According to another example, in some aspects, the switching clock has a switching period, and the switching period corresponds to a discrete segment of a step sine wave.
[0108] According to another example, in some aspects, the master controller is further configured to: send other messages via its isolation interface to other clusters in the daisy chain for execution by the other clusters synchronized with a switching clock. According to another example, in some aspects, the first and second clusters are arranged in a daisy chain with at least a third cluster, such that the master controller communicates with the third cluster via the isolation interfaces of the first and second clusters, the propagation delay being a first propagation delay, and the master controller is further configured to: determine a second propagation delay associated with the second cluster. According to another example, in some aspects, the master controller is configured to generate a second message to the third cluster, the second message including a second command to be executed by the third cluster. According to another example, in some aspects, the master controller is configured to send the second message to the third cluster via its isolation interface to execute the second command based on the determined second propagation delay synchronized with the master controller's switching clock by sending the second message early enough to accommodate the first and second propagation delays. According to another example, in some aspects, the master controller is further configured to: send a test message to the first cluster, receive an acknowledgment message from the first cluster, and measure the time difference between outputting the test message and receiving the acknowledgment message. According to another example, in some aspects, the test message is a first test message, the response message is a first response message, and the time difference is a first time difference. The main controller is also configured to send a second test message to a first cluster with a known delay, receive a second response message delayed by the known delay, and measure a second time difference between outputting the second test message and receiving the second response message. According to another example, in some aspects, the main controller is also configured to use the first and second time differences to determine an oscillator drift associated with the first cluster, and to use the determined oscillator drift to determine a processing delay associated with the first cluster. According to another example, in some aspects, the main controller is also configured to send a third test message to a second cluster, receive a third response message from the second cluster, and measure a third time difference between sending the third test message and receiving the third response message. According to another example, in some aspects, the main controller is also configured to send a fourth test message to the second cluster with a known delay, receive a fourth response message from the second cluster, and measure a fourth time difference between sending the fourth test message and receiving the fourth response message. According to another example, in some aspects, the main controller is also configured to use a third time difference and a fourth time difference to determine the oscillator drift associated with the second cluster, and to use the determined oscillator drift to determine the processing latency associated with the second cluster. According to another example, in some aspects, the main controller is also configured to use the processing latency associated with the second cluster to determine the propagation latency associated with the first cluster.According to another example, in some aspects, the main controller is configured to send messages to a second cluster to supply energy to a load, wherein the load includes one or more loads selected from the group consisting of: batteries, the power grid, and phases of an AC motor. According to another example, in some aspects, the main controller is configured to send messages to the second cluster to couple a DC energy source to an AC load, or to couple an AC energy source to a DC load.
[0109] According to another aspect, a system is described. The system includes a master controller and multiple clusters, including at least a first cluster coupled to a second cluster in a daisy chain, such that the master controller communicates with the second cluster via an electrically isolated interface of the first cluster. The master controller is configured to determine a measured delay time associated with the first cluster. The master controller is also configured to determine a propagation delay associated with the first cluster based on the measured delay time. The master controller is further configured to generate a message to the second cluster, the message including a command to be executed by the second cluster. The master controller is also configured to send the message to the second cluster via the master controller's isolated interface based on the determined propagation delay to execute the command to actuate the second cluster synchronously with the master controller's switching clock.
[0110] Additionally and / or alternatively, the system described in the preceding paragraphs may optionally include any one or more of the following features, configurations, and / or additional components, individually or in combination with each other.
[0111] According to one example, in some aspects, a command actuates a second cluster to supply a portion of the output voltage to a load. According to another example, in some aspects, the propagation delay associated with the first cluster represents the delay introduced by the first cluster in messages from the master controller to at least the second cluster. According to another example, in some aspects, the master controller is configured to send messages to the second cluster sufficiently early to accommodate the propagation delay associated with the first cluster. According to another example, in some aspects, the switching clock has a switching period, and the switching period corresponds to a discrete segment of a step sine wave. According to another example, in some aspects, the master controller is also configured to send additional messages to other clusters in the daisy chain via an isolated interface of the master controller, to be executed synchronously by the other clusters with the switching clock. According to another example, in some aspects, the first and second clusters are arranged in a daisy chain along with at least a third cluster, such that the master controller communicates with the third cluster via an isolated interface of the first and second clusters, the propagation delay being a first propagation delay, and the master controller is also configured to determine a second measurement delay time associated with the second cluster. According to another example, in some aspects, the master controller is also configured to determine a second propagation delay associated with the second cluster. According to another example, in some aspects, the master controller is further configured to generate a second message to a third cluster, the second message including a second command to be executed by the third cluster. According to another example, in some aspects, the master controller is further configured to send the second message to the third cluster via an isolation interface of the master controller to execute the second command based on a determined second propagation delay synchronized with the master controller's switching clock by sending the second message early enough to accommodate a first propagation delay and a second propagation delay. According to another example, in some aspects, the master controller is further configured to send a test message to a first cluster, receive an acknowledgment message from the first cluster, and measure the time difference between outputting the test message and receiving the acknowledgment message. According to another example, in some aspects, the test message is a first test message, the acknowledgment message is a first acknowledgment message, and the time difference is a first time difference; the master controller is further configured to send the second test message to the first cluster with a known delay, receive a second acknowledgment message delayed by the known delay, and measure a second time difference between outputting the second test message and receiving the second acknowledgment message. According to another example, in some aspects, the main controller is also configured to use a first time difference and a second time difference to determine the oscillator drift associated with the first cluster, and to use the determined oscillator drift to determine the processing latency associated with the first cluster. According to another example, in some aspects, the main controller is also configured to send a third test message to a second cluster, receive a third response message from the second cluster, and measure a third time difference between sending the third test message and receiving the third response message.According to another example, in some aspects, the main controller is further configured to send a fourth test message to a second cluster with a known delay, receive a fourth response message from the second cluster, and measure a fourth time difference between sending the fourth test message and receiving the fourth response message. According to another example, in some aspects, the main controller is further configured to use a third time difference and a fourth time difference to determine an oscillator drift associated with the second cluster, and to use the determined oscillator drift to determine a processing delay associated with the second cluster. According to another example, in some aspects, the main controller is further configured to use the processing delay associated with the second cluster to determine a propagation delay associated with the first cluster. According to another example, in some aspects, the main controller is configured to send a message to the second cluster to supply energy to a load, wherein the load includes one or more loads selected from the group consisting of batteries, power grids, and phases of AC motors. According to another example, in some aspects, the main controller is configured to send a message to the second cluster to couple a DC energy source to an AC load, or to couple an AC energy source to a DC load.
Claims
1. A method comprising: determining, by a master controller, a measured delay time associated with a first cluster coupled in a daisy chain with a second cluster such that the master controller communicates with the second cluster through an isolation interface of the first cluster; determining, by the master controller and based on the measured delay time, a propagation delay associated with the first cluster; generating, by the master controller, a message to the second cluster, the message including a command to be executed by the second cluster; and sending, by the master controller through an isolation interface of the master controller, the message to the second cluster based on the determined propagation delay to execute the command to actuate the second cluster in synchronization with a switching clock of the master controller.
2. The method of claim 1, wherein the command actuates the second cluster to supply a portion of an output voltage to a load.
3. The method of claim 1, wherein the propagation delay associated with the first cluster represents a delay introduced by the first cluster in a message from the master controller to at least the second cluster.
4. The method of claim 1, wherein sending the message to the second cluster based on the determined propagation delay to be executed by the second cluster comprises: sending the message to the second cluster early enough to accommodate the propagation delay associated with the first cluster.
5. The method of claim 4, wherein the switching clock has a switching period, and the switching period corresponds to a discrete segment of a stepped sine wave.
6. The method of claim 5, further comprising: sending, by the master controller through the isolation interface of the master controller, other messages to other clusters of the daisy chain to be executed by the other clusters in synchronization with the switching clock.
7. The method of claim 1, wherein the first cluster and the second cluster are arranged in the daisy chain with at least a third cluster such that the master controller communicates with the third cluster through isolation interfaces of the first cluster and the second cluster, wherein the propagation delay is a first propagation delay, and the method further comprises: determining, by the master controller, a second propagation delay associated with the second cluster; generating, by the master controller, a second message to the third cluster, the second message including a second command to be executed by the third cluster; and sending, by the master controller through the isolation interface of the master controller, the second message to the third cluster to execute the second command based on the determined second propagation delay associated with the second cluster synchronized to the switching clock of the master controller by sending the second message early enough to accommodate the first propagation delay and the second propagation delay.
8. The method of claim 1, wherein determining the measured delay time associated with the first cluster comprises: sending a test message to the first cluster; receiving a reply message from the first cluster; and measuring a time difference between outputting the test message and receiving the reply message.
9. The method of claim 8, wherein the test message is a first test message, the reply message is a first reply message, and the time difference is a first time difference, and the method further comprises determining a second measurement delay time, determining the second measurement delay time comprising: sending a second test message to the first cluster with a known delay; receiving a second reply message delayed by the known delay; and measuring a second time difference between outputting the second test message and receiving the second reply message.
10. The method of claim 9, further comprising: using the first time difference and the second time difference to determine an oscillator drift associated with the first cluster; and using the determined oscillator drift to determine a processing delay associated with the first cluster.
11. The method of claim 10, further comprising determining a third measurement delay time, determining the third measurement delay time comprising: sending a third test message to the second cluster; receiving a third reply message from the second cluster; and measuring a third time difference between sending the third test message and receiving the third reply message.
12. The method of claim 11, further comprising determining a fourth measurement time delay, determining the fourth measurement time delay comprising: sending a fourth test message to the second cluster with a known delay; receiving a fourth reply message from the second cluster; and measuring a fourth time difference between sending the fourth test message and receiving the fourth reply message.
13. The method of claim 12, further comprising: using the third time difference and the fourth time difference to determine an oscillator drift associated with the second cluster; and using the determined oscillator drift to determine a processing delay associated with the second cluster.
14. The method of claim 13, further comprising: using the processing delay associated with the second cluster to determine the propagation delay associated with the first cluster.
15. The method of claim 1, further comprising: sending the message to the second cluster to supply energy to a load, wherein the load comprises one or more loads selected from the group consisting of: a battery; a power grid; and a phase of an alternating current (AC) motor.
16. The method of claim 1, further comprising: sending the message to the second cluster to couple a direct current (DC) energy source to an alternating current (AC) load, or to couple an AC energy source to a DC load.
17. An electronic control unit (ECU) comprising: a main controller configured to: determine a measurement delay time associated with a first cluster coupled in a daisy chain with a second cluster, such that the main controller communicates with the second cluster through an isolation interface of the first cluster; determine a propagation delay associated with the first cluster based on the measured delay time; generate a message to the second cluster, the message comprising a command to be executed by the second cluster; and a main controller configured to: determine a measurement delay time associated with a first cluster coupled in a daisy chain with a second cluster, such that the main controller communicates with the second cluster through an isolation interface of the first cluster; determine a propagation delay associated with the first cluster based on the measured delay time; generate a message to the second cluster, the message comprising a command to be executed by the second cluster; and based on the determined propagation delay, sending the message to the second cluster through an isolation interface of the master controller to execute the command to actuate the second cluster in synchronization with a switching clock of the master controller.
18. The ECU of claim 17, wherein the command actuates the second cluster to supply a portion of an output voltage to a load.
19. The ECU of claim 17, wherein the propagation delay associated with the first cluster represents a delay introduced by the first cluster into messages from the master controller to at least the second cluster.
20. The ECU of claim 17, wherein the master controller is configured to send the message to the second cluster early enough to accommodate the propagation delay associated with the first cluster.
21. The ECU of claim 20, wherein the switching clock has a switching period, and the switching period corresponds to a discrete segment of a stepped sine wave.
22. The ECU of claim 21, wherein the master controller is further configured to: send other messages to other clusters of the daisy chain through the isolation interface of the master controller to be executed by the other clusters in synchronization with the switching clock.
23. The ECU of claim 17, wherein the first cluster and the second cluster are arranged in the daisy chain with at least a third cluster such that the master controller communicates with the third cluster through isolation interfaces of the first cluster and the second cluster, wherein the propagation delay is a first propagation delay, and wherein the master controller is further configured to: determine a second propagation delay associated with the second cluster; generate, by the master controller, a second message to the third cluster, the second message including a second command to be executed by the third cluster; and send the second message to the third cluster through the isolation interface of the master controller to execute the second command based on the determined second propagation delay in synchronization with the switching clock of the master controller by sending the second message early enough to accommodate the first propagation delay and the second propagation delay.
24. The ECU of claim 17, wherein the master controller is further configured to: send a test message to the first cluster; receive a reply message from the first cluster; and measure a time difference between outputting the test message and receiving the reply message.
25. The ECU of claim 24, wherein the test message is a first test message, the reply message is a first reply message, and the time difference is a first time difference, and wherein the master controller is further configured to: send a second test message to the first cluster with a known delay; receive a second reply message delayed by the known delay; and measure a second time difference between outputting the second test message and receiving the second reply message.
26. The ECU of claim 25, wherein the master controller is further configured to: determining an oscillator drift associated with the first cluster using the first time difference and the second time difference; and determining a processing delay associated with the first cluster using the determined oscillator drift.
27. The ECU of claim 26, wherein the master controller is further configured to: send a third test message to the second cluster; receive a third reply message from the second cluster; and measure a third time difference between sending the third test message and receiving the third reply message.
28. The ECU of claim 27, wherein the master controller is further configured to: send a fourth test message to the second cluster with a known delay; receive a fourth reply message from the second cluster; and measure a fourth time difference between sending the fourth test message and receiving the fourth reply message.
29. The ECU of claim 28, wherein the master controller is further configured to: determine an oscillator drift associated with the second cluster using the third time difference and the fourth time difference; and determine a processing delay associated with the second cluster using the determined oscillator drift.
30. The ECU of claim 29, wherein the master controller is further configured to: determine the propagation delay associated with the first cluster using the processing delay associated with the second cluster.
31. The ECU of claim 17, wherein the master controller is configured to send the message to the second cluster to supply energy to a load, wherein the load comprises one or more loads selected from the group consisting of: a battery; a power grid; and a phase of an alternating current (AC) motor.
32. The ECU of claim 17, wherein the master controller is configured to send the message to the second cluster to couple a direct current (DC) energy source to an alternating current (AC) load, or to couple an AC energy source to a DC load.
33. A system comprising: a master controller; and a plurality of clusters, the plurality of clusters comprising at least a first cluster coupled in a daisy chain with a second cluster such that the master controller communicates with the second cluster through an electrically isolated interface of the first cluster; wherein the master controller is configured to: determine a measured delay time associated with the first cluster; determine a propagation delay associated with the first cluster based on the measured delay time; generate a message to the second cluster, the message comprising a command to be executed by the second cluster; and based on the determined propagation delay, send the message to the second cluster through the isolated interface of the master controller to execute the command to actuate the second cluster in synchronization with a switching clock of the master controller.
34. The system of claim 33, wherein the command actuates the second cluster to supply a portion of an output voltage to a load.
35. The system of claim 33, wherein the propagation delay associated with a first cluster represents a delay introduced by the first cluster in a message from the master controller to at least the second cluster. 36. The system of claim 33, wherein the master controller is configured to send the message to the second cluster early enough to accommodate the propagation delay associated with the first cluster.
37. The system of claim 36, wherein the toggle clock has a toggle period, and the toggle period corresponds to a discrete segment of a sawtooth wave.
38. The system of claim 37, wherein the master controller is further configured to: send, through the isolated interface of the master controller, other messages to other clusters of the daisy chain for execution by the other clusters in synchronization with the toggle clock.
39. The system of claim 33, wherein the first cluster and the second cluster are arranged in the daisy chain with at least a third cluster such that the master controller communicates with the third cluster through isolated interfaces of the first cluster and the second cluster, wherein the propagation delay is a first propagation delay, and wherein the master controller is further configured to: determine a second propagation delay associated with the second cluster; generate, by the master controller, a second message to the third cluster, the second message including a second command to be executed by the third cluster; and send, by the master controller through the isolated interface of the master controller, the second message to the third cluster so as to execute the second command based on the determined second propagation delay in synchronization with the toggle clock of the master controller by sending the second message early enough to accommodate the first propagation delay and the second propagation delay.
40. The system of claim 33, wherein the master controller is further configured to: send a test message to the first cluster; receive a reply message from the first cluster; and measure a time difference between outputting the test message and receiving the reply message.
41. The system of claim 40, wherein the test message is a first test message, the reply message is a first reply message, and the time difference is a first time difference, and wherein the master controller is further configured to: send a second test message to the first cluster with a known delay; receive a second reply message delayed by the known delay; and measure a second time difference between outputting the second test message and receiving the second reply message.
42. The system of claim 41, wherein the master controller is further configured to: determine an oscillator drift associated with the first cluster using the first time difference and the second time difference; and determine a processing delay associated with the first cluster using the determined oscillator drift.
43. The system of claim 42, wherein the master controller is further configured to: send a third test message to the second cluster; receive a third reply message from the second cluster; and measure a third time difference between sending the third test message and receiving the third reply message.
44. The system of claim 43, wherein the master controller is further configured to: send a fourth test message to the second cluster with a known delay; receive a fourth reply message delayed by the known delay; and measure a fourth time difference between outputting the fourth test message and receiving the fourth reply message. receiving a fourth reply message from the second cluster; and measuring a fourth time difference between sending the fourth test message and receiving the fourth reply message.
45. The system of claim 44, wherein the master controller is further configured to: determine an oscillator drift associated with the second cluster using the third time difference and the fourth time difference; and determine a processing delay associated with the second cluster using the determined oscillator drift.
46. The system of claim 45, wherein the master controller is further configured to: determine the propagation delay associated with the first cluster using the processing delay associated with the second cluster.
47. The system of claim 33, wherein the master controller is configured to send the message to the second cluster to supply energy to a load, wherein the load comprises one or more loads selected from the group consisting of: a battery; a power grid; and a phase of an alternating current (AC) motor.
48. The system of claim 33, wherein the master controller is configured to send the message to the second cluster to couple a direct current (DC) energy source to an alternating current (AC) load, or to couple an AC energy source to a DC load.