Method for synchronizing analogue-digital or digital-analogue converters, and corresponding system

20230238975 · 2023-07-27

    Inventors

    Cpc classification

    International classification

    Abstract

    The invention relates to a method for synchronizing a plurality of analogue-digital or digital-analogue converters (CONV_k), the converters (CONV_k) all being connected to a control unit (UC), and to a clock (CLK) that has a predefined clock period (T.sub.clk), the converters being also chained step-by-step so as to form a chain of converters, each converter (CONV_k) generating an internal synchronization signal (internal_sync_k) configured to supply a time reference on the transmission of data by the converter (CONV_k).

    The method allows the synchronization of the converters to be guaranteed using a process of learning and of configuration of the converters. The method allows any line distance constraint on the synchronization signal to be overcome.

    Claims

    1. A method for synchronizing a plurality of analogue-digital or digital-analogue converters (CONV_k), the converters (CONV_k) all being connected to a control unit (UC), and to a clock (CLK) that has a predefined clock period (T.sub.clk), the converters being also chained step-by-step so as to form a chain of converters, each converter (CONV_k) generating an internal synchronization signal (internal_sync_k) configured to supply a time reference on the transmission of data by the converter (CONV_k), the method comprising, for each converter (CONV_k), the following steps: a) reception of a synchronization signal (sync_in_k) transmitted by the control unit (UC) for the first converter (CONV_1) of the chain, or transmitted by the preceding converter (CONV_k−1) for the other converters of the chain, and transmission of the synchronization signal to a next converter (CONV_k+1) in the form of a so-called output internal signal (sync_out_k), or to the control unit (UC) for the last converter (CONV_N) of the chain; b) reception, by the next converter (CONV_k+1), of the output internal signal (sync_out_k), and retransmission to the converter (CONV_k) of the output internal signal (sync_out_k) in the form of a so-called check internal signal (sync_in_check_k), except for the last converter of the chain (CONV_N); c) reception of the check internal signal (sync_in_check_k) by the converter (CONV_k), except for the last converter of the chain (CONV_N); d) determination of a latency (lat.sub.CONV_k->CONV_k+1) between the converter and the next converter, except for the last converter (CONV_N) of the chain, by counting, on the same active clock edge, of the clock periods between the transmission of the output internal signal (sync_out_k) and the reception of the check internal signal (sync_in_check_k); e) computation of an internal offset (Δ.sub.CONV_K) to be applied to the internal synchronization signal (internal_sync_k) of each converter (CONV_k), the internal offset being determined as a function of at least a part of the determined latencies.

    2. The method according to claim 1, wherein the internal offset Δ.sub.CONV_K of the converter of rank k (k=1, . . . , N−1), is computed by the following relationship, starting from k=N−1:
    Δ.sub.CONV_k=½*lat.sub.CONV_k->CONV_k+1+Δ.sub.CONV_k+1 in which lat.sub.CONV_k->CONV_k+1 corresponds to the latency between the converter of rank k and the converter of rank k+1, and in which Δ.sub.CONV_N=0.

    3. The method according to claim 1, wherein each converter detects a metastability of the check internal signal (sync_in_check_k), the metastability corresponding to a simultaneity of the check internal signal (sync_in_check_k) with an active clock edge, and transmits to the control unit (UC) a signal (flag_k) indicating the metastability or not of the check internal signal (sync_in_check_k), the control unit (UC) then transmitting, in cases of metastability of the check internal signal (sync_in_check_k), a new synchronization signal (sync_in_k) to the first converter of the chain (CONV_1).

    4. The method according to claim 3, wherein the signal (flag_k) indicating the metastability or not of the check internal signal (sync_in_check_k) is transmitted to the control unit over a synchronous serial data bus (SPI).

    5. The method according to claim 1, wherein each converter (CONV_k) transmits the determined internal offset (Δ.sub.CONV_K) to the control unit (UC).

    6. The method according to claim 4, wherein the determined internal offset (Δ.sub.CONV_k) is transmitted to the control unit (UC).

    7. The method according to claim 1, wherein the synchronization signal (sync_in_k) transmitted by the control unit is a pulse of a duration at least equal to one clock period.

    8. A method for synchronous conversion of a plurality of signals (DATA_k) transmitted by a control unit (UC) respectively to a plurality of analogue-digital or digital-analogue converters (CONV_k) characterized in that the conversion method first implements the synchronization method according to one of the preceding claims.

    9. A system for synchronizing a plurality of analogue-digital or digital-analogue converters (CONV_k), the converters (CONV_k) all being connected to a control unit (UC), and to a clock (CLK) that has a predefined clock period (T.sub.clk), the converters (CONV_k) being also chained step-by-step so as to form a chain of converters, each converter (CONV_k) being configured to generate an internal synchronization signal (internal sync k) so as to supply a time reference on the transmission of data by the converter (CONV_k), each converter (CONV_k) comprising: a first module (MOD1) configured to receive a synchronization signal (sync_in_k) transmitted by the control unit (UC) for the first converter (CONV_1) of the chain, or transmitted by the preceding converter (CONV_k-1) for the other converters of the chain, and to transmit the synchronization signal to a next converter in the form of a so-called output internal signal (sync_out_k), or to the control unit (UC) for the last converter of the chain (CONV_N); a second module (MOD2) configured to synchronously receive, except for the last converter (CONV_N) of the chain, the output signal retransmitted by the next converter in the form of a so-called check internal signal (sync_in_check_k); a third module (MOD3) configured to determine a latency (lat.sub.CONV_k->CONV_k+1) between the converter (CONV_k) and the next converter (CONV_k+1), by counting, on the same active clock edge, of the clock periods between the transmission of the output internal signal (sync_out_k) and the reception of the check internal signal (sync_in_check_k); the control unit (UC) being further configured to compute an internal offset (Δ.sub.CONV_k) to be applied to the internal synchronization signal (internal_sync_k) of each converter (CONV_k), the internal offset (Δ.sub.CONV_k) being determined as a function of at least a part of the determined latencies.

    10. The system according to claim 9, wherein the control unit (UC) is configured to compute the internal offset Δ.sub.CONV_k of the converter of rank k (k=1, . . . , N−1), by the following relationship, starting from k=N−1:
    Δ.sub.CONV_k=½*lat.sub.CONV k->CONV_k+1+Δ.sub.CONV_k+1 in which lat.sub.CONV_k->CONV_k+1 corresponds to the latency between the converter of rank k and the converter of rank k+1, and in which ΔCONV_N=0

    Description

    [0027] Other features, details and advantages of the invention will emerge on reading the description given with reference to the attached drawings given by way of example and which represent, respectively:

    [0028] FIG. 1 represents a flow diagram of the synchronization method according to the invention;

    [0029] FIG. 2 represents a chain of converters for implementing the synchronization method according to the invention;

    [0030] FIG. 3 represents an example of a chain of four converters for implementing the synchronization method according to the invention;

    [0031] FIG. 4 represents timing diagrams of the different signals used in the example of FIG. 3.

    [0032] FIG. 5 represents a detail view of each converter, for implementing the synchronization method according to the invention.

    [0033] FIG. 1 represents a flow diagram of the synchronization method according to the invention, and FIG. 2 represents a chain of converters and the different signals used in the context of the invention. The two figures will therefore be described simultaneously.

    [0034] In FIG. 2, N converters are represented (N being an integer greater than or equal to 2), with the following convention: the converter CONV_k corresponds to the converter of rank k of the step-by-step chaining, with k=1, . . . , N. The converter CONV_k, of rank k, receives a signal to be converted data_k transmitted by the control unit UC. Thus, N signals to be converted are transmitted by the control unit UC to the different converters of the chain.

    [0035] Also, each converter CONV_k, of rank k, is equipped with a terminal for receiving a synchronization signal sync_in_k, transmitted either by the control unit concerning the first converter of the chain CONV_1, or transmitted by the preceding converter CONV_k−1 for the other converters of the chain.

    [0036] The principle of the step-by-step chaining of the converters is as follows: each converter CONV_k, of rank k, receives the synchronization signal sync_in_k, and transmits the synchronization signal to the next converter CONV_k+1 (of rank k+1) in the form of a so-called output internal signal sync_out_k (step a) of the method, schematically illustrated by FIG. 1). The transmission of the output internal signal is performed synchronously, on an active edge of the clock signal CLK.

    [0037] The last converter CONV_N of the chain, for its part, transmits the output internal signal sync_out_N to the control unit UC, which informs the control unit UC that the synchronization signal has transited via all the converters of the chain.

    [0038] The principle of the step-by-step converter chaining is described in document EP 3 375 092 A1 in particular in FIG. 1 of the cited document; the complete operation of the chain of converters is not therefore described in more detail in the present application.

    [0039] The step-by-step chaining of the converters allows the converters to be well synchronized, at the cost of a step of learning of the synchronization configuration parameters. All the propagation delays of the synchronization signal in the chain are deterministic, the synchronization signals at the output of the converters being all synchronized on an active clock edge CLK.

    [0040] Moreover, once the next converter CONV_k+1, of rank k+1, has received the output internal signal (sync_out_k transmitted by the next converter CONV_k of rank k), it retransmits in return, to the converter CONV_k of rank k, the output internal signal sync_out_k in the form of a so-called check internal signal sync_in_check_k.

    [0041] Each converter therefore retransmits the check internal signal sync_in_check_k to its predecessor in the image of the received synchronization signal sync_in_k+1 (step b) of the method according to the invention). The transmission of the check internal signal is performed synchronously, on an active edge of the clock signal CLK. The path taken by the check internal signal sync_in_check_k must therefore be identical (same physical length, but not necessarily the same track) to the path of the synchronization signal sync_in_k+1.

    [0042] The transmission of the check internal signal and the transmission of the output internal signal take place on a clock edge of the same kind (rising or falling).

    [0043] In step c) of the method, the converter CONV_k, of rank k, receives the check internal signal sync_in_check_k which had been retransmitted by the next converter CONV_k+1, of rank k+1, in step b).

    [0044] Each converter then measures (step d)) the latency lat.sub.CONV-k->CONV-k+1, between it and the next converter. For that, it counts the clock periods between the transmission of the output internal signal sync_out_k and the reception of the check internal signal sync_in_check_k. The latency thus corresponds to the time that the signal takes to be transmitted to the next converter and to return.

    [0045] Each converter (except for the last of the chain) transmits the duly determined latency to the control unit UC.

    [0046] Finally the control unit computes an internal offset Δ.sub.CONV_k to be applied by each converter to the internal synchronization signal (Internal_Sync), during the synchronization phase. The internal synchronization signal (Internal_Sync) is generated by each converter (CONV_k) during the synchronization phase, in order to supply a time reference on the transmission of data by the converter. In the method according to the invention, the internal offset is determined as a function of at least a part of the determined latencies.

    [0047] For the converter CONV_N situated at the end of the chain, no latency is measured, because this converter serves as a reference for the internal offset applied to the internal synchronization signal.

    [0048] Thus, the converters are synchronized during the synchronization phase, although the clock dividers of the different converters are initially in different states. The data to be converted are then automatically aligned by virtue of the serial link protocol which is aligned on the internal synchronization signal.

    [0049] The measurement of the latency between each converter and the next in the chain can be performed automatically. Likewise, the internal offset, determined as a function of the determined latencies, does not require the intervention of a user.

    [0050] Thus, this procedure for synchronizing the converters can be performed automatically.

    [0051] For each converter CONV_k of rank k, a first stage of detection of metastability for the synchronization signal sync_in_k allows, if necessary, the edge (rising or falling) of the sampling clock to be modified. Such a detection stage is described in the document EP 3 375 092 A1 (circuit LS3 in the cited document).

    [0052] Moreover, each converter CONV_k of rank k comprises a second stage of detection of metastability for the check internal signal sync_in_check_k. If the converter CONV_k of rank detects a metastability of the check internal signal sync_in_check_k, it transmits a signal flag_k to the control unit UC indicating the metastability of the check internal signal sync_in_check_k.

    [0053] Advantageously, the signal flag_k indicating the metastability or not of the check internal signal sync_in_check_k is transmitted to the control unit UC. A synchronous serial data bus SPI can for example be used to transmit the latency computed by each converter.

    [0054] Metastability of the synchronization signal sync_in_k or of the check internal signal sync_in_check_k is understood to mean a similarity of the edge of the signal concerned with the clock edge CLK predefined for the detection (rising or falling).

    [0055] As long as a metastability is present on one of the inputs of the synchronization signal sync_in_k or of the check internal signal sync_in_check_k, the system is non-deterministic and it is not possible to correctly synchronize the different converters, hence the benefit of having an indicator to know it and perform adjustments.

    [0056] The indicator is advantageously a flag bit, situated in a register of the control unit UC. The flag bit can take one predefined value to indicate that there is no metastability (for example the bit=zero), and another value to indicate that metastability has been detected (for example the bit=1).

    [0057] In the case where a metastability of the check internal signal sync_in_check_k or of the synchronization signal sync_in_k has been detected, the control unit UC transmits a new synchronization signal sync_in_1 to the first converter of the chain CONV_1. The procedure continues to loop back as long as a metastability is detected in one of the converters of the chain.

    [0058] Since the propagation delays are deterministic, these adjustments will be set each time the converters are powered up.

    [0059] According to a particularly advantageous embodiment, the internal offset Δ.sub.CONV_k of the converter of rank k (k=1, . . . , N−1) is computed by the following relationship:


    Δ.sub.CONV_k=½*lat.sub.CONV_k->CONV_k+1+Δ.sub.CONV_k+1

    in which lat.sub.CONV_k->CONV_k+1 corresponds to the latency between the converter of rank k and the converter of rank k+1,
    and in which A.sub.CONV-N=0.

    [0060] An example of computation of the internal offset is illustrated by the timing diagram of FIG. 4, which should be read in conjunction with the arrangement of four converters (CONV_1, CONV_2, CONV_3 and CONV_4) of FIG. 4.

    [0061] By convention, in FIG. 4, all the synchronous events are detected on a rising edge of the clock CLK. As a variant, the synchronous events could be detected on a falling edge of the clock CLK.

    [0062] The synchronization signal sync_in_1, transmitted by the control unit UC, is asynchronous: the reception of the synchronization signal sync_in_1 by the converter of rank 1 CONV_1 occurs outside of a clock edge. If the synchronization signal sync_in_1 was received concomitantly with a clock edge, the first converter CONV_1 would transmit the metastability information to the control unit UC in order to retransmit the synchronization signal sync_in_1.

    [0063] The converter of rank 1 CONV_1 retransmits the synchronization signal signal sync_in_1 in the form of an output internal signal sync_out_1, on the active edge following the asynchronous reception of the synchronization signal sync_in_1 (instant t2). The converter CONV_2 of rank 2 receives, at the instant t2, the synchronization signal sync_in_2 transmitted by the converter of rank 1 CONV_1. The converter CONV_2 of rank 2 returns to the converter of rank 1 CONV_1 the check internal signal sync_in_check_1, received by the converter of rank 1 CONV_1 at the instant t4.

    [0064] The converter of rank 1 CONV_1 counts two clock periods between the instants t2 and t4. Thus, the latency lat.sub.CONV_1->CONV-2 between the converter of rank 1 and that of rank 2 is 2*T.sub.clk.

    [0065] Likewise, it is determined that the latency lat.sub.CONV_2->CONV_3 between the converter of rank 2 and that of rank 3 is 6*T.sub.clk, and that the latency lat.sub.CONV_3->CONV_4 between the converter of rank 3 and that of rank 4 is 4*T.sub.clk.

    [0066] Thus, the internal offset Δ.sub.CONV_4 of the converter of rank 4 is 0, the internal offset Δ.sub.CONV_3 of the converter of rank 3 is 4*T.sub.clk/2=2*T.sub.clk. The internal offset Δ.sub.CONV_2 of the converter of rank 2 is 6*T.sub.clk/2+2*T.sub.clk=5*T.sub.clk. The internal offset Δ.sub.CONV_1 of the converter of rank 1 is 2*T.sub.clk/2+5*T.sub.clk=6*T.sub.clk.

    [0067] The duly determined internal offsets (Δ.sub.CONV_1, Δ.sub.CONV_2 and Δ.sub.CONV_3), applied to each corresponding converter, are then applied to the internal synchronization signal (internal_sync) during the synchronization phase.

    [0068] FIG. 5 shows the timing diagram of each internal synchronization signal (internal_sync_1, . . . , 4) generated by each converter during the synchronization phase. The dotted-line pulse represents the internal synchronization signal without the internal offsets. By implementing the method according to the invention, the internal synchronization signals (internal_sync_1, . . . , 4) are well aligned with one another for all the converters.

    [0069] FIG. 5 represents a converter of the synchronization system according to the invention. Each converter comprises a first module MOD1, a second module MOD2 and a third module MOD3.

    [0070] The three modules are connected to the clock CLK.

    [0071] The first module MOD1 receives the synchronization signal sync_in_k transmitted by the control unit UC for the first converter CONV_1 of the chain, or transmitted by the preceding converter (CONV_k−1) for the other converters of the chain. It also transmits the output internal signal sync_out_k to the next converter, or to the control unit UC for the last converter of the chain CONV_N.

    [0072] The second module MOD2 receives the check internal signal sync_in_check_k.

    [0073] The third module M3 determines the latency lat.sub.CONV_k->CONV_k+1 between the converter CONV_k and the next converter CONV_k+1.

    [0074] Each of the modules (M1, M2, M3) can comprise sequential and combinatorial logic circuits in order to perform the abovementioned functions.