Controller Area Network transceiver and controller
By designing a CAN transceiver that can communicate with the CAN bus, using negative threshold levels to compare signals and provide wake-up indications, the problem of low efficiency of partial networking functions in the CAN XL system is solved, and the efficient partial networking function of the CAN XL system is realized, reducing the power consumption of nodes.
Patent Information
- Application Number
- CN202110045646.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-01-17
- Filing Date
- 2021-01-13
- Publication Date
- 2025-06-10
- Estimated Expiration
- 2041-01-13
AI Technical Summary
Existing CAN bus networks have expansion limitations in providing higher data rates, especially in the CAN XL expansion discussed under CiA610, where it is difficult to implement more efficient partial networking capabilities to reduce power consumption.
A CAN transceiver is designed to provide a wake-up indication to the CAN controller by comparing the signal from the CAN bus with a negative threshold level and providing a wake-up indication to the CAN controller based on a predetermined pattern in which the signal matches the negative threshold level, thereby achieving an efficient partial networking function for the CAN XL system.
This solution can efficiently provide some networking functions in CAN XL systems, reduce power consumption of unnecessary nodes, and is suitable for efficient communication needs in vehicles.
Smart Images

Figure CN113138592B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a CAN transceiver, a CAN controller, a CAN device, a CAN network, and an associated operating method. Background Art
[0002] For example, Controller Area Network (CAN), CAN with Flexible Data Rate (CAN FD), Local Interconnect Network (LIN), FlexRay, Ethernet-based network buses, and other types of in-vehicle network (IVN) buses can be used for communication within a vehicle. For example, the Controller Area Network (CAN) bus is a message-based communication bus protocol commonly used in automobiles. A CAN bus network can include multiple bus devices, so-called nodes or electronic control units (ECUs), such as an engine control module (ECM), a powertrain control module (PCM), airbags, anti-lock brakes, cruise control, electric power steering, audio systems, windows, doors, rearview mirror adjustments, battery and recharge systems for hybrid / electric vehicles, and so on. The CAN bus protocol is used to enable communication between various bus devices. The data link layer of the CAN protocol is standardized as International Organization for Standardization (ISO) 11898-1:2003. CAN Flexible Data Rate or "CAN FD", as an extension of the standardized CAN data link layer protocol and integrated into the ISO 11898-2:2016 standard at the same time, can provide higher data rates. However, the standardized CAN data link layer protocol is still in the process of being extended to provide higher data rates. In the defined phase discussed under CiA610 (CAN in Automation), another extension called CAN XL has a new level scheme for achieving higher data rates, which is discussed in the draft specification CiA610-1 and is evolving towards standardization in the form of an additional update to the existing ISO 11898 standard or a new standard. Summary of the Invention
[0003] According to a first aspect of the present disclosure, there is provided a Controller Area Network CAN transceiver for communicating with a CAN controller and a CAN bus, the CAN transceiver being configured to:
[0004] compare a signal from the CAN bus with a negative threshold level; and
[0005] provide a wake-up indication to the CAN controller based on a predetermined pattern matching of the signal and one or more time periods during which the signal is less than or equal to the negative threshold level.
[0006] In this way, for example, partial networking functions can be provided efficiently and economically for CAN XL systems.
[0007] The CAN transceiver can be a CAN XL transceiver. The signal from the CAN bus can be a differential signal. In the reference frame of the CAN bus, the threshold can be negative. The CAN transceiver can be configured to compare the signal from the CAN bus with a first threshold level, a second threshold level, and a third threshold level. The third threshold level can be a negative threshold level. The first threshold level, the second threshold level, and the third threshold level can be corresponding threshold voltage levels. The first threshold level of the signal from the CAN bus can be positive. The first threshold level can comply with ISO11898-2:2016.
[0008] In one or more embodiments, the CAN transceiver includes:
[0009] a comparator configured to compare the differential voltage signal from the CAN bus with the negative threshold level; and
[0010] a wake-up filter configured to receive the output of the comparator and determine whether the output corresponds to the predetermined pattern.
[0011] In one or more embodiments, the predetermined pattern is a single time period having a predetermined duration.
[0012] In one or more embodiments, the predetermined duration is greater than the bit stuffing period within the data phase of the CAN frame.
[0013] The bit stuffing period can be the bit stuffing rate multiplied by the bit period at the slowest data transfer rate of the CAN protocol, and the transceiver is configured to operate according to the slowest data transfer rate. For the protocol, the bit stuffing rate can be once every 15 bits. The slowest data transfer rate of the protocol can be 500 kbps.
[0014] The predetermined duration can be greater than one of 30 microseconds, 35 microseconds, 50 microseconds, 100 microseconds, and 200 microseconds. The predetermined duration can be less than one of 31 microseconds, 35 microseconds, 50 microseconds, 100 microseconds, 200 microseconds, and 500 microseconds.
[0015] In one or more embodiments, the time period is at the end of the CAN frame.
[0016] In one or more embodiments, the time period is at the end of the data phase of the CAN frame.
[0017] In one or more embodiments, the data phase of the CAN frame consists only of exception symbols and the CAN frame does not include any CAN data traffic.
[0018] The data phase of a CAN frame may consist only of a predefined pattern. The data phase of a CAN frame including the predefined pattern may not include any additional data or any CAN data. The data phase of a CAN frame may be extended together with the predefined pattern. The predefined pattern may be provided in a CAN frame without a data phase.
[0019] In one or more embodiments, the predefined pattern includes a plurality of individual time periods in which the signal is less than or equal to a third threshold level.
[0020] In one or more embodiments, a wake-up filter is configured to determine a first time period during which the bus is below a third threshold level. The wake-up filter may be configured to determine a second time period during which the bus is not below the third threshold level. The wake-up filter may be configured to determine whether the signal matches the predefined pattern based on a ratio of the first time period to the second time period matching a predefined ratio. The predefined ratio may be defined according to the bit stuffing rules of CAN XL. The wake-up filter may be configured to determine whether the signal matches the expected ratio by measuring and comparing the lengths of two phases (the first period and the second period), thereby making the method baud rate independent.
[0021] In one or more embodiments, the second time period follows immediately after the first time period. The wake-up filter may be configured to determine that the signal matches the predefined pattern when a predefined number of cycles of the first time period and the second time period have been detected, in which cycle, the ratio of the first time period to the second time period matches the predefined ratio.
[0022] In one or more embodiments, the predefined number is determined by counting or timing the number of consecutive cycles in which the ratio matches the predefined ratio. A total wake-up filter may count the number of detected symbols. The total wake-up filter may measure the absolute time of the detected consecutive symbols.
[0023] In one or more embodiments, the predefined pattern is determined for a single CAN frame or a single CAN data frame or within a single CAN frame or a single CAN data frame. The predefined time periods may be determined or integrated by a plurality of CAN frames or a plurality of CAN data frames.
[0024] In one or more embodiments, the predefined pattern corresponds to legal data in a CAN protocol, which may be the CAN XL protocol.
[0025] According to a second aspect of the present disclosure, there is provided a controller area network CAN controller for driving a CAN transceiver, the CAN transceiver being configured to provide a signal to a CAN bus below a negative threshold level, the CAN controller being configured to:
[0026] Provide instructions for transmitting a wake-up indication on the CAN bus, wherein the wake-up indication includes a signal having a predetermined pattern with one or more time periods, within which the signal is less than or equal to the threshold level.
[0027] The CAN controller can be a CAN XL controller. The protocol implemented by the CAN controller can include any features of the CAN protocol described with reference to the CAN transceiver described herein. For example, the instruction can be an instruction to transmit a signal on the CAN bus according to a first threshold level, a second threshold level, and a third threshold level, where the first threshold level can comply with ISO11898-2:2016, and the third threshold level can be a negative threshold level.
[0028] According to a third aspect of the present disclosure, a Controller Area Network (CAN) node is provided, including a CAN transceiver and a CAN controller as described herein.
[0029] According to another aspect of the present disclosure, a method for operating a CAN transceiver communicating with a Controller Area Network CAN controller and a CAN bus is provided, the method including:
[0030] Comparing a signal from the CAN bus with a negative threshold level; and
[0031] Based on the signal matching a predetermined pattern with one or more time periods in which the signal is less than or equal to the negative threshold level, providing a wake-up indication to the CAN controller.
[0032] According to another aspect of the present disclosure, a method for operating a Controller Area Network CAN controller is provided, the CAN controller being configured to drive a CAN transceiver configured to provide a signal to a CAN bus below a negative threshold level, the CAN controller being configured to:
[0033] Provide instructions for transmitting a wake-up indication on the CAN bus, wherein the wake-up indication includes a signal having a predetermined pattern with one or more time periods, within which the signal is less than or equal to the threshold level.
[0034] According to another aspect of the present disclosure, a computer program code is provided. A non-transitory computer-readable medium including the computer program code can be provided. Computer program code can be provided that is configured to cause a processor to execute any method disclosed herein. The computer program code can be configured to cause a processor of a CAN controller to provide instructions for transmitting a wake-up indication on the CAN bus to a CAN transceiver, the wake-up indication including a signal having a predetermined pattern with one or more time periods, within which the signal is less than or equal to a third threshold level.
[0035] While the present disclosure admits of various modifications and alternative forms, details thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that other embodiments beyond the specific embodiments described are also possible. All modifications, equivalents, and alternative embodiments falling within the spirit and scope of the appended claims are also covered.
[0036] The foregoing discussion is not intended to represent every example embodiment or every implementation within the scope of the current or future claim sets. The following figures and detailed description also illustrate various example embodiments. The various example embodiments can be more fully understood by considering the following detailed description in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] One or more embodiments will now be described by way of example only with reference to the accompanying drawings, in which:
[0038] Figure 1a An example schematic block diagram of a Controller Area Network (CAN) is shown;
[0039] Figure 1b Shows Figure 1a An example schematic block diagram of a node on a Controller Area Network (CAN);
[0040] Figure 2 A schematic diagram of a signal on a CAN XL bus is shown;
[0041] Figure 3 An example schematic block diagram of a CAN XL transceiver is shown;
[0042] Figure 4 Shows Figure 3 The distribution of signals on a CAN XL bus and associated signals within a CAN XL transceiver;
[0043] Figure 5 A method for operating a CAN transceiver is shown;
[0044] Figure 6 An example schematic block diagram of another CAN XL transceiver is shown;
[0045] Figure 7 The distribution of signals of a CAN XL frame including a wake-up indication and associated signals within a CAN XL transceiver implemented according to a first scheme is shown;
[0046] Figure 8 The distribution of signals of a CAN XL frame not including a wake-up indication and associated signals within a CAN XL transceiver implemented according to a second scheme is shown;
[0047] Figure 9shows the distribution of signals of a CAN XL frame including a wake - up indication and associated signals within a CAN XL transceiver implemented according to a second scenario; and
[0048] Figure 10 shows a schematic flowchart of a state - machine implementation of a wake - up filter. Detailed Description
[0049] Figure 1a shows an example schematic block diagram of a Controller Area Network (CAN) 100 including a plurality of CAN devices or nodes 102a - d, each of the plurality of CAN devices or nodes being coupled to a CAN bus 104. The CAN bus 104 includes two signal lines for transmitting differential signals between the plurality of CAN devices 102a - d.
[0050] Figure 1b shows a schematic block diagram of a CAN device 102 coupled to the CAN bus 104. The CAN device 102 includes a CAN controller 106 and a CAN transceiver 108. The CAN controller 106 can be implemented by a processor such as a microprocessor, which is configured to implement the CAN protocol operating within the CAN network 100. The CAN transceiver 108 interfaces with the CAN controller 106 via the CAN bus 104. In some examples, the CAN transceiver 108 can operate without having circuitry for understanding or implementing the CAN protocol or operate subject to circuitry for understanding or implementing the CAN protocol, and thus, compared to the processor of the CAN controller 106, the CAN transceiver can have relatively limited power consumption.
[0051] The CAN controller 106 has a transmit output 114 and a receive input 116. The CAN transceiver 108 has a transmit input 118, a receive output 120, and a bus terminal 122, which can also be referred to as a bus port. The bus terminal 122 is coupled to the two signal lines of the CAN bus 104. The transmitter output 114 of the CAN controller 106 is coupled to the transmit input 118 of the CAN transceiver 108. The receive input 116 of the CAN controller 106 is coupled to the receive output 120 of the CAN transceiver 108.
[0052] The CAN transceiver 108 includes a transmitter unit 110 and a receiver unit 112. The transmitter unit 110 has an input coupled to the transmit input 118 of the CAN transceiver 108 and an output connected to the CAN bus terminal 122 of the CAN transceiver 108. The transmitter unit 110 is configured to convert data received at the transmit input 118 of the CAN transceiver 108 into differential signals for the CAN bus 104.
[0053] The receiver unit 112 has an input coupled to the CAN bus terminal 122 and an output coupled to the receiver output 120 of the CAN transceiver 108. The receiver unit 112 is configured to convert the differential signals on the CAN bus 104 into data for the CAN controller 106.
[0054] In a typical application of implementing a CAN network within a vehicle, a large number of CAN devices 102a-d or nodes can be provided. Not all of these nodes will be required at any particular time. However, all active nodes consume power. Automotive systems are typically sensitive to power consumption, especially when considering battery-powered vehicles. In such examples, any additional CAN power consumption will not result in a significant benefit, which will unnecessarily reduce the driving range.
[0055] A method of achieving power consumption reduction is known in the art as 'partial networking'. In a partial network scenario, the unwanted nodes are turned off or deactivated when not needed and reactivated using a wake-up indication when needed.
[0056] Referring Figures 4 to 10 The following examples described relate to CAN controllers, transceivers, and methods that can be used to implement an effective partial networking scheme in a CAN XL network. Refer Figures 2 to 3 Further describes the CAN XL protocol and various attributes of an example CAN XL transceiver.
[0057] Figure 2 A schematic diagram of a signal 200 on a CAN XL bus for providing relatively high-speed data communication in a CAN network is shown. Two different amplitude schemes in a CAN XL frame are shown. The signal 200 provides a simplified CAN frame 201. The simplified CAN frame 201 includes excerpts representing the arbitration phases 203, 205 and an excerpt representing the data phase 207. The effective signal levels in the arbitration phases 203, 205 can be defined according to ISO 11898-2:2016. The data phase 207 contains data at CAN XL levels, as further discussed below. In a practical example, the data phase 207 can be substantially longer than the arbitration phases 203, 205 and can include, for example, 2048 data bytes. Specifically, the signal levels in the arbitration phase can be used to indicate whether a particular node accesses the bus system by using the CAN-defined arbitration method with dominant and recessive bus driver levels and corresponding receiver thresholds.
[0058] The CAN XL transceiver will have three different threshold levels to support. The first threshold (Th1) is approximately the well-known ISO11898-2:2016 standard level between +0.5V and +0.9V differential for backward-compatible CAN arbitration.
[0059] The second threshold (Th2) is related to the fast CAN XL data communication at about 0V differential, and the second threshold has a minimum level of -0.1V and a maximum level of +0.1V.
[0060] The third threshold (Th3) is used to reliably detect the fast CAN XL data communication present on the bus line through the threshold in the negative differential region, and the maximum level of the third threshold (e.g., -0.3V... -0.4V) is lower than the minimum level of the second threshold.
[0061] The first threshold and the second threshold may not be reliably used to detect the fast CAN XL data communication on the bus, while the third threshold level can be reliably used to detect the fast CAN XL data. There are at least two reasons for introducing the third comparator threshold to perform this determination.
[0062] In the first case, the nominal bus signal during non-communication is 0V differential. This cannot be reliably detected using the second threshold (Th2) because noise of about 0V (e.g., EMC interference) may cause a switching output of about the second threshold (Th2), which is intended to switch exactly at said threshold. Such a signal may be misinterpreted as an ongoing bus traffic, while in fact the bus is idle without any traffic.
[0063] In the second case, the minimum transmitter output amplitude in the fast data phase may be relatively low (e.g., 0.6V), such that the upper limit of the first threshold (Th1) (e.g., 0.9V) cannot be reached in the worst case. Therefore, when monitoring the first threshold, the CAN bus will falsely display as "idle" because the 0.6V signal does not reach the first threshold Th1.
[0064] If any one of the first threshold (Th1) or the second threshold (Th2) is used in the CAN-XL transceiver in the receiving node, depending on the phase in which the receiving node is located, traffic may be seen when there is no traffic on the CAN bus (first case), or traffic may not be seen when there is traffic on the bus (second case). Using the third negative differential threshold (Th3), it is possible to reliably detect whether there is CAN-XL bus traffic, regardless of the mode in which the receiving node operates.
[0065] Figure 3 An example CAN XL transceiver 308 for communicating on a CAN XL network is shown.
[0066] The transmitter unit of the transceiver 308 is similar to the transmitter unit described for the transceiver with reference to FIG. 1 previously.
[0067] The receiver unit of transceiver 308 includes means for comparing a signal from the CAN bus with a first threshold level, a second threshold level, and a third threshold level (Th1, Th2, Th3). In this example, the means are provided by a first comparator 332, a second comparator 334, and a third comparator 336. Each comparator 332, 334, 336 has a respective input coupled to the bus terminal 322 of the CAN transceiver 308 and compares the differential signal received at the input with a respective threshold (Th1, Th2, Th3). An optional time delay module 338 acts on the output from the third comparator 336. An AND gate 340 takes the output of the time delay module 338, or directly the output from the third comparator 336, and the output of the first comparator 332 as its inputs. A multiplexer 342 takes the output of the AND gate 334 and the output of the second comparator 334 as its inputs and provides an output according to the operating mode of the CAN transceiver 308. For example, the CAN transceiver 308 may have a slow (or normal) receive mode that uses threshold levels known from ISO11898-2:2016. In the case where the CAN transceiver 308 is operating in a fast receive mode, for example, in CAN XL communication, the output of the second comparator 334 is provided as the receive output of the CAN transceiver 308. Otherwise, if the CAN transceiver 308 is not operating in a fast receive mode, the output of the AND gate 340 is provided as the receive output of the CAN transceiver 308.
[0068] In this example embodiment, a dedicated receive comparator (third comparator 336) is provided to detect CAN XL signals in the negative differential voltage region. The third comparator 336 can reliably detect the fast data communication present on the CAN XL bus line. Whenever fast CAN XL protocol data is present on the bus line, a bit level is represented by a negative differential voltage on the bus. Since this is fast data communication and the CAN XL protocol has a measurement (bit stuffing) for preventing long phases with the same physical bus level, there are no long static phases on the CAN XL bus with a negative differential bus level. For normal data, the maximum period length for which the signal is allowed to remain below the third threshold level is limited by the bit stuffing rules of the CAN-XL protocol.
[0069] Figure 4 The distribution of a signal 431 is shown, the signal including a data phase 407 on the CAN-XL bus corresponding to the data phases described in the previous reference Figure 2 and the associated output signals 433, 435, 437 from the respective first, second, and third comparators of the CAN-XL transceiver described in the previous reference Figure 3
[0070] At least some of the embodiments described below relate to proposed modifications to the CAN XL scheme or associated controllers or transceivers to implement an efficient method for providing or handling global wake-up on a CAN XL bus. A global wake-up indication indicates that all currently inactive nodes should become active or wake up, which may include actively monitoring data traffic on the CAN bus. Figure 5 A method 500 for operating a CAN transceiver that communicates with a CAN controller and a CAN bus is shown. Method 500 includes comparing 502 a signal from the CAN bus with a first threshold level, a second threshold level, and a third threshold level, where the third threshold level is negative, and providing 504 a wake-up indication to the CAN controller based on a match of the signal with a predetermined pattern of one or more time periods in which the signal is less than the third threshold level. In this way, the new physical bus level (negative differential) introduced by the CAN XL physical layer can be used for wake-up management among other features. The negative CAN bus level, referred to as "Level 1" in CAN XL terminology, can be combined with time periods or in fact with signal patterns in a CAN XL bus system as a global wake-up trigger. Normal CAN or CAN FD traffic does not trigger wake-up because these protocols and physical layers do not use the negative differential voltage bus level. Normal CAN XL traffic does not cause nodes to wake up in a partially networked low-power mode because although normal CAN XL traffic may use the negative physical bus level, the time periods in which the signal is less than the third threshold level are less than a predetermined time period.
[0071] Figure 6 Another CAN XL transceiver 608 is shown. CAN XL transceiver 608 is similar to the CAN XL transceiver described previously with reference to Figure 3 except that CAN XL transceiver 608 further includes a wake-up filter 644. Wake-up filter 644 is coupled to the output of a third comparator 636. Wake-up filter 644 can be configured to provide a wake-up indication to the CAN controller based on a match of the signal with a predetermined pattern of one or more time periods in which the signal is less than the third threshold level.
[0072] In the example shown, the wake-up indication is output on a dedicated pin during the low-power operation mode of the CAN transceiver. Alternatively, the dedicated PIN for wake-up can be omitted, in which case the wake-up indication is transmitted from CAN transceiver 608 to the CAN controller by other means. For example, the wake-up indication can be signaled on the receive output RXD of the CAN transceiver or any other output signal line.
[0073] For driving a transmission unit of a CAN transceiver (e.g., with reference to Figure 6The CAN controller of the described transmission unit) can be configured to provide an instruction to transmit a wake - up indication on the CAN bus to the CAN transceiver. Such wake - up indications include signals having a predefined pattern with one or more time periods, where the signals are less than a third threshold level. The CAN controller and the CAN transceiver can be provided together within a CAN device such as a CAN XL device.
[0074] Reference is made below Figure 7 to a first scheme for implementing a wake - up filter. In this example, the predefined pattern includes a single time period where the signal is less than the third threshold level. The single time period has a predefined duration that is fixed with reference to the format of normal data on the CAN XL bus. Specifically, the predefined duration is greater than the bit - stuffing duration within the data phase of a normal CAN frame, such that a node can be exposed to normal CAN - XL data on the bus without being woken up. For example, the predefined duration can be significantly longer than the expected longest CAN XL protocol - related phase with a static negative differential bus voltage (CAN XL level 1).
[0075] Bit - stuffing is implemented in various CAN systems including CAN XL. If the slowest expected data rate in CAN XL is 500 kbps and the bit - stuffing rule is every 15th bit, the longest continuous phase with a negative differential voltage is
[0076] 2000 nanoseconds×15 bit times = 30 microseconds.
[0077] The CAN XL bus can thus be set below the third threshold level (e.g., more negative than the third threshold level) for a period greater than 30 microseconds to indicate a global wake - up of currently deactivated nodes. In practice, this can be achieved by transmitting "level 1" as defined in CAN XL terminology using CAN XL system hardware. Thus, an advantage of some examples according to the first scheme is that the exceptional symbol can be relatively short. This enables a fast global system wake - up based on short message times.
[0078] Figure 7 A signal 731 for a CAN - XL frame is shown, which includes a wake - up indication, Figure 6 the corresponding outputs 733, 735, 737 of the respective comparators 632, 634, 636 shown, and the corresponding output 750 of the wake - up filter according to the first scheme. A first threshold level, a second threshold level, and a third threshold level (Th1 = 0.5V to 0.9V, Th2 = 0V, Th3 = - 0.4V) are shown, related to the CAN XL thresholds previously referenced Figure 2 described.
[0079] The first part of the data phase 707 of a CAN XL frame includes normal CAN XL data, followed by an exception symbol 752 that provides a wake-up indication. When the signal 731 is less than the third threshold level, the output of the third comparator is high during the exception symbol 752. Once the exception symbol has been present for at least a predetermined period ("wake-up"), a wake-up indication 754 is provided at the output 750 of the wake-up filter. In this way, the third threshold (Th3) comparison is used in combination with a long filter timer to detect an unusually long period with a negative differential voltage, which does not occur during normal CAN XL data communication because the bits switch during the fast data phase caused at least by the filler bits in the CAN-XL data signal.
[0080] The exception symbol 752 that provides a wake-up indication may be located within the CAN XL frame in the "end of frame" CAN phase. In this phase, all nodes in the system wait for the inter-frame space (11 recessive bit times with 0V differential on the bus, which is called "bus idle detection" in CAN terminology). This phase can be interrupted by the proposed long phase with a negative differential voltage or an exception symbol. This implementation shifts the idle detection time of all nodes in the system because the RXD pins of all nodes are low (dominant) in this phase. For backward compatibility reasons, the so-called "CAN overload frame" mechanism can be used.
[0081] If a node receives a dominant phase at the end of the frame, this can be regarded as a bus error situation. Based on the bus error situation, the CAN controller can increment the bus fault counter defined in the CAN standard. The bus fault counter is used to identify a faulty node in the system when the counter value of the node reaches the fault threshold. A good message received without a fault decrements the counter. Therefore, if an exception symbol is provided in the end-of-frame phase, all nodes will regard it as an error and inadvertently increment their error count. Therefore, the CAN protocol has an option called the "CAN overload flag". This is handled in the same way as any other error frame, but it does not increment the error counter. Therefore, there is no penalty for receiving such a symbol on the bus. Thus, this mechanism can be used for wake-up purposes. The overload flag is indicated by the moment of driving to the bus. There is a specific area at the very end of the "end of frame" phase where the error counter is no longer affected. Therefore, in some implementations of the global wake-up symbol, it may be preferable to provide the exception symbol at the very end of the frame. However, this may not cause any other effects except for extending the waiting time of the idle state.
[0082] It should be understood that in some examples, a CAN frame containing an exception symbol may not convey any additional CAN data. That is, a phase containing an exception symbol may be provided immediately after the arbitration phase. On the one hand, this phase can be regarded as the data phase of a CAN frame consisting only of exception symbols and does not include any CAN data. In this case, the data phase of the CAN frame can be considered to co - extend with the exception symbol. On the other hand, this phase can be considered an exception phase, and a CAN frame containing an exception phase may not contain a data phase. That is, the exception phase replaces the data phase. Such frames can provide "empty" frames containing only wake - up symbols.
[0083] In an example according to the first scheme, the CAN - XL protocol controller needs to support sending an exception symbol, where the period during which the negative differential voltage (CAN - XL level 1) on the bus line is maintained is greater than the stuffing rate period. Thus, the complexity of the protocol implementation increases slightly.
[0084] The following references Figure 8 and 9 describe a second scheme for implementing a wake - up filter. Different from sending an exception symbol on the CAN bus, a compliant CAN XL frame provides a global wake - up indication.
[0085] In an example according to the second scheme, the predefined pattern includes individual periods in which multiple signals are less than a negative threshold level (CAN XL level 1). The multiple individual periods can be provided within a single CAN frame or multiple CAN frames. A dedicated data content can be provided for the CAN data frame such that the signal is below a third threshold level for a specific proportion of the frame time. In this way, a CAN data frame providing a wake - up indication can be equipped within the framework of the CAN - XL protocol without increasing the complexity of the protocol, while still being able to perform wake - up detection through, for example, Figure 6 the wake - up filter of the CAN transceiver shown, without the need for complex processing. A relatively simple filter in the transceiver can classify the stuffing bits required by the protocol while reliably detecting the global wake - up message on the bus line. Therefore, a global wake - up indication can be provided without modifying the protocol applied by the CAN controller to allow exception symbols as described in the first scheme.
[0086] For example, assuming that the maximum data rate of a fast CAN data frame is 15 Mbps (66 nanoseconds / bit), the maximum payload of each data phase is 2048 bytes and there is a stuffing bit every 15th bit, the residence time of the CAN bus in the data field is 2048×8×66 nanoseconds = 1.08 milliseconds (the impact of the stuffing bits on this time is negligible). By sending a long fast data frame with all bits having a negative differential bus representation (CAN XL level 1), a filtering time of 1 millisecond can be implemented. The asymmetric receiver wake - up filter in the transceiver can ignore the stuffing bits.
[0087] Since the time ratio at negative voltage (below the third threshold) is not satisfied, the communication of normal frames within the legacy level scheme (classic CAN / CAN-FD / CAN-FD-SIC) does not generate a global wake-up signal. In this way, backward compatibility with existing CAN systems can be maintained.
[0088] To reduce the probability of unnecessary wake-up detection for random application traffic, a wake-up filter with a long accumulation time to accommodate long data patterns should be selected. Optimal stability will be achieved by a filter operating on multiple data bytes. Thus, the longest possible data payload of 2048 data bytes can be used at the highest expected data baud rate. A total filtering time of about 1 millisecond might be a good choice. Shorter times are possible, but they increase the risk of unnecessary global wake-ups, especially at lower data baud rates. The lower the data baud rate used, the fewer data bytes are available within a given filtering time. In some examples, the filtering time can be configured to suit the baud rate used in the system. That is, the filtering period can be set according to the main data rate of the CAN bus. As an alternative to the absolute filtering time, the number N of "symbols in a row" of 15:1 required (if this is the stuffing condition) can be defined. In this way, the filter is independent of the baud rate. N might also be configurable to enhance stability against unnecessary wake-ups.
[0089] In an example according to the second scheme, the global wake-up pattern is provided by a data frame that maximizes the time with a negative differential voltage. In this example, all data bits have the same level and can only be interrupted by CAN XL stuffing bits. In such cases, the data phase can consist entirely of the global wake-up pattern and no additional CAN data is transmitted. An asymmetric wake-up filter can be used to detect the duty cycle on the output of the third threshold comparator in by effectively masking the stuffing bits Figure 6 in.
[0090] The wake-up filter can be configured to:
[0091] Determine a first time period during which the bus is below the third threshold level;
[0092] Determine a second time period during which the bus is not below the third threshold level;
[0093] Determine whether the signal matches a predetermined pattern based on a ratio of the first time period to the second time period matching a predetermined ratio. Such measurements and determinations can be made within a single CAN frame, and specifically, within a single data phase of the CAN frame.
[0094] If the ratio does not match a defined stuffing rule (e.g., 15:1), the timer or counter of the wake-up filter can be cleared.
[0095] If the ratio complies with the stuffing rule during the data phase, the timer or counter continues to run until a threshold is reached, which indicates the presence of a wake-up indication.
[0096] That is, the wake-up filter can be configured to measure the expected signal ratio on the output signal of the third comparator, and if the ratio complies with the wake-up ratio criterion (e.g., if this is a stuffing rule, the ratio is 15:1), the filter timer continues to run (or the counter N inside the wake-up filter continues to count). Conversely, any signal ratio deviation resets the filter timer (or counter N). A predetermined length of a continuous symbol sequence with the correct ratio may cause the filter timer to overflow (or the counter to reach a predefined threshold), thereby triggering a wake-up.
[0097] The following is referred to Figure 8 and 9 to discuss the operation of such a wake-up filter.
[0098] Figure 8 This relates to a situation where, in addition to the stuffing bit 856, normal data loading (including one data bit 858) is also provided in the CAN bus signal 831. Figure 8 shows the signal for a CAN-XL data frame, Figure 6 the corresponding output 837 of the third comparator shown, and the corresponding outputs 850, 850' of the wake-up filter according to the first scheme. The level of the third threshold is shown (in this example, Th3 = -0.4V).
[0099] In this example, the presence of the data bit 858 causes the filter timer to be reset in the timer variant of the filter, and since the threshold period is not reached, no wake-up indication is provided in the output 850 of the timer variant wake-up filter. Similarly, the presence of the data bit 858 causes the filter counter to be reset in the counter variant of the wake-up filter, and since the threshold count is not reached, no wake-up indication is provided in the output 850' of the counter variant wake-up filter.
[0100] Figure 9 This relates to a situation where a wake-up indication is provided due to the use of a specific bit pattern. Figure 9 shows the signal 931 for a CAN-XL data frame, which includes a wake-up indication, Figure 6 the corresponding output 937 of the third comparator shown, and the corresponding outputs 950, 950' of the wake-up filter according to the first scheme. The level of the third threshold is shown (in this example, Th3 = -0.4V).
[0101] The specific bit pattern includes a signal 931 that remains below a third threshold level for a predetermined period of time, rather than providing a stuffing bit 956. In this way, the ratio of the first period to the second period matches the expected ratio of the wake-up indication. Since the threshold period is reached, a wake-up indication 960 is provided at the output 950 of the timer variant wake-up filter. Similarly, since the threshold count is reached, a wake-up indication 960' is provided at the output 950' of the counter variant wake-up filter.
[0102] It should be understood that there are various ways to implement the wake-up filter according to the second scheme. To account for tolerances, a stable implementation of the second filter can be provided by a digital state machine.
[0103] Figure 10 A schematic flowchart 1000 of a state machine implementation of a wake-up filter according to the second scheme is shown. The state machine implementation can be implemented using a counter register or a timer. When entering the low-power mode 1002, the counter register (N) or the timer value is cleared or reset, and the values of the first time period (time_1) that satisfies the third threshold level (CAN XL level 1) and the second time period (time_0) that does not satisfy the negative third threshold level (CAN XL level 1) are also cleared or reset.
[0104] Then, the state machine proceeds to the test condition 1004, which is to test whether the differential signal on the CAN bus V CAN is less than the third threshold level (Th3) (input = 1?). That is, is there a negative signal on the CAN bus (e.g., CAN XL level 1). If this condition 1004 is not satisfied, the steps are repeated. If this condition 1004 is satisfied, the time period 1006 that satisfies the third threshold level is measured. The measurement continues until the third threshold level is no longer satisfied. That is, the state machine tests the condition 1008, which is to test the differential signal V on the CAN bus CANIs it greater than or equal to a third threshold level (input = 0?), and if the condition is not met, continue the measurement 1006 of the first time period (time_1). If the condition in step 1008 is met, then measure the second time period (time_0) that does not meet the third threshold level 1010. Continue measuring the second time period (time_0) that does not meet the threshold level until the threshold level is met again. That is, the state machine determines 1012 whether the third threshold level is met (input = 1?), and if the condition is not met, continue the measurement 1010 of the second time period (time_0). If the condition 1012 is met, the state machine proceeds to determine at step 1014 whether the target ratio of the time period when the third threshold level is not met divided by the time period when the third threshold level is met (time_0 divided by time_1) meets its target ratio. If the target ratio is not met, reset the counter register N or the filtering time 1016, and clear / reset the time periods when the third threshold level is not met and the time periods when the third threshold level is met (time_0, time_1), and the state machine proceeds to measure the time period when the third threshold level is met at step 1006.
[0105] If the target ratio in step 1014 is met, increment the counter register N of the detected cycles, or allow the filtering timer to continue 1020.
[0106] Then determine whether the threshold of the counter register N (N_max) or the threshold of the filtering timer, the filtering time, has been reached 1022. If the relevant maximum has not been reached, the state machine resumes clearing 1018 the second time period (time_0) that does not meet the third threshold level and the first time period (time_1) that meets the third threshold level. If the relevant maximum has been reached, generate an indication to wake up 1024.
[0107] Generally, unless the contrary intention is obvious, references to CAN in this document can be references to any CAN variant, for example by referring to a specific ISO standard.
[0108] Unless a specific order is explicitly stated, the instructions and / or flowchart steps in the above schema can be executed in any order. Moreover, those skilled in the art will recognize that although one example instruction set / method has been discussed, the materials in this specification can be combined in many ways to produce other examples, and should be understood within the context provided in this detailed description.
[0109] In some example embodiments, the instruction set / method steps described above are implemented as functional and software instructions embodied in an executable instruction set that is implemented on a computer or a machine programmed and controlled by the executable instructions. Such instructions are loaded for execution on a processor (e.g., one or more CPUs). The term processor includes a microprocessor, a microcontroller, a processor module or subsystem (including one or more microprocessors or microcontrollers), or other control or computing devices. A processor may refer to a single component or multiple components.
[0110] In other examples, the instruction set / method shown herein, as well as the data and instructions associated therewith, are stored in corresponding storage devices that are implemented as one or more non-transitory machine or computer-readable or computer-usable storage media. Such computer-readable or computer-usable storage media are considered to be part of an article (or article of manufacture). An article or article of manufacture may refer to any single component or multiple components that are manufactured. As defined herein, non-transitory machine or computer-usable media do not include signals, but such media are capable of receiving and processing information from signals and / or other transient media.
[0111] Example embodiments of the materials discussed in this specification may be implemented, in whole or in part, by a network, a computer, or data-based devices and / or services. These may include the cloud, the Internet, an intranet, mobile devices, desktop computers, processors, lookup tables, microprocessors, consumer devices, infrastructure, or other enabling devices and services. As used herein and in the claims, the following non-exclusive definitions are provided.
[0112] In one example, one or more of the instructions or steps discussed herein are automated. The term automated or automatically (and its similar variants) means controlling the operation of a device, system, and / or process using a computer and / or a mechanical / electrical device without human intervention, observation, effort, and / or decision-making.
[0113] It should be understood that any components that are alleged to be coupled may be coupled or connected directly or indirectly. In the case of indirect coupling, additional components may be disposed between the two components that are alleged to be coupled.
[0114] In this specification, example embodiments have been presented in accordance with a selected set of details. However, those of ordinary skill in the art will understand that many other example embodiments may be practiced that include different selected sets of these details. It is intended that the appended claims cover all possible example embodiments.
Claims
1. A Controller Area Network (CAN) transceiver for communicating with a CAN controller and a CAN bus, characterized in that, the CAN transceiver is configured to: convert differential signals on the CAN bus into data for the CAN controller and compare the differential signals from the CAN bus with a first threshold, a second threshold, and a third threshold level, wherein the first threshold is the positive threshold level in the reference frame of the CAN bus and the third threshold level is the negative threshold level; and provide a wake-up indication to the CAN controller based on a match of the differential signals with a predetermined pattern of one or more time periods during which the differential signals are less than the negative threshold level.
2. The CAN transceiver according to claim 1, characterized in that, it comprises: a comparator configured to compare the differential signals from the CAN bus with the negative threshold level; and a wake-up filter configured to receive the output of the comparator and determine whether the output corresponds to the predetermined pattern.
3. The CAN transceiver according to any one of the preceding claims, characterized in that, the predetermined pattern is a single time period having a predetermined duration.
4. The CAN transceiver according to claim 3, characterized in that, the predetermined duration is greater than the bit stuffing period within the data phase of a CAN frame.
5. The CAN transceiver according to claim 3, characterized in that, the time period is at the end of a CAN frame or at the end of the data phase of a CAN frame.
6. The CAN transceiver according to claim 4 or claim 5, characterized in that, the data phase of the CAN frame consists only of the predetermined pattern and the CAN frame does not include any CAN data traffic.
7. The CAN transceiver according to claim 1 or claim 2, characterized in that, the predetermined pattern includes multiple individual time periods during which the signal is less than the negative threshold level.
8. A Controller Area Network (CAN) controller for driving a CAN transceiver, characterized in that, the CAN transceiver is configured to provide signals to a CAN bus having a negative threshold level, and the CAN controller is configured to: provide instructions for transmitting differential signals on the CAN bus according to a first threshold, a second threshold, and a third threshold level, the instructions including instructions for comparing the differential signals from the CAN bus with the first threshold, the second threshold, and the third threshold level, wherein the first threshold is the positive threshold level in the reference frame of the CAN bus and the third threshold level is the negative threshold level; wherein the instructions include instructions for providing a transmission wake-up indication, wherein the wake-up indication includes differential signals having a predetermined pattern of one or more time periods during which the differential signals are less than the negative threshold level, wherein the first threshold is the positive threshold level in the reference frame of the CAN bus and the third threshold level is the negative threshold level.
9. A Controller Area Network (CAN) node, characterized in that, Comprising a CAN transceiver according to any one of claims 1 to 7 and a CAN controller according to claim 8.
10. A computer program code, characterized in that it is configured to cause a processor of the CAN controller to: Provide instructions for transmitting differential signals on the CAN bus according to first, second, and third threshold levels, the instructions including comparing the differential signals from the CAN bus with the first threshold, the second threshold, and the third threshold level, wherein the first threshold is the positive threshold level in the reference frame of the CAN bus, and the third threshold level is the negative threshold level; the instructions include providing instructions for transmitting a wake-up indication, wherein the wake-up indication includes a differential signal having a predetermined pattern with one or more time periods, within the one or more time periods, the differential signal is less than the negative threshold level, wherein instructions for transmitting a wake-up indication on the CAN bus are provided to the CAN transceiver, the wake-up indication includes a signal having a predetermined pattern with one or more time periods, within the one or more time periods, the signal is less than the negative threshold level.