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.

[参考译文] Linux/processor-SDK-AM335X:数据传输中的 CAN 错误

Guru**** 2595805 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/648020/linux-processor-sdk-am335x-can-error-in-data-transfer

器件型号:PROCESSOR-SDK-AM335X

工具/软件:Linux

大家好、

我已经使用以下命令启用了 CAN 驱动程序。 我可以启动驱动程序、我无法传输和接收数据。

我遵循了此 TI 链接=> processors.wiki.ti.com/.../Linux_Core_DCAN_User's_Guide

我缺少什么?

=> CANCONFIG CAN0比特率50000 ctrlmode 三路采样打开

CAN0位速率:50000、采样点:0.875
CAN0 ctrlmode:环回[关闭]、仅监听[关闭]、tripple-sampling[打开]、单次触发[关闭]、berr-reporting[关闭]

=> CANCONFIG CAN0开始

[80.111516]  c_CAN_platform 481cc000.can CAN0:设置 BTR=0500 BRPE=0001

CAN0状态:错误激活

=> ifconfig

CAN0     Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
         正在运行 NOARP MTU:16 Metric:1
         RX 数据包:0错误:0丢弃:0超限:0帧:0
         TX 数据包:0错误:0丢弃:0超限:0载波:0
         冲突:0 txqueuelen:10
         RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)
         中断:165


这里是我的 dcan0 dts 文件
       Dcan0_PINS_DEFAULT:Dcan0_PINS_DEFAULT{
               pinctrl-single、pins =<
                       AM33XX_IOPAD (0x978、PIN_OUTPUT | MUX_MODE2)                    /* d_CAN1_TX:       CANA_TXD */
                       AM33XX_IOPAD (0x97C、PIN_INPUT 下拉| MUX_MODE2)         /* d_CAN1_Rx:       CANA_RXD */
                       AM33XX_IOPAD (0x83C、PIN_OUTPUT_PULLUP | MUX_MODE7)               /*(U13) GPIO1[15]:  CANA_EN *
                       AM33XX_IOPAD (0x8A0、PIN_OUTPUT 下拉| MUX_MODE7)           /*(R1) GPIO2[6]:        CANA_SLOPE */
                       AM33XX_IOPAD (0x8D8、PIN_OUTPUT 下拉| MUX_MODE7)       /*(V4) GPIO0[10]:   CANA_TERM *
               >;
       };

             AM33XX_IOPAD (0x9E4、PIN_OUTPUT 上拉| MUX_MODE7)                 /*(C14) GPIO3[7]:     CAN_POWER_ENABLE*/

我将 Dcan0为基准对 GPIO 进行阐述、如下所述

回波1 >/sys/class/gpio/gpio47/value   [CANA_EN]

回波0 >/sys/class/gpio/gpio70/value   [CANA_SLOP]

回波1 >/sys/class/gpio/gpio10/value   [CANA_TERM]

回波1 >/sys/class/gpio/gpio103/value [CANA_POWER_EN]

使用总线主控和 PCAN 来查看传输的数据。 它显示错误。 没有数据包正在传输。

命令:CAN0 -I 0x10 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88

是否有人可以帮助我解决此问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是什么 Linux 版本?
    这是定制板吗?
    主振荡器频率是多少?
    您是否尝试过更高的比特率?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Biser、

    问题再次出现。 感谢您的回复。

    我刚才在启动 CAN 配置之前进行了 GPIO 配置。 它工作正常
    我之前先启用了 CAN。 然后、我配置了 GPIO

    谢谢你。