A convenient configuration method for CAN interface of Jetson series embedded development board

By simplifying device tree modification and crystal oscillator frequency adjustment, and combining the jetson-io.py tool, the GPIO pins of Jetson Nano are configured as CAN interfaces, solving the problem that Jetson Nano does not support CAN interfaces. This enables fast and secure CAN communication configuration and broadens its application scope.

CN119396411BActive Publication Date: 2025-11-28NORTHWESTERN POLYTECHNICAL UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411646635.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-18
Publication Date
2025-11-28
Estimated Expiration
2044-11-18

AI Technical Summary

Technical Problem

The Jetson Nano development board does not natively support the CAN interface, and existing conversion solutions are complex and risky, making them difficult to apply in fields such as industrial automation and intelligent transportation.

Method used

By simplifying device tree modification and crystal frequency adjustment, and using the jetson-io.py tool, the Jetson Nano's GPIO pins are configured as CAN interfaces, and the MCP251X chip is used, simplifying the configuration process and ensuring compatibility.

Benefits of technology

It lowers the technical threshold and risk, enabling Jetson Nano to be configured quickly and securely for CAN communication in industrial automation and intelligent transportation, thus improving application capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119396411B_ABST
    Figure CN119396411B_ABST
Patent Text Reader

Abstract

The application discloses a Jetson series embedded development board CAN interface convenient configuration method, through a simplified device tree direct modification and decompilation method, allowing users to easily configure Jetson Nano, so that it can normally output CAN signals through MCP251X chips. This method significantly reduces the technical threshold and risk, reduces development costs, and does not need to rely on complex kernel updates, making Jetson Nano CAN communication faster and safer in various industrial and research and development applications.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application belongs to the field of embedded technology, and particularly relates to a convenient configuration method for a CAN interface of a Jetson series embedded development board. BACKGROUND

[0002] With the rapid development of industrial automation and intelligent transportation systems, efficient and reliable communication technology has become increasingly important. Controller Area Network (CAN) as a stable and widely used network communication standard, due to its high reliability and strong error detection capability, is widely used in automotive electronics, industrial automation and various embedded systems.

[0003] Jetson Nano as a powerful embedded development board, it provides rich GPIO interface and hardware resources, is very suitable for developing complex machine learning applications and advanced computing tasks. However, although the Jetson Nano hardware is powerful, its native supported communication interface does not include CAN. This limits its application in automation and vehicle-mounted systems and other fields, because these fields usually rely on CAN for reliable communication between devices.

[0004] In addition, although there are a variety of solutions on the market to convert GPIO interface to CAN interface, such as using MCP251X series CAN controller, but the implementation of these solutions usually requires users to perform complex hardware configuration and software programming. In particular, users need to manually modify the Linux device tree configuration and system startup parameters, which not only has high technical threshold and cumbersome operation, but also often involves system-level risks such as system instability and data loss.

[0005] Therefore, there is an urgent need to develop a simple, low-risk and easy-to-implement method to enable Jetson Nano users to quickly and safely configure their GPIO interface as a CAN communication interface, thereby broadening its application in industrial automation and intelligent transportation and other fields. The present application is proposed to solve this technical need. SUMMARY

[0006] In order to overcome the shortcomings of the prior art, the present application provides a convenient configuration method for a CAN interface of a Jetson series embedded development board, which allows users to easily configure Jetson Nano to normally output CAN signals through MCP251X chips through a simplified device tree direct modification and decompilation method. This method significantly reduces the technical threshold and risk, reduces development costs, and does not require reliance on complex kernel updates, making CAN communication of Jetson Nano more efficient and secure in various industrial and research and development applications.

[0007] The technical scheme adopted by the present application to solve its technical problems is as follows:

[0008] Step 1: Configure the device tree on the Jetson Nano development board to enable the CAN function of the 40Pin GPIO pin;

[0009] Step 2: Use the jetson-io.py tool to activate and configure the 40Pin GPIO pin, and select the external hardware MCP251X series chip;

[0010] Step 3: Modify the device tree file, convert it to a device tree source file, and modify the crystal frequency setting to the correct value to ensure compatibility with the MCP251X chip;

[0011] Step 4: Re-compile the modified device tree source file into a device tree binary file, and ensure that the correct device tree is loaded at system startup, so that the Jetson Nano can output CAN signals through the MCP251X chip.

[0012] Preferably, the crystal frequency is 8,000,000Hz.

[0013] Preferably, in the CAN interface convenient configuration method, the extlinux.conf file is used to specify the loading of the modified device tree file to ensure that the Jetson Nano uses the correct configuration at startup.

[0014] Preferably, in the CAN interface convenient configuration method, the Jetson Nano development board is an EMMC version, and the operating system is flashed through the Nvidia SDKManager tool.

[0015] Preferably, in the CAN interface convenient configuration method, the effectiveness of the configuration is finally verified, including sending and receiving CAN messages to ensure that the communication between the Jetson Nano and the MCP251X chip is normal.

[0016] A computer program causes a computer to execute the above-mentioned CAN interface convenient configuration method.

[0017] An electronic device, comprising: a processor and a memory; the memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory to make the electronic device execute the above-mentioned CAN interface convenient configuration method.

[0018] A computer readable storage medium having a computer program stored thereon, the computer program being executed by a processor to implement the above-mentioned CAN interface convenient configuration method.

[0019] A chip, comprising: a processor configured to call and run a computer program from a memory, so that a device installed with the chip performs the above-mentioned CAN interface convenient configuration method.

[0020] A computer program product, comprising a computer storage medium storing a computer program, the computer program comprising instructions executable by at least one processor, when the instructions are executed by the at least one processor, the above-mentioned CAN interface convenient configuration method is implemented.

[0021] The beneficial effects of the present application are as follows:

[0022] 1. Device tree direct modification method: the present application provides a novel device tree modification strategy, which allows users to directly modify the.dtb file and accurately adjust the hardware configuration parameters, especially the crystal frequency and the function allocation of GPIO pins, by compiling back to the.dts format. This method avoids the traditional requirement of updating the system to realize the hardware configuration, significantly reducing the complexity and risk of operation.

[0023] 2. Optimized crystal frequency setting: the present application provides a method of adjusting the crystal frequency based on the specific hardware requirements. By adjusting the crystal frequency from the standard 20MHz to 8MHz to match the optimal working frequency of the MCP251X chip, the stability and reliability of CAN communication are ensured.

[0024] 3. Simplify the configuration process using tools: the present application uses existing tools such as jetson-io.py to activate and configure the GPIO pins of Jetson Nano, further simplifying the user's operation requirements at the hardware level. Users can select specific hardware configurations through a graphical interface without deep understanding of the underlying hardware details.

[0025] 4. Verification and testing process: the present application also includes a complete verification and testing process to ensure that the modified configuration can work normally in the actual environment. Including sending and receiving CAN message testing, and evaluating system performance by monitoring the stability and error rate of data transmission.

[0026] In summary, the present application not only improves the application ability of Jetson Nano in automation and vehicle-mounted systems, but also provides a low-risk and high-efficiency CAN interface configuration method for a large number of developers and system integrators. BRIEF DESCRIPTION OF DRAWINGS

[0027] Figure 1 The overall flowchart of the present application.

[0028] Figure 2Configure a successful jetson-io interface for the embodiment of the present application.

[0029] Figure 3 Adjust the output mode of the corresponding CAN chip in jetson-io for the embodiment of the present application.

[0030] Figure 4 Modify the CAN chip crystal frequency in the device tree file for the embodiment of the present application.

[0031] Figure 5 Activate the CAN chip interface in the device tree file for the embodiment of the present application. DETAILED DESCRIPTION

[0032] The present application is further illustrated below in conjunction with the accompanying drawings and embodiments.

[0033] The present application provides a method for configuring the CAN interface of a Jetson Nano development board, which simplifies the setting process of the CAN communication interface realized by the MCP251X series chip. By directly modifying and decompiling the device tree of the Jetson Nano, the present application allows users to quickly and safely configure the CAN interface without updating the Nvidia kernel library.

[0034] The method comprises the following steps:

[0035] Configure the device tree on the Jetson Nano development board to enable the CAN function of its 40Pin GPIO pin;

[0036] Activate and configure the 40Pin GPIO pin using the jetson-io.py tool, and select an external hardware MCP251X series chip;

[0037] Modify the device tree file (.dtb) to convert it to a device tree source file (.dts), and modify the crystal frequency setting to the correct value to ensure compatibility with the MCP251X chip;

[0038] Recompile the modified device tree source file (.dts) into a device tree binary file (.dtb), and ensure that the correct device tree is loaded at system startup, so that the Jetson Nano can output CAN signals through the MCP251X chip.

[0039] The crystal frequency is modified to 8,000,000Hz.

[0040] Use the extlinux.conf file to specify the loading of the modified device tree file to ensure that the Jetson Nano uses the correct configuration at startup.

[0041] The Jetson Nano development board must be the EMMC version, and the operating system is flashed through the Nvidia SDKManager tool.

[0042] A step of verifying the validity of the configuration is also included, which involves sending and receiving CAN messages to ensure that communication between the Jetson Nano and the MCP251X chip is normal.

[0043] Embodiment:

[0044] See Figure 1 , the following are specific steps for implementing the present application, aiming to provide a simple, efficient and low-risk method to enable the Jetson Nano development board to output CAN signals through the MCP251X series chip;

[0045] Step 1: System preparation;

[0046] The precondition is that the Jetson Nano development board must be the version with EMMC, and the system needs to be flashed with the native operating system through the Nvidia SDKManager tool. This provides the necessary stability and compatibility of the system.

[0047] Step 2: Configure ExtLinux.conf;

[0048] Before activating any hardware interface, it is necessary to first ensure that the device tree in extlinux.conf has been correctly configured to support modifications to the 40-pin GPIO interface.

[0049] Edit the / boot / extlinux / extlinux.conf file and add or modify the FDT line to specify the device tree file that enables the GPIO configuration.

[0050] It is necessary to confirm the correctness of FDTDIR and FDT. FDTDIR points to the directory containing all device tree files, while FDT should point to the main device tree file. In addition, the / boot / dtb / directory should contain the corresponding.dtbo file. After configuration, the result should be consistent with Figure 2 .

[0051] Step 3: Enable GPIO interface;

[0052] Use the jetson-io.py tool to enable and configure the 40-pin GPIO interface of the Jetson Nano. This tool provides a user-friendly graphical interface that allows users to select and activate specific hardware interfaces, including configurations for CAN communication. See Figure 3 ;

[0053] Start the jetson-io.py tool.

[0054] In the tool interface, select "Configure 40-pin expansion header".

[0055] Select the corresponding configuration to support MCP251X chips.

[0056] Step 4: Modify the device tree;

[0057] Modify the device tree file to adapt to the hardware configuration of the CAN interface, especially adjust the crystal frequency to ensure compatibility with MCP251X.

[0058] Inverse compile the binary file (.dtb) of the device tree into the device tree source file (.dts).

[0059] See Figure 4 , modify the clock-frequency property in the.dts file, change the value from the default 20,000,000Hz to 8,000,000Hz.

[0060] See Figure 5 , disable unnecessary configurations and activate the support of MCP251X.

[0061] Recompile the modified.dts file back to.dtb format and ensure it is loaded at startup.

[0062] Step 5: Verification and testing;

[0063] Restart the Jetson Nano and use CAN tools for testing to verify the function of the CAN interface.

[0064] Use tools such as candump and cansend to send and receive CAN messages, check if the communication is normal.

[0065] Monitor the stability of data transmission and the response of the system.

Claims

1. A method for conveniently configuring a CAN interface of a Jetson series embedded development board, characterized in that, The method comprises the following steps: Step 1: Configure the device tree on the Jetson Nano development board to enable the CAN function of the 40Pin GPIO pin; Use the extlinux.conf file to specify the loading of the modified device tree file to ensure that the Jetson Nano uses the correct configuration when starting; The Jetson Nano development board is an EMMC version, and the operating system is flashed through the Nvidia SDKManager tool; Step 2: Use the jetson-io.py tool to activate and configure the 40Pin GPIO pin, and select the external hardware MCP251X series chip; Step 3: Modify the device tree file, convert it to a device tree source file, and modify the crystal frequency setting to the correct value to ensure compatibility with the MCP251X chip; Step 4: Re-compile the modified device tree source file into a device tree binary file, and ensure that the correct device tree is loaded when the system starts, so that the Jetson Nano can output CAN signals through the MCP251X chip. 2.The method of claim 1, wherein, The crystal frequency is 8,000,000 Hz.

3. The method of claim 1, wherein the Jetson series embedded development board CAN interface convenient configuration method is characterized in that, Finally, verify the effectiveness of the configuration, including sending and receiving CAN messages, to ensure that the communication between the Jetson Nano and the MCP251X chip is normal.

4. An electronic device, comprising: It comprises: a processor and a memory; The memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory to make the electronic device execute the method of any one of claims 1 to 3.

5. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the method of any one of claims 1 to 3.

6. A chip, characterized by It comprises: a processor for calling and running a computer program from a memory, so that a device installed with the chip executes the method of any one of claims 1 to 3.

7. A computer program product, characterised in that, The computer program product comprises a computer storage medium storing a computer program, and the computer program comprises instructions executable by at least one processor, and when the instructions are executed by the at least one processor, the method of any one of claims 1 to 3 is implemented.

Citation Information

Patent Citations

  • Multi-dts (Device Tree Source)-file supporting method, compilation device and embedded device

    CN107632828A

  • Device tree DTB file loading method and system, electronic device and storage medium

    CN115756624A