NVIDIA Tegra
NVIDIA DRIVE OS 5.1 Linux SDK

Developer Guide
5.1.6.0 Release


 
Easy CAN Usage
 
CAN Data from the SoC to Aurix
CAN Data from Aurix to the SoC
Easy CAN provides ability to configure Aurix CAN for reception and transmission of specific CAN messages.
When the configured message is received at the Aurix, it is routed to the SoC. It is then encapsulated in UDP Packets, along with the metadata, which includes timestamp, reception channel for each CAN Frame received.
The SoC can initiate transmission of specific CAN messages from Aurix to the CAN Bus. The requested data is encapsulated in UDP packet and is transmitted from the requested CAN Channel with a maximum latency of 10ms.
To test the capability execute the desired python script:
aurix_configure_easy_can.py
For every newly configured Rx messages add:
 
configure_rx_message(msg id, HW controller, frame type, dst)
 
e.g. configure_rx_message(0xEBEB, 2, 2, 1)
Where
#msg id = 0xEBEB,
#HW controller = CAN C = 2,
#frame type = extended = 2,
#dst = Tegra A = 1
aurix_tegra_a_can_send_receive.py
For every new message to be transmitted from Aurix add:
 
send_msg(dst, src, app selector, msg id, payload)
 
e.g. send_msg(4, 1, 0x11, 0x4a4, "Hello")
#dst = To CAN Bus = 4
#src = Tegra A = 1
#app selector = Normal CAN Frame on CAN A
#msg Id = 0x4a4
#payload = “Hello”
CAN Data from the SoC to Aurix
Design
The requested CAN frames from Tegra over Ethernet is stored at the Aurix Ethernet Buffers.
Every 5ms, EthIf takes data out of Ethernet Buffer which eventually is written to the Application buffer by Com Callback.
Application for Easy CAN runs at 10ms, processes the data in UDP packets and sends the content to the requested CAN Bus.
If number of packets sent from Tegra every 10ms is more than the Application Buffer count, the requests will be over-written.
Limitations
Ethernet Stack runs at polling frequency of 5ms
One Ethernet Packet per CAN frame is used
8 Rx Buffer used in Eth Driver
1 Application Buffer
Performance
If we send CAN FD frames with packet size of 64 bytes, performance achieved is 102.4 Kbps of CAN Data
CAN Data from Aurix to the SoC
Design
CAN Stack runs at a polling frequency of 5ms with FIFO Buffers. Once the CAN frame is received the metadata is added to it and then it is pushed to the Application Buffers of Easy CAN.
Easy CAN Application runs at 10ms, every 10ms the content of Easy CAN buffers is copied and sent to Ethernet Stack. To Improve the performance the buffers are even flushed when it is about to be full.
The transmission of UDP packets happens every 5ms.
Limitations
Ethernet Stack runs at polling frequency of 5ms
4 Tx Buffer used in Eth Driver
Performance
185 Kbps per CAN Channels for 6 Channels i.e. Gateway of 1.11 Mbps CAN Data.