This invention in general relates to in-vehicle communication networks and particularly to packet delivery based upon time slotted access within communication networks within vehicles.
Vehicle builders have been using serial communication (multiplexing) between controllers to share information and distribute control for some time. Doing so has greatly reduced the amount of vehicle signal wiring needed to implement the comfort, convenience, and safety features desired in modern consumer vehicles.
Control of the devices in the vehicle to implement desired features may be divided into controllers by function (powertrain, braking, steering, etc.), by location (engine compartment, seat, door, etc.) or in combinations thereof. The controller for each of the functions/zones may share information with other controllers using a shared-access serial bus. The bus usually follows an industry standard such as the Controller Area Network (CAN) protocol, the SAE J1850 Communication Standard, the Local Interconnect Network (LIN) protocol, the FLEXRAY Communications System Standard, and Media Oriented Systems Transport (MOST) Protocol. Multiple, independent buses may be used. In that case, one of the controllers may act as a gateway for information between incompatible buses.
An alternative architecture introduces the idea of dividing the vehicle into geographic regions and locating a single controller for all of the features in that region. This architecture may also include the concept of smart peripherals to reduce the number of interconnections in localized areas of the vehicle. The smart peripherals use simple serial communication buses such as the LIN bus to relay information from sensors to the zone controller or to accept actuator commands from the zone controller. The zone controllers may be linked by a serial communication bus structure.
Another alternative architecture incorporates a junction block that can be located in various zones of the vehicle. The junction block provides a mechanical and electrical connection point for power, ground and communication for small devices that are used to interface between input and output devices. The junction block also provides over current protection devices for the small connected devices, and multiple power sources distributed at different levels within the system.
Current bus protocols are not easily scalable and are limited in bandwidth. X-by-wire functionality, multimedia infotainment, navigation and other content intensive application will put more demands on bandwidth and quality of service (QoS) requiring marked improvements in bandwidth, speed, delay, jitter, fault tolerance, message integrity, guaranteed delivery, availability and survivability.
It is, therefore, desirable to provide a system and method to overcome or minimize most, if not all, of the preceding problems especially in the area of the automotive environment that provides scalability in both capacity and redundancy, at costs on par with existing bus architecture.
While the invention is susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. However, it should be understood that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the invention as defined by the appended claims.
What is described is a system and method for communicating information within a vehicle. The network includes a plurality of network elements joined by communication links. A data frame is provided for communicating information between a first device and a second device attached to the network. A network element in the network is capable of mapping a first resource on an incoming communication link of the network element to a second link resource of an outgoing communication link of the network element. The network element further has ports for receiving the data frame from the first link resource of the incoming communication link and for communicating the data frame to the second link resource of the outgoing communication link. The mapping may be done statically or dynamically such as based on information stored in the network element or based on information stored in the data frame.
Now, turning to the drawings,
The interfaces 26a-d are any suitable interface for coupling the particular vehicle device 24a-d to the network 22, and may be wire, optical, wireless or combinations thereof. The vehicle device 24a-d is particularly adapted to provide one or more functions associated with the vehicle 20. These vehicle devices 24a-d may be data producing, such as a sensor, data consuming, such as an actuator, or processing, which both produces and consumes data. Of course, an actuator, typically a data-consuming device, may also produce data, for example where the actuator produces data indicating it has achieved the instructed state, or a sensor may consume data, for example, where it is provided instructions for the manner of function. Data produced by or provided to a vehicle device 24a-d, and carried by the network 22, is independent of the function of the vehicle device 24a-d itself. That is, the interfaces 26a-d provide data exchange between the coupled device 24a-d and the network 22.
The network 22 may include a switch fabric 28 defining a plurality of communication paths between the vehicle devices 24a-d. The communication paths permit multiple simultaneous peer-to-peer, one-to-many, many-to-many, etc. communications between the vehicle devices 24a-d. During operation of the vehicle 20, data exchanged, for example, between devices 24a and 24d may utilize any available path or paths between the vehicle devices 24a, 24d. In operation, a single path through the switch fabric 28 may carry all of a single data communication between one vehicle device 24a and another vehicle device 24d, or several communication paths may carry portions of the data communication. Subsequent communications may use the same path or other paths as dictated by the then state of the network 22. This provides reliability and speed advantages over bus architectures that provide single communication paths between devices, and hence are subject to failure with failure of the single path or delays based upon congestion of the path. Moreover, communications between other of the devices 24b, 24c may occur simultaneously using the communication paths within the switch fabric 28.
The network 22 is a packet data network which may comply with a transmission control protocol/Internet (TCP/IP), asynchronous transfer mode (ATM), Infiniband, RapidIO, or other packet data protocol now known or later developed. It may also include bus structures that are operated in a packet transit mode, as will be described herein later. As such, the network 22 may use data packets, having fixed or variable length, defined by one or more applicable protocols. For example, if the network 22 uses asynchronous transfer mode (ATM) communication protocol, ATM standard data cells are used.
The vehicle devices 24a-d need not be discrete devices. Instead, the devices may be systems or subsystems of the vehicle and may include one or more legacy communication media, i.e., legacy bus architectures such as the Controller Area Network (CAN) protocol, the SAE J1850 Communication Standard, the Local Interconnect Network (LIN) protocol, the FLEXRAY Communications System Standard, Media Oriented Systems Transport or MOST Protocol, or similar bus structures. In such embodiments, the respective interface 26a-d may be configured as a proxy or gateway to permit communication between the network 22 and a device using one of the legacy protocols.
Referring to
The communication links 54-70 may be robust transport media and may be adapted from serial communication architecture as will be described. That is, the communication links 54-70 may be capable of providing guaranteed, reliable message transfer between the network elements. Any given communication link 54-70 may be a single bi-directional link, a single uni-directional link or combinations of bi-directional or uni-directional links or any combinations of link technologies. Moreover, the connection link 54-70 may be bounded media, such as wire or optical fiber, unbounded media, such as free optical or radio frequency, or combinations thereof. The links may be defined according to an existing, robust transport mechanism designed for the automotive environment such as CAN, LIN, FLEXRAY, J1850, and the like or may be defined according to transport protocols in development or that are later developed. The links may also be combinations of technologies, or specified in accordance with virtually any other protocol.
The network 40 may incorporate at some level a system management function providing supervision, control, diagnostics and other related functionality. This functionality may be provided by way of a separate entity coupled to the network 40, or the functionality may be distributed within the network elements 42-52 or other suitable elements of the network 40.
The cooperation of the network elements 42-52 and the connection links 54-70 define a plurality of communication paths between the devices 72-78 that are communicatively coupled to the network 40.
The above example reveals that numerous communication paths may be defined. The availability of multiple paths allows the network to manage traffic to avoid congestion on one or more of the communication links 54-70 or at one or more of the network elements 42-52. The availability of multiple communication paths also permits fault tolerance in the event of failure of one or more network elements and/or communication links by permitting a communication path to be established bypassing the failed elements/links.
Referring now to
A structure for the network elements may be as illustrated in
A data packet used for communication within the networks described herein may include a packet type identifier, routing information, source ID information, Quality of Service (QoS) information and payload. Illustrated in
The data packet 210 may be adapted to facilitate source routing, i.e., the route the data packet will take through the network is determined by the information source and this path information is contained within the data packet itself. The data packet 210 may also be adapted to facilitate destination routing, i.e., the route the data packet will take through the network is determined by each intermediate node and the next node information is contained within the data packet.
The data packet 210 may be adapted from known communication packet structures, such as a CAN data packet. As shown in
The networks 40 and 140 may be implemented into existing applications by adapting the communication links from existing robust communication medium. In the implementations shown in
On initial startup of a network according to the embodiments described herein, such as networks 40 and 140, it is necessary to identify all nodes of the network. The term “node” may refer to network elements, including but not limited to those network elements described in connection with networks 40 and 140, switches, routers and any and all coupled devices. It is also necessary to identify message identifiers that are of interest to particular nodes, to assign logical addresses to each node, to create a translation table of identifiers to node logical address, to create a routing table from node to node, and to create one or more back-up routes from node to node. Several levels of service may be associated with this so-called discovery process. For example, and as will be described in more detail, the network may offer nodes capable of multicast, encryption or other capabilities. Nodes may be configured to receive information or to advertise availability of information.
Discovery processes are known in connection with networks, and the commonly used Dijkstra algorithm may be employed to complete a network discovery process and calculate the routing table. These known processes however, assume a totally dynamic network and completes a full discovery process on each power up or upon detection of any failure. Depending on the scale of the network, this discovery process may take several minutes time, which is not practical in an automotive environment where the user expects to be able to enter the vehicle, start it and immediately operate it or where a fault may occur while the vehicle is operating and any significant delay in the completing the discovery process may present a safety concern. Having to wait several minutes for a discovery process to complete would be viewed as a defect, and would be unacceptable to users and manufacturers.
Networks according to the embodiments described herein generally are not totally dynamic. Generally, the network only becomes dynamic upon detecting a failure, i.e., the network is not dynamic until something goes wrong, or when new hardware is added to the network. Therefore, a last known state of the network may be saved and an incremental discovery process may be employed upon detecting a network change. The incremental discovery process may be completed with little or no effect on overall network performance. A suitable discovery process is disclosed and described in U.S. patent application Ser. No. 10/463,988 entitled a Discovery Process in a Vehicle Network, the disclosure of which is hereby expressly incorporated by reference.
The network architectures described herein provides greater flexibility, reliability and increased communication capability than existing architectures used in vehicle applications. For implementations using time slot switching, the communication capacity and flexibility of these networks may be enhanced further. In current time triggered bus configurations, the network is essentially a bus with time slots. The network elements may insert messages into an assigned time slot, but only within the assigned time slot. Once the network element is assigned a time slot, it is static and the time slot has significance throughout the network, i.e., only that network element may insert messages into that time slot.
In accordance with an embodiment of the invention, the network is configured to allow network elements to switch time slots in a frame such that information inserted into a time slot would only be received by a reselected element/group of elements with the need for the information. This may be accomplished through statistically assigning the modified routing or providing routing information within each data packet. The modified routing information allows intermediate nodes to switch the packet from a first time slot assignment to a second time slot assignment corresponding to the network element/group of network elements such that the packet eventually terminates at the desired network elements/group of network elements.
Referring to
The switch 305/switch 307 link 311 may have multiple physical links with the switches 305/307 being able to switch the payload from/to the elements 301/303 on any of the available resources of any of the physical links comprising the link 311. Of course, the mapping on the link 311 could be any of the available resources, e.g., any available time slots. Moreover, not every payload to be communicated between the network element 301 and the network element 303 via the switches 305 and 307 need be sent in the same resource on the link 311, so long as the packets are switched to the appropriate time slot for the destination network element on the destination element link, e.g., link 313.
It may be desirable or even necessary to preserve the deterministic nature of the communication network. For example, the network element 303 may be configured such that it always expects to receive the payload in time slot 1 or some other assigned time slot but for the sake of the following discussion it is considered to be time slot 1. Traditionally, this meant that the network element 303 is assigned time slot 1 and the assignment has meaning throughout the network. That is, every element sending information to the network element 303 would do so by placing the payload in time slot 1, and the network element 303 would always look for the payload in time slot 1. Such an a arrangement is inflexible and does not efficiently utilize the network resources. The network illustrated in
During a network configuration or discovery process, network devices that require an assigned network resource, like the network element 303 being assigned time slot 1, may be appropriately assigned resources and this information provided to the other network elements. In sending information to the network resource, the payload may be configured before being sent to include the resource assignment information. This information may then be used by the sending network element, or any intermediary network element so that ultimately the information is placed into the appropriate network resource on a last leg of the communication route that couples to the destination network element. Alternatively, the sending network element may place the information into a resource unaware of any particular assignment requirements for the destination resource. In this case, one or more of the intermediary network elements used to communicate the information to the destination network element may modify the information to contain the resource assignment information and/or may simply place the information in the appropriate resource prior to it being communicated to the destination network element.
Referring to
Referring to
For instance, referring to
What has been described is a vehicle network and method for communicating information within a vehicle. The network includes a plurality of network elements joined by communication links. A data frame is provided for communicating information between a first device and a second device attached to the network. A network element in the network is capable of mapping a first resource on an incoming communication link of the network element to a second link resource of an outgoing communication link of the network element. The network element further has ports for receiving the data frame from the first link resource of the incoming communication link and for communicating the data frame to the second link resource of the outgoing communication link. The mapping may be done statically or dynamically such as based on information stored in the network element or based on information stored in the data frame. The above description of the present invention is intended to be exemplary only and is not intended to limit the scope of any patent issuing from this application. The present invention is intended to be limited only by the scope and spirit of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
4736367 | Wroblewski et al. | Apr 1988 | A |
4907222 | Slavik | Mar 1990 | A |
4964120 | Mostashari | Oct 1990 | A |
5323385 | Jurewicz et al. | Jun 1994 | A |
5343472 | Michihira et al. | Aug 1994 | A |
5525959 | Przybyla et al. | Jun 1996 | A |
5710798 | Campana, Jr. | Jan 1998 | A |
5732074 | Spaur et al. | Mar 1998 | A |
6111888 | Green et al. | Aug 2000 | A |
6177867 | Simon et al. | Jan 2001 | B1 |
6330236 | Ofek et al. | Dec 2001 | B1 |
6356823 | Iannotti et al. | Mar 2002 | B1 |
6430164 | Jones et al. | Aug 2002 | B1 |
6526335 | Treyz et al. | Feb 2003 | B1 |
6559783 | Stoneking | May 2003 | B1 |
6665601 | Nielsen | Dec 2003 | B1 |
6738701 | Wilson | May 2004 | B2 |
6747365 | Reinold et al. | Jun 2004 | B2 |
7586953 | Forest et al. | Sep 2009 | B2 |
20010001319 | Beckert | May 2001 | A1 |
20020010544 | Rudow et al. | Jan 2002 | A1 |
20020150050 | Nathanson | Oct 2002 | A1 |
20030043739 | Reinold et al. | Mar 2003 | A1 |
20030043750 | Remboski | Mar 2003 | A1 |
20030043779 | Remboski et al. | Mar 2003 | A1 |
20030043793 | Reinold et al. | Mar 2003 | A1 |
20030043799 | Reinold et al. | Mar 2003 | A1 |
20030043824 | Remboski et al. | Mar 2003 | A1 |
20030045234 | Remboski | Mar 2003 | A1 |
20030045971 | Reinold | Mar 2003 | A1 |
20030045972 | Remboski | Mar 2003 | A1 |
20030046327 | Reinold et al. | Mar 2003 | A1 |
20030051131 | Reinold et al. | Mar 2003 | A1 |
20030065630 | Brown | Apr 2003 | A1 |
20030078006 | Mahany | Apr 2003 | A1 |
20030093798 | Rogerson | May 2003 | A1 |
20030222982 | Hamdan | Dec 2003 | A1 |
20030230443 | Cramer et al. | Dec 2003 | A1 |
20040001593 | Reinold et al. | Jan 2004 | A1 |
20040002799 | Dabbish et al. | Jan 2004 | A1 |
20040003227 | Reinold | Jan 2004 | A1 |
20040003228 | Fehr et al. | Jan 2004 | A1 |
20040003229 | Reinold et al. | Jan 2004 | A1 |
20040003230 | Puhl | Jan 2004 | A1 |
20040003231 | Levenson et al. | Jan 2004 | A1 |
20040003232 | Levenson et al. | Jan 2004 | A1 |
20040003233 | Reinold et al. | Jan 2004 | A1 |
20040003234 | Reinold et al. | Jan 2004 | A1 |
20040003237 | Puhl et al. | Jan 2004 | A1 |
20040003242 | Fehr | Jan 2004 | A1 |
20040003243 | Fehr et al. | Jan 2004 | A1 |
20040003245 | Dabbish et al. | Jan 2004 | A1 |
20040003249 | Dabbish | Jan 2004 | A1 |
20040003252 | Dabbish et al. | Jan 2004 | A1 |
20040003750 | Theurer et al. | Jan 2004 | A1 |
20040043739 | Jordanger | Mar 2004 | A1 |
20040043824 | Uzelac | Mar 2004 | A1 |
20040045971 | Lothe | Mar 2004 | A1 |
20040213295 | Fehr | Oct 2004 | A1 |
20040227402 | Fehr et al. | Nov 2004 | A1 |
20040254700 | Fehr et al. | Dec 2004 | A1 |
20040258001 | Remboski et al. | Dec 2004 | A1 |
20050004727 | Remboski et al. | Jan 2005 | A1 |
20050004756 | Remboski et al. | Jan 2005 | A1 |
20050038583 | Fehr et al. | Feb 2005 | A1 |
20050058149 | Howe | Mar 2005 | A1 |
20060020717 | Remboski et al. | Jan 2006 | A1 |
20060083172 | Jordan et al. | Apr 2006 | A1 |
20060083173 | Jordan et al. | Apr 2006 | A1 |
20060083229 | Jordan et al. | Apr 2006 | A1 |
20060083250 | Jordan et al. | Apr 2006 | A1 |
20060083264 | Jordan et al. | Apr 2006 | A1 |
20060083265 | Jordan et al. | Apr 2006 | A1 |
20060143345 | Fredriksson | Jun 2006 | A1 |
20060162986 | Disser et al. | Jul 2006 | A1 |
20060227793 | Fehr et al. | Oct 2006 | A1 |
Number | Date | Country | |
---|---|---|---|
20060259204 A1 | Nov 2006 | US |