Embodiments of the invention are in the field of vehicles and communications including computer networking. More particularly, embodiments of the invention relate to a vehicle network topology scheme and systems for implementing the scheme.
Vehicles such as electric or non-electric automobiles or sports utility vehicles (SUVs) can have any number of electronic control units (ECUs) to control functions or components of a vehicle such its motor, power steering, headlights, braking, etc. ECUs can be a micro-controller running firmware or code to perform its designated function and to send messages to other ECUs within the vehicle, e.g., the motor ECU communicating with the braking ECU. The network topology interconnecting the ECUs can be based on any number of different types of bus protocols and networks including the Controller Area Network (CAN), Local Interconnect Network (LIN), or Ethernet networks. Each of these different networks can use their own network descriptor file that describes the networks and the messages and formats for communicating between ECUs over their respective networks. Vehicles may have ECUs operating under different or mixed networks using different network descriptor files thus requiring extensive engineering effort and coordination to design ECUs for vehicles needing to communicate messages across different networks and bus protocols.
Vehicle network topology schemes and systems are disclosed. For one example, a network topology scheme for a vehicle uses a uniform network descriptor file that is agnostic to any network protocol, specific programming language or application software stack. In other words, the uniform network descriptor file need not follow specific formats required by a particular network or protocol, programming language or application software stack. The uniform network descriptor file can describe messages, signals and data used by electronic control units (ECUs) in a generic manner for communication across different networks and protocols. For example, the uniform network descriptor file can describe the overall network topology of the vehicle that may include ECUs on different or mixed networks including Controller Area Network (CAN), Local Interconnect Network (LIN), or Ethernet networks without being network specific.
For one example, the uniform network descriptor file includes a description of a plurality of nodes in the network topology of the vehicle, each description describes a node including one or more topics subscribed by the node, one or more services related to the one or more topics subscribed by the node, and one or more messages and signals related to each service of each topic. The description in the uniform network descriptor file can provide a generic way of describing how messages, signals and data can be communicated across all networks including mixed networks from ECU to ECU. The uniform network descriptor file can be a plain text file used to auto-generate ECU specific files and code such that ECUs can communicate with ECUs on different networks and protocols. The uniform network descriptor file can be easily updated if any changes or updates are made to the messages, signals or date used by ECUs in the network topology of the vehicle.
For one example, a data processing system includes an interface and a processor. The interface receives one or more network descriptor files related to one or more electronic control units (ECUs) interconnected within a network topology of the vehicle. The processor is coupled to the interface and configured to convert the one or more network descriptor files into a uniform network description file that is agnostic to any programming language or application software stack. The uniform network descriptor file describes the network topology of the vehicle without being specific to any network or protocol. The processor is further configured to auto-generate one or more ECU specific files or code using the uniform network description file for use by the one or more ECUs.
For one example, the interface can receive one or more updated network descriptor files and the processor can convert the one or more updated network description files into an updated uniform network description file and to auto-generate one or more updated ECU specific files or code using the updated uniform network descriptor file for the one or more ECUs. The processor can also distribute the ECU specific files or code or updated ECU specific files or code to one or more ECUs and the one or more ECUs to use the ECU specific files or code or updated ECU specific files or code.
For one example, the network topology of the vehicle includes Controller Area Network (CAN), Local Interconnect Network (LIN), or Ethernet networks. The one or more network descriptor files or updated network descriptor files includes a CAN network descriptor file or updated CAN network descriptor file, a LIN network descriptor file or updated LIN descriptor file, or an Ethernet network descriptor file or updated Ethernet network descriptor file. Such network descriptor files for these individual networks can be converted into a uniform network descriptor file or an updated uniform descriptor file that describes the network topology including the individual networks without being specific to any network.
For one example, the ECU specific files or updated ECU specific files can include routing tables or updated routing tables describing the network topology of the vehicle or ECU specific network descriptor files or updated ECU specific network descriptor files describing messages, data and signals used across the network topology of the vehicle. The ECU specific code or updated ECU specific code can include connectivity code or updated connectivity code used such that ECUs can communicate messages, data or signals across the network topology of the vehicle.
Other devices, apparatuses, computer-readable media and systems are described.
The appended drawings illustrate examples and are, therefore, exemplary embodiments and not considered to be limiting in scope.
Vehicle network topology schemes and systems are disclosed. For one example, a network topology scheme for a vehicle uses a uniform network descriptor file that is agnostic to any networking protocol, programming language or software stack, which does need not follow their rigid formatting rules. The uniform network descriptor file can describe messages, signals, data and nodes used by electronic control units (ECUs) in a generic manner in order to communicate with ECUs across different networks and protocols. For example, the uniform network descriptor file can describe the overall network topology of the vehicle regardless of the ECUs are on different or mixed networks such as a Controller Area Network (CAN), Local Interconnect Network (LIN), or Ethernet network.
For one example, a data processing system, e.g., a server or computer, can include an interface and a processor. The receiver can receive one or more CAN, LIN or Ethernet network descriptor files related to one or more ECUs interconnected within a network topology of a vehicle. The processor can convert the one or more CAN, LIN or Ethernet descriptor files into a uniform network descriptor file and auto-generate one or more ECU specific files or code using the uniform network descriptor file for use by the one or more ECUs in order to communicate messages, signals or data across the network topology. Such files or code can be stored in a memory or database for distribution to ECUs or other subsystem nodes within the vehicle.
As set forth herein, various embodiments, examples and aspects will be described with reference to details discussed below, and the accompanying drawings will illustrate various embodiments and examples. The following description and drawings are illustrative and are not to be construed as limiting. Numerous specific details are described to provide a thorough understanding of various embodiments and examples. However, in certain instances, well-known or conventional details are not described in order to provide a concise discussion of the disclosed embodiments and examples.
For one example, each ECU 111-116 can run firmware or code or be hard-wired to perform its function and control any number of electronic components, functions or services operating within vehicle 110. For example, ECUs in the front end such as network area 150-A can have ECUs controlling electronic components or functions for headlights, power steering, parking, braking, display and engine controls etc. Network area 150-B in the mid-section of vehicle 110 can have ECUs controlling electronic components or functions for opening and closing door locks and other interior controls and the main high voltage power supply 103. Network area 150-C near the back end of vehicle 110 can have ECUs controlling electronic components for tail lights, battery, power control etc. The ECUs in the different networking areas of vehicle 110 can communicate messages, signals or data with each other by way of network topology 120 on network busses 117 and 118. Although two network busses 117 and 118 are shown in
For one example, network topology 120 includes a vehicle gateway 127 interconnecting ECUs 111-113 on network bus 117 with ECUs 114-116 on network bus 118. Network busses 117 and 118 can provide messages, signals and data using different network protocols—i.e., mixed network protocols. For one example, vehicle gateway 127 can include a micro-controller, central processing unit (CPU), or processor or be a computer and data processing system to coordinate communication on network topology 120 between the ECUs 111-116 on any number of networks and protocols. Vehicle gateway 127 can also have a network interface, e.g., a wired or wireless interface, to connect externally to a network including the Internet or cloud environment and communicate messages, signals and, e.g., global positioning system (GPS) signals and data or uniform network descriptor files.
For one example, network topology 120 can include different types or mixed networks including Controller Area Network (CAN), Local Interconnect Protocol (LIN), and Ethernet networks and busses 117 and 118 can support communication according to CAN, LIN or Ethernet protocols. For example, network area 105-A can include a CAN network of ECUs, network area 105-B can include a LIN network and network area 105-C can include an Ethernet network. For another example, ECUs 111-113 can communicate messages, signals and data on network bus 117 according to a LIN protocol and ECUs 114-116 can communicate messages, signals and data on network bus 118 according to a CAN protocol. For other examples, ECUs 111-116 can communicate on network busses 117 and 118 using the same protocol, e.g., CAN protocol. Any combination or mixed networks and protocols can be implemented within network topology 120 of vehicle 110 in which ECUs 111-116 on of mixed networks can communicate with each other.
For one example, ECUs interconnected using a CAN network can be described using a CAN network descriptor file such as a CAN database container (DBC) file. A CAN DBC file contains a database format structure unique to CAN specific messages and signals. It can also describe the network topology used on the CAN network. Similarly, ECUs interconnected using LIN network can be described using a LIN descriptor file (LDF) unique to LIN specific messages and signals that describes the network topology used on the LIN network. ECUs interconnected using the Ethernet network can be described using Ethernet network descriptor file unique to Ethernet specific messages and signals and network components. These ECU specific network descriptor files can describe network topology 120 and the interconnected ECUs within their respective networks.
For some examples, ECUs within network topology 120 can have its own specific network descriptor file, which are different from network descriptor files used by other ECUs. For example, ECUs for network area 105-A can be on a CAN network using a CAN DBC file, ECUs for network area 105-B can be a LIN network using a LDF file, and network area 105-C can be an Ethernet network using an Ethernet file. Each ECU can run firmware or code based on messages, signals and data defined by their respective network descriptor files unique to their respective protocol and ECU. Alternatively, network areas 105-A through 105-C can all be on the same type of network with each ECU having its own network descriptor file.
For one example, the network descriptor files for each of the ECUs 111-116, which can be based on different networks and protocols, are converted into a uniform network descriptor file as described in
For one example, if an ECU or subsystem node 121-124 needs to communicate with other ECUs or subsystem nodes on a different network or protocol, ECU specific files or code can be auto-generated using the uniform network descriptor file for the ECU or subsystem nodes. For one example, a routing table file can be auto-generated such that ECUs and subsystem nodes regardless of network or protocol to identify subsystem nodes in the network topology 120. For another example, ECU specific network descriptor file can be auto-generated using the uniform network descriptor file that includes messages, signals and data for other types of networks. For another example, ECU connectivity code can be auto-generated that generates code for an ECU to communicate messages, signals or data to other ECUs on other networks or protocols. If an update is made to any of the network descriptor files, the uniform network descriptor file can be updated and distributed to all the ECUs and subsystem nodes.
For one example, server 207 includes an interface 208 coupled with network 202, a memory to store network descriptor files and other data, and processor 209. Processor 209 is coupled to the interface 208 and memory 210. Processor 209 can include one or more central processing units (CPUs), a specialized processor or any combination thereof. Processor 209 can retrieve instructions from any of the memories including memory 210, which can also include a database, and execute instructions to perform operations as described herein. For one example, interface 208 can include a modem, wired or wireless transceivers and communicate messages, signals and data using any type o networking protocol including wired or wireless wide area network (WAN) and local area network (LAN) protocols including LTE® and Bluetooth® standards. Memory 210 can be any type of memory including random access memory (RAM), dynamic random-access memory (DRAM), or a database.
For one example, server 207 can generate a uniform network descriptor file 307, as described in
For one example, sever 207 can distribute ECU specific files and code to ECUs 111-116 by way of vehicle gateway 127. For one example, server 207 can maintain and update the uniform network descriptor file 307 based on updates to ECUs 111-116 and related ECU network descriptor files. Server 207 can also generate updated ECU specific file and code, e.g., connectivity code, and distribute the updated files and code to ECUs 111-116 by way of gateway 127. In this way, a centralized and uniform manner of generating and distributing ECU specific files and code or updated ECU specific files or code can be achieved for a network topology scheme of mixed networks within vehicle 110.
For one example, ECUs 111-116 and related network descriptor files can be updated, which causes an update to the uniform network descriptor file 307 accordingly. The updated uniform network descriptor file 307 can be used to generate updated ECU specific files or code and distributed to ECUs 111-116. The uniform network descriptor file 307 can be maintained and stored by a server, e.g., server 207, or, alternatively by vehicle gateway 127, which can auto-generate ECU specific files or code or updated ECU specific files or code and distribute them to ECUs 151-156. For one example, gateway 157 can receive ECU specific files or code or updated ones from server 206 via network 202 and distribute them to ECUs 151-156. For one example, vehicle gateway 127 distributes ECU specific files or code (or updated ones) to those ECUs which have subscribed to messages, signals or data that has been updated. ECUs 111-116 can receive the ECU specific files or code or updated ECU specific files or code and run them for their respective functions, operations or services. In this way, distributing ECU specific files or code and updated ones to interconnected ECUs 111-116 within network topology 120 can be efficient and centralized with minimal effort within vehicle 110.
Referring to
For one example, within each topic, there are a plurality of messages and related signals and data for the topic. For example, referring to topic “warnings”, there is a Boolean message “tirePressureLow” signal. Each topic can describe the messages, signals and data used for that topic. Each node A through N can have the same format describing services, topics, messages and related signals and for that node.
Referring to
For one example, at block 409, a code generator in server 207 or vehicle gateway 127 can process the uniform network descriptor file and auto-generate ECU specific connectivity code:
Referring to
For the above updated uniform network descriptor file, at block 419, a code generator in server 207 or vehicle gateway 127 can process the updated network descriptor file to auto-generate updated ECU specific connectivity code as:
Referring to
At block 504, the updated ECU specific files or code are distributed to ECUs 111-116. For example, vehicle gateway 127 can distribute updated ECU specific files (e.g., updated routing tables or ECU specific network descriptor files auto-generated by an updated uniform network descriptor file) or code (e.g., connectivity code as shown in
At block 506, ECUs run the distributed updated connectivity code. For one example, a group of ECUs can receive the distributed updated ECU specific files or a single ECU can receive the updated ECU specific files or code and run them.
At block 604, vehicle gateway 127 can forward messages with updated signals from a group of ECUs (e.g., ECUs 111-113) to another group of ECUs (e.g., ECUs 114-116) connected on busses 117 and 118. Each group of ECUs can be on different networks using different bus protocols. In other examples, vehicle gateway 127 can send messages to the network 202 and to one or more servers, e.g., server 207.
The following shows an exemplary uniform network descriptor file providing a description for a gateway node. This exemplary uniform network descriptor file may be subject to Copyright protection.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of disclosed examples and embodiments. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.