1 将CAN分析仪插在电脑上的USB接口上,检查分析仪状态,绿灯就表示设备准备就绪。结合下表的指示灯含义, *** 作特别方便。
2 打开文件夹目录安装驱动文件,再次检查CAN分析仪的状态,绿灯亮表示驱动安装成功,亮红灯的,就要检查下驱动安装是否存在问题。
3 安装并打开配套的测试软件;软件控制是否启用终端电阻;波特率设置一下,测试软件和设备的一定要一致,不然无法连通。
4 一切就绪后,使用配套软件,就能实现接收、发送、分析、记录、回放CAN报文功能。
汽车CAN报文分析工作说白了就是汽车数据的翻译破解工作。为了完成这一工作目标,我们需要如下条件:1、汽车CAN报文分析者需要具备一定的CAN总线知识,如果自身不具备,那就需要邀请专门具备此项技能的工程师进行代劳了,毕竟这项工作是一个很考验专业技能的工作。2、合适的CAN分析仪工具,俗话说,巧妇难为无米之炊,有了专业的汽车CAN报文分析能力并不代表你就一定能做好这项工作,没有硬件CAN分析仪工具的支持,工业也难以开展下去。一般来说,此类CAN分析仪有单通道双通道多通道等不同种类,使用者应该根据具体的实际情况进行选择,而不是造成相应的资源浪费。控制器局域网(CAN)是一种车辆总线标准,旨在允许微控制器和设备在没有主机的情况下在应用程序中相互通信。
它是一种基于消息的协议,最初是为汽车内的多路电气布线设计的,但也用于许多其他情况。
CAN Bus API提供了一些通用的API来访问CAN设备:
多家供应商为CAN设备提供了各种API进行访问。该 QtSerialBus 模块支持CAN总线插件的设置如下:
如果Qt提供的插件不适合所需的目标平台,则可以实施定制的CAN总线插件。该实现遵循实现Qt插件的标准方法。自定义插件必须部署到 $QTDIR/plugins/canbus 。
每个插件必须定义一个Key值,该Key值用于加载插件。这是通过一个小的json文件完成的。例如,socketcan插件使用以下 plugin.json 内容:
该Key值必须与CAN总线适配器的接口名称一起传递给 QCanBus :: createDevice() 。 QCanBus 使用 QCanBusFactoryV2 接口加载和实例化插件,每个插件必须将其实现为中央入口点。接口充当工厂,其唯一目的是返回 QCanBusDevice 实例。上面提到的接口名称是通过 QCanBusFactory :: createDevice() 工厂方法传递的。以下是 socketcan 插件的工厂实现:
下一步是提供 QCanBusDevice 的实现。至少必须实现以下纯虚函数功能:
在open() 和 close() 方法分别配合 QCanBusDevice :: connectDevice() 和 QCanBusDevice :: disconnectDevice() 使用。检查功能文档以了解实施细节。
QCanBusDevice :: writeFrame() 负责进行完整性检查,例如 QCanBusFrame 的有效性以及设备是否仍处于连接状态。假设检查通过,它将帧写入CAN总线。成功后,它将发出 QCanBusDevice :: framesWritten() 信号;否则,将使用适当的错误消息调用 QCanBusDevice :: setError() 。此功能也可以用于实现异步写入 *** 作。插件实施者有责任在适当的时间发出适当的信号。
最后但并非最不重要的一点是, QCanBusDevice :: interpretedErrorFrame 提供了一种方便的方法来将CAN总线错误帧的内容转换为人类可读的错误字符串。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)