USB_CAN 适配器测试例程——采用CDC透传模式

USB_CAN 适配器测试例程 

采用CDC透传模式

 

一、简介

CAN总线无处不在,在设计开发中,到处需要用到CAN总线调试工具,本工具可以作为CAN的基础测试工具,用于监听CAN总线,或测试CAN数据收发。测试时,可以用两个板子,对接起来测试。即可实现如下介绍的功能。

二、接线图示意

 

 

 

 

三、开发测试环境

兼容系统:XP、WIN7

测试系统:XP 32bit(已验证)

开发工具:MDK 4.54

MCU型号:STM32F107VC(3.5版本固件库)

测试软件:stc-isp-15xx-v6.82.exe(串口调试工具)

四、测试方式:定时CAN总线数据发送

两块板卡供电、下载好测试程序、总线对应接好,两块板卡对接。

使用mini-usb数据线链接电脑、观测测试数据、接任意一块板子即可

定时周期:0.5s

测试模式:

CAN接收到数据直接传输给USB(包长度为20字节)

CAN将USB接收到的数据发送到总线

CAN自动向总线发生周期数据包:间隔0.5秒

数据包格式如下:

指示灯作用:

LED2(每秒闪烁,指示程序运行正常)

LED3(收到一个CAN数据包,翻转一次led状态,代表收到一个数据)

LED4(收到一个USB数据包,翻转一次led状态,代表收到一个数据)

 

 

 

定时发送数据包格式:

              TxMessage.StdId=0x12345678;

              TxMessage.ExtId=0x11223344;

              TxMessage.IDE=CAN_ID_EXT;

              TxMessage.RTR=CAN_RTR_DATA;

              TxMessage.DLC=8;

              TxMessage.Data[0]=0x10;

              TxMessage.Data[1]=0x20;

              TxMessage.Data[2]=0x30;

              TxMessage.Data[3]=0x40;

              TxMessage.Data[4]=0x50;

              TxMessage.Data[5]=0x60;

              TxMessage.Data[6]=0x70;

              TxMessage.Data[7]=0x80;

USB访问方式:

1、 插入usb数据线:若第一次插入会提示安装驱动。

2、 若提示安装驱动则,定位当对应驱动目录

 

3、 安装好驱动后,设备管理器将发现,USB转CAN适配器

 

4、 这时,就可以使用串口工具访问该设备了(选择好对应串口号,hex模式,其他无所谓)

 

5、 数据通信截图

 

6、 数据解释

数据包:固定长度为20字节

00 00 00 00 44 33 22 11 04 00 08 10 20 30 40 50 60 70 80 00

4字节:00 00 00 00(StdId)

4字节:44 33 22 11(ExtId:0x11223344)

1字节:04(ExtId:04 扩展模式)

1字节:00(RTR:00 CAN_RTR_Data)

1字节:08(DLC:08 数据长度为8字节)

8字节:10 20 30 40 50 60 70 80(8字节数据)

1字节:00(FMI:00)

测试固件:

STM32F107_USB_CAN 20150510.hex           MDK4.54编译好的固件

 

 

 

固件源码

在工程管理中、采用通过文件库存放在固定位置,即与工程文件独立并共享、所以编译中需要处理以下问题

标准固件库路径:

F:\lib\ST_STD\STM32F10X_Lib   :STM32标准外设库 3.5

F:\lib\STM32_USB\V301         :stm32-usb库 3.01

F:\lib\CM3                    :与cm3相关的头文件及配置文件

 

完整开发包资料

 

 

 

转载于:https://www.cnblogs.com/xiheji/p/5087071.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值