干货分享|同星硬件如何使用SocketCAN进行报文收发 帖子的作者。zhang, yaping 发表的帖子。2023-09-15 职位类别。技術案例 发表评论。0评论 Catalogue 目录 一、前言 1.1 Socket CAN 二、Socket CAN使用教程2.1 系统环境配置 2.2 库文件上传2.3 使能vcan2.4 测试设备双通道互相通信三、问题Q&A3.1 sudo: ./sockettscan: command not found3.2 cannot open shared object file 一、前言 Preface introduction 1.1、Socket CANSocketCAN是由Linux内核维护的CAN协议栈,可以使用Linux内核提供的Socket API进行CAN总线的读写操作,用户只需要使用C语言实现与Socket API通讯,就可以控制CAN总线上的节点,实现数据的发送与接收。如果想要利用SocketCAN控制TSCAN的设备,有一个解决方法是利用Linux自带的虚拟SocketCAN。我们利用同星提供的Linux库libTSCANApiOnLinux.so,完成一个vcan在本机的server程序,用于把SocketCAN的报文和libTSCAN进行互转。这种方式配置同星硬件的波特率,以及查看信息都需要在sockettscan程序中。因为vcan本身不支持波特率配置,我们也无法把统计信息告知vcan。逻辑图如下: 二、Socket CAN使用教程 Socket CAN Using Toturials 2.1、系统环境配置如果电脑本身的系统就是Linux系统,则这个步骤可以忽略。1) 通过http://releases.ubuntu.com/18.04/可以下载Ubuntu系统镜像。 2)在虚拟机中导入映射文件:虚拟机 ->编辑虚拟机设置 -> CD/DVD ->使用ISO 映射文件。 2.2、库文件上传 1)在桌面新建一个文件夹vcan。 2)通过U盘将文件夹里的文件上传到当前文件夹。 3)将libTSCANApiOnLinux.so、libTSH.so、sockettscan、sockettscan.cpp、TSCANDef.hpp这5个文件的属性修改为:Permissions处的Access全部选择Read and write,Group选择sudo,勾选Execute。 4)在vcan文件夹下,将libTSCANApiOnLinux.so和libTSH.so这两个库文件复制到/usr/lib/路径下。 2.3、使能vcan1)vcan指令安装步骤。 2)测试vcan是否安装成功,用指令ifconfig -a查看信息,看到带有vcan0的信息就代表安装成功。 3)安装can调试工具,sudo install can-utils 。4)运行sockettscan程序。绑定到设备0的1通道,波特率500k-2M,使能终端电阻。这样通过socketcan调用vcan0就可以把报文同步到TSCAN设备中了。-b表示仲裁波特率,-d表示数据波特率,-v表示硬件的下标(下标从0开始),-c表示通道的下标(下标从1开始)。 可以通过sudo ./sockettscan -h显示帮助信息 2.4、测试设备双通道互相通信 1)硬件TC10341-1、需要将TC1034的CAN1和CAN2通过杜邦线进行连接,通过上述方法建立vcan0和vcan1两个通道。 利用sockettscan绑定两个通道:关于多通道使用需要注意,每一个sockettscan用来连接单个TSCAN硬件。多个通道可以写多次(vcan0名称需要在最前面),多个硬件设备,可以在多个终端调用sockettscan实现。 1-2、通过cansend和candump测试虚拟can数据收发。分别打开两个终端,分别负责数据接收和发送。先启动接收指令candump,它会阻塞等待数据。然后cansend发送数据,效果如下: 2)硬件TC1034和TC1016P2-1、需要将TC1034的CAN1和TC1016P的CAN1通过杜邦线进行连接。利用sockettscan绑定两个通道。绑定通道1。 绑定通道2。 2-2、通过cansend和candump测试虚拟can数据收发。分别打开两个终端,分别负责数据接收和发送。 三、问题 Q&A 3.1 sudo: ./sockettscan: command not found 1)选择sockettscan文件,打开Properties窗口。 2)在Permissions处的Access全部选择Read and write,Group选择sudo,勾选Execute。 3.2 cannot open shared object file 在vcan文件夹下,将libTSCANApiOnLinux.so和libTSH.so这两个库文件复制到/usr/lib/路径下。 再次运行连接硬件的命令。 如您需要demo或咨询其他技术问题,可以在官网留言。 咨询邮箱:sales@tosunai.cn服务热线:021-59560506TSMaster软件最新版免费下载地址: http://www.tosun.tech/TOSUNSoftware/TSMaster_Setup_beta.exe 标签。 SocketCAN, TSMaster, 报文收发 阅读更多文章 上一篇文章一文了解TSMaster中Seed&key的两种处理方法 在下一篇文章关于同星硬件接口卡及TSMaster软件常见问题Q&A指南 你可能也喜欢 汽车内部通信的安全挑战与SecOC解决方案 2023-08-10 TSMaster自动化模块篇 2022-09-28 TSMaster诊断功能详解 2022-09-28 发表回复每日一次