我有一个带 ECAN 的 dsPIC33,并希望建立一个协议(如果可能,使用SDO),以便在终端软件和 dsPIC33 之间进行通信,我可以在 dsPIC33 和支持 IC 中执行诊断。
我不知道需要什么,那么这样做的低成本方法是什么?我可以使用 CAN-to-USB 设备,但我不确定这是否可行。CANUSB 内部采用什么样的协议来封装基于 ASCII 的消息?
我可以使用哪些硬件?它也可以用于监控 CAN 总线吗?我不想像 Vector 或类似的重量级解决方案那样投资昂贵的设置。
我已经从 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) 我想让Arduino在CAN网络中运行.Arduino是否存在提供OSI模型网络层的软件?我想象一下用GPIO/ADC检测HI/LOW电平并用DAC将信号发送到网络.如果没有附加任何额外的硬件,那将是很好的.我不介意CAN网络需要一个终端电阻.
通过Arduino我的意思是他们中的任何一个.我的目的是保持发展环境.
如果不存在这样的软件,那么是否存在任何技术障碍,例如有限的闪存尺寸(同样,我并不是指具有特定Atmega芯片的特定电路板).
基本了解CANopen网络中PDO映射的概念。它允许以小标题广播实时数据。
它是如何制作的?如何设置我的设备以了解如何发送/接收 PDO?我需要某种软件吗?
我想知道我们如何计算一组标准 CAN id 的软件接受过滤器掩码。如果有人能用例子来解释这一点,那就太好了。并且还请建议一些链接/材料来学习 CAN 堆栈软件实现。
提前致谢。
使用 CAPL 和 CANoe 通过 CAN 上的 ISO-TP 传输大量数据。是否有例程可以处理嵌入在 CAPL 中的数据分段,还是我需要编写自己的解释?
我一直在使用 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
我已经通读了所有 ISO 文档,但无法弄清楚在哪些情况下我们需要在 ISO-TP 中扩展寻址,尽管我已经看到来自 BMW CAN 流量的数据包,其中 UDS 使用扩展寻址。
如果所有节点都通过CAN ID过滤,为什么ISO-TP协议需要指定目标地址?节点是否也有可能通过 ISO-TP 目标地址过滤打包?
有任何想法吗?
对于我的项目之一,我想生成一些CAN总线错误(例如,位填充或CRC错误)。
这只是我的一个小主意,但您认为有可能实现吗?我知道所有协议内容都是由CAN驱动程序处理的,但我也不是CAN通信专家,所以也许我有点希望可以实现此错误生成。你怎么看 ?
我正在使用STM32微控制器和TJA CAN收发器。
我是一名嵌入式工程师,经验不多。我在接受采访时被问到了一个问题,我想这并不新鲜,并且已经有了答案:
您有一个不断接收来自外部世界的输入的外设,该外设有一个缓冲区。输入的速率时不时地发生变化。外设需要读取输入缓冲区并对其进行处理。它检查输入消息并查看其是否与配置的过滤器匹配。如果匹配则转发,否则丢弃。
问题如下:
感谢你的帮助。谢谢。