标签: can-bus

CANopen/CAN 总线,我需要什么,包括协议(OD?),在 PC 终端和 CAN 设备模块之间进行通信

我有一个带 ECAN 的 dsPIC33,并希望建立一个协议(如果可能,使用SDO),以便在终端软件和 dsPIC33 之间进行通信,我可以在 dsPIC33 和支持 IC 中执行诊断。

我不知道需要什么,那么这样做的低成本方法是什么?我可以使用 CAN-to-USB 设备,但我不确定这是否可行。CANUSB 内部采用什么样的协议来封装基于 ASCII 的消息?

我可以使用哪些硬件?它也可以用于监控 CAN 总线吗?我不想像 Vector 或类似的重量级解决方案那样投资昂贵的设置。

c embedded network-protocols can-bus

3
推荐指数
1
解决办法
5344
查看次数

如何解决此错误——在编译 socketcan 实用程序时

我已经从 SVN 下载了 can 实用程序。因为默认情况下,can 实用程序不在内核中。

svn checkout svn://svn.berlios.de/socketcan/trunk/can-utils
Run Code Online (Sandbox Code Playgroud)

我使用的内核是:--

ignite@ignite:~/socketcan/can-utils$ uname -a
Linux ignite 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:32:08 UTC 2012 i686 i686 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

然后我重新编译了实用程序。这是找不到错误 isotp.h :---

ignite@ignite:~/socketcan/can-utils$ make all
cc -O2 -Wall -Wno-parentheses -I../kernel/2.6/include -fno-strict-aliasing -DSO_RXQ_OVFL=40 -DPF_CAN=29 -DAF_CAN=PF_CAN    isotprecv.c   -o isotprecv
isotprecv.c:60:29: fatal error: linux/can/isotp.h: No such file or directory
compilation terminated.
make: *** [isotprecv] Error 1
cc -O2 -Wall -Wno-parentheses -I../kernel/2.6/include -fno-strict-aliasing -DSO_RXQ_OVFL=40 -DPF_CAN=29 -DAF_CAN=PF_CAN    isotpsend.c   -o isotpsend
isotpsend.c:60:29: fatal error: linux/can/isotp.h: No such …
Run Code Online (Sandbox Code Playgroud)

linux can-bus socketcan

3
推荐指数
1
解决办法
1763
查看次数

没有额外的硬件,是否可以在Arduino上安装CAN?

我想让Arduino在CAN网络中运行.Arduino是否存在提供OSI模型网络层的软件?我想象一下用GPIO/ADC检测HI/LOW电平并用DAC将信号发送到网络.如果没有附加任何额外的硬件,那将是很好的.我不介意CAN网络需要一个终端电阻.

通过Arduino我的意思是他们中的任何一个.我的目的是保持发展环境.

如果不存在这样的软件,那么是否存在任何技术障碍,例如有限的闪存尺寸(同样,我并不是指具有特定Atmega芯片的特定电路板).

embedded arduino can-bus

3
推荐指数
1
解决办法
2746
查看次数

如何设置 PDO 映射?

基本了解CANopen网络中PDO映射的概念。它允许以小标题广播实时数据。

它是如何制作的?如何设置我的设备以了解如何发送/接收 PDO?我需要某种软件吗?

industrial can-bus canopen

3
推荐指数
1
解决办法
2396
查看次数

如何计算软件验收Mask值

我想知道我们如何计算一组标准 CAN id 的软件接受过滤器掩码。如果有人能用例子来解释这一点,那就太好了。并且还请建议一些链接/材料来学习 CAN 堆栈软件实现。

提前致谢。

can-bus

3
推荐指数
1
解决办法
6937
查看次数

使用 CAPL 在 CANoe 中通过 ISO-TP(传输协议)传输数据

使用 CAPL 和 CANoe 通过 CAN 上的 ISO-TP 传输大量数据。是否有例程可以处理嵌入在 CAPL 中的数据分段,还是我需要编写自己的解释?

can-bus capl canoe

3
推荐指数
1
解决办法
6898
查看次数

CAN FD 支持 SocketCAN 上的虚拟 CAN (vcan)

我一直在使用 SocketCAN,尤其是 Virtual CAN vcan 已经有一段时间了。但是,到目前为止,我从未使用过 CAN FD(灵活数据速率)。

好吧,我今天早上使用 can-utils 尝试了它:

cansend vcan0 123##122
Run Code Online (Sandbox Code Playgroud)

但是,我得到了“CAN 接口不支持 CAN FD”的响应。已使用以下终端命令创建了 vcan 接口:

ip link add dev vcan0 type vcan
ip link set up vcan0
Run Code Online (Sandbox Code Playgroud)

有人知道vcan是否支持CAN FD吗?如果是,如何设置支持 CAN FD 的 vcan 接口?

系统配置:VirtualBox 上的 Ubuntu 14.04.1。

提前致谢,MAW

linux can-bus socketcan canutils

3
推荐指数
1
解决办法
4991
查看次数

汽车:使用 ISO-TP 扩展寻址的目的是什么?

我已经通读了所有 ISO 文档,但无法弄清楚在哪些情况下我们需要在 ISO-TP 中扩展寻址,尽管我已经看到来自 BMW CAN 流量的数据包,其中 UDS 使用扩展寻址。

如果所有节点都通过CAN ID过滤,为什么ISO-TP协议需要指定目标地址?节点是否也有可能通过 ISO-TP 目标地址过滤打包?

有任何想法吗?

can-bus iot-for-automotive

3
推荐指数
1
解决办法
1229
查看次数

是否可以使用STM32生成CAN总线错误?

对于我的项目之一,我想生成一些CAN总线错误(例如,位填充或CRC错误)。

这只是我的一个小主意,但您认为有可能实现吗?我知道所有协议内容都是由CAN驱动程序处理的,但我也不是CAN通信专家,所以也许我有点希望可以实现此错误生成。你怎么看 ?

我正在使用STM32微控制器和TJA CAN收发器。

c embedded can-bus stm32

3
推荐指数
1
解决办法
249
查看次数

面试题-如何连续读取缓冲区而不丢失数据

我是一名嵌入式工程师,经验不多。我在接受采访时被问到了一个问题,我想这并不新鲜,并且已经有了答案:

您有一个不断接收来自外部世界的输入的外设,该外设有一个缓冲区。输入的速率时不时地发生变化。外设需要读取输入缓冲区并对其进行处理。它检查输入消息并查看其是否与配置的过滤器匹配。如果匹配则转发,否则丢弃。

问题如下:

  1. 你如何处理这个问题?
  2. 如果缓冲区满了怎么办?您的缓冲区大小有限?外设仅具有一定的处理缓冲消息的速度。
  3. 如何使缓冲区适应不同的输入速度?

感谢你的帮助。谢谢。

c can-bus spi i2c embedded-linux

3
推荐指数
1
解决办法
378
查看次数