Connection of a can node to a host

CN122969917APending Publication Date: 2026-10-23INFINEON TECHNOLOGIES AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610495297.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-04-16
Filing Date
2026-04-15
Publication Date
2026-10-23

Smart Images

  • Figure CN122969917A_ABST
    Figure CN122969917A_ABST
Patent Text Reader

Abstract

A connection of a CAN node to a host is provided. A device is able to connect a CAN network to a host, for example, through Ethernet. A CAN controller block can be connected to a CAN transceiver and through the CAN transceiver to a CAN network. The CAN controller block has a transmit buffer for buffering data to be transmitted to the CAN network. The CAN network is to be connected to a host, which in an example includes an Ethernet interface acting as an Ethernet host for connecting to an Ethernet network. A data communication block is connected between the CAN controller block and the host. A master interface implemented in hardware is connected between the data communication block and a plurality of hosts, arranged to receive data from the plurality of hosts and to transmit data to the CAN controller block through the data communication block, and to receive data from the CAN controller block, identify the host corresponding to the data and transmit the data to the respective host. Further CAN blocks and hosts can also be connected.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] A semiconductor device is provided for connecting a controller area network (CAN) to one of a plurality of hosts, a CAN network connected to an Ethernet, and a method for connecting the CAN network to a host (including, for example, an Ethernet host). Background Technology

[0002] Controller Area Network (CAN) is a communication protocol widely used in the automotive industry for communication buses. CAN development includes CAN FD and CAN XL; all of these CAN standards will be referred to as CAN below.

[0003] As Ethernet communication standards become increasingly important in automotive applications (e.g., as network backbones), there is a need to interconnect CAN networks and Ethernet networks. There may also be a need to connect a CAN network to more than one host (e.g., an Ethernet host and internal programs). Summary of the Invention

[0004] In the example, a semiconductor device for connecting a CAN network to a host is provided, the semiconductor device comprising: A Controller Area Network (CAN) controller block is used to connect to a CAN transceiver and, through the CAN transceiver, to a CAN network. The CAN controller block includes a transmission buffer for buffering data to be transmitted to the CAN network. Multiple hosts; and A data communication block is connected between the CAN controller block and the host; and A main interface, implemented in hardware, is connected between the data communication block and the plurality of hosts and is configured to: receive data from the plurality of hosts and transmit the data to the CAN controller block via the data communication block, and is also configured to: receive data from the CAN controller block, identify the host corresponding to the data, and transmit the data to the corresponding host.

[0005] In the example, a network is provided, the network comprising: The semiconductor device according to any one of the preceding claims; A CAN transceiver is connected to the CAN block; A CAN network is connected to the CAN transceiver; Ethernet interconnects are connected to the Ethernet interface to provide the Ethernet network; and The plurality of hosts include an Ethernet interface, which serves as an Ethernet host connected to the Ethernet interconnect.

[0006] In the example, a method for operating a semiconductor device is provided, the semiconductor device connecting a CAN network to multiple hosts, wherein at least one host is an Ethernet host, the semiconductor device comprising: A Controller Area Network (CAN) controller block is used to connect to a CAN transceiver and, through the CAN transceiver, to a CAN network. The CAN controller block includes a transmission buffer for buffering data to be transmitted to the CAN network. An Ethernet interface for connecting to an Ethernet network, the Ethernet network being connected to the Ethernet host; and A data communication block is connected between the CAN controller block and the Ethernet interface; and A main interface, implemented in hardware, is connected between the data communication block and the plurality of hosts and is configured to receive data from the plurality of hosts and transmit the data to the CAN controller block via the data communication block. Attached Figure Description

[0007] By way of example only, examples of the present invention will now be described with reference to the accompanying drawings, in which: Figure 1 The illustration shows a first example of a device with a CAN controller block and multiple masters, and Figure 2 The illustration shows a second example of a device with a CAN controller block and multiple hosts. Detailed Implementation

[0008] Examples of the present invention will be presented only as examples.

[0009] Semiconductor devices such as microcontrollers may have multiple hosts. One host may be, for example, application software running on the core; such a host present in the semiconductor device may be referred to as an internal host. Another host may not be implemented on the semiconductor device, but may be a remote host connected to the microcontroller via a network link. For example, the remote host may be a device connected to the microcontroller via an Ethernet link. Such a remote host will be referred to below as an Ethernet host. It will be understood that one or more internal hosts and one or more remote hosts may be running simultaneously.

[0010] When more than one host needs to be connected to the CAN, a separate CAN controller block can be provided to each host, with each CAN controller block connected to a corresponding transceiver, which is then connected to the CAN network. If this is not done, problems may occur; in particular, there is a risk of priority inversion, as low-priority frames may block the transmission of high-priority frames.

[0011] To connect more than one host to a single CAN bus, it is possible to provide a CAN controller block for each host and then implement transceiver sharing logic between the CAN controller block and the CAN transceiver in hardware for transceiver sharing. However, this approach uses two CAN controller blocks and therefore occupies unnecessary chip area; this approach is therefore expensive.

[0012] Alternatively, the inventors proposed, as Figure 1 The hardware components shown in the diagram.

[0013] In this example, semiconductor device 10 is a microcontroller with a core, memory, and various input / output arrangements. Device 10 has: a first host 20, which in this example is an application running on the core; and a second host 22, which in this example is a network accelerator.

[0014] The CAN controller block 30 includes a transmit buffer 32, a first receive buffer 34, a second receive buffer 36, and a free-running internal clock 38.

[0015] Figure 1 The CAN controller block 30 is shown being connected to an external CAN transceiver 100 and thus to a CAN network 110.

[0016] The device also includes an Ethernet block 40, which contains an internally free-running clock 42.

[0017] Figure 1 An Ethernet block 40 is shown being connected to an external Ethernet physical layer (PHY) 200, which in turn is connected to an external device 220 via an Ethernet link 210. Note that the Ethernet block 40 is also a host, i.e., a device that may need to access the CAN network 110.

[0018] A data communication block 50 is provided, which is connected to the CAN controller block 30. The data communication block 50 is then connected to the hardware host interface 60, which is in turn connected to the Ethernet block 40 and to the application 20. This block performs the following steps: merging traffic from the application and the Ethernet host into a single transmission buffer (32) in the CAN controller block (30). All messages from this buffer then participate in the arbitration process of the CAN network.

[0019] A direct connection is provided between the Ethernet block 40 and the CAN controller block 30; the direct connection specifically includes the start / reset line 44 and the toggle line 46.

[0020] In use, both application host 20 and Ethernet block 40 are hosts that need to be connected to a single CAN network 110. A single CAN transceiver 100 and CAN controller block 30 are used for both hosts.

[0021] To transmit data to the CAN network, in this example, the master interface 60 polls each host sequentially. Therefore, the first application 20 is polled to see if it has data for transmission; if so, the data is loaded into the transmission buffer 32. Subsequently, the Ethernet block 40 is polled to see if it has data for transmission; if so, the data is transmitted via the master interface 60 and the data communication block 50 to the CAN controller block 30, which stores the data in the transmission buffer 32. The CAN controller block 30 then creates CAN frames and transmits them to the CAN transceiver 100 for transmission over the CAN network 110 at the appropriate time according to the CAN standard.

[0022] Similarly, CAN transceiver 100 receives CAN frames from the network and transmits them to CAN controller 30. If the data is for application 20, it is stored in receiver buffer 34; or if the data is for Ethernet block 40, it is stored in receive buffer 36. In other words, each host has an assigned corresponding buffer. In this way, if one buffer becomes full for some reason (e.g., because Ethernet communication is temporarily unavailable), data for other hosts can continue to be received. This prevents the stopping or temporary unavailability of one host from hindering the reception of messages for another host, since only the buffer of the corresponding host becomes full.

[0023] Another aspect is also shown. When Ethernet block 40 starts or resets its free-running Ethernet clock 42, it notifies CAN controller block 30 of this via a signal along start / reset signal line 44. This then sets the free-running CAN clock 38 in CAN controller block 30 to the same time (zero), thereby synchronizing the Ethernet clock in Ethernet block 40 with the CAN clock in CAN block 30.

[0024] In doing so, the timestamps used to track CAN frames are synchronized with the Ethernet network. In this way, measurements can be taken, for example, at a remote node and timestamped using the time on the CAN network. This measurement can then be transmitted to nodes on the Ethernet network using Ethernet time and interpreted correctly.

[0025] Similarly, when the Ethernet clock 42 toggles, the toggle signal line 46 is used to signal this.

[0026] Note that this arrangement has the advantage that the hardware operates under various usage conditions. If a particular semiconductor device does not require Ethernet, the Ethernet block 40 can be powered down to reduce power consumption. In this case, the CAN clock 38 operates only as a free-running clock. The synchronization method synchronizes the clock only when the Ethernet block is activated.

[0027] Further features may be provided, wherein the Ethernet clock 42 can be synchronized with the network time used on the Ethernet link 210. Both sides can start with a timer of zero, and each side can then keep track of the other side to maintain synchronization.

[0028] like Figure 1 As illustrated, CAN controller block 30 is shared by two hosts 20 and 40. However, a further CAN controller block 80 may exist, schematically indicated here as CANm. CAN controller blocks 80 may exist with m=0, 1, 2... up to any number as needed. Furthermore, further hosts 22 and 82 exist. Such additional hosts may be shared by the further CAN controller blocks or may operate independently. In this example, host 22 may be a network adapter, and host 82 may be a further Ethernet block; however, it will be understood that any of a variety of different types of hosts may be required and implemented.

[0029] like Figure 2As illustrated in the diagram, an alternative mechanism for aligning the clocks can be provided. In this case, a bidirectional interconnect 90 exists, having a polling line 92 and a time line 94 providing a connection between the CAN block 30 and the Ethernet block 40. The CAN controller block 30 periodically polls the Ethernet block 40, and if the Ethernet block is active, it subsequently delivers a time from the Ethernet clock 42, which is used to update the CAN clock 38.

[0030] The device discussed above allows a single CAN bus to be shared between two hosts without the need for two CAN controller blocks; this is efficient and greatly reduces the required silicon area.

[0031] In addition, time synchronization requires minimal wiring; only two interconnects need to be laid between the Ethernet block and the CAN block, which provides synchronization with low complexity.

[0032] Time synchronization and CAN bus sharing do not require software operation at the core level.

[0033] These changes allow various use cases to be addressed at low cost.

[0034] Although specific embodiments / examples / aspects have been illustrated and described herein, those skilled in the art will appreciate that various alternative and / or equivalent implementations may be used in place of the specific examples shown and described without departing from the scope of the invention. This application is intended to cover any modifications or variations of the specific examples discussed herein. Therefore, the invention is intended to be limited only by the claims and their equivalents.

[0035] It should be noted that the examples outlined in this document can be used independently or in combination with other methods and systems disclosed in this document. Furthermore, features outlined in the context of an apparatus also apply to the corresponding method, and vice versa. Moreover, all aspects of the methods and apparatus outlined in this document can be combined arbitrarily. In particular, the features of the claims can be combined with each other in any manner.

[0036] It should be noted that the description and accompanying drawings are merely illustrative of the principles of the proposed methods and systems. Those skilled in the art will be able to implement various arrangements, which, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope. Furthermore, all examples and embodiments outlined in this document are primarily and explicitly intended for illustrative purposes only to aid the reader in understanding the principles of the proposed methods and systems. Moreover, all statements regarding the principles, aspects, and embodiments of the invention, as well as specific examples thereof, provided herein are intended to cover their equivalents.

Claims

1. A semiconductor device for connecting a CAN network to a host, comprising: A Controller Area Network (CAN) controller block is used to connect to a CAN transceiver and, through the CAN transceiver, to a CAN network. The CAN controller block includes a transmission buffer for buffering data to be transmitted to the CAN network. Multiple hosts; as well as The data communication block is connected between the CAN controller block and the host. as well as A main interface, implemented in hardware, is connected between the data communication block and the plurality of hosts. It is configured to receive data from the plurality of hosts and transmit the data to the CAN controller block via the data communication block. It is also configured to receive data from the CAN controller block, identify the host corresponding to the data, and transmit the data to the corresponding host.

2. The semiconductor device of claim 1, wherein the plurality of hosts includes an Ethernet interface for connecting to an Ethernet network.

3. The semiconductor device according to claim 1 or 2, The CAN controller block further includes a plurality of receive buffers for buffering data, each receive buffer being configured to buffer data received from the CAN network for a corresponding host; and The data communication block is configured to transmit data from the receive buffer to the corresponding host via the main interface.

4. The semiconductor device according to claim 2 or 3, wherein the Ethernet interface includes a free-running Ethernet clock; The CAN controller block contains a free-running CAN clock. The CAN controller block is configured to synchronize the free-running CAN clock with the free-running Ethernet clock; and The CAN block is arranged to create CAN frames with timestamps using the free-running CAN clock.

5. The semiconductor device of claim 4, wherein the semiconductor device is arranged to synchronize the free-running Ethernet clock with the Ethernet system time.

6. The semiconductor device of claim 4 or 5, wherein the CAN block is arranged to: poll the Ethernet block to request the time of the free-running Ethernet clock, and update the CAN clock using the time of the free-running Ethernet clock.

7. The semiconductor device of claim 4 or 5, wherein the Ethernet block is arranged to transmit a start signal to the CAN block when the free-running Ethernet clock is started or reset, and wherein the CAN controller block is arranged to reset the CAN clock when the start signal is received.

8. The semiconductor device of claim 7, wherein the Ethernet block is further arranged to transmit a toggle signal to the CAN block when the free-running Ethernet clock toggles, and wherein the CAN controller block is arranged to reset the CAN clock when the toggle signal is received.

9. The semiconductor device according to any one of the preceding claims, wherein the plurality of hosts includes a plurality of Ethernet interfaces.

10. A network comprising: The semiconductor device according to any one of the preceding claims; A CAN transceiver is connected to the CAN block; A CAN network is connected to the CAN transceiver; Ethernet interconnect is connected to the Ethernet interface to provide the Ethernet network; and The plurality of hosts include an Ethernet interface, which serves as an Ethernet host connected to the Ethernet interconnect.

11. A method of operating a semiconductor device, said semiconductor device connecting a CAN network to a plurality of hosts, wherein at least one host is an Ethernet host, said semiconductor device comprising: A Controller Area Network (CAN) controller block is used to connect to a CAN transceiver and, through the CAN transceiver, to a CAN network. The CAN controller block includes a transmission buffer for buffering data to be transmitted to the CAN network. An Ethernet interface for connecting to an Ethernet network, which is connected to the Ethernet host; as well as The data communication block is connected between the CAN controller block and the Ethernet interface; as well as A main interface, implemented in hardware, is connected between the data communication block and the plurality of hosts and is configured to receive data from the plurality of hosts and transmit the data to the CAN controller block via the data communication block.

12. The method of claim 11, wherein the CAN controller block further includes a plurality of receive buffers for buffering data, each receive buffer being configured to buffer data received from the CAN network for a corresponding host; The data communication block transmits data from the receive buffer to the corresponding host via the main interface.

13. The method of claim 11 or 12, wherein the Ethernet interface includes a free-running Ethernet clock; the CAN controller block includes a free-running CAN clock. The CAN controller block synchronizes the free-running CAN clock with the free-running Ethernet clock; and The CAN block uses the free-running CAN clock to create CAN frames with timestamps.