can-bus

    -1热度

    1回答

    我正在使用具有CAN0和CAN1总线的K66F微控制器实现简单的canbus通信。目标是从CAN0发送一条消息到CAN1。 我正在使用恩智浦提供的K66F开发板示例代码。问题在于,当使用逻辑分析器时,我可以看到消息已发送并得到确认,但程序仍然停留在!rxcomplete中,即使我可以清楚地看到消息已被确认。因此我假设我有一些配置参数设置不正确。 我不知道我的参数是否正确。根据发送的信息,我认为电子

    0热度

    1回答

    博世can 2.0规范没有明确说明can bus是连线逻辑。 (尽管互联网上的每个例子都是使用和连线的逻辑)使用了or-wired逻辑?如果是这样,我们如何使用有线收发器连接模块并在CAN总线上使用或有线收发器?在这种情况下如何管理仲裁?

    0热度

    1回答

    目前我正在使用带嵌入式CAN控制器的32位微控制器。我很困惑为CAN控制器选择时钟源(基于2.0版本A部分& B),因为我有3种时钟源选择,级联FMPLL时钟,外部晶体振荡器和片上RC振荡器。因为我必须最小化由于CAN位时序计算中的时钟抖动造成的误差。所以我必须为这个需求选择最好的时钟源。我尝试搜索该选择的方法,但无法找到详细信息。任何人都可以向我解释这个或给我推荐一些好的信息来源吗? 谢谢

    0热度

    1回答

    我想了解使用下面的例子CAN总线仲裁方法,但我不明白为什么总线级别为0(零)某处和1别处。这里s1,s2,s3是三个节点与三不同的标识符和逻辑0意味着显性水平,逻辑1意味着隐性水平。有人能帮我理解下面的例子吗? s1 1 0 0 0 1 0 0 0 0 1 1 s2 0 0 1 1 1 0 0 1 0 1 1 s3 0 0 1 1 1 0 1 0 0 1 0 bus lev

    0热度

    1回答

    我在哪里可以找到这个HCS12 CAN驱动程序中的以下缺失功能here? CANFifo_Init() CANFifo_Get(msg) CANFifo_Put(msgPtr)

    0热度

    2回答

    您好,我有一个关于CAN总线通信/仲裁的问题。 说CAN总线上的多个主设备要同时发送,这意味着具有最低消息标识符的主设备将最终赢得仲裁并开始发送其有效负载。其他人失去仲裁,切换到接收模式,并等待公交车再次空出。 现在我的问题: 做,在之前的仲裁失败尝试立即重新仲裁总线的主人(即当公交车是免费的)?他们是否等待CAN矩阵中定义的下一个激活周期?还是可以单独在CAN矩阵中定义? 由于提前, 弗洛里安

    1热度

    2回答

    我已经通读了所有的ISO文件,并且无法弄清楚在哪些情况下我们需要在ISO-TP中进行扩展寻址,尽管我已经看到来自BMW CAN通信的数据包,其中UDS使用扩展寻址。 为什么ISO-TP协议需要指定目标地址,如果所有节点都通过CAN ID进行过滤?是否有可能节点也会按照ISO-TP目标地址进行过滤打包? 任何想法?

    1热度

    1回答

    我一直在试用Pican2和python-can库,我已经能够读懂公交车并解读我车内的很多消息。问题是,当我发送一条消息到总线(例如,打开A/C)时,它很快出现在candump打印输出中,然后恢复到之前的状态。例如: [436] 00 08 00 10 FE 00 00 01 [436] 04 10 00 10 FE 00 00 01 [436] 00 08 00 10 FE 00 00 0

    1热度

    1回答

    我正在构建基于Atmega2560芯片的定制Canbus IO模块。该模块将具有10个高电流输出,包括pwm控制和电流反馈,20个数字输入,5个模拟输入和4个0-5v模拟输出。我一直在研究搞清楚我将要使用的J1939消息结构。这些模块将是由主ECU控制的从属设备。由于这些模块中的多个模块可能位于同一个网络中,因此我为每个模块添加了一个CAN地址开关,以便用户可以选择每个单元的CAN ID 1-25

    0热度

    1回答

    我不明白为什么这个示例代码来自mcp_can库& &的接收到的可以使用0x1FFFFFFF的Id。什么样的比特会丢失?因为这条指令会丢失3个MSB位。 if((rxId & 0x80000000) == 0x80000000) // Determine if ID is standard (11 bits) or extended (29 bits) sprintf(msgString