工具与软件:
您好、TI 支持团队:
我使用的是 TI TDA4 J784S4架构、想通过编程为 CAN 仲裁设置 CAN 配置、并且数据比特率包括比特率、TSeg1、Tseg2、SJW。 您能不能向我介绍一下现有的库支持 、尤其是在 Linux 环境中?
提前感谢您的帮助。
此致、
Nirosekhan J
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
您好、TI 支持团队:
我使用的是 TI TDA4 J784S4架构、想通过编程为 CAN 仲裁设置 CAN 配置、并且数据比特率包括比特率、TSeg1、Tseg2、SJW。 您能不能向我介绍一下现有的库支持 、尤其是在 Linux 环境中?
提前感谢您的帮助。
此致、
Nirosekhan J
您好!
您可以在 Linux 环境中给出以下命令、以设置比特率以及相应的参数。
Usage: ip link set DEVICE type can [ bitrate BITRATE [ sample-point SAMPLE-POINT] ] | [ tq TQ prop-seg PROP_SEG phase-seg1 PHASE-SEG1 phase-seg2 PHASE-SEG2 [ sjw SJW ] ] [ dbitrate BITRATE [ dsample-point SAMPLE-POINT] ] | [ dtq TQ dprop-seg PROP_SEG dphase-seg1 PHASE-SEG1 dphase-seg2 PHASE-SEG2 [ dsjw SJW ] ] [ loopback { on | off } ] [ listen-only { on | off } ] [ triple-sampling { on | off } ] [ one-shot { on | off } ] [ berr-reporting { on | off } ] [ fd { on | off } ] [ restart-ms TIME-MS ] [ restart ] Where: BITRATE := { 1..1000000 } SAMPLE-POINT := { 0.000..0.999 } TQ := { NUMBER } PROP-SEG := { 1..8 } PHASE-SEG1 := { 1..8 } PHASE-SEG2 := { 1..8 } SJW := { 1..4 } RESTART-MS := { 0 | NUMBER }此致
Tarun Mukesh
您好!
我们已在 Linux 终端尝试使用 ip link 命令、运行正常。 通过 libsocketcan 库以编程方式尝试相同的功能、但未按预期运行。 是否有任何库支持用于设置比特率和其他参数。 如果有任何问题、请建议使用哪种工作方法。
请告诉我您遵循了哪些步骤、您执行了哪些更改以及您如何将其包含在固件中?
此致
Tarun Mukesh
团队成员、您好!
我尝试了以下存根代码来使用 libsocketcan 接口设置 CAN 配置。 您能否 说明此接口是否将有助于设置配置、或者评估板中应使用任何其他接口来进行相同设置。
struct can_bittiming bt;
BT.bitrate = 0;
BT.FRAME = 0;tq = 0;
bt.prop_seg = 6;
BT.phase_seg1 = 7;
BT.phase_seg2 = 2;
BT.SJW=1;
can_set_bittiming (interface_name、&bt);
此致、
Nirosekhan J
尊敬的 Nirosekhan:
对反应延迟深表歉意。 您应该能够使用 SocketCAN、如以下 Linux 文档中所示: https://docs.kernel.org/networking/can.html。
如果仍然无法使 SocketCAN 正常工作、则可以参考"IP"工具的代码。 我想源代码是这样的: https://github.com/iproute2/iproute2/blob/main/ip/iplink_can.c。
此致、
Takuma