Transmission and reception methods for a binary signal on a serial link

10616006 ยท 2020-04-07

Assignee

Inventors

Cpc classification

International classification

Abstract

A method can be used for transmission of at least one packet of at least one bit over a serial link capable of taking two different states respectively associated with the two possible logical values of the at least one transmitted bit. Starting from a transmission start time of the at least one bit and up to the expiration of a first portion of a bit time associated with the at least one bit, the link is placed in one of its states depending on the logical value of the at least one bit. Upon the expiration of the first portion of this bit time, a first additional transition is generated over the link so as to place the link in its other state up to the expiration of the bit time.

Claims

1. An electronic device for communicating bits at configurable rates over a serial link, the electronic device comprising a transmission processing unit configured to: transmit a first portion of a first bit over the serial link, the first portion having a first bit time corresponding to a time duration of the first portion; transmit a second portion of the first bit over the serial link, the second portion having a second bit time corresponding to a time duration of the second portion, a logic state of the second portion being different than a logic state of the first portion; and transmit a second bit over the serial link at a third bit time corresponding to a ratio between the first bit time to a sum of the first bit time and the second bit time.

2. The electronic device of claim 1, wherein a start of the first bit time corresponds to an ending of a transmission of a previous bit.

3. The electronic device of claim 1, wherein a start of the first bit time corresponds to a rising edge or a falling edge associated with a change in logic state from a previous bit transmitted over the serial link.

4. The electronic device of claim 1, wherein the first bit is a start bit, the time to transmit the second portion of the start bit being between 60% and 90% of a total time to transmit the first portion and the second portion of the start bit.

5. The electronic device of claim 1, wherein the second bit is a first bit of a packet of bits of a universal asynchronous receiver / transmitter (UART) frame type.

6. The electronic device of claim 1, wherein the electronic device is a universal asynchronous receiver / transmitter (UART) configured for asynchronous serial communication.

7. A method for communicating bits at configurable rates over a serial link, the method comprising: transmitting a first portion of a first bit over the serial link, the first portion having a first bit time corresponding to a time duration of the first portion; transmitting a second portion of the first bit over the serial link, the second portion having a second bit time, a logic state of the second portion being different than a logic state of the first portion, the second bit time corresponding to a time duration of the second portion; and transmitting a second bit over the serial link at a third bit time, the third bit time corresponding to a ratio between the first bit time to a sum of the first bit time and the second bit time.

8. The method of claim 7, wherein a start of the transmitting the second portion is between 60% to 90% of a total time of transmitting the first portion and the second portion.

9. The method of claim 7, wherein the first bit is a start bit and the second bit is a first bit of a packet of bits, a bit time of the start bit being longer than the third bit time.

10. The method of claim 7, wherein the second bit is a first bit of a packet of bits of a universal asynchronous receiver / transmitter (UART) frame type.

11. The method of claim 10, wherein each bit in the packet of bits has a same bit time as the third bit time.

12. The method of claim 7, further comprising: determining the time duration of the first portion based on a detected start and a detected end of the first portion; and determining the time duration of the second portion based on a detected start and a detected end of the second portion.

13. A method for communicating bits at configurable rates over a serial link, the method comprising: transmitting a first portion of a first bit over the serial link, the first portion having a first bit time corresponding to a time duration of the first portion; transmitting a second portion of the first bit over the serial link, the second portion having a second bit time, a logic state of the second portion being different than a logic state of the first portion, the second bit time corresponding to a time duration of the second portion; transmitting a first portion of a second bit at the first bit time over the serial link; transmitting a second portion of the second bit at the second bit time over the serial link; and transmitting a third bit at a third bit time over the serial link, the third bit time corresponding to a ratio between the first bit time to a sum of the first bit time and the second bit time.

14. The method of claim 13, further comprising: transmitting a first portion of a fourth bit at the first bit time over the serial link; and transmitting a second portion of the fourth bit at the second bit time over the serial link.

15. The method of claim 14, further comprising: determining the time duration of the first portion based on a detected start and a detected end of the first bit time corresponding to the fourth bit; and determining the time duration of the second portion based on a detected start and a detected end of the second bit time corresponding to the fourth bit.

16. The method of claim 14, further comprising: determining the time duration of the first portion based on a detected start and a detected end of the first bit time corresponding to the second bit and the fourth bit; and determining the time duration of the second portion based on a detected start and a detected end of the second bit and the fourth bit.

17. The method of claim 13, wherein the second bit is a first bit of a packet of bits of a universal asynchronous receiver / transmitter (UART) frame type, the third bit is a second bit of the packet of bits.

18. The method of claim 17, wherein a bit time of each bit in the packet of bits is associated with a bit rank of each bit, each bit rank having a predetermined constant, the predetermined constant used to determine a respective bit time of each bit.

19. The method of claim 13, further comprising: determining the time duration of the first portion based on a detected start and a detected end of the first bit time corresponding to the second bit; and determining the time duration of the second portion based on a detected start and a detected end of the second bit time corresponding to the second bit.

20. The method of claim 13, wherein the first bit is a start bit, the time to transmit the second portion of the start bit being between 60% and 90% of a total time to transmit the first portion and the second portion of the start bit.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) Other advantages and features of the invention will become apparent upon examining the detailed description of non-limiting embodiments and their implementations, and the appended drawings in which:

(2) FIGS. 1 to 6 illustrate diagrammatically various embodiments of the invention and their implementations.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

(3) In FIG. 1, the reference 1 represents a processing unit 1 configured for exchanging information, for example bits, in an asynchronous manner, with another processing unit 2, over a serial link 3 here comprising two wires 30 for the transmission from the unit 1 to the unit 2 and two wires 31 for the transmission from the unit 2 to the unit 1.

(4) Each wire 30, 31 of the serial link type is capable of taking two different states respectively associated with the two possible logical values of the transmitted bits. These two logical states result for example from the difference in potential between the data wire and the ground wire.

(5) The processing unit 1 comprises transmission processing unit 10 and reception processing unit 11. These two units are timed by a clock signal CK1 coming from a generator 12. Similarly, the processing unit 2 comprises transmission processing unit 20 and reception processing unit 21 timed by a clock signal CK2 coming from a generator 22.

(6) The transmission processing units (transmitters) 10, 20 are configured for implementing the transmission method, implementation examples of which will be described with reference to FIGS. 2 and 4 to 6.

(7) Similarly, the reception processing units (receivers) 11, 21 are configured for implementing the reception method of one of the implementation examples which will be described with reference to FIGS. 3 to 6.

(8) For this purpose, the transmission processing units and the transmission and reception processing units comprise elements with a conventional structure, such as for example shift registers and/or any other circuits capable of generating edges over the transmission link depending on the logical values of the bits to be transmitted, and/or any other circuits capable of analyzing the characteristics of the received frame, for example a microcontroller.

(9) The processing units may for example be universal asynchronous receivers/transmitters (UART).

(10) Reference is now more particularly made to FIG. 2 in order to illustrate one embodiment of a method for transmission of a bit b over the serial link.

(11) It is assumed here that the logical value of the bit b is equal to 0 and that the transmission start time to of the bit b corresponds to a falling edge TR0 starting from the steady state S1 (here high state) of the link.

(12) The bit b has a bit time TB.

(13) A first portion PTB1 of the bit time TB equal to TB is then defined.

(14) The transmission processing unit 10 of the processing unit 1 then places the serial link in one of its states depending on the logical value of the bit b for the whole of the first portion of bit time PTB1. In the example described here, since the logical value of the bit b is 0, the link is placed in its state S1.

(15) Then, upon the expiration of the portion PTB1, a first additional transition TRA1 is generated over the link so as to place it in its other state, in the present case the state S1, and this lasts up to the expiration of the bit time TB in other words during the portion PRB1 equal to (1)TB.

(16) One embodiment of the reception processing of such a transmitted bit is illustrated in FIG. 3.

(17) The reception processing unit 21 of the processing unit 2 knows the value of a.

(18) The reception processing first of all comprises a detection of the time tt0 of the start of reception of the bit b, here typically corresponding to the occurrence of a falling edge TR0 from the steady state S1 of the link.

(19) Then, the occurrence of a first transition TR1 between the two states of the link is detected, here between the state S1 and the state S1, after the time tt0.

(20) This first transition takes place at the time tt1.

(21) The reception processing unit of the processing unit then determines the first period D1 between the times tt0 and tt1.

(22) The reception processing unit is from then on able to determine that the bit time TB of the received bit will be equal to D1/ and that the time tt2 of the end of reception of the bit b will be separated from the time tt1 of occurrence of the first transition TR1 by a first additional period DA1 equal to a first predetermined portion of the first period D1, in this case defined by the formula (I) hereinbelow:

(23) DA 1 = ( 1 - ) D 1 with = ( 1 - ) . ( I )

(24) It can therefore be seen that the use of an additional transition in the transmission phase situated towards the end of the bit time in reception allows the end of the reception of the bit to be anticipated and the bit time to be determined.

(25) So as to reduce the risk of error in the detection of the bit time, it is preferable for the first additional transition TRA1 and, as a consequence the first transition TR1, to be situated sufficiently far from half way through the bit time and the end of the bit time. Those skilled in the art will be able to choose a taking into account these criteria notably as a function of the value of the clock signals used.

(26) This said, by way of example, may be chosen within the range between 0.6 and 0.9, for example equal to 0.75.

(27) For this reason, is in the range between 0.11 and 0.66, for example equal to 0.33.

(28) In the examples in FIGS. 2 and 3, the time to of the start of transmission of the bit b and the time tt0 of the start of reception of the bit b have been represented by a falling edge TR0. However, it goes without saying that, depending on the logical value of the bit and/or on the steady state of the link, this transition TR0 could be a rising edge. Furthermore, in the case where several bits are transmitted successively, if the bit b1 preceding the bit b has a logical value opposite to that of the bit b, then, for the bit b, there will be no transition TR0 following a transition TRA1 (in transmission) or a transition TR1 (in reception) generated during the bit time of the bit b1. In this case, the time to of the start of transmission of the bit b will be the time of the end of transmission of the bit b1 and the time tt0 of the start of reception of the bit b will be the time estimated for the end of reception of the bit b1.

(29) Reference is now more particularly made to FIG. 4 in order to illustrate one embodiment of a method of transmission applicable to a packet PQ of bits.

(30) In the example described here, the packet is a frame of the type UART comprising a first bit referenced start, which is a start bit followed by eight useful bits of data b0-b7 followed by a final bit referenced stop.

(31) The transmission processing illustrated in FIG. 2 is applied here only for the first bit start of the packet.

(32) In fact, although it is theoretically possible for the bit time TB of the first bit start to be equal to the bit time TB0 of all the other bits of the packet PQ, it is preferable, so as to minimize the risk of error in the detection of the bit time in reception, for the bit time TB of the first bit start to be longer than the bit time TB0.

(33) In practice, a bit time TB could be chosen to be equal to K times TB0, where K may be an integer or otherwise. K may, in particular, be a multiple N of the bit time TB0, where N may for example be chosen to be equal to 4.

(34) The first additional transition TRA1 is, as indicated hereinbefore, generated upon the expiration of the portion PTB1 equal to TB.

(35) In reception, the time periods D1 and DA1 are determined as indicated hereinbefore with reference to FIG. 3 and the bit time TB is then equal to D1/ as explained hereinbefore.

(36) Once the bit time TB has been determined, the bit time TB0 can be readily calculated by dividing the bit time TB by N.

(37) Thus, the speed of transmission (baud rate) is determined.

(38) Nevertheless, the bits b0 at stop could have various bit times but determinable from the bit time TB by a known relationship of the receiver. Thus, each bit time TBi for the bits b0 at stop could be the product of TB with a coefficient C.sub.i, C.sub.i being the coefficient associated with the bit of rank i and also known by the receiver. remains identical for all the bits.

(39) In the example illustrated in FIG. 5, the packet PQ is a UART frame comprising here again a first bit start followed by eight data bits b0-b7 followed by a final bit stop.

(40) In this example, it is assumed that all the bits of the packet PQ have the same bit time as TB.

(41) In this embodiment, so as to reduce the risk of error in the detection of the bit time in reception, and consequently in the detection of the speed of transmission (baud rate), the transmission processing unit will generate an additional transition, not only during the bit time of the first bit start, but also during certain other bits of the packet, in this case the bits b0 and b2.

(42) More precisely, the first transmission processing, such as illustrated in FIG. 2, is applied for the first bit start leading to the generation of the first additional transition TRA1 at the end of the portion PTB1 equal to TB.

(43) As illustrated in the upper part in FIG. 5, a second transmission processing applied to the bit b0 comprises, starting from the transmission start time of this bit b0 and up to the expiration of a second period D20, which is this time counted starting from the transmission start time of the first bit start, the placing of the link in the state corresponding to the logical value of the bit b0, in this case the placing of the link in the state S1.

(44) Accordingly, the link is placed in this state S1 during a second portion PTB2 of the bit time TB.

(45) Although not indispensable, the duration of the portion PTB2 is preferably equal to the duration of the portion PTB1, for the sake of simplification.

(46) PTB2 is consequently equal to TB.

(47) The second period D20 is consequently equal to the sum of the bit time TB associated with the start bit and of the second portion PTB2. D20 is therefore equal to (1+)TB.

(48) Upon the expiration of the second period D20, the transmission processing unit generates a second additional transition TRA2 so as to place the link in its state S1 up to the expiration of the bit time TB associated with the bit b0.

(49) The link is therefore placed in its state S1 during the portion of bit time PRB2 here equal to (1)TB.

(50) In view of the generation of the two additional transitions TRA1 and TRA2, the bit time TB will be able to be calculated with sufficient precision so as to be able to forego the generation of another additional transition within the bit b1.

(51) On the other hand, it is preferable to re-generate a third additional transition TRA3 during the bit b2.

(52) This third additional transition TRA3 is generated upon the expiration of a third period D30 again counted starting from the time of the start of the first bit start, this duration D30 being equal to the sum of bit times of preceding bits, in this case here three bit times TB, and of the portion PTB3 which is equal to TB. D30 is therefore here equal to (3+)TB.

(53) In reception, as illustrated in the lower part in FIG. 5, the reception processing unit applies, for the first bit start, the reception processing such as that illustrated in FIG. 4, which allows not only the end of reception of the start bit to be determined but also a first determination of the bit time TB to be obtained by applying the formula TB=D1/.

(54) Then, the reception processing unit applies a second reception processing for the bit b0.

(55) This second reception processing comprises a detection of the occurrence of a second transition TR2 over the link, here making it go from its state S1 to the state S1, after the reception time of the bit b0.

(56) The reception processing unit then determines a second period D2 separating the reception time of the first bit start and the time of occurrence of this second transition TR2.

(57) The reception processing unit can then carries out a new determination of the bit time TB which is equal to:

(58) ( 1 1 + ) D 2 ( II )

(59) This second determination of the bit time is more accurate than the first which becomes obsolete.

(60) Furthermore, the reception end time of the second bit b0 will be separated from the time of occurrence of the second transition TR2 by a second additional period DA2 which is equal to a second predetermined portion of the second period D2.

(61) More precisely, the second additional period DA2 is equal to:

(62) ( 1 - 1 + ) D 2 ( III )

(63) The second reception processing is also applied for the fourth bit b2 of the packet PQ.

(64) More precisely, the detection of the third transition TR3 allows the third period D3 to be determined still counted starting from the reception start time of the first bit start.

(65) This allows a new estimation of the bit time TB to be obtained which is supplied by the formula (IV) hereinbelow:

(66) TB = ( 1 3 + ) D 3 ( IV )

(67) This third determination of the bit time is more accurate than the second which, in turn, becomes obsolete.

(68) The reception end time of the bit b2 will then be obtained at the end of the expiration of the third additional period DA3 which is obtained using the formula (V) hereinbelow:

(69) DA 3 = ( 1 - 3 + ) D 3 ( V )

(70) Whereas in the embodiment in FIG. 5 which has just been described, the bit time TB was identical for all the bits, it could here again be different for at least some of them, or even for all the bits, as long as these bit times are determinable by a known relationship of the transmitter and of the receiver.

(71) More precisely, it may for example be assumed that the bit time of each bit of the packet is equal to GiTBB, where TBB is a constant and Gi a coefficient associated with the bit of rank i in the packet PQ. The coefficients Gi are known by the transmitter and by the receiver, and remains identical for all the bits but could be different for each bit as long as it is known to the transmitter and receiver.

(72) Thus, taking once again the example in FIG. 5, the period D1 allows the bit time TB1 of the start bit to be determined in reception by the formula TB1=D1/.

(73) This bit time TB1 is furthermore equal to G1TBB (where G1 is the coefficient associated with the first bit start) which supplies a first determination for TBB equal to D1/(G1).

(74) A new estimation of TBB can be obtained in reception with the transition TR2 (second bit b0) and the formula TBB=D2/(G2(1+)).

(75) The bit time TB3 of the third bit b1 can then be determined by the reception processing unit via the formula TB3=G3TBB.

(76) A new estimation of TBB can be obtained in reception with the transition TR3 (fourth bit) and the formula TBB=D3/(G4(3+)).

(77) This latter estimation of TBB will be retained for the determination by the reception processing unit of the bit times of the bits b3 at stop using the formula G.sub.iTBB.

(78) The embodiment illustrated in FIG. 6 is more particularly adapted when the speed of transmission (baud rate) changes in the course of the communication, and even when it changes for each transmitted bit.

(79) For this FIG. 6, the packet of bits PQ is still a packet of the UART type but this time the bit time of each of the bits may be different.

(80) Accordingly, the application is advantageously provided at the transmission, for each bit to be transmitted, the transmission processing such as that described with reference to FIG. 2 and, in reception, for each bit received, the reception processing such as that illustrated with reference to FIG. 3 by each time taking into account, as explained hereinbefore with reference to these figures, the manner in which the times of the start of transmission of a transmitted bit or of the start of reception of a received bit (absence or presence of a transition TR0) are determined.

(81) In practice, the transmission processing unit will generate an additional transition TRA1 during each transmission of a bit, at the end of the portion PTB1. In the example described, for the purposes of simplification, PTB1 is identical for all the bits since it was assumed that the bit time was equal for all the bits. However, PTB1 could be different for at least some of the bits owing to the difference in the associated bit times. can remain identical for all the bits but could be different for each bit as long as it is known to the transmitter and receiver.

(82) In reception, the reception processing unit will determine, for each bit, the period D1, the additional period DA1, and will accordingly be able to determine the bit time associated with the bit in question.

(83) The invention is not limited to the embodiments and their implementations which have just been described but encompasses all the variants of the latter.

(84) Thus, although in everything that has been described the transmission or reception start time of the first bit of a packet was determined by the occurrence of a transition of the link starting from its steady state, it is perfectly possible for this transmission or reception start time to be supplied by a signal external to the link.