Communication controller

09979620 ยท 2018-05-22

Assignee

Inventors

Cpc classification

International classification

Abstract

A communication controller is described. The communication controller can exchange data on first and second communications channels (A, B). In a first mode, data transmitted on the first communication channel cannot be decoded on the second communication channel. In a second mode, data transmitted on the first communication channel is decodable on the second communication channel so as to provide loop back functionality.

Claims

1. A communication controller for exchanging data on first and second independent communication channels, the communication controller comprising: a first coder/decoder for the first communications channel; and a second coder/decoder for the second communications channel; wherein the communication controller is switchable between a first, normal mode of operation and a second, dedicated test mode, wherein the communication controller is configured such that, in the first mode, data transmitted on the first communication channel is encoded such that it is not decodable on the second communication channel, and, in the second mode, data transmitted on the first communication channel is encoded such that it is decodable on the second communication channel so as to provide loop back functionality, wherein the data comprises data frames and each data frame includes a portion which comprises a cyclic redundancy code, and wherein the cyclic redundancy codes for the first and second communication channels are generated in dependence upon first and second constants, wherein, in the first mode, the first and second constants are different and, in the second, the first and second constants are the same, and the first and second constants are provided to the first and second coder/decoders respectively.

2. A communication controller which is a FlexRay communication controller for exchanging data on first and second independent communication channels, the communication controller comprising: a first coder/decoder for the first communications channel; and a second coder/decoder for the second communications channel; wherein the communication controller is switchable between a first, normal mode of operation and a second, dedicated test mode, wherein the communication controller is configured such that, in the first mode, data transmitted on the first communication channel is encoded such that it is not decodable on the second communication channel, and, in the second mode, data transmitted on the first communication channel is encoded such that it is decodable on the second communication channel so as to provide loop back functionality, wherein, in the first mode, the first communication channel uses a first frame CRC initialisation value and the second communication channel uses a second, different frame CRC initialisation value and, in the second mode, the first communication channel uses the first frame CRC initialisation value and the second communication channel uses the first frame CRC initialisation value, wherein, in the first mode, the first and second CRC initialization value are provided to the first and second coder/decoders respectively and, in the second mode, the first frame CRC initialization value is provided to the first and second coder/decoder.

3. A communication controller according to claim 2, wherein the first communication channel is channel B and the second communication channel is channel A.

4. A communication controller according to claim 2, wherein, in the first mode, the communication controller is operable compliant with FlexRay.

5. A communication controller according to claim 2, wherein, in the second mode, the communication controller is operable non-compliant with FlexRay.

6. An integrated circuit comprising: a communication controller for exchanging data on first and second independent communication channels, the communication controller switchable between a first, normal mode of operation and a second, dedicated test mode, the communication controller is configured such that, in the first mode, data transmitted on the first communication channel is encoded such that it is not decodable on the second communication channel, and, in the second mode, data transmitted on the first communication channel is encoded such that it is decodable on the second communication channel so as to provide loop back functionality, wherein the data comprises data frames and each data frame includes a portion which comprises a cyclic redundancy code, and wherein the cyclic redundancy codes for the first and second communication channels are generated in dependence upon first and second constants wherein, in the first mode, the first and second constants are different and, in the second, the first and second constants are the same; and a physical layer converter for interfacing with a serial bus.

7. An integrated circuit according to claim 6, wherein the serial bus is a wire bus.

8. An integrated circuit according to claim 6, which is a microcontroller, the microcontroller further comprising: at least one central processing unit.

9. A microcontroller according to claim 8 wherein the least one central processing unit includes a central processing unit configured to switch the communication controller between the first and second modes.

10. An integrated circuit comprising: A communication controller which is a FlexRay communication controller for exchanging data on first and second independent communication channels, the communication controller switchable between a first, normal mode of operation and a second, dedicated test mode, the communication controller is configured such that, in the first mode, data transmitted on the first communication channel is encoded such that it is not decodable on the second communication channel, and, in the second mode, data transmitted on the first communication channel is encoded such that it is decodable on the second communication channel so as to provide loop back functionality, wherein, in the first mode, the first communication channel uses a first frame CRC initialisation value and the second communication channel uses a second, different frame CRC initialisation value and, in the second mode, the first communication channel uses the first frame CRC initialisation value and the second communication channel uses the first frame CRC initialisation value; and a physical layer converter for interfacing with a serial bus.

11. An integrated circuit according to claim 10, wherein the serial bus is a wire bus.

12. An integrated circuit according to claim 10, which is a microcontroller, the microcontroller further comprising: at least one central processing unit.

13. A microcontroller according to claim 12 wherein the least one central processing unit includes a central processing unit configured to switch the communication controller between the first and second modes.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) Certain embodiments of the present invention will now be described, by way of example, with reference to FIGS. 5 to 7 of the accompanying drawings, in which:

(2) FIG. 1 is a schematic block diagram of a conventional FlexRay electronic control unit which includes a FlexRay communication controller;

(3) FIG. 2 illustrates a limited form of loop-back in the conventional FlexRay communication controller shown in FIG. 1 and a check path covered by loop-back;

(4) FIG. 3 illustrates first and second cyclic redundancy code (CRC) initialization values being used in coding and decoding in the first and second channels;

(5) FIG. 4 is a schematic block diagram of a conventional FlexRay electronic control unit which includes first and second FlexRay communication controllers so as to provide two-channel loop-back functionality;

(6) FIG. 5 is a schematic block diagram of a FlexRay electronic control unit which includes a FlexRay communication controller in accordance with the present invention;

(7) FIG. 6 illustrates the same CRC initialization value being used in coding and decoding in the first and second channels;

(8) FIG. 7 illustrates a circuit for selecting a CRC initialization value and passing the CRC initialization value to a coder and decoder circuit;

(9) FIG. 8 illustrates the coder and decoder circuit shown in FIG. 7 in more detail; and

(10) FIG. 9 illustrates a check path for the FlexRay communication controller shown in FIG. 5.

DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS

(11) In the following description like parts are denoted by like reference numerals.

(12) Conventional FlexRay Electronic Control Units

(13) Referring to FIG. 1, a conventional FlexRay electronic control unit 1 is shown. The electronic control unit 1 includes a central processing unit 2 and a bus 3 through which the central processing unit 2 can communicate with a serial interface unit 4. The serial interface unit 4 comprises a communication controller 5 which includes first and second channels A, B each comprising a receive path 6 and a transmit path 7, and a physical interface converter 8 layer which drives a serial interface 9.

(14) Referring also FIG. 2, the control unit 1 can be provided with loop-back logic (not shown) between receive and transmit paths 6, 7 to allow loop-back. However, as shown in FIG. 2, the logic provides a check path 10 which ends inside the communication controller 5. Thus, a part of the communication controller 5 (as well as the connection to the physical interface converter 8 and the physical interface converter itself) is not covered by the loop-back.

(15) Most FlexRay communication controllers provide two channels, namely Channel A and Channel B. FlexRay allows three modes of channel operation to be configured using the parameter, pChannels, namely pChannels=A: Single channel communication using channel A, pChannels=B: Single channel communication using channel B and pChannels=A&B: Dual channel communication using channel A and B.

(16) Although dual channel operation is permitted, the two channels operate independently of one another such that data sent on one channel cannot be received and decoded on the other. This is occurs through a frame filtering process based on a frame cyclic redundancy code (CRC) in the coding/decoding process.

(17) A frame CRC is calculated using a CRC polynomial, vCrcPolynomial, which is preset (vCrcPolynomial=cCrcPolynomial) and an initialization vector (vCrcInit).

(18) As shown in FIG. 3, the initialization vector 11, vCrcInit, for channel A is set to vCrcInit[A]=0xFEDCBA. The initialization vector 11, vCrcInit, for channel B is set to vCrcInit[B]=0xABCDEF.

(19) For safety-related application monitoring, a second FlexRay communication controller is required.

(20) Referring to FIG. 4, another conventional FlexRay electronic control unit 1 is shown. As shown in FIG. 4, the unit 1 includes first and second FlexRay communication controllers 5.sub.1, 5.sub.2 each including first and second transmit paths 6 and first and second receive paths 7. As shown in FIG. 4, a second communication controller 5.sub.2 can be used to supervise both channels of the first communication controller 5.sub.1. However, the second communication controller 5.sub.2 can be used to supervise only one single channel, e.g. channel A, of the first communication controller 5.sub.1.

(21) The second communication controller 5.sub.2 provides loop-back checking and monitoring coverage in the first channel (i.e. channel A) of the first communication controller 5.sub.1. The second communication controller 5.sub.2 provides loop-back checking and monitoring coverage in the second channel (i.e. channel B) of the first communication controller 5.sub.1.

(22) FlexRay Electronic Control Units

(23) Referring to FIG. 5, an embodiment of a FlexRay electronic control unit 21 in accordance with the present invention is shown.

(24) The electronic control unit 1 includes a central processing unit 22 and a bus 23 through which the central processing unit 22 can communicate with a serial interface unit 24. The serial interface unit 24 comprises a communication controller 25 which includes a first and second channels A, B each comprising a receive path 26 and a transmit path 27, and a physical interface converter 28 layer which drives a serial interface 29. The FlexRay electronic control unit 21 includes only one FlexRay communication controller 25.

(25) The communication controller 25 is configured to allow one channel, e.g. channel A, to be used for communication and the other channel, channel B, to be used for supervision, e.g. for monitoring and for loop-back checking. Thus, the need for a second communication controller can be avoided and so reduce the complexity of a FlexRay electronic control unit 21 which is capable of monitoring and loop-back checking functionality.

(26) As explained earlier, FlexRay allows three modes of channel operation, namely pChannels=A, pChannels=B and pChannels=A&B. A supervision function is available by setting when pChannels=A or pChannels=B.

(27) FIG. 5 illustrates the control unit 21 where the communication controller 25 can communicate on Channel A, i.e. Channel A is the used channel, and monitor communication on Channel A using Channel B, i.e. Channel B is the supervisor channel.

(28) Referring also to FIG. 6, when in supervision mode, the supervisor channel uses the same CRC calculation rules, in particular the same initialization vector 31, as the used channel. Thus, the supervisor channel is able to decode all communication on the used channel in a similar way to using a separate dedicated FlexRay communication controller for supervision.

(29) As shown in FIG. 6, the CRC initialization value of channel A is used for both channels. However, the CRC initialization value of channel B can be used for both channels instead.

(30) Referring also to FIGS. 7 and 8, each channel (i.e. channel A and channel B) is provided with a respective coder/decoder 32.

(31) The controller-host interface 33, through respective configuration signals 34, controls switches 35 for selecting the initialization vector 31 provided to each coder/decoder 32.

(32) As shown in FIG. 8, the initialization vector 31 is supplied to frame CRC logic 36, 37 in receive and transmit circuits 26, 27 and controls frame decoding and frame encoding circuits 38, 39 respectively. In the receive path, a CRC shift register 40 is initialized with the vector 31. In the transmit path, a CRC shift register 41 is initialized with the same vector 31. In some embodiments, receive and transmit circuits can share the same CRC logic and shift register, i.e. only one CRC logic circuit and one shift register may be provided which both receive and transmit circuits can access at the same time.

(33) The coder/decoders 32 for both channels use the same initialization value 31 which may be cCrcInit[A] (i.e. 0xFEDCBA) or cCrcInit[B] (i.e. 0xABCDEF). Thus, the coder/decoder 32 used in the supervision channel (e.g. channel A) can decode bit streams transmitted to and received from the physical interface 29 by the coder/decoder 32 of the used channel, e.g. channel B.

(34) Referring also to FIG. 9, the supervision channel is able monitor FlexRay bus activity (connected at physical layer connector), the transmit path (connected to transmit interface of communication controller 25) and the receive path (connected to receive interface of communication controller 25) over a check path 42. By using an available filter mechanism, the information provided by the supervision channel to the central processing unit 22 can be restricted. Because the supervisor channel has an independent decoder 22 (FIG. 8), the decoded data and the decoding status are same as the receiver of an independent supervision communication controller.

(35) The control unit 21, comprising only one communication controller 22, is able to provide the same test coverage in supervision mode as a control unit comprising two communication controllers.

(36) In certain embodiments, the control unit 21 may be switched into a special test mode to operate outside the FlexRay specification.

(37) In certain embodiments of the present invention, it is possible extend the functionality of the FlexRay communication to provide channel supervision of single channel FlexRay clusters without the need for substantial additional hardware, i.e. an additional communication controller. Safety applications can use the unused channel of the communication controller to supervise the bit stream of the used channel. This can be used in power-on self tests and, optionally, during normal operation.

(38) It will be appreciated that many modifications may be made to the embodiments hereinbefore described.

(39) In some embodiments, the parameter pChannels may be extended to have two additional values, e.g. Asub and Bsub, or a new parameter, may be defined, e.g. pSupervision.

(40) In certain embodiments, the control unit may include another communication controller which is not used for channel supervision.