Intelligent controller LAN termination
Through computerized tools, the performance problems caused by the loss of termination nodes are solved, ensuring the correct termination and performance recovery of the CAN bus.
Patent Information
- Application Number
- CN202210670541.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-06-21
- Filing Date
- 2022-06-14
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2042-06-14
AI Technical Summary
The prior art is difficult to effectively solve the performance degradation of CAN bus when the termination node is lost, and existing repair methods such as rerouting or dual termination are not the best solutions.
The impedance of the CAN bus is electronically monitored through computerized tools, detect the loss of the termination node, and convert the non-termination node into a termination node based on the impedance value to ensure the correct termination of the CAN bus.
It realizes dynamic maintenance of the CAN bus performance when the termination node is lost, reduces the performance degradation time caused by not being correctly terminated, and improves signal quality and electromagnetic compatibility.
Smart Images

Figure CN115580504B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to Controller Area Network (CAN), and more particularly to smart CAN termination. Background Art
[0002] Controller Area Network (CAN) is a data communication protocol, typically used to broadcast sensor data and / or control data over a two-wire interconnect between different parts of an electronic control system. The CAN bus is constructed with a high-voltage line, a low-voltage line, and one or more nodes, each of which is coupled to both the high-voltage line and the low-voltage line. The normal operation of the CAN bus requires that both physical endpoints of the CAN bus are covered with terminating resistors. Typically, this is facilitated by applying one terminating resistor to the first node of the CAN bus and another terminating resistor to the last node of the CAN bus, where these nodes are referred to as "terminated nodes". Terminating resistors are not applied to other nodes between the terminating nodes, so these other nodes are referred to as "non-terminated nodes". When the electronic connection to the terminating node is lost, the performance of the CAN bus is negatively affected. Existing techniques for repairing the performance of the CAN bus, such as rerouting or double termination, are not optimal.
[0003] Systems and / or techniques that can address one or more of these issues may be desirable. Summary of the invention
[0004] An overview is given below to provide a basic understanding of one or more embodiments of the present invention. This overview is not intended to identify key or important elements, or to delineate any scope of a particular embodiment or any scope of the claims. Its sole purpose is to present concepts in a simplified form as a prelude to a more detailed description presented later. In one or more embodiments described herein, devices, systems, computer-implemented methods, apparatus, and / or computer program products that can facilitate intelligent CAN termination are described.
[0005] According to one or more embodiments, a system is provided. The system may include a memory capable of storing a computer executable component. The system may also include a processor that may be operably coupled to the memory and may execute the computer executable component stored in the memory. In various embodiments, the computer executable component may include a sensor component. In various aspects, the sensor component may measure the impedance of a controller area network (CAN) bus. In various cases, the computer executable component may include a termination component. In various cases, the termination component may convert at least one node of the CAN bus from a non-terminated state to a terminated state based on the impedance.
[0006] According to one or more embodiments, the above-described system may be implemented as a computer-implemented method and / or a computer program product. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 A block diagram of an example non-limiting system that facilitates Smart CAN termination according to one or more embodiments described herein is shown.
[0008] Figure 2 A block diagram of an example non-limiting Smart CAN bus is shown in accordance with one or more embodiments described herein.
[0009] Figure 3 A block diagram of an example non-limiting system that facilitates smart CAN termination according to one or more embodiments described herein is shown, the system including an impedance sensor and an impedance.
[0010] Figure 4 A block diagram is shown of an example non-limiting system that facilitates smart CAN termination according to one or more embodiments described herein, the system including a single-loss threshold and a double-loss threshold.
[0011] Figure 5 A block diagram is shown of an example non-limiting system that facilitates smart CAN termination according to one or more embodiments described herein, the system including a termination activation signal.
[0012] Figure 6 A flow chart is shown of an example non-limiting computer-implemented method for facilitating intelligent CAN termination according to one or more embodiments described herein.
[0013] Figure 7 A block diagram illustrating an example non-limiting circuit architecture that facilitates Smart CAN termination according to one or more embodiments described herein.
[0014] Figure 8 A flow chart is shown of an example non-limiting computer-implemented method for facilitating intelligent CAN termination according to one or more embodiments described herein.
[0015] Fig. 9 A block diagram of an example non-limiting operating environment is shown in which one or more embodiments described herein may be facilitated.
[0016] Fig.10 An example non-limiting cloud computing environment is shown in accordance with one or more embodiments described herein.
[0017] Fig.11 Example non-limiting abstract model layers are shown in accordance with one or more embodiments described herein. DETAILED DESCRIPTION
[0018] The following detailed description is illustrative only and is not intended to limit the embodiments and / or the application or uses of the embodiments. Furthermore, there is no intention to be bound by any express or implied information presented in the previous background or summary sections or in the detailed description section.
[0019] One or more embodiments are now described with reference to the accompanying drawings, wherein the same reference numerals are used to refer to the same elements throughout. In the following description, for the purpose of explanation, many specific details are set forth in order to provide a more thorough understanding of one or more embodiments. However, it is apparent that in various circumstances, one or more embodiments may be implemented without these specific details.
[0020] Controller Area Network (CAN), including both Classic Controller Area Network (Classic CAN) and Controller Area Network Flexible Data-rate (CAN-FD), is a data communications protocol that is typically used to broadcast sensor data and / or control data over a two-wire interconnect between different parts of an electronic control system. CAN is particularly popular in the automotive field. Specifically, a CAN bus can be implemented in a vehicle to communicatively couple together various electronic modules of the vehicle (e.g., accelerometer module, fuel sensor module, temperature sensor module, engine control module, door / window module, airbag / safety module, air conditioning module).
[0021] The physical topology of the CAN bus may include a high voltage line, a low voltage line, and a set of nodes, wherein each node is coupled to both the high voltage line and the low voltage line. Furthermore, the high voltage line and the low voltage line of the CAN bus may be viewed together as forming a path having two physical endpoints, wherein one of the set of nodes is coupled to both the high voltage line and the low voltage line at one of the two physical endpoints, wherein another of the set of nodes is coupled to both the high voltage line and the low voltage line at the other of the two physical endpoints, and wherein the remaining nodes of the set of nodes are coupled to both the high voltage line and the low voltage line at various sequential points along the path between the two physical endpoints.
[0022] The normal operation of the CAN bus may require that both physical endpoints are covered with terminating resistors. This can be facilitated by applying a terminating resistor to a node placed at and / or near a first physical endpoint (e.g., implementing a terminating resistor in parallel with the node at the first endpoint) and by applying another terminating resistor to a node placed at and / or near a second physical endpoint (e.g., again implementing a terminating resistor in parallel with the node at the second endpoint). Therefore, the two nodes to which the terminating resistors are applied may be referred to as "terminated nodes". The remaining nodes in the group of nodes placed between the terminating nodes may lack terminating resistors, and such nodes may therefore be referred to as "non-terminated nodes".
[0023] When the electronic connection to the terminating nodes is lost (e.g., due to a terminating node crash), the performance of the CAN bus can be negatively impacted. Specifically, when one or both of the terminating nodes are lost, the CAN bus can experience significantly reduced signal quality and / or significantly reduced electromagnetic compatibility, which can cause other modules coupled to the CAN bus to cease functioning properly. Existing techniques for repairing the performance of the CAN bus, such as rerouting or double termination, are not optimal. Therefore, systems and / or techniques for restoring the performance of the CAN bus when one or both of the terminating nodes are lost may be desirable.
[0024] Various embodiments of the present invention can solve one or more of these technical problems by promoting intelligent CAN termination. In particular, various embodiments of the present invention can be considered as a computerized tool (e.g., any suitable combination of computer executable hardware and / or computer executable software) that can electronically monitor the CAN bus and can electronically restore the performance of the CAN bus when one or two terminal nodes are lost. More specifically, the computerized tool can electronically measure the impedance of the CAN bus, can electronically determine whether one or two terminal nodes are lost based on the impedance, and / or can electronically apply a termination resistance to one or more non-terminal nodes based on the determination, so that one or more non-terminal nodes can now be used as a terminal node. In other words, the computerized tool can detect when a terminal node of the CAN bus is lost, and the computerized tool can replace the lost terminal node by converting a nearby one of the remaining nodes of the CAN bus from a non-terminal state to a terminal state. Therefore, when a terminal node is lost, the computerized tool can ensure that another terminal node is created to replace it, with the result that the CAN bus is correctly terminated. Thus, when the performance of the CAN bus is impaired due to the loss of a terminating node, the computerized tool can correct the performance of the CAN bus by changing one of the remaining nodes to be a terminating node.
[0025] In various embodiments, the computerized tools described herein may include a sensor component, a comparison component, and / or a termination component.
[0026] In various aspects, as described above, a CAN bus (e.g., a classic CAN bus, a CAN-FD bus) may include a high voltage line, a low voltage line, and / or a group of nodes, each of which is coupled to both the high voltage line and the low voltage line. In various cases, the group of nodes may include three or more nodes. In various cases, each node in the group of nodes may be any suitable computerized module capable of receiving a signal from the CAN bus and / or sending a signal to the CAN bus.
[0027] In various cases, each node of the group of nodes may correspond to one or more switchable terminating resistors. More specifically, each node may be coupled in parallel with its corresponding switchable terminating resistor. In various aspects, the switchable terminating resistor may include one or more resistors that are coupled to the high-voltage line and the low-voltage line of the CAN bus in any suitable manner / arrangement through one or more switches. For any given node, if one or more switches of the switchable terminating resistor corresponding to the given node are closed, the one or more resistors corresponding to the switchable terminating resistor may be electrically active (e.g., electrical signals / currents may be received from the high-voltage line and / or the low-voltage line of the CAN bus). If one or more resistors of the switchable terminating resistor corresponding to the given node are electrically active, the given node may be considered to be in a terminated state. On the other hand, for any given node, if one or more switches of the switchable terminating resistor corresponding to the given node are opened, the one or more resistors corresponding to the switchable terminating resistor may be electrically inactive (e.g., electrical signals / currents may not be received from the high-voltage line and / or the low-voltage line of the CAN bus). A given node may be considered to be in a non-terminated state if one or more of the switchable terminating resistors corresponding to the given node are electrically inactive. Thus, each of the set of nodes may be selectively terminated. For example, any node may be converted from a non-terminated state to a terminated state by closing one or more switches of the switchable terminating resistors corresponding to the node. Conversely, any node may be converted from a terminated state to a non-terminated state by opening one or more switches of the switchable terminating resistors corresponding to the node.
[0028] In various embodiments, the sensor assembly of the computerized tool can electronically measure the impedance of the CAN bus. More specifically, the sensor assembly can include any suitable impedance sensor that can be electrically coupled to the CAN bus and / or otherwise integrated with the CAN bus. Therefore, the sensor assembly can measure, detect and / or otherwise quantify the impedance exhibited by the CAN bus at any suitable moment and / or over any suitable time span via the impedance sensor. It will be appreciated by those of ordinary skill in the art that the impedance sensor can implement any suitable impedance measurement technology and / or impedance measurement circuit. For example, in various cases, the impedance sensor can be any suitable form of impedance analyzer and / or multimeter.
[0029] In various embodiments, the comparison component of the computerized tool can electronically compare the impedance measured by the sensor component with any suitable threshold value to determine whether the terminal node of the CAN bus is lost and / or how much is lost. More specifically, because each of the group of nodes can be considered to be coupled in parallel to each other, the two terminal nodes can also be connected in parallel to each other. Therefore, the comparison component can use the rules for managing parallel resistance combinations to determine whether the terminal node is lost and / or how much is lost. In various aspects, due to how the parallel resistances are combined (for example, the reciprocal of the sum of the reciprocals of the two parallel resistances is less than each of the two parallel resistances), if one of the two terminal nodes is lost, the impedance of the CAN bus will increase. According to the same logic, if both terminal nodes are lost, the impedance of the CAN bus may increase further. Therefore, the comparison component can use two predetermined thresholds to determine whether the terminal node of the CAN bus is lost and / or how much is lost.
[0030] For example, the comparison component may have any suitable form of electronic access to the double loss threshold and the single loss threshold. In various cases, the double loss threshold may represent the minimum impedance value of the CAN bus that occurs when both terminal nodes are lost. Similarly, the single loss threshold may represent the minimum impedance value of the CAN bus that occurs when one of the two terminal nodes is lost. Similarly, due to the nature of parallel resistance, the double loss threshold may be greater than the single loss threshold. Therefore, in various cases, the comparison component may compare the impedance measured by the sensor component with the double loss threshold. If the impedance is greater than the double loss threshold, the comparison component may conclude and / or determine that both terminal nodes of the CAN bus are lost. If the impedance is not greater than the double loss threshold, the comparison component may compare the impedance with the single loss threshold. If the impedance is greater than the single loss threshold, the comparison component may conclude and / or determine that one of the two terminal nodes is lost. If the impedance is not greater than the single loss threshold, the comparison component may conclude and / or determine that neither of the two terminal nodes is lost.
[0031] Those skilled in the art will appreciate that the magnitude of the double loss threshold and / or the single loss threshold may depend on the characteristics and / or properties of the CAN bus (e.g., may depend on the resistance value of the switchable terminating resistor of each node of the CAN bus and / or other electrical components / loads coupled to the CAN bus). Therefore, those skilled in the art will appreciate that the double loss threshold and / or the single loss threshold may be determined through experiments and / or analysis based on the CAN bus.
[0032] In various embodiments, based on the conclusions and / or determinations of the comparison component, the termination component of the computerized tool may electronically convert at least one node of the CAN bus from a non-terminated state to a terminated state. In various aspects, as described above, each node of the CAN bus may have a corresponding switchable termination resistor. In various cases, the termination component may be coupled to the switchable termination resistor of each node by any suitable control logic circuit. Therefore, for any given node, in various aspects, the termination component may send a control signal to the switchable termination resistor of the given node, which may cause one or more switches of the switchable termination resistor to be opened or closed. If one or more switches of the switchable termination resistor are opened, the switchable termination resistor may be electrically inactive, so the given node may be in a non-terminated state. On the other hand, if one or more switches are closed, the switchable termination resistor may be electrically active, so the given node may be in a terminated state. Therefore, if the control signal causes one or more switches to change from open to closed, the control signal may be considered to convert the given node from a non-terminated state to a terminated state. Conversely, if the control signal causes one or more switches to change from closed to open, the control signal can be considered to convert a given node from a terminated state to a non-terminated state. In this way, the termination component can convert any node of the CAN bus from a non-terminated state to a terminated state, and / or vice versa.
[0033] In various aspects, if the comparison component determines that both of the two terminal nodes of the CAN bus are lost, the terminal component can send a control signal electronically to the switchable terminal resistors of the two remaining nodes in the CAN bus. In other words, when both of the terminal nodes of the CAN bus are lost, the terminal component can replace the two lost terminal nodes with two remaining nodes by converting the two remaining nodes into a terminal state. More specifically, a group of nodes of the CAN bus can be sorted and / or indexed in any suitable manner, wherein one of the two terminal nodes represents one end of such sorting / indexing, and the other of the two terminal nodes represents the other end of such sorting / indexing. In various cases, if the comparison component determines that both of the terminal nodes are lost, the terminal component can identify two remaining nodes that are adjacent to the two lost terminal nodes and / or are otherwise closest to the two lost terminal nodes according to the sorting / indexing. Once the two remaining nodes are identified, the terminal component can send a control signal to the switchable terminal resistors of the two remaining nodes, thereby converting them into a terminal state. Therefore, the two remaining nodes can now be considered as two new terminal nodes. Therefore, the CAN bus can have two termination nodes again, which can restore the normal performance of the CAN bus.
[0034] In various cases, if the comparison component instead determines that only one terminal node of the CAN bus is lost, the terminal component can electronically send a control signal to the switchable terminal resistor of one of the remaining nodes in the CAN bus. In other words, when a terminal node of the CAN bus is lost, the terminal component can replace the lost terminal node with one of the remaining nodes by converting one of the remaining nodes to a terminal state. More specifically, as described above, the group of nodes of the CAN bus can be sorted and / or indexed in any suitable manner, wherein one of the two terminal nodes represents one end of such sorting / indexing, and the other of the two terminal nodes represents the other end of such sorting / indexing. In various cases, if the comparison component determines that a terminal node is lost, the terminal component can identify which terminal node is lost. For example, the terminal component can attempt to communicate with two terminal nodes, and any terminal node that fails to respond can be considered lost. In various cases, based on the sorting / index, the terminal component can identify the remaining nodes adjacent to the lost terminal node and / or otherwise closest to the lost terminal node. Once the remaining node is identified, the termination component can send a control signal to the switchable termination resistor of the remaining node, thereby converting it to a termination state. Therefore, the remaining node can now be considered as a new termination node. Therefore, the CAN bus can have two termination nodes again, which can restore the normal performance of the CAN bus.
[0035] To help illustrate some of the above discussion, consider the following non-limiting example. Assume that a CAN bus includes a high voltage line, a low voltage line, and five nodes: node 1, node 2, node 3, node 4, and node 5, each of which corresponds to a switchable terminating resistor. In addition, assume that the five nodes are sorted in the CAN bus according to their indexes: that is, node 1 is located at one end of the CAN bus, node 5 is located at the other end of the CAN bus, node 2 is adjacent to node 1 and node 3, node 3 is adjacent to node 2 and node 4, and node 4 is adjacent to node 3 and node 5. Because node 1 and node 5 are located at the end points of the CAN bus, they can initially be two terminating nodes. That is, node 1 and node 5 can be in a terminating state (e.g., the switches of the switchable terminating resistors of node 1 and node 5 can be closed), while nodes 2-4 can be in a non-terminating state (e.g., the switches of the switchable terminating resistors of node 2-4 can be open).
[0036] In various aspects, the sensor component of the computerized tool can measure the impedance of the CAN bus via an impedance sensor. In various cases, the comparison component of the computerized tool can compare the impedance with a double loss threshold. If the impedance is greater than the double loss threshold, the comparison component can conclude that both node 1 and node 5 are lost. In other words, the comparison component can determine that node 1 and node 5 cannot communicate and / or interact in other ways through the CAN bus. In this case, it can be considered that the CAN bus is not properly terminated, which will reduce the performance of the CAN bus. Therefore, the termination component of the computerized tool can identify two of the remaining nodes 2-4 adjacent to node 1 and node 5, respectively. Here, node 2 is the remaining (e.g., not lost) node adjacent to node 1, and node 4 is the remaining node adjacent to node 5. Therefore, the termination component can send a control signal to the switchable termination resistor of node 2, thereby changing node 2 from a non-terminated state to a terminated state. Similarly, the termination component can send another control signal to the switchable termination resistor of node 4, thereby changing node 4 from a non-terminated state to a terminated state. At this point, the CAN bus can be considered to be correctly terminated, with Node 2 and Node 4 as the new termination nodes. Therefore, even if Node 1 and Node 5 are lost, the performance of the CAN bus can be restored.
[0037] If the impedance is not greater than the double loss threshold, the comparison component may compare the impedance with the single loss threshold. If the impedance is greater than the single loss threshold, the comparison component may conclude that only one of node 1 and node 5 is lost. In this case, it can be considered that the CAN bus is not properly terminated, which can reduce the performance of the CAN bus. Therefore, the termination component of the computerized tool can identify which of node 1 and node 5 is lost. For example, the termination component can attempt to electronically communicate with both node 1 and node 5. If node 1 responds correctly and node 5 fails to respond correctly, it can be inferred that node 5 is lost. Conversely, if node 1 fails to respond correctly and node 5 responds correctly, it can be inferred that node 1 is lost. Once the lost termination node is identified, the termination component can identify one of the remaining nodes 2-4 adjacent to the lost termination node. If node 1 is lost, node 2 is the remaining (e.g., non-lost) node adjacent to the lost termination node. On the other hand, if node 5 is lost, node 4 is the remaining node adjacent to the lost termination node. In any case, the termination component can send a control signal to the switchable termination resistor of the remaining node adjacent to the lost termination node, thereby changing the remaining node from a non-terminated state to a terminated state. At this point, the CAN bus can be considered to be correctly terminated, with the remaining nodes adjacent to the lost termination node serving as new termination nodes. For example, if node 1 is lost, node 2 can be converted to a terminated state, which means that node 2 can serve as a new termination node. Conversely, if node 5 is lost, node 4 can be converted to a terminated state, which means that node 4 can serve as a new termination node. In any case, the performance of the CAN bus can be restored despite the loss of a termination node.
[0038] Therefore, the computerized tool described herein can periodically monitor the impedance of the CAN bus to detect the loss of one or both termination nodes of the CAN bus. If the computerized tool determines that one or both termination nodes are lost, the computerized tool can convert one or more remaining nodes of the CAN bus from a non-terminated state to a terminated state. Therefore, the computerized tool can dynamically keep the CAN bus properly terminated even when one or both termination nodes of the CAN bus are lost due to a system crash.
[0039] Various embodiments of the present invention may be employed to use hardware and / or software to solve problems that are highly technical in nature (e.g., facilitating intelligent CAN termination) that are not abstract and cannot be performed as a set of intellectual activities of a human being. In addition, some of the processes performed may be performed by a dedicated computer. Specifically, such a process may include: measuring the impedance of a controller area network (CAN) bus by a device operably coupled to a processor; and converting at least one node of the CAN bus from a non-terminated state to a terminated state by the device based on the impedance; wherein at least one node of the CAN bus is associated with a switchable termination resistor having one or more switches, wherein when the one or more switches are open, the at least one node is in a non-terminated state, and wherein when the one or more switches are closed, the at least one node is in a terminated state. The tasks so defined are not performed manually by a human being. In addition, neither the human mind nor a person with pen and paper can electronically measure the electrical impedance of a CAN bus, and / or electronically change the termination state of a node of the CAN bus based on the measured impedance. In contrast, various embodiments of the present invention are inherently and inseparably tied to computer technology and cannot be implemented outside of a computing environment (e.g., a CAN bus is a specific circuit topology that is inherently associated with computing devices; thus, a computerized tool that monitors a CAN bus for missing terminated nodes and accordingly converts non-terminated nodes to terminated nodes to maintain the performance of the CAN bus can only exist in a computerized environment and cannot be implemented in any reasonable manner without a computer.)
[0040] In various cases, embodiments of the present invention can integrate the disclosed teachings about intelligent CAN termination into practical applications. In fact, as described herein, various embodiments of the present invention in the form of a system and / or computer-implemented method can be considered as a computerized tool that can electronically measure the impedance of the CAN bus, can electronically determine whether the terminating node of the CAN bus is lost and / or how much is lost based on the impedance, and / or can electronically send a control signal to a switchable terminating resistor corresponding to one or more remaining nodes of the CAN bus so as to convert one or more remaining nodes from a non-terminated state to a terminated state. In other words, such a computerized tool can help ensure that the CAN bus is properly terminated during operation, even if the CAN bus experiences a system crash that causes one or two of its existing terminating nodes to be lost. Without a computerized tool, the performance of a CAN bus that loses one or two terminating nodes will be severely degraded. On the other hand, when a computerized tool is implemented, the performance of a CAN bus that loses one or two terminating nodes can be restored in real time in various aspects. Therefore, the computerized tool described herein can be implemented to help the CAN bus overcome the technical problem of losing a terminating node. That is, computerized tools can improve the functionality / performance of the CAN bus, so computerized tools undoubtedly constitute a concrete and tangible technical improvement in the field of controller area networks.
[0041] In addition, various embodiments of the present invention may control tangible, hardware-based and / or software-based devices based on the disclosed teachings. For example, a CAN bus may be a real-world circuit architecture comprising a high-voltage line, a low-voltage line, and a set of nodes, wherein each node corresponds to a switchable terminating resistor. As explained herein, the switchable terminating resistor itself may be a real-world circuit structure comprising one or more resistors and / or one or more switches coupling one or more resistors to the high-voltage line and the low-voltage line. When one or more switches of the switchable terminating resistor of a given node are opened, the switchable terminating resistor may be electrically inactive, which means that the given node may be in a non-terminated state. On the other hand, when one or more switches of the switchable terminating resistor of a given node are closed, the switchable terminating resistor may be electrically active, which means that the given node may be in a terminated state. Therefore, the computerized tool described herein may send a real-world control signal to the real-world switchable terminating resistor of any given node, thereby causing the given node to change from a non-terminated state to a terminated state, or vice versa. In any case, this computerized tool constitutes real-world computer hardware that interacts with a real-world CAN bus circuit to resolve the problem of missing terminating nodes.
[0042] It should be understood that the drawings and this disclosure depict non-limiting examples of various embodiments of the present invention and are not necessarily drawn to scale.
[0043] Figure 1 A block diagram of an example non-limiting system 100 that can facilitate smart CAN termination according to one or more embodiments described herein is shown. As shown, a smart CAN bus termination system 102 can be electronically integrated with a CAN bus 104 via any suitable wired and / or wireless electronic connection.
[0044] In various embodiments, the CAN bus 104 can be a classic CAN bus, a CAN-FD bus, and / or any other suitable type of CAN bus. More specifically, the CAN bus 104 can include a high voltage line, a low voltage line, and / or a group of nodes 106, wherein each of the group of nodes 106 is coupled between the high voltage line and the low voltage line. In various aspects, the group of nodes 106 can include n nodes, for any suitable positive integer n (e.g., node 1 to node n). In various cases, because each of the group of nodes 106 can be coupled to both the high voltage line and the low voltage line, the group of nodes 106 can be considered to be coupled in parallel with each other. In addition, in various cases, the high voltage line and the low voltage line of the CAN bus 104 can form a path so that the path includes two physical endpoints. In various aspects, the node 1 in the group of nodes 106 can be located at and / or near one of the two physical endpoints of the CAN bus 104. Similarly, the node n of the group of nodes 106 can be located at and / or near the other of the two physical endpoints of the CAN bus 104. In various cases, the remainder of the group of nodes 106 (e.g., node 2 through node n-1, which are not shown) can be positioned at corresponding points between two physical endpoints of the CAN bus 104 (e.g., such that node 2 is adjacent to node 1, node 3 is adjacent to node 2, and node n is adjacent to node n-1).
[0045] In various aspects, each of the group of nodes 106 may have, correspond to, and / or otherwise be associated with a switchable terminating resistor. In various cases, the switchable terminating resistor may include any suitable number of resistive elements (e.g., resistors having defined resistance values measured in ohms), which are coupled to the high-voltage and low-voltage lines of the CAN bus 104 in any suitable manner and / or arrangement through any suitable number of electrical switches. In various cases, if the electrical switch of the switchable terminating resistor is turned on, the switchable terminating resistor may be considered to be electrically inactive. That is, the resistive element of the switchable terminating resistor cannot receive current from the high-voltage and / or low-voltage lines of the CAN bus 104. Conversely, in various cases, if the electrical switch of the switchable terminating resistor is closed, the switchable terminating resistor may be considered to be electrically active. That is, the resistive element of the switchable terminating resistor can receive current from the high-voltage and / or low-voltage lines of the CAN bus 104.
[0046] As described above, each of the set of nodes 106 can have a corresponding switchable terminating resistor (e.g., n nodes, n switchable terminating resistors, one switchable terminating resistor for each node). More specifically, each of the set of nodes 106 can be coupled in parallel with its corresponding switchable terminating resistor. In various cases, for any given node, if the switchable terminating resistor of the given node is electrically inactive, the given node can be considered to be in a non-terminated state. After all, if the switchable terminating resistor of the given node is electrically inactive, the switchable terminating resistor cannot play the role of applying a terminating resistor to the given node. On the other hand, if the switchable terminating resistor of the given node is electrically active, the given node can be considered to be in a terminating state. After all, if the switchable terminating resistor of the given node is electrically active, the switchable terminating resistor can play the role of applying a terminating resistor to the given node. Thus, in various aspects, each of the set of nodes 106 may be converted from a non-terminated state to a terminated state, and / or vice versa, by controllably closing and / or opening a switch of a switchable terminating resistor corresponding to that node.
[0047] In various cases, because node 1 and node n can be located at two physical endpoints of the CAN bus 104, node 1 and node n can initially be configured to be in a terminated state. In addition, because the rest of the group of nodes 106 (e.g., node 2 to node n-1) can be located at a position between the two physical endpoints of the CAN bus 104, the rest of the group of nodes 106 can initially be configured to be in a non-terminated state. Therefore, the CAN bus 104 can have two terminated nodes, which can mean that the CAN bus 104 is properly terminated. In various aspects, the CAN bus 104 may experience one or more system crashes, which may cause the CAN bus 104 to lose electrical connection to one or both of its two terminated nodes. In this case, the terminated node that has lost electrical connection can be referred to as a lost terminated node. In various cases, if one or both of the two terminated nodes of the CAN bus 104 are lost, the performance of the CAN bus 104 will be significantly negatively affected (e.g., signal quality will be reduced). In various aspects, as described herein, the intelligent CAN bus termination system 102 can periodically monitor the CAN bus 104 to restore performance of the CAN bus 104 in the event that one or both termination nodes are lost.
[0048] In various embodiments, the intelligent CAN bus termination system 102 may include a processor 108 (e.g., a computer processing unit, a microprocessor) and a computer-readable memory 110 operably connected to the processor 108. The memory 110 may store computer-executable instructions that, when executed by the processor 108, may cause the processor 108 and / or other components of the intelligent CAN bus termination system 102 (e.g., a sensor component 112, a comparison component 114, a termination component 116) to perform one or more actions. In various embodiments, the memory 110 may store computer-executable components (e.g., a sensor component 112, a comparison component 114, a termination component 116), and the processor 108 may execute the computer-executable components.
[0049] In various embodiments, the smart CAN bus termination system 102 may include a sensor assembly 112. In various aspects, the sensor assembly 112 may electronically measure the impedance of the CAN bus 104. In various cases, the sensor assembly 112 may measure the impedance by implementing any suitable impedance sensor (e.g., impedance analyzer, multimeter) that can be electronically integrated with the CAN bus 104.
[0050] In various embodiments, the intelligent CAN bus termination system 102 may include a comparison component 114. In various aspects, the comparison component 114 may electronically compare the impedance measured by the sensor component 112 with any suitable threshold value to determine whether and / or how much a terminating node of the CAN bus 104 is lost. As described above, the terminating nodes of the CAN bus 104 may be connected in parallel with each other. Therefore, their respective terminating resistors may also be connected in parallel with each other. Therefore, the rules governing how parallel resistors are added together (e.g., the reciprocal of the sum of the reciprocals) may be used to determine whether and / or how much a terminating node of the CAN bus 104 is lost. More specifically, if neither of the two terminating nodes is lost, the impedance of the CAN bus 104 may be expected to be at and / or close to a first predetermined value (e.g., which may be based on the properties / characteristics of the CAN bus 104). If one of the terminating nodes is lost, the impedance of the CAN bus 104 may be expected to increase to and / or close to a second predetermined value greater than the first predetermined value (e.g., again, may be based on the properties / characteristics of the CAN bus 104). Furthermore, if both terminating nodes are lost, the impedance of the CAN bus 104 may be expected to even increase to and / or approach a third predetermined value that is greater than the second predetermined value (e.g., again, may be based on properties / characteristics of the CAN bus 104). Thus, by comparing the impedance measured by the sensor component 112 with the second predetermined value and / or the third predetermined value, the comparison component 114 may conclude and / or determine whether and / or how many terminating nodes of the CAN bus 104 are lost (e.g., if the impedance is greater than both the third predetermined value and the second predetermined value, both terminating nodes are lost; if the impedance is less than the third predetermined value and greater than the second predetermined value, only one terminating node is lost; and if the impedance is less than both the third predetermined value and the second predetermined value, no terminating node is lost).
[0051] In various embodiments, the intelligent CAN bus termination system 102 may include a termination component 116. In various aspects, based on the conclusion / determination generated by the comparison component 114, the termination component 116 can electronically send a control signal to one or more of the group of nodes 106. For example, if the comparison component 114 determines that both of the termination nodes of the CAN bus 104 are lost, the termination component 116 can identify two remaining nodes in the group of nodes 106 that are not lost and / or are adjacent to the two lost termination nodes, respectively. Therefore, the termination component can send a control signal to the switchable termination resistors of the two remaining nodes, thereby converting the two remaining nodes from a non-terminated state to a terminated state. As another example, if the comparison component 114 determines that only one termination node of the CAN bus 104 is lost, the termination component 116 can identify one remaining node in the group of nodes 106 that is not lost and / or adjacent to the lost termination node. Therefore, the termination component can send a control signal to the switchable termination resistor of the one remaining node, thereby converting the one remaining node from a non-terminated state to a terminated state. In any case, based on how many terminated nodes are missing as determined by the comparison component 114, the termination component 116 can cause a corresponding number of remaining nodes in the set of nodes 106 to enter a terminated state so that the CAN bus 104 is properly terminated.
[0052] Figure 2 A block diagram 200 of an example non-limiting smart CAN bus according to one or more embodiments described herein is shown. In other words, Figure 2 An example and non-limiting embodiment of a CAN bus 104 is depicted.
[0053] As shown, the CAN bus 104 may include high voltage lines 202 and / or low voltage lines 204, which may be considered to collectively form a path defining the CAN bus 104. Note that although Figure 2 Such paths are depicted as straight and / or linear (e.g., from Figure 2 Left side until Figure 2to the right side of), but this is merely a non - limiting example. In various cases, the CAN bus 104 can be shaped and / or arranged in any suitable manner. In various cases, as shown, each of the set of nodes 106 can be coupled to the high - voltage line 202 and / or the low - voltage line 204. As described above, the set of nodes 106 can include n nodes, for any suitable positive integer n. That is, the set of nodes 106 can include nodes 1 to node n. As shown, node 1 can be positioned at and / or located at a physical endpoint of the CAN bus 104 (e.g., at the left - hand endpoint of the path formed by the CAN bus 104). Also as shown, node n can be positioned at and / or located at another physical endpoint of the CAN bus 104 (e.g., at the right - hand endpoint of the path formed by the CAN bus 104). In various cases, for any suitable positive integer 1 < j < n, node j can represent an intermediate node positioned at and / or located at a corresponding point between node 1 and node n
[0054] In various aspects, each node in a set of nodes 106 can be coupled in parallel with a corresponding switchable termination resistor, where each switchable termination resistor includes any suitable number of resistors and / or any suitable number of electrical switches.
[0055] For example, as shown, resistor 206(1) and electrical switch 208(1) can be considered together as the switchable termination resistor for node 1. In fact, as shown, resistor 206(1) and electrical switch 208(1) can form a series connection that couples the high - voltage line 202 to the low - voltage line 204, and this series connection is in parallel with node 1. In various aspects, if electrical switch 208(1) is open, current from the high - voltage line 202 and / or the low - voltage line 204 may not flow through resistor 206(1). In this case, the switchable termination resistor formed by resistor 206(1) and electrical switch 208(1) can be considered electrically inactive, and node 1 can thus be considered to be in a non - terminated state. In other words, if electrical switch 208(1) is open, resistor 206(1) may not apply a termination resistor to node 1 (e.g., in parallel with node 1). On the other hand, if electrical switch 208(1) is closed, current from the high - voltage line 202 and / or the low - voltage line 204 can flow through resistor 206(1). In this case, the switchable termination resistor formed by resistor 206(1) and electrical switch 208(1) can be considered electrically active, and node 1 can thus be considered to be in a terminated state. In other words, if electrical switch 208(1) is closed, resistor 206(1) can apply a termination resistor to node 1 (e.g., in parallel with node 1).
[0056] As another example, as shown, resistor 206 (J) and electrical switch 208 (J) can be considered as a switchable terminating resistor of node j. In fact, as shown, resistor 206 (J) and electrical switch 208 (J) can form a series connection that couples high voltage line 202 to low voltage line 204, which is connected in parallel with node j. In various aspects, if electrical switch 208 (J) is turned on, the current from high voltage line 202 and / or low voltage line 204 may not flow through resistor 206 (J). In this case, the switchable terminating resistor formed by resistor 206 (J) and electrical switch 208 (J) can be considered as electrically inactive, and node j can therefore be considered to be in a non-terminating state. That is, if electrical switch 208 (J) is turned on, resistor 206 (J) may not be able to apply a terminating resistor to node j (e.g., in parallel with node j). On the other hand, if the electrical switch 208(J) is closed, current from the high voltage line 202 and / or the low voltage line 204 may flow through the resistor 206(J). In this case, the switchable terminating resistor formed by the resistor 206(J) and the electrical switch 208(J) may be considered to be electrically active, and the node j may therefore be considered to be in a terminated state. That is, if the electrical switch 208(J) is closed, the resistor 206(J) may apply a terminating resistance to the node j (e.g., in parallel with the node j).
[0057] Likewise, as shown, resistor 206 (n) and electrical switch 208 (n) may be considered together as a switchable terminating resistor of node n. In fact, as shown, resistor 206 (n) and electrical switch 208 (n) may form a series connection that couples high voltage line 202 to low voltage line 204, which is connected in parallel with node n. In various aspects, if electrical switch 208 (n) is turned on, the current from high voltage line 202 and / or low voltage line 204 may not flow through resistor 206 (n). In this case, the switchable terminating resistor formed by resistor 206 (n) and electrical switch 208 (n) may be considered to be electrically inactive, and node n may therefore be considered to be in a non-terminating state. That is, if electrical switch 208 (n) is turned on, resistor 206 (n) may not be able to apply a terminating resistor (e.g., in parallel with node n) to node n. On the other hand, if the electrical switch 208(n) is closed, current from the high voltage line 202 and / or the low voltage line 204 may flow through the resistor 206(n). In this case, the switchable terminating resistor formed by the resistor 206(n) and the electrical switch 208(n) may be considered to be electrically active, and the node n may therefore be considered to be in a terminated state. That is, if the electrical switch 208(n) is closed, the resistor 206(n) may apply a terminating resistance to the node n (e.g., in parallel with the node n).
[0058] Those of ordinary skill in the art will appreciate that the characteristics and / or properties of such a switchable terminating resistor may be configured and / or set in any suitable manner as desired. For example, the resistance value of such a switchable terminating resistor may be any suitable value desired (e.g., the terminating resistance of one node may be equal to and / or different from the terminating resistance of any other node).
[0059] In addition, one of ordinary skill in the art will appreciate that the switchable terminating resistor may be constructed using any suitable number of resistors and / or any suitable number of electrical switches configured and / or arranged in any suitable manner and / or pattern. As an example, for ease of illustration, resistor 206(1) is shown as a single resistor; however, resistor 206(1) may be an equivalent resistance formed by any suitable number of parallel and / or series resistors (and / or other circuit elements) as desired. Similarly, for ease of illustration, resistor 206(J) is shown as a single resistor; however, resistor 206(J) may be an equivalent resistance formed by any suitable number of parallel and / or series resistors (and / or other circuit elements) as desired. Similarly, for ease of illustration, resistor 206(n) is shown as a single resistor; however, resistor 206(n) may be an equivalent resistance formed by any suitable number of parallel and / or series resistors (and / or other circuit elements) as desired.
[0060] In any case, each of the set of nodes 106 may be connected in parallel with a corresponding switchable terminating resistor so that each node may be converted from a non-terminated state to a terminated state, and / or vice versa, as desired. Because node 1 and node n may be located at the physical endpoints of the CAN bus 104, node 1 and node n may initially be placed in a terminated state, while the rest of the set of nodes 106 may initially be placed in a non-terminated state.
[0061] Figure 3 A block diagram of an example non-limiting system 300 that can facilitate smart CAN termination according to one or more embodiments described herein is shown, the system including an impedance sensor and an impedance. As shown, in some cases, the system 300 can include the same components as the system 100, and can further include an impedance sensor 302 and / or an impedance 304.
[0062] In various aspects, the sensor assembly 112 may include an impedance sensor 302. In various aspects, the impedance sensor 302 may be any suitable device capable of being electrically integrated with the CAN bus 104 so as to measure and / or otherwise quantify the impedance 304 of the CAN bus 104. In various aspects, the impedance 304 may be the impedance level exhibited by the CAN bus 104 at any given time (e.g., the impedance level exhibited between the high voltage line 202 and / or the low voltage line 204). In various other aspects, the impedance 304 may be the average impedance level exhibited by the CAN bus 104 over any given time interval. In any case, the impedance 304 may be exhibited by the CAN bus 104, and the impedance sensor 302 may measure and / or detect the impedance 304 by any suitable digital and / or analog technology. As a non-limiting example, the impedance sensor 302 may be any suitable impedance analyzer and / or multimeter. As another non-limiting example, the impedance sensor 302 may be any suitable combination of circuits (e.g., differential amplifiers, buffer amplifiers, divider circuits, low-pass and / or high-pass filters, comparators) that can be configured to measure electrical impedance.
[0063] Figure 4 A block diagram of an example non-limiting system 400 that can facilitate intelligent CAN termination according to one or more embodiments described herein is shown, the system including a single loss threshold and a double loss threshold. As shown, in some cases, the system 400 can include the same components as the system 300, and can further include a single loss threshold 402 and / or a double loss threshold 404.
[0064] In various embodiments, the comparison component 114 may have any suitable form of electronic access to the single-loss threshold 402 and / or the double-loss threshold 404. In various aspects, the single-loss threshold 402 may be any suitable impedance value that represents a minimum impedance level that the CAN bus 104 may exhibit and / or may be expected to exhibit when only one of the terminating nodes of the CAN bus 104 is lost. One of ordinary skill in the art will appreciate that the magnitude of the single-loss threshold 402 may depend on electrical properties and / or characteristics of the CAN bus 104 (e.g., may depend on the terminating resistance implemented in the CAN bus 104, may depend on the number of nodes in the set of nodes 106, may depend on any other circuits and / or loads associated with the CAN bus 104). Thus, one of ordinary skill in the art will appreciate that in various cases, the single-loss threshold 402 may be determined experimentally and / or analytically based on the CAN bus 104.
[0065] Similarly, in various aspects, the double loss threshold 404 can be any suitable impedance value that represents a minimum impedance level that the CAN bus 104 can exhibit and / or can be expected to exhibit when both terminating nodes of the CAN bus 104 are lost. One of ordinary skill in the art will appreciate that the magnitude of the double loss threshold 404 can depend on electrical properties and / or characteristics of the CAN bus 104 (e.g., can depend on the terminating resistance implemented in the CAN bus 104, can depend on the number of nodes in the set of nodes 106, can depend on any other circuits and / or loads associated with the CAN bus 104). Therefore, one of ordinary skill in the art will appreciate that in various cases, the double loss threshold 404 can be determined based on the CAN bus 104 through experimentation and / or analysis.
[0066] In various cases, the double loss threshold 404 may be greater than the single loss threshold 402 due to rules governing how parallel resistances add together.
[0067] In various aspects, the comparison component 114 can compare the impedance 304 to the single loss threshold 402 and / or the double loss threshold 404 to determine and / or determine whether and / or how many terminating nodes of the CAN bus 104 are lost. More specifically, in various cases, the comparison component 114 can compare the impedance 304 to the double loss threshold 404. If the comparison component 114 determines that the impedance 304 is greater than the double loss threshold 404, the comparison component 114 can determine that the CAN bus 104 has lost both of its terminating nodes. On the other hand, if the comparison component 114 determines that the impedance 304 is not greater than the double loss threshold 404, the comparison component 114 can compare the impedance 304 to the single loss threshold 402. If the comparison component 114 determines that the impedance 304 is greater than the single loss threshold 402, the comparison component 114 can determine that the CAN bus 104 has lost only one of its terminating nodes. On the other hand, if the comparison component 114 determines that the impedance 304 is not greater than the single-loss threshold 402, the comparison component 114 may conclude that the CAN bus 104 has not lost any of its terminating nodes.
[0068] In other words, in various cases, the comparison component 114 can make the following determinations. If the impedance 304 is less than the single-loss threshold 402 and the double-loss threshold 404, it can be inferred that neither of the terminating nodes is lost. If the impedance 304 is greater than the single-loss threshold 402 but less than the double-loss threshold 404, it can be inferred that one of the terminating nodes is lost. If the impedance 304 is greater than both the single-loss threshold 402 and the double-loss threshold 404, it can be inferred that both terminating nodes are lost.
[0069] Figure 5A block diagram of an example non-limiting system 500 that can facilitate intelligent CAN termination according to one or more embodiments described herein, including a termination activation signal, is shown. As shown, in some cases, the system 500 can include the same components as the system 400, and can further include a set of termination control signals 502.
[0070] In various embodiments, based on the conclusion / determination of the comparison component 114 , the termination component 116 may electronically send the set of termination control signals 502 to one or more nodes in the set of nodes 106 .
[0071] For example, assume that the comparison component 114 determines that both termination nodes of the CAN bus 104 are lost. That is, node 1 and node n may be lost. In this case, the termination component 116 can identify two remaining nodes in the group of nodes 106 that are respectively adjacent to the two lost termination nodes. Here, node 1 can be the lost termination node, and node 2 (not shown) can be the remaining node adjacent to node 1. Similarly, node n can be the lost termination node, and node n-1 (not shown) can be the remaining node adjacent to node n. Therefore, the termination component 116 can convert node 2 and node n-1 from a non-terminated state to a terminated state. That is, the switchable termination resistor of node 2 can be electrically inactive, and the termination component 116 can send a first termination control signal to the switchable termination resistor of node 2, thereby causing the switchable termination resistor of node 2 to become electrically active. Similarly, the switchable terminating resistor of node n-1 can be electrically inactive, and the terminating component 116 can send a second terminating control signal to the switchable terminating resistor of node n-1, thereby causing the switchable terminating resistor of node n-1 to become electrically active. In this case, the first terminating control signal and the second terminating control signal can be considered as the group of terminating control signals 502.
[0072] Thus, in this non-limiting example, Node 1 and Node n are the initial two termination nodes of the CAN bus 104, the CAN bus 104 loses connection with Node 1 and Node n, and the termination component 116 converts Node 2 and Node n-1 to a termination state. In other words, Node 2 can be considered as a new termination node that functionally replaces the lost termination Node 1, and Node n-1 can be considered as a new termination node that functionally replaces the lost termination Node n.
[0073] As another example, assume that the comparison component 114 determines that only one terminal node of the CAN bus 104 is lost. For the purpose of this non-limiting example, assume that node n is lost and node 1 is not lost. In this case, the terminal component 116 can identify which of the two terminal nodes is lost. For example, the terminal component 116 can attempt to communicate with two terminal nodes, and the terminal component 116 can determine that any terminal node fails to respond correctly to such attempted communication and is lost. Here, the terminal component 116 can request a specific type of response from node 1 and node n. Because node 1 is not lost, node 1 can respond to the request correctly. However, since node n is lost, node n may not respond to the request correctly. Since node n fails to respond correctly, the terminal component 116 can determine that node n is lost. Once the lost terminal node is identified, the terminal component 116 can identify a remaining node in a group of nodes 106 that is adjacent to the lost terminal node. Here, node n can be the lost terminal node, and node n-1 (not shown) can be the remaining node adjacent to node n. Thus, the termination component 116 may convert the node n-1 from a non-terminated state to a terminated state. That is, the switchable terminating resistor of the node n-1 may be electrically inactive, and the termination component 116 may send a termination control signal to the switchable terminating resistor of the node n-1, thereby causing the switchable terminating resistor of the node n-1 to become electrically active. In this case, the termination control signal may be considered as the group of termination control signals 502 (e.g., a group may include one or more).
[0074] Thus, in this non-limiting example, Node 1 and Node n are the initial two terminating nodes of the CAN bus 104, the CAN bus 104 loses connection with Node n, and the terminating component 116 converts Node n-1 to a terminating state. In other words, Node n-1 can be considered a new terminating node that functionally replaces the lost terminating Node n. Thus, in this non-limiting example, the terminating nodes of the CAN bus 104 can now be Node 1 and Node n-1.
[0075] As another example, assume that the comparison component 114 determines that only one terminal node of the CAN bus 104 is lost, and assume that node 1 is lost, while node n is not lost. In this case, the terminal component 116 can identify which of the two terminal nodes is lost. Again, this can be facilitated by attempting to communicate with the two terminal nodes and identifying any terminal node that fails to properly respond to such attempted communication as lost. Here, the terminal component 116 can request a specific type of response from both node 1 and node n. Because node n is not lost, node n can respond to the request correctly. However, since node 1 is lost, node 1 may not be able to respond to the request correctly. Since node 1 fails to respond correctly, the terminal component 116 can determine that node 1 is lost. Once the lost terminal node is identified, the terminal component 116 can identify a remaining node in a group of nodes 106 that is adjacent to the lost terminal node. Here, node 1 can be the lost terminal node, and node 2 (not shown) can be the remaining node adjacent to node 1. Therefore, the terminal component 116 can convert node 2 from a non-terminated state to a terminated state. That is, the switchable terminating resistor of node 2 may be electrically inactive, and the terminating component 116 may send a termination control signal to the switchable terminating resistor of node 2, thereby causing the switchable terminating resistor of node 2 to become electrically active. In this case, the termination control signal may be considered as the group of termination control signals 502 (e.g., a group may include one or more).
[0076] Thus, in this non-limiting example, Node 1 and Node n are the initial two terminated nodes of the CAN bus 104, the CAN bus 104 loses connection with Node 1, and the termination component 116 converts Node 2 to a terminated state. In other words, Node 2 can be considered a new terminated node that functionally replaces the lost terminated Node 1. Thus, in this non-limiting example, the terminated nodes of the CAN bus 104 can now be Node 2 and Node n.
[0077] In various embodiments, the sensor component 112, the comparison component 114 and / or the termination component 116 may repeat their above-described functions at any suitable intervals (e.g., the sensor component 112 may periodically measure the impedance of the CAN bus 104; each time the sensor component 112 measures the impedance, the comparison component 114 may determine based on the impedance whether a termination node is lost and / or how much is lost; each time the comparison component 114 generates a determination as to whether a termination node is lost and / or how much is lost, the termination component may appropriately convert a non-termination node into a termination node).
[0078] Figure 6A flow chart is shown of an example non-limiting computer-implemented method 600 that may facilitate smart CAN termination according to one or more embodiments described herein. In various cases, the smart CAN bus termination system 102 may facilitate the computer-implemented method 600 .
[0079] In various embodiments, act 602 may include measuring, by a device (eg, 112) operably coupled to a processor, an impedance (eg, 304) on a CAN bus having two terminated nodes (eg, Node 1 and Node n).
[0080] In various aspects, act 604 may include determining, by the device (e.g., 114), whether the measured impedance exceeds a double loss threshold (e.g., 404). In other words, the device may determine whether both terminating nodes of the CAN bus are lost. If so, the computer-implemented method 600 may proceed to act 606. If not, the computer-implemented method 600 may proceed to act 610.
[0081] In various cases, act 606 may include identifying, by a device (eg, 116), two non-terminal nodes (eg, Node 2 and Node n-1) that are adjacent to the two lost terminal nodes, respectively.
[0082] In various cases, act 608 may include sending, by the device (eg, 116), an activation signal (eg, 502) to the two non-terminal nodes, thereby converting them into terminating nodes. In various aspects, the computer-implemented method 600 may return to act 602.
[0083] In various cases, act 610 may include determining, by the device (e.g., 114), whether the measured impedance exceeds a single loss threshold (e.g., 402). In other words, the device may determine whether only one terminating node of the CAN bus is lost. If so, the computer-implemented method 600 may proceed to act 612. If not, the computer-implemented method 600 may return to act 602.
[0084] In various cases, action 612 may include identifying, by a device (eg, 116), non-terminal nodes adjacent to the lost terminal node (eg, if node 1 is lost, node 2 may be identified; if node n is lost, node n-1 may be identified).
[0085] In various aspects, act 614 can include sending, by the device (eg, 116), a terminating activation signal (eg, 502) to the non-terminating node, thereby converting it to a terminating node. In various circumstances, the computer-implemented method 600 can return to act 602.
[0086] As described above, each node in the set of nodes 106 may correspond to a switchable terminating resistor. One of ordinary skill in the art will appreciate that the switchable terminating resistor may include any suitable number of resistive elements arranged in any suitable manner (e.g., such resistive elements may be arranged in parallel and / or in series with each other). In addition, one of ordinary skill in the art will appreciate that the switchable terminating resistor may also include any suitable number of electrical switches coupled to such any suitable resistive elements in any suitable arrangement. Figure 7 Non-limiting examples are shown.
[0087] Figure 7 is a block diagram of an example non-limiting circuit architecture 700 that can facilitate smart CAN termination according to one or more embodiments described herein. Figure 7 Example and non-limiting embodiments of switchable terminating resistors are depicted.
[0088] In various cases, there may be a node 702 from a group of nodes 106. As shown, the node 702 may be coupled to both the high voltage line 202 and the low voltage line 204 of the CAN bus 104.
[0089] In various aspects, any suitable circuit can be implemented between the high voltage line 202 and the low voltage line 204, and connected in parallel with the node 702 to achieve any suitable level of energy absorption and / or reflection along the CAN bus 104 relative to the node 702. For example, in some cases, the electric choke 734 can be applied to the high voltage line 202 and the low voltage line 204 in parallel with the node 702. In addition, in various aspects, a pair of capacitors 724-726 can be coupled between the high voltage line 202 and the low voltage line 204 on one side of the choke 734 (e.g., on the side of the choke 734 closer to the node 702). In various cases, as shown in the figure, the interface between the pair of capacitors 724-726 can be grounded. In addition, in various cases, a pair of resistors 728-730 can be coupled between the high voltage line 202 and the low voltage line 204 on the other side of the choke 734 (e.g., on the side of the choke 734 away from the node 702). As shown, the interface between the pair of resistors 728-730 can be connected to a capacitor 732 and then grounded. In various aspects, such a circuit helps to ensure that a desired level of energy absorption and / or energy reflection occurs at the node 702 on the CAN bus 104. As will be appreciated by those of ordinary skill in the art, the properties and / or characteristics of such a circuit can be configured in any suitable manner as desired. As some non-limiting examples, the choke 734 can exhibit an inductance of 100 microhenries, the capacitors 724-726 can each exhibit a capacitance of 15 picofarads, the resistors 728-730 can each exhibit a resistance of 1.35 kilo-ohms, and / or the capacitor 732 can exhibit a capacitance of 4.7 nanofarads.
[0090] In various aspects, the switchable terminating resistor of node 702 may include resistor 704, resistor 706, electrical switch 708, electrical switch 710, capacitor 712, resistor 714, resistor 716, electrical switch 718, electrical switch 720, and capacitor 722. In practice, a first portion of the switchable terminating resistor of node 702 may include resistor 704, resistor 706, electrical switch 708, electrical switch 710, and capacitor 712. Additionally, a second portion of the switchable terminating resistor of node 702 may include resistor 714, resistor 716, electrical switch 718, electrical switch 720, and capacitor 722.
[0091] Consider the first part. As shown, low voltage line 204 can be coupled to electrical switch 708, electrical switch 708 can be coupled to resistor 704, resistor 704 can be coupled to resistor 706, resistor 706 can be coupled to electrical switch 710, and electrical switch 710 can be coupled to high voltage line 202. In addition, as shown, the interface between resistor 704 and resistor 706 can be coupled to capacitor 712, and capacitor 712 can then be coupled to ground. In addition, as shown, the first part of the switchable terminating resistor of node 702 can be located on the side closest to node 702 of choke 734. As will be understood by those of ordinary skill in the art, resistor 704, resistor 706 and / or capacitor 712 can have any suitable characteristics and / or attributes as needed. As a non-limiting example, resistor 704 and resistor 706 can each exhibit a resistance of 68 ohms, and / or capacitor 712 can exhibit a capacitance of 4.7 nanofarads.
[0092] Now, consider the second part. As shown in the figure, low voltage line 204 can be coupled to electrical switch 718, electrical switch 718 can be coupled to resistor 714, resistor 714 can be coupled to resistor 716, resistor 716 can be coupled to electrical switch 720, and electrical switch 720 can be coupled to high voltage line 202. In addition, as shown in the figure, the interface between resistor 714 and resistor 716 can be coupled to capacitor 722, and capacitor 722 can then be coupled to ground. As shown in the figure, the second part of the switchable terminating resistor of node 702 can be located on the side farthest from node 702 of choke 734. As will be understood by those of ordinary skill in the art, resistor 714, resistor 716 and / or capacitor 722 can have any suitable characteristics and / or attributes as needed. As a non-limiting example, resistor 714 and resistor 716 can each show a resistance of 685 ohms, and / or capacitor 722 can show a capacitance of 4.7 nanofarads.
[0093] As will be appreciated by one of ordinary skill in the art, when electrical switches 708, 710, 718, and 720 are all open, the switchable terminating resistor of node 702 may be considered to be electrically inactive. In this case, node 702 may be considered to be in a non-terminated state. On the other hand, when electrical switches 708, 710, 718, and 720 are all closed, the switchable terminating resistor of node 702 may be considered to be electrically active. In this case, node 702 may be considered to be in a terminated state. Thus, by closing (and / or opening) electrical switches 708, 710, 718, and 720, node 702 may be converted from a non-terminated state to a terminated state (and / or vice versa). Although Figure 7 10, 718, and 720. Although not explicitly shown in the drawings, it will be understood by those skilled in the art that the termination component 116 can be coupled to the electrical switches 708, 710, 718, and 720 via any suitable control logic circuit and / or control logic wiring. In other words, the termination component 116 can send the set of termination control signals 502 to the electrical switches 708, 710, 718, and 720 via such control logic circuit and / or wiring, so that the termination component 116 can controllably open and / or close the electrical switches 708, 710, 718, and 720.
[0094] Figure 8 A flow chart is shown of an example non-limiting computer-implemented method 800 that can facilitate smart CAN termination according to one or more embodiments described herein. In various cases, the smart CAN bus termination system 102 can facilitate the computer-implemented method 800 .
[0095] In various embodiments, act 802 may include measuring, by a device (eg, 112 ) operably coupled to a processor, an impedance (eg, 304 ) of a controller area network (CAN) bus (eg, 104 ).
[0096] In various aspects, act 804 can include transitioning, by a device (eg, 116 ), at least one node (eg, one of 106 ) from a non-terminated state to a terminated state based on impedance.
[0097] Although not in Figure 8 , but at least one node of the CAN bus may be associated with a switchable terminating resistor (e.g., collectively referred to as 704, 706, 708, 710, 712, 714, 716, 718, 720, and 722) having one or more switches (e.g., 708, 710, 718, and 720), wherein when the one or more switches are open, the at least one node is in a non-terminated state, and wherein when the one or more switches are closed, the at least one node is in a terminated state.
[0098] although Figure 8 Not explicitly shown, converting at least one node from a non-terminated state to a terminated state may include: a device (e.g., 116) sending a control signal (e.g., 502) to one or more switches, which may cause the one or more switches to close.
[0099] Although Figure 8 Not explicitly shown, but the CAN bus may include a high voltage line (e.g., 202) and a low voltage line (e.g., 204), and the switchable terminating resistor may include: a choke (e.g., 734) applied to the high voltage line and the low voltage line; a first pair of resistors (e.g., 704 and 706) connected in series with a first pair of switches (e.g., 708 and 710) on a first side of the choke, wherein when the first pair of switches is closed, the first pair of resistors in series with the first pair of switches couples the high voltage line to the low voltage line; and a second pair of resistors (e.g., 714 and 716) connected in series with a second pair of switches (e.g., 718 and 720) on a second side of the choke, wherein when the second pair of switches is closed, the second pair of resistors in series with the second pair of switches couples the high voltage line to the low voltage line.
[0100] although Figure 8 Not explicitly shown, but the computer-implemented method 800 may further include: comparing, by a device (e.g., 114), the impedance to a first threshold (e.g., 402), wherein converting at least one node includes converting, by a device (e.g., 116), one of the at least one nodes from a non-terminated state to a terminated state based on the comparison indicating that the impedance exceeds the first threshold.
[0101] although Figure 8 Not explicitly shown, but the computer-implemented method 800 may further include: comparing, by a device (e.g., 114), the impedance to a second threshold (e.g., 404) that is higher than the first threshold, wherein converting at least one node includes converting, by a device (e.g., 116), two of the at least one node from a non-terminated state to a terminated state based on the comparison indicating that the impedance exceeds the second threshold.
[0102] Although Figure 8 It is not explicitly shown, but the CAN bus may be a Controller Area Network Flexible Data-rate (CAN-FD) bus.
[0103] Various embodiments of the present invention constitute a computerized tool that can electronically monitor the impedance of a CAN bus; it can electronically determine whether a terminating node of the CAN bus is lost and / or how much is lost based on the impedance; and / or it can electronically convert one or more remaining nodes of the CAN bus from a non-terminated state to a terminated state in order to replace the lost terminating node. Therefore, the computerized tool can reduce the amount of time that the CAN bus is not properly terminated and therefore experiences performance degradation. In fact, experimental simulations performed by the inventors of various embodiments of the present invention have verified that the computerized tool described herein can restore the signal quality and / or electromagnetic compatibility of the CAN bus when one or more terminating nodes of the CAN bus are lost. Therefore, the computerized tool described herein can be considered a specific and tangible technical improvement in the field of controller area networks.
[0104] It will be appreciated by those skilled in the art that non-limiting examples of various embodiments of the present invention are disclosed herein. For ease of description and / or explanation, the various portions disclosed herein use the term "each" when discussing various embodiments of the present invention. It will be appreciated by those skilled in the art that this usage of the term "each" is a non-limiting example. In other words, when the present invention discloses a description of "each" applied to a particular computerized object and / or component, it should be understood that this is a non-limiting example of various embodiments of the present invention, and it should be further understood that in various other embodiments of the present invention, it may be the case that such description applies to less than "each" of the particular computerized object.
[0105] In order to provide additional context for the various embodiments described herein, Fig. 9 The following discussion is intended to provide a brief overview of a suitable computing environment 900 in which various embodiments described herein may be implemented. Although the embodiments have been described above in the general context of computer-executable instructions that may be executed on one or more computers, those skilled in the art will recognize that the embodiments may also be implemented in combination with other program modules and / or as a combination of hardware and software.
[0106] Generally, program modules include routines, programs, components, data structures, etc. that perform specific tasks or implement specific abstract data types. In addition, those skilled in the art will appreciate that the methods of the present invention can be practiced with other computer system configurations, including single-processor or multi-processor computer systems, minicomputers, mainframe computers, Internet of Things (IoT) devices, distributed computing systems, as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, etc., each of which can be operably coupled to one or more associated devices.
[0107] The illustrated embodiments of the embodiments herein may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
[0108] Computing devices typically include various media, which may include computer-readable storage media, machine-readable storage media, and / or communication media, which terms are used differently in this article as shown below. Computer-readable storage media or machine-readable storage media can be any available storage media that can be accessed by a computer, and include volatile and non-volatile media, removable and non-removable media. By way of example and not limitation, computer-readable storage media or machine-readable storage media can be implemented in conjunction with any method or technology for storing information such as computer-readable or machine-readable instructions, program modules, structured data, or unstructured data.
[0109] Computer-readable storage media may include, but are not limited to, random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other storage technology, compact disk read-only memory (CD ROM), digital versatile disk (DVD), Blu-ray disk (BD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, solid-state drives or other solid-state storage devices, or other tangible and / or non-transitory media that can be used to store the desired information. In this regard, the terms "tangible" or "non-transitory" are used herein to apply to storage, memory, or computer-readable media, which are understood to exclude only the propagation of transitory signals themselves as modifiers, and do not disclaim the right to all standard storage, memory, or computer-readable media that propagate more than transitory signals themselves.
[0110] Computer-readable storage media may be accessed by one or more local or remote computing devices (eg, via access requests, queries, or other data retrieval protocols) to perform various operations associated with the information stored by the media.
[0111] Communication media typically embodies computer readable instructions, data structures, program modules, or other structured or unstructured data in a data signal (e.g., a modulated data signal, such as a carrier wave or other transport mechanism), and includes any information delivery or transmission media. The term "modulated data signal" or signal refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in one or more signals. By way of example, and not limitation, communication media include wired media (e.g., a wired network or direct-wired connection), and wireless media (e.g., acoustic, RF, infrared, and other wireless media).
[0112] Reference again Fig. 9 , an example environment 900 for implementing various embodiments of various aspects described herein includes a computer 902, which includes a processing unit 904, a system memory 906, and a system bus 908. The system bus 908 couples system components including, but not limited to, the system memory 906 to the processing unit 904. The processing unit 904 can be any of a variety of commercially available processors. Dual microprocessors and other multi-processor architectures can also be used as the processing unit 904.
[0113] The system bus 908 may be any of a variety of types of bus structures that may further interconnect to memory buses (with or without memory controllers), peripheral buses, and local buses using any of a variety of commercially available bus architectures. The system memory 906 includes ROM 910 and RAM 912. A basic input / output system (BIOS) containing the basic routines that help transfer information between elements within the computer 902, such as during startup, may be stored in a nonvolatile memory such as ROM, an erasable programmable read-only memory (EPROM), or EEPROM. RAM 912 may also include high-speed RAM, such as static RAM for caching data.
[0114] The computer 902 also includes an internal hard disk drive (HDD) 914 (e.g., EIDE, SATA), one or more external storage devices 916 (e.g., a magnetic floppy disk drive (FDD) 916, a memory stick or flash drive reader, a memory card reader, etc.), and a drive 920 (e.g., a solid-state drive, an optical drive (e.g., which can read or write from a disk 922 such as a CD-ROM disk, a DVD, a BD, etc.)). Alternatively, in the case of a solid-state drive, the disk 922 will not be included unless it is separate. Although the internal HDD 914 is shown as being located within the computer 902, the internal HDD 914 can also be configured for external use in a suitable chassis (not shown). In addition, although not shown in the environment 900, a solid-state drive (SSD) can be used in addition to the HDD 914, or in place of the HDD 914. The HDD 914, (multiple) external storage devices 916, and the drive 920 can be connected to the system bus 908 via an HDD interface 924, an external storage interface 926, and a drive interface 928, respectively. The interface 924 for external drive implementations may include at least one or both of Universal Serial Bus (USB) and Institute of Electrical and Electronics Engineers (IEEE) 1794 interface technologies. Other external drive connection technologies are also contemplated within the scope of the embodiments described herein.
[0115] The drives and their associated computer-readable storage media provide non-volatile storage of data, data structures, computer-executable instructions, etc. For the computer 902, the drives and storage media accommodate the storage of any data in a suitable digital format. Although the above description of computer-readable storage media refers to various types of storage devices, it should be understood by those skilled in the art that other types of computer-readable storage media, whether currently existing or developed in the future, may also be used in the example operating environment, and further, any such storage media may contain computer-executable instructions for performing the methods described herein.
[0116] A number of program modules may be stored in the drives and RAM 912, including an operating system 930, one or more application programs 932, other program modules 934, and program data 936. All or portions of the operating system, applications, modules, and / or data may also be cached in RAM 912. The systems and methods described herein may be implemented using various commercially available operating systems or combinations of operating systems.
[0117] Computer 902 may optionally include emulation technology. For example, a hypervisor (not shown) or other intermediary may emulate the hardware environment of operating system 930, and the emulated hardware may optionally be different from the hardware of the operating system 930. Fig. 9 The hardware shown. In such an embodiment, the operating system 930 may include one of multiple virtual machines (VMs) hosted on the computer 902. In addition, the operating system 930 may provide a runtime environment for the application 932, such as a Java runtime environment or a .NET framework. The runtime environment is a consistent execution environment that allows the application 932 to run on any operating system that includes a runtime environment. Similarly, the operating system 930 may support containers, and the application 932 may be in the form of a container, which is a lightweight, independent, executable software package that includes, for example, code, runtime, system tools, system libraries, and settings for the application.
[0118] In addition, the computer 902 can enable a security module, such as a trusted processing module (TPM). For example, using a TPM, the boot component hashes the next boot component by time and waits for the result to match the security value before loading the next boot component. This process can occur at any layer in the code execution stack of the computer 902 (e.g., applied at the application execution level or the operating system (OS) kernel level), thereby achieving security at any code execution level.
[0119] A user may enter commands and information into the computer 902 through one or more wired / wireless input devices, such as a keyboard 938, a touch screen 940, and a pointing device such as a mouse 942. Other input devices (not shown) may include a microphone, an infrared (IR) remote control, a radio frequency (RF) remote control or other remote control, a joystick, a virtual reality controller and / or a virtual reality headset, a game controller, a stylus, an image input device (e.g., camera(s)), a gesture sensor input device, a visual motion sensor input device, an emotion or facial detection device, a biometric input device (e.g., a fingerprint or iris scanner), and the like. These and other input devices are typically connected to the processing unit 904 through an input device interface 944, which may be coupled to the system bus 908, but may also be connected through other interfaces (e.g., a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR port, a fingerprint scanner ... interface, etc.) connection.
[0120] A monitor 946 or other type of display device may also be connected to the system bus 908 via an interface, such as a video adapter 948. In addition to the monitor 946, computers typically include other peripheral output devices (not shown), such as speakers, printers, and the like.
[0121] The computer 902 can operate in a network environment using logical connections via wired and / or wireless communications to one or more remote computers, such as (multiple) remote computers 950. The (multiple) remote computers 950 can be workstations, server computers, routers, personal computers, portable computers, microprocessor-based entertainment devices, peer devices, or other common network nodes, and typically include many or all of the elements described with respect to the computer 902, although only a memory / storage device 952 is shown for simplicity. The depicted logical connections include wired / wireless connections to a local area network (LAN) 954 and / or a larger network, such as a wide area network (WAN) 956. Such LAN and WAN networking environments are common in offices and companies and facilitate enterprise-wide computer networks (e.g., intranets), all of which can be connected to a global communication network, such as the Internet.
[0122] When used in a LAN networking environment, the computer 902 can be connected to the local area network 954 through a wired and / or wireless communication network interface or adapter 958. The adapter 958 can facilitate wired or wireless communication to the LAN 954, which can also include a wireless access point (AP) disposed thereon for communicating with the adapter 958 in a wireless mode.
[0123] When used in a WAN networking environment, the computer 902 may include a modem 960, or may be connected to a communication server on the WAN 956 by other means for establishing communications on the WAN 956, such as through the Internet. The modem 960 may be internal or external and a wired or wireless device, which may be connected to the system bus 908 via the input device interface 944. In a networked environment, program modules depicted relative to the computer 902, or portions thereof, may be stored in the remote memory / storage device 952. It will be appreciated that the network connections shown are examples and other means of establishing a communications link between the computers may be used.
[0124] When used in a LAN or WAN networking environment, the computer 902 may access a cloud storage system or other network-based storage system in addition to or in lieu of the external storage devices 916 described above (such as, but not limited to, a network virtual machine that provides one or more aspects of storage or processing of information). Typically, the connection between the computer 902 and the cloud storage system may be established via a LAN 954 or WAN 956 (e.g., via an adapter 958 or a modem 960, respectively). When the computer 902 is connected to the associated cloud storage system, the external storage interface 926 may manage the storage provided by the cloud storage system with the aid of the adapter 958 and / or the modem 960, just as it manages other types of external storage. For example, the external storage interface 926 may be configured to provide access to cloud storage sources as if those sources were physically connected to the computer 902.
[0125] Computer 902 can be used to communicate with any wireless device or entity that is operably configured for wireless communication, such as printers, scanners, desktop and / or portable computers, portable data assistants, communication satellites, any equipment or location associated with a wirelessly detectable tag (e.g., kiosks, newsstands, shelves, etc.), and telephones. This can include Wireless Fidelity (Wi-Fi) and Wireless technology. Therefore, the communication can be a predefined structure like traditional networks, or just an ad hoc communication between at least two devices.
[0126] Reference now Fig.10, depicts an exemplary cloud computing environment 1000. As shown, cloud computing environment 1000 includes one or more cloud computing nodes 1002 with which local computing devices used by cloud consumers (e.g., personal digital assistants (PDAs) or cellular phones 1004, desktop computers 1006, laptop computers 1008, and / or automotive computer systems 1010) can communicate. Nodes 1002 can communicate with each other. They can be grouped physically or virtually in one or more networks (not shown), such as private clouds, community clouds, public clouds, or hybrid clouds, or combinations thereof, as described above. This allows cloud computing environment 1000 to provide infrastructure, platforms, and / or software as services without the need for cloud consumers to maintain resources on local computing devices. It should be understood that Fig.10 The types of computing devices 1004-1010 shown in are intended to be illustrative only, and computing node 1002 and cloud computing environment 1000 may communicate with any type of computerized device over any type of network and / or network addressable connection (eg, using a web browser).
[0127] Reference now Fig.11 , showing a cloud computing environment 1000 ( Fig.10 ) provides a set of functional abstraction layers. For the sake of brevity, repeated descriptions of similar elements used in other embodiments described herein are omitted. It should be understood in advance that Fig.11 The components, layers, and functions shown in are intended to be illustrative only, and embodiments of the present invention are not limited thereto. As depicted, the following layers and corresponding functions are provided.
[0128] The hardware and software layer 1102 includes hardware and software components. Examples of hardware components include: mainframes 1104; servers based on RISC (Reduced Instruction Set Computer) architecture 1106; servers 1108; blade servers 1110; storage devices 1112; and network and networking components 1114. In some embodiments, software components include network application server software 1116 and database software 1118.
[0129] Virtualization layer 1120 provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers 1122 ; virtual storage 1124 ; virtual networks 1126 , including virtual private networks; virtual applications and operating systems 1128 ; and virtual clients 1130 .
[0130] In one example, the management layer 1132 may provide the functionality described below. Resource provisioning 1134 provides dynamic procurement of computing resources and other resources for performing tasks within a cloud computing environment. Metering and pricing 1136 provides cost tracking when using resources in a cloud computing environment, as well as billing or invoicing for consuming these resources. In one example, these resources may include application software licenses. Security provides authentication for cloud consumers and tasks and protection of data and other resources. User portal 1138 provides access to the cloud computing environment for consumers and system administrators. Service level management 1140 provides cloud computing resource allocation and management so that the required service levels are met. Service level agreement (SLA) planning and implementation 1142 provides pre-arrangement and procurement of cloud computing resources, for which future demand is anticipated based on the SLA.
[0131] The workload layer 1144 provides examples of functionality that can take advantage of a cloud computing environment. Examples of workloads and functionality that can be provided from this layer include: mapping and navigation 1146; software development and lifecycle management 1148; virtual classroom education delivery 1150; data analytics processing 1152; transaction processing 1154; and differentially private federated learning processing 1156. Various embodiments of the present invention can utilize reference Fig.10 and 11 The described cloud computing environment is used to perform one or more differentially private federated learning processes according to various embodiments described herein.
[0132] The present invention may be a system, method, apparatus and / or computer program product at any possible level of technical detail integration. The computer program product may include a computer-readable storage medium (or medium) having computer-readable program instructions thereon for causing a processor to perform various aspects of the present invention. The computer-readable storage medium may be a tangible device that can retain and store instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media may also include the following: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanical encoding device (such as a punch card or a raised structure in a groove with instructions recorded thereon), and any suitable combination of the foregoing. Computer-readable storage media as used herein should not be interpreted as transient signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals sent through wires.
[0133] The computer-readable program instructions described herein can be downloaded to the corresponding computing / processing equipment or to an external computer or external storage device from a computer-readable storage medium via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network may include copper transmission cables, optical transmission optical fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing equipment receives the computer-readable program instructions from the network, and forwards the computer-readable program instructions to be stored in the computer-readable storage medium in the corresponding computing / processing equipment. The computer-readable program instructions for performing the operation of the present invention can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcodes, firmware instructions, state setting data, configuration data of an integrated circuit, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages (such as Smalltalk, C++, etc.) and process programming languages (such as "C" programming languages or similar programming languages). The computer-readable program instructions may be executed as a separate software package entirely on the user's computer, partially on the user's computer, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuits including, for example, programmable logic circuits, field programmable gate arrays (FPGAs), or programmable logic arrays (PLAs) may execute computer-readable program instructions by personalizing the electronic circuits using the state information of the computer-readable program instructions to perform various aspects of the present invention.
[0134] Various aspects of the present invention are described herein with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to an embodiment of the present invention.It should be understood that each square frame of the flowchart and / or block diagram and the combination of the square frames in the flowchart and / or block diagram can be realized by computer-readable program instructions.These computer-readable program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices create a part for realizing the function / action specified in the flowchart and / or block diagram block or block.These computer-readable program instructions can also be stored in a computer-readable storage medium, which can indicate a computer, a programmable data processing device and / or other equipment running in a particular manner, so that the computer-readable storage medium with instructions stored therein includes a product, and the product includes instructions for realizing the various aspects of the function / action specified in the flowchart and / or block diagram block or block. Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational actions to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / actions specified in the flowchart and / or block diagram block or blocks.
[0135] The flow charts and block diagrams in the accompanying drawings illustrate the architecture, functionality and operation of possible implementations of the systems, methods and computer program products according to various embodiments of the present invention. In this regard, each box in the flow chart or block diagram may represent a module, section or part of an instruction, which includes one or more executable instructions for implementing (multiple) specified logical functions. In some alternative implementations, the functions mentioned in the box may not appear in the order mentioned in the accompanying drawings. For example, the two boxes shown in succession can actually be executed roughly at the same time, or the box can sometimes be executed in the opposite order, depending on the functionality involved. It should also be noted that each box of the block diagram and / or flow chart and the combination of the boxes in the block diagram and / or flow chart can be implemented by a dedicated hardware-based system that performs a specified function or action or executes a combination of dedicated hardware and computer instructions.
[0136] Although the subject matter has been described above in the general context of computer executable instructions of a computer program product running on (multiple) computers, those skilled in the art will recognize that the present disclosure may also or may be implemented in combination with other program modules. Typically, program modules include routines, programs, components, data structures, etc. that perform specific tasks and / or implement specific abstract data types. In addition, those skilled in the art will appreciate that the computer-implemented method of the present invention can be practiced with other computer system configurations, including single-processor or multi-processor computer systems, small computing devices, large computers and computers, handheld computing devices (e.g., PDAs, phones), microprocessor-based or programmable consumer or industrial electronic devices, etc. The aspects shown can also be practiced in a distributed computing environment, where tasks are performed by remote processing devices linked by a communication network. However, some (if not all) aspects of the present disclosure can be practiced on stand-alone computers. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.
[0137] As used in this application, the terms "component", "system", "platform", "interface", etc. may refer to and / or may include computer-related entities or entities related to an operating machine having one or more specific functions. The entities disclosed herein may be hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to, a process, a processor, an object, an executable file, a thread of execution, a program, and / or a computer running on a processor. For example, both an application running on a server and a server may be a component. One or more components may reside within a process and / or a thread of execution, and a component may be located on a computer and / or distributed between two or more computers. In another example, each component may be executed from various computer-readable media having various data structures stored thereon. Components may communicate via local and / or remote processes, such as according to signals having one or more data packets (e.g., data from a component, which interacts with another component in a local system, a distributed system, and / or interacts with other systems via a network such as the Internet). As another example, a component may be a device having a specific function provided by a mechanical part operated by an electrical or electronic circuit, which is operated by a software or firmware application executed by a processor. In this case, the processor may be internal or external to the device and may execute at least a portion of a software or firmware application. As yet another example, a component may be a device that provides a specific functionality through an electronic component without mechanical parts, where the electronic component may include a processor or other component that executes software or firmware that at least partially imparts the functionality of the electronic component. In one aspect, the component may emulate the electronic component via a virtual machine (e.g., within a cloud computing system).
[0138] In addition, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". That is, unless otherwise specified or clear from the context, "X uses A or B" is intended to mean any natural inclusive arrangement. That is, if X uses A; X uses B; or X uses both A and B, then "X uses A or B" is satisfied in any of the foregoing cases. In addition, the articles "a" and "an" used in the subject specification and drawings should generally be interpreted as meaning "one or more" unless otherwise specified or clear from the context to the singular form. As used herein, the terms "example" and / or "exemplary" are used to mean used as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited to these examples. In addition, any aspect or design described herein as "example" and / or "exemplary" is not necessarily to be construed as being preferred or advantageous over other aspects or designs, nor is it meant to exclude equivalent exemplary structures and techniques known to those of ordinary skill in the art.
[0139] When used in this specification, the term "processor" may refer to substantially any computing processing unit or device, including but not limited to a single-core processor, a single processor with software multithreaded execution capability, a multi-core processor, a multi-core processor with software multithreaded execution capability, a multi-core processor with hardware multithreading technology, a parallel platform, and a parallel platform with distributed shared memory. In addition, a processor may refer to an integrated circuit, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), a discrete gate or transistor logic, a discrete hardware component, or any combination thereof designed to perform the functions described herein. In addition, the processor may utilize a nanoscale architecture, such as, but not limited to, transistors, switches, and gates based on molecules and quantum dots to optimize space usage or enhance the performance of user devices. The processor may also be implemented as a combination of computing processing units. In the present disclosure, terms such as "storage", "memory", "data storage", "data storage", "data storage", "database", and substantially any other information storage component related to the operation and function of a component are used to refer to a "memory component", an entity embodied in a "memory", or a component including a memory. It should be understood that the memory and / or memory components described herein may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. As an illustration and not limitation, non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), flash memory or non-volatile random access memory (RAM) (e.g., ferroelectric RAM (FeRAM)). Volatile memory may include RAM, which may be used as, for example, an external cache memory. As an illustration and not limitation, RAM may be obtained in various forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), direct memory bus RAM (DRRAM), direct memory bus dynamic RAM (DRDRAM) and memory bus dynamic RAM (RDRAM). In addition, the memory components of the system or computer-implemented method disclosed herein are intended to include, but are not limited to, including these and any other suitable types of memory.
[0140] What has been described above includes only examples of systems and computer-implemented methods. Of course, for the purposes of describing the present disclosure, it is not possible to describe every conceivable combination of components or computer-implemented methods, but one of ordinary skill in the art will recognize that many other combinations and permutations of the present disclosure are possible. In addition, to the extent that the terms "including," "having," "having," and the like are used in the detailed description, claims, appendices, and drawings, these terms are intended to be included in a manner similar to the interpretation of the term "including" when used as a transitional word in the claims.
[0141] The description of various embodiments is presented for the purpose of illustration, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or technical improvements to technologies found in the marketplace, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.
Claims
1. A system for facilitating intelligent controller area network (CAN) termination, comprising: A processor that executes computer executable components stored in a computer readable memory, the computer executable components comprising: a sensor assembly that measures impedance of the CAN bus; and a termination component, the termination component converting at least one node of the CAN bus from a non-terminated state to a terminated state based on the impedance, wherein at least one node of the CAN bus is associated with a switchable terminating resistor having one or more switches, wherein when the one or more switches are open, the at least one node is in the non-terminated state, and wherein when the one or more switches are closed, the at least one node is in the terminated state, wherein the terminating component converts the at least one node from the non-terminated state to the terminated state by sending a control signal to the one or more switches, which causes the one or more switches to close, and wherein the CAN bus comprises a high voltage line and a low voltage line, and wherein the switchable terminating resistor comprises: A choke coil applied to the high voltage line and the low voltage line; a first pair of resistors in series with a first pair of switches on a first side of the choke, wherein the first pair of resistors in series with the first pair of switches couples the high voltage line to the low voltage line when the first pair of switches is closed; and A second pair of resistors in series with a second pair of switches on a second side of the choke, wherein the second pair of resistors in series with the second pair of switches couples the high voltage line to the low voltage line when the second pair of switches is closed.
2. The system of claim 1, wherein the computer executable components further comprise: A comparison component compares the impedance to a first threshold, wherein if the comparison component determines that the impedance exceeds the first threshold, the termination component transitions one of the at least one node from the non-terminated state to the terminated state.
3. The system of claim 2, wherein the comparison component compares the impedance to a second threshold that is higher than the first threshold, wherein if the comparison component determines that the impedance exceeds the second threshold, the termination component converts two of the at least one node from the non-terminated state to the terminated state.
4. The system according to claim 1, wherein: The CAN bus is a Controller Area Network Flexible Data-rate (CAN-FD) bus.
5. The system according to claim 1, wherein: A respective node of the at least one node is associated with a respective switchable terminating resistor.
6. The system according to claim 1, wherein: The CAN bus includes at least three nodes.
7. A computer-implemented method for facilitating intelligent controller area network (CAN) termination, comprising: measuring, by a device operatively coupled to the processor, an impedance of the CAN bus; and converting, by the device, at least one node of the CAN bus from a non-terminated state to a terminated state based on the impedance, wherein at least one node of the CAN bus is associated with a switchable terminating resistor having one or more switches, wherein when the one or more switches are open, the at least one node is in the non-terminated state, and wherein when the one or more switches are closed, the at least one node is in the terminated state, Wherein converting the at least one node from the non-terminal state to the terminal state comprises: sending a control signal by the device to the one or more switches, which causes the one or more switches to close, and wherein the CAN bus comprises a high voltage line and a low voltage line, and wherein the switchable terminating resistor comprises: A choke coil applied to the high voltage line and the low voltage line; a first pair of resistors in series with a first pair of switches on a first side of the choke, wherein the first pair of resistors in series with the first pair of switches couples the high voltage line to the low voltage line when the first pair of switches is closed; and A second pair of resistors in series with a second pair of switches on a second side of the choke, wherein the second pair of resistors in series with the second pair of switches couples the high voltage line to the low voltage line when the second pair of switches is closed.
8. The computer-implemented method of claim 7, further comprising: The impedance is compared, by the device, to a first threshold, wherein converting the at least one node comprises converting, by the device, one of the at least one nodes from the non-terminated state to the terminated state based on the comparison indicating that the impedance exceeds the first threshold.
9. The computer-implemented method of claim 8, further comprising: The impedance is compared, by the device, to a second threshold that is higher than the first threshold, wherein converting the at least one node comprises converting, by the device, two of the at least one node from a non-terminated state to a terminated state based on the comparison indicating that the impedance exceeds the second threshold.
10. The computer-implemented method of claim 7, wherein: The CAN bus is a Controller Area Network Flexible Data-rate (CAN-FD) bus.
11. The computer-implemented method of claim 7, wherein: A respective node of the at least one node is associated with a respective switchable terminating resistor.
12. The computer-implemented method of claim 7, wherein: The CAN bus includes at least three nodes.
13. A computer program product for facilitating intelligent Controller Area Network (CAN) termination, the computer program product comprising a computer readable medium having program instructions contained therein, the program instructions being executable by a processor to cause the processor to: measuring, by the processor, the impedance of the CAN bus; and The processor converts at least one node of the CAN bus from a non-terminated state to a terminated state based on the impedance, wherein At least one node of the CAN bus is associated with a switchable terminating resistor having one or more switches, wherein when the one or more switches are open, the at least one node is in the non-terminated state, and wherein when the one or more switches are closed, the at least one node is in the terminated state, wherein The processor converts the at least one node from the non-terminal state to the terminating state by: A control signal is sent by the processor to the one or more switches, which causes the one or more switches to close, and wherein The CAN bus comprises a high voltage line and a low voltage line, and wherein the switchable terminating resistor comprises: A choke coil applied to the high voltage line and the low voltage line; a first pair of resistors in series with a first pair of switches on a first side of the choke, wherein the first pair of resistors in series with the first pair of switches couples the high voltage line to the low voltage line when the first pair of switches is closed; and A second pair of resistors in series with a second pair of switches on a second side of the choke, wherein the second pair of resistors in series with the second pair of switches couples the high voltage line to the low voltage line when the second pair of switches is closed.
14. The computer program product of claim 13, wherein the program instructions are further executable to cause the processor to: The impedance is compared to a first threshold by the processor, wherein the processor transitions one of the at least one nodes from the non-terminated state to the terminated state based on a determination that the impedance exceeds the first threshold.
15. The computer program product of claim 14, wherein the program instructions are further executable to cause the processor to: The impedance is compared, by the processor, to a second threshold that is higher than the first threshold, wherein the processor transitions two of the at least one node from a non-terminated state to a terminated state based on determining that the impedance exceeds the second threshold.
16. The computer program product of claim 13, wherein: The CAN bus is a Controller Area Network Flexible Data-rate CAN-FD bus.
17. The computer program product of claim 13, wherein: A respective node of the at least one node is associated with a respective switchable terminating resistor.
18. The computer program product of claim 13, wherein: The CAN bus includes at least three nodes.
