CAN-bus 通用测试软件及接口函数库使用手册V2.91(1)
- 格式:pdf
- 大小:1.02 MB
- 文档页数:45
使用说明书数据传输网络系统示教板目录一.公司简介二.安全警告与注意事项三.系统简介四.总线数据传输网络系统结构与工作原理五.总线数据传输网络系统检修及故障排除六.故障设置功能使用七.产品保养八.装箱清单一、安全警告和注意事项●在使用该设备之前,请仔细阅读本说明书,以便正确操作。
●触摸设备发热部位要小心。
●如电源线有破损请不要开机使用,设备摔落或受损时请在专业人员检查后才可使用。
●不要让电源线悬挂在桌边、椅边、柜台边,也不要接触热的部分或正在转动的风扇页。
●如需扩充的电源线,电源线的等级要大于等于原设备电源线。
比设备原电源线等级差的电源线会过热。
●不使用设备时不要连接电源线插头。
不要通过拉电源线来拔插头,应用手将插头取下。
●存放设备前应让设备完全冷却,并且将线松软的绕好。
●操作者的头发、衣服、手指或身体其他部位应远离设备运转部位。
●为了防止受电击,不要在潮湿的部位接触工作的设备或在雨中操作设备。
●当发现设备有过热、异响等异常时,需及时检查,不能解决时在专业人员检查后才能使用,以免造成严重故障。
●请按手册中的方法操作设备。
二、公司简介我公司是专业从事现代汽车教学实训设备的科研开发与经营的高新科技实体,并同时生产各类汽车检测维修保养设备,“诚信、专业、高效、规范”是我们的宗旨,“以创新为目标,执行为手段打造一流的生产教学实训器材基地”是我们共同追求的目标。
现我公司所生产的系列教学产品已在国内各职业大专院校和科研部门大量投入使用。
在此,我们愿与各界同仁们真诚合作、与时俱进、共同发展。
在设备使用过程中如有好的建议与意见,欢迎指正,我们将不断努力持续开发出更多更好的教学实训产品奉献给广大用户。
本公司生产的教学设备是针对各级别的学生学习实训而生产设计的一种实物演示教具,适用于各级别学员的学习和考核,提高学员学习效率,减轻老师教学负担。
三、系统简介1、系统操作指导接通220V交流电源并确保电源接地良好,打开示教板左下方红色电源开关(电源指示灯点亮)检查一切系统配件有无破损情况。
USB2CAN MODULE User ManualUSB2CAN module is a‘plug and play’and bi-directional port powered USB to CAN converter which realizes long-distance communication between your Raspberry Pi/SBC/PC and other devices stably though CAN-Bus connection.With small size and convenient operation,It’s a cost-effective solution that are safe and reliable for all your data-conversion/device-protection applications for any experienced engineer interfacing to expensive industrial equipment yet simple enough for home use by an amateur hobbyist.USB2CAN can also be applied to obtain the data of car via the OBD connector,but you need to configured and secondary development by yourself.2.patible with Raspberry Pi Zero(W)/Pi3B+/PI4/Beaglebone/Tinker Board and any single board computer.2.Plug and Play USB device.No external power required.Support wider CAN baud rate,From 20Kbps to1Mbps can be programmed arbitrarily.3.On board STM32F0microcontroller,high speed data transfer with DMA technique.Support for CAN bus2.0A and2.0B specification.4.Power supply isolation,signal input/output isolation,Built-in surge and static protection.120 Ohm resistor selectable jumper feature.es with C/Python demos of Socket-CAN,detailed user manual and friendly technology support.4.1CAN connectorPinout4.2120Ohm Resistor Setting.A High-speed CAN bus (ISO 11898-2)must be terminated on both ends with 120Ohms.The USB2CAN module with a on-board 120Ωselectablejumer.Disable 120Ohm Resistor.Enable120Ohm Resistor.4.3LEDIndicate5.Run USB2CAN Test DemoUSB2CAN module can run properly without any additional driver request on all Linux system since version3.9.such as Ubuntu,Debian and Raspbian.If you meet problems in older system, You need to reconfigure the kernel drivers.Enable‘gs_usb.c’and install‘gs_usb.ko’into system. So notice that if you only compile this drivers,It may fail to load in system.At this time,compile fully with new configure.You can test the USB2CAN module any single board computer or PC with the right Linux version. We take Raspberry Pi4as an example to show you how to run the C/Python and can-utils demo.5.1Preparatory work5.1.1ConnectionThere are two way to test the USB2CAN module.One is plug two USB2CAN module into the USB Host of each Raspberry Pi.The other is plug two USB2CAN into one Raspberry Pi.But the codes and commands are a little bit different.And then connect the CAN_H pin and CAN_L pin to eachother.No GND pin connection requirement.Methods A Methods BUse two Raspberry Pi to test USB2CAN Use one Raspberry Pi to test USB2CAN 5.1.2ifconfig-aType command‘ifconfig-a’to check‘can0’device is available in system.If you plug two USB2CAN into one Raspberry PI,You will see one more‘can1’device.5.1.3demsgYou can type command‘demsg’for see more information about USB2CAN module at the bottom.5.2Use can-utils toolThis tool is a very easy way to test CAN commuincation by only type two command.5.2.1Install Toolssudo apt-get install can-utils5.2.2Initialize CAN portsudo ip link set can0type can bitrate125000sudo ifconfig can0up5.2.3Set one as receivercandump can05.2.4Set the other as sendercansend can0123#12345678905.2.5Test two module on one Raspberry PiDo as above steps,set‘can0’as receiver and‘can1’as sender.5.3Run C Demo(1)Load C Demo named‘usb2cantest’from our Wiki and up-zip it to the desktop of Rasbian./wiki/doku.php?id=usb_canOr /wiki/doku.php(2)Go to folder named‘c’and change the permissions.chmod-R a+x*(3)Set one as receiver,execute following commands in serial terminal.Now this Raspberry pi is blocked../can0_receive(4)Set the other Pi as sender,execute following commands../can0_send(5)You should see that the receiver has received the packet.(6)You also can plug two USB2CAN module on one Raspberry PI board to test.You should see two can socket“can0”and“can1”devices.So notice that you need to change“can0”to“can1”when you use“can1”device.5.4Run Python3DemoDownload Python Demo named‘python3’from our Wiki and up-zip it to Desktop(or wherever you want put it)./wiki/doku.php?id=usb_canOr /wiki/doku.phpThere are three files in the folder.‘send.py’and‘receive.py’is for you use two Raspberry Pi to test,and‘test.py’is for you use one Raspberry Pi and two USB2CAN module to test.(1)Check the Python version of your Raspbian.Python3.7.3default in2019-09-26-Raspbian.img. Our Demo can run on any Python3version.python3-V(2)If you can’t find the Python3in system.Install the Python3sudo apt-get install python3-pip(3)Install Python CAN library.sudo pip3install python-can(4)Set one Raspberry Pi as receiver.sudo python3receive.py(5)Set the other as sender.sudo python3receive.py(6)You will see the data received.(7)If you use one Raspberry Pi and two USB2CAN modeule for testing.Run‘test.py’and check the result.sudo python3test.py6.Now with previous demo’s code to show you how to program socket can in Raspbian with C and Python.The socket can is an implementation of CAN protocols(Controller Area Network)for Linux.CAN is a networking technology which has widespread use in automation,embedded devices,and automotive fields.While there have been other CAN implementations for Linux based on character devices,Socket CAN uses the Berkeley socket API,the Linux network stack and implements the CAN device drivers as network interfaces.The CAN socket API has been designed as similar as possible to the TCP/IP protocols to allow programmers,familiar with network programming,to easily learn how to use CAN sockets.For more Socket CAN detail please refer to below link:https:///doc/Documentation/networking/can.txt6.1Programming in C6.1.1For Sender’s codes(1):Create the socket,If an error occurs then the return result is-1.(2):Locate the interface to“can0”or other name you wish to use.The name will show when you execute“./ifconfig–a”.(3):Bind the socket to“can0”.(4):Disable sender’s filtering rules,this program only send message do not receive packets.(5):Assembly data to send.(6):Send message to the can bus.You can use the return value of write()to check whether all data has been sent successfully.(7):Close can0device and disable socket.6.2.3For Receiver’s codes(1)step1and(2)is same as Sender’s code.(3):It’s different from Sender’s.(4):Define receive filter rules,we can set more than one filters rule。
步骤操作说明
1接线方法(如右图)
1.1只用接夹具电源,将另一端接待测产品.
就可以给整机供电了。
1.2测试夹具后面的连接线要插在牧马人
端口上。
测试铂锐时接在铂锐端口上。
2夹具设置方法
2.1夹具上电开机后,点“车型选择”
2.2点“克来斯勒”
2.3点“切诺基”,2.4点“返回”回主页。
3.测试方法如下:
相应图片1.测试工具:铂锐/牧马人两用CANBUS测试夹具(IR通信,),牧马人CANBUS单盒1个。
2.适用机型:KC7612/BC5612吉普大切诺基(KC7612/BC5612)CANBUS 测试指导书
测试工具
牧马人
CANBUS
待测产品
夹具上的电源线接待测夹具电源
2.1
2.2
2.3 2.4
局部放大
2.5点击“手动连接”
连接成功后,会显示“已连接设备”
2.6点击“功能测试”进入测试界面
3测试
3.1在“基本功能”项中选择"ACC 开"
◎ILL功能是否正常亮灯。
◎驻车功能有无作用(手刹)
3.2方向盘功能测试:
依次按触摸钮,要能控制待测机器,待测机要有相应的变化时OK.2.5 ,回主页
后
点“手动连
连接成功后,
此处有提示
2.6,点“功能测试”
进入测试界面
选ACC ILL开关确认
驻车功能确
音量加
功能切换
音量减
下一曲
上一曲
收音。
PCI-51XX智能CAN接口卡用户手册V1.2广州周立功单片机发展有限公司2003年11月26日目录一、版权信息--------------------------------------------------------------1二、功能特点--------------------------------------------------------------1三、硬件参数--------------------------------------------------------------13.1外观---------------------------------------------------------------13.2参数---------------------------------------------------------------13.3软件支持-----------------------------------------------------------23.4产品清单-----------------------------------------------------------2四、设备安装--------------------------------------------------------------24.1硬件安装-----------------------------------------------------------24.2 D B9针型插座引脚定义----------------------------------------------24.3随卡软件包的安装--------------------------------------------------34.3.1 安装软件包-------------------------------------------------------------------------34.3.2 安装驱动程序----------------------------------------------------------------------34.3.2.1 在WINXP系统下安装------------------------------------------------------------34.3.2.2 在WIN2000系统下安装---------------------------------------------------------74.3.2.3 在Win98/Me系统下安装--------------------------------------------------------7五、 接口函数-------------------------------------------------------------12六、测试工具-------------------------------------------------------------12七、常见问题-------------------------------------------------------------12八、产品服务-------------------------------------------------------------128.1 保修期--------------------------------------------------------------128.2 保修政策包括的范围----------------------------------------------------128.3 保修政策不包括的范围--------------------------------------------------128.4 软件升级---------------------------------------------------------------------------138.5 技术支持---------------------------------------------------------------------------13附录A、ZLGCAN产品简介----------------------------------------------------14 附录B、CAN2.0B协议帧格式-------------------------------------------------16 附录C、SJA1000标准波特率-------------------------------------------------17一、版权信息PCI-51XX系列智能CAN接口卡及相关软件均属广州市周立功单片机发展有限公司所有,其产权受国家法律绝对保护,未经本公司授权,其他公司、单位、代理商及个人不得非法使用和拷贝,否则将受到国家法律的严厉制裁。
CANDTU-100URCAN 总线报文记录与无线数传设备系列产品修订历史目录1. 产品简介 (1)1.1产品概述 (1)1.2产品特性 (2)1.3典型应用 (2)2. 产品规格 (3)2.1电气参数 (3)2.2工作温度 (3)2.3防护等级 (3)2.4机械尺寸 (4)3. 产品硬件接口说明 (5)3.1接口布局 (5)3.2DB9接口、法兰端子接口 (5)3.2.1电源接口 (5)3.2.2CAN-Bus接口 (6)3.3USB接口 (8)3.4SD卡接口 (8)4. 配置工具安装与介绍 (9)4.1软件安装 (9)4.2功能说明 (11)4.2.1设备选择 (12)4.2.2CAN配置 (12)4.2.3DO配置 (13)4.2.4过滤 (14)4.2.5触发器(记录模式) (16)4.2.6数据转换器 (18)4.2.7菜单操作 (20)4.2.8设置、获取设备时钟 (21)4.2.9下载、获取设备配置 (22)4.2.10暂停、恢复记录 (22)4.2.11清空设备存储 (22)4.2.12设备信息 (23)5. USBCAN功能使用方法 (24)5.1CANTest测试软件的安装 (24)5.2USBCAN功能的快速使用演示 (25)6. 快速使用说明 (28)6.1操作指南 (28)6.1.1配置 (28)6.1.2记录 (28)6.1.3升级 (28)6.1.4换卡 (28)产品问题报告表 (29)产品返修程序 (30)免责声明 (31)1. 产品简介1.1 产品概述CAN总线故障排查中,最大的难点就是偶发性故障。
这让工程师甚至CAN专家都无法准确判断问题的源头。
比如,风力发电机变桨系统在72小时中发生1次CAN数据传输中断;新能源车辆在行驶1万公里过程中出现1次仪表盘“黑了”,但后来怎么都无法复现;高铁列车在行驶2000公里中出现1次由于CAN通讯异常而导致的紧急减速等。
这些偶发性的CAN通讯异常就像定时炸弹,让工程师胆战心惊。
USBCAN-8E-U工业级高性能CAN 接口卡修订历史目录1. 产品简介 (1)1.1产品概述 (1)1.2产品外观 (1)1.3功能特点 (2)1.4产品规格 (3)1.4.1电气参数 (3)1.4.2工作温度 (3)1.4.3防护等级 (3)1.5机械安装尺寸 (4)1.6典型应用 (5)2. 设备硬件接口说明 (6)2.1电源接线 (6)2.2终端电阻拨码开关 (6)2.3CAN通讯接口 (7)2.4信号指示灯 (8)2.5系统连接 (9)3. 驱动程序安装 (10)3.1驱动安装 (10)3.2卸载驱动 (14)4. 快速使用指南 (15)4.1CANTest基本操作 (15)4.1.1设备类型选择 (15)4.1.2转发设置 (16)4.1.3滤波设置 (17)4.2发送接收实验 (18)4.2.1搭建测试环境 (18)4.2.2打开设备 (18)4.2.3发送数据 (18)4.2.4实时保存与停止保存 (19)4.2.5总线利用率 (19)4.2.6错误信息显示 (20)5. 设备重启和升级操作指导 (21)5.1.1设备重启 (21)5.1.2设备升级 (21)6. 上位机二次开发指导 (22)6.1前期准备资料 (22)6.2接口函数使用常见问题 (22)6.3接口库函数使用流程 (24)7. 检查和维护 (25)8. 装箱清单 (26)9. 免责说明 (27)1. 产品简介1.1 产品概述USBCAN-8E-U是广州致远电子开发的一款高性能CAN接口卡,其兼容USB2.0总线规范,集成8路CAN-bus接口,CAN通道集成独立的电气隔离保护电路。
接口卡使PC通过USB端口连接至CAN网络,构成CAN-bus控制节点。
USBCAN-8E-U高性能CAN接口卡是CAN-bus产品开发、CAN-bus数据分析的强大工具;USBCAN-8E-U接口卡上自带电气隔离模块,使接口卡避免由于地环流的损坏,增强系统在恶劣环境中使用的可靠性。
CAN-BUS 实验手册(预印本)ELWE Lehrsysteme GmbH南京华维汽车新技术开发有限公司 译R e p r o d u c t i o n i s a l l o w e d o n l y f o r u s e w i t h E L W E -e q u i p m e n t .1 目 录3.720.00 CAN 总线的直接测量教师篇3.720.02 电控舒适系统的构成3.720.03 电控舒适系统的诊断3.720.04 两种舒适系统的比较3.720.06 电压信号信息篇R e p r o d u c t i o n i s a l l o w e d o n l y f o r u s e w i t h E L W E -e q u i p m e n t .1. CAN-BUS 整体系统安装结构图1.1 请如下图安装1.2 按下列设定步骤调试基本设定 步骤 备注 1 点火开关置“OFF ”0位置2 摇杆开关3(中央锁定开关)置SAFE 司机门与前乘客门3 切断电源例如:关闭电源开关 4 将司机门与前乘客门连接开关(2)置“门锁定”位置司机门:摇杆开关置右 前乘客门:摇杆开关置左 5 门锁(钥匙开关)置中间位 如:打开电源开关6 接通电源红灯闪烁表示处于锁定状态“SAFE ”R e p r o d u c t i o n i s a l l o w e d o n l y f o r u s e w i t h E L W E -e q u i p m e n t .1.3 CAN 总线中的直接测量进行直接测量时,必须启动司机门的“锁定与解锁”功能。
下表列出了必要的步骤:汽车解锁 步骤 备注1 左转门锁1中钥匙(逆时针) 司机门与前乘客门绿色指示灯亮 2用车钥匙激活门锁后,马上将摇杆开关3打到“解锁”位置,使其处解锁状态司机门和前乘客门3将门连接开关(2)置于“门解锁”状态,再回“门锁定”状态 司机进入车辆,防盗警报系统处于睡眠状态 4 打开点火开关电动窗可操作司机门锁定单元各功能元件位置图R e p r o d u c t i o n i s a l l o w e d o n l y f o r u s e w i t h E L W E -e q u i p m e n t .1. 中央控制单元1.1 目的与功能除了在舒适系统中的功能外,中央控制 单元还连接汽车网络的其它系统。
CAN-bus产品技术配置手册(Ver2.2)2、文档结构 (4)二、CAN-MixNet设备产品目录 (5)1、多效用CAN-bus网关产品 (5)2、多路CAN-bus以太网网关关产品 (5)3、CAN转RS232或RS485透明数据传输产品 (5)4、CAN以太网交换机 (5)三、进入设备的管理效用 (6)1、使用管理端口进行参数设置 (6)2、使用Telnet进行参数设置 (8)3、默认的管理口令 (9)四、配置主菜单效用说明及通用配置项 (10)1、ICAN主菜单 (10)2、SNode主菜单 (11)3、TNode、ENode主菜单 (12)4、通用配置菜单项 (13)5、配置菜单操作默认规则 (14)五、通用菜单项配置 (15)1、配置CAN端口n参数 (15)2、配置RS232/RS485端口参数 (25)3、选择工作模式 (32)4、查看内存情况 (34)5、查看IP、网络物理地址. (34)6、全局网络配置 (35)7、IP认证管理. (38)8、口令设置 (41)9、恢复默认设置. (41)10、检查TCP/IP连接. (41)11、重新启动. (42)12、技术支持及最新产品. (42)13、退出 (42)六、SNode设备专用配置项 (43)1、配置转发规则n (43)七、CAN网络的网段划分 (45)1、CAN网络网段划分及作用 (45)2、CAN硬件过滤器工作原理(SJA1000) (46)3、CAN网段划分示例 (51)4、使用软CAN ID过滤器 (52)八、自定义速率计算 (53)1、自定义速率实现原理 (53)2、CAN-MixNet设备对自定义速率支持的方式 (53)3、设置自定义速率的过程 (54)九、CAN交换机工作方式 (56)1、CAN交换机工作原理 (56)2、CAN交换机应用拓扑图 (57)2、通讯数据结构 (59)3、发送CAN报文详解 (60)4、接收CAN报文详解 (61)5、CAN ID详解 (62)十一、CAN总线参数 (63)1、CAN端口标准参数 (63)2、CAN传输电缆 (63)3、CAN端口防护 (64)十二、RS485总线参数 (65)1、RS485端口参数 (65)2、RS485端口防护 (65)十三、电源系统 (66)1、ICAN电源系统 (66)2、SNode电源系统 (66)3、TNode-N、TNode电源系统 (66)4、ENode (66)十四、文档声明 (67)一、手册使用说明1、适用范围及更新此手册适用于所有的CAN-MixNet产品,包括:ICAN、TNode-N、TNode、SNode、和ENode。
CAN-bus通用测试软件及接口函数库使用手册V2.91目录1.测试软件使用说明 (1)1.1.设备操作 (1)1.1.1.设备类型选择 (1)1.1.2.滤波设置 (2)1.1.3.启动CAN (2)1.1.4.获取设备信息 (3)1.1.5.发送数据 (3)1.2.辅助操作 (3)1.2.1.帧ID显示方式 (3)1.2.2.帧ID显示格式 (4)1.2.3.继续显示发送和接收的数据 (4)1.2.4.暂停显示发送和接收的数据 (4)1.2.5.滚动 (4)1.2.6.显示帧数 (4)nguage (4)2.接口函数库说明及其使用 (5)2.1.接口卡设备类型定义 (5)2.2.错误码定义 (5)2.3.函数库中的数据结构定义 (6)2.3.1.VCI_BOARD_INFO (6)2.3.2.VCI_CAN_OBJ (6)2.3.3.VCI_CAN_STATUS (7)2.3.4.VCI_ERR_INFO (8)2.3.5.VCI_INIT_CONFIG (8)2.3.6.CHGDESIPANDPORT (10)2.3.7.VCI_FILTER_RECORD (10)2.4.接口库函数说明 (10)2.4.1.VCI_OpenDevice (10)2.4.2.VCI_CloseDevice (12)2.4.3.VCI_InitCan (13)2.4.4.VCI_ReadBoardInfo (18)2.4.5.VCI_ReadErrInfo (19)2.4.6.VCI_ReadCanStatus (23)2.4.7.VCI_GetReference (24)2.4.8.VCI_SetReference (28)2.4.9.VCI_GetReceiveNum (33)2.4.10.VCI_ClearBuffer (34)2.4.11.VCI_StartCAN (35)2.4.12.VCI_ResetCAN (37)2.4.13.VCI_Transmit (38)2.4.14.VCI_Receive (39)2.5.接口库函数使用方法 (40)2.5.1.VC调用动态库的方法 (40)2.5.2.VB调用动态库的方法 (40)2.6.接口库函数使用流程 (41)3.Linux下动态库的使用 (42)3.1.驱动程序的安装 (42)BCAN驱动的安装 (42)3.1.2.PCI5121驱动的安装 (42)3.2.动态库的安装 (42)3.3.动态库的调用及编译 (42)1.测试软件使用说明CAN-bus通用测试软件是一个专门用来对所有的ZLGCAN系列板卡进行测试的软件工具,此软件操作简单,容易上手,通过运用此软件可以非常方便的对板卡进行测试,从而熟悉板卡的性能,其主界面如下:1.1.设备操作1.1.1.设备类型选择在进行操作之前,首先得从“类型”菜单中选择您想要操作的设备类型,如下图所示:此时会弹出“选择设备”对话框:在这个对话框中您可以选择您要打开的设备索引号和CAN通道,以及设置CAN的初始化参数,然后点“确定”按钮来打开设备操作窗口(或者也可以点击“确定并启动CAN”按钮打开设备操作窗口并自动打开设备和启动CAN通道)。
1.1.2.滤波设置接着,设备操作窗口中可以点击“滤波设置”按钮进行滤波设置(如果不需要设置滤波,可以略过此步骤):此时会弹出“滤波设置”对话框:在其中先选择滤波模式,然后通过设定滤波器来设置需要过滤的CAN帧。
1.1.3.启动CAN点击“启动”按钮启动CAN通道,此时接收到的CAN数据将会自动在数据列表中显示:1.1.4.获取设备信息在启动CAN通道后,您可以选择“设备操作”菜单中的“设备信息”选项来获得当前设备的详细信息。
1.1.5.发送数据当您启动CAN成功后,在下图中设置好您要发送的CAN帧的各项参数,然后点击“发送”按钮就可以发送数据了(其中发送格式下拉框中的自发自收选项表示发送出去的CAN帧自己也能收到,这个选项在测试的时候才需用到,在实际的应用中请选用正常发送):您还可以点击“高级操作”标签进入高级操作页面,在此页面您可以设置每次发送多个不同的CAN 帧(最多可设置10帧):1.2.辅助操作本软件中还设置了一些辅助操作,以方便您能够更好的观察和分析CAN数据:1.2.1.帧ID显示方式帧ID有三种显示方式:二进制、十进制和十六进制,可根据需要自行设定。
1.2.2.帧ID显示格式帧ID显示格式有两种:真实ID和兼容SJA1000格式。
1.2.3.继续显示发送和接收的数据选择此选项后,接收和发送都在前台进行,其数据在屏幕上显示出来。
1.2.4.暂停显示发送和接收的数据选择此选项后,接收和发送都在后台进行,其数据不在屏幕上显示出来。
1.2.5.滚动选择此选项后,当前数据列表中的最后一行总是可见。
1.2.6.显示帧数设定数据列表的显示帧数。
nguage选择语言。
2.接口函数库说明及其使用2.1.接口卡设备类型定义各个接口卡的类型定义如下:2.2.错误码定义2.3.函数库中的数据结构定义2.3.1.VCI_BOARD_INFO描述VCI_BOARD_INFO结构体包含ZLGCAN系列接口卡的设备信息。
结构体将在VCI_ReadBoardInfo 函数中被填充。
typedef struct_VCI_BOARD_INFO{USHORT hw_Version;USHORT fw_Version;USHORT dr_Version;USHORT in_Version;USHORT irq_Num;BYTE can_Num;CHAR str_Serial_Num[20];CHAR str_hw_Type[40];USHORT Reserved[4];}VCI_BOARD_INFO,*PVCI_BOARD_INFO;成员hw_Version硬件版本号,用16进制表示。
比如0x0100表示V1.00。
fw_Version固件版本号,用16进制表示。
dr_Version驱动程序版本号,用16进制表示。
in_Version接口库版本号,用16进制表示。
irq_Num板卡所使用的中断号。
can_Num表示有几路CAN通道。
str_Serial_Num此板卡的序列号。
str_hw_Type硬件类型,比如“USBCAN V1.00”(注意:包括字符串结束符’\0’)。
Reserved系统保留。
2.3.2.VCI_CAN_OBJ描述VCI_CAN_OBJ结构体在VCI_Transmit和VCI_Receive函数中被用来传送CAN信息帧。
typedef struct_VCI_CAN_OBJ{UINT ID;UINT TimeStamp;BYTE TimeFlag;BYTE SendType;BYTE RemoteFlag;BYTE ExternFlag;BYTE DataLen;BYTE Data[8];BYTE Reserved[3];}VCI_CAN_OBJ,*PVCI_CAN_OBJ;成员ID报文ID。
TimeStamp接收到信息帧时的时间标识,从CAN控制器初始化开始计时。
TimeFlag是否使用时间标识,为1时TimeStamp有效,TimeFlag和TimeStamp只在此帧为接收帧时有意义。
SendType发送帧类型,=0时为正常发送,=1时为单次发送,=2时为自发自收,=3时为单次自发自收,只在此帧为发送帧时有意义。
(当设备类型为EG20T-CAN时,发送方式在VCI_InitCan中通过设置,此处的设置无效,设置为自发自收模式后EG20T-CAN不能从总线上接收数据,只能收到自己发出的数据)RemoteFlag是否是远程帧。
ExternFlag是否是扩展帧。
DataLen数据长度(<=8),即Data的长度。
Data报文的数据。
Reserved系统保留。
2.3.3.VCI_CAN_STATUS描述VCI_CAN_STATUS结构体包含CAN控制器状态信息。
结构体将在VCI_ReadCanStatus函数中被填充。
typedef struct_VCI_CAN_STATUS{UCHAR ErrInterrupt;UCHAR regMode;UCHAR regStatus;UCHAR regALCapture;UCHAR regECCapture;UCHAR regEWLimit;UCHAR regRECounter;UCHAR regTECounter;DWORD Reserved;}VCI_CAN_STATUS,*PVCI_CAN_STATUS;成员ErrInterrupt中断记录,读操作会清除。
regModeCAN控制器模式寄存器。
regStatusCAN控制器状态寄存器。
regALCaptureCAN控制器仲裁丢失寄存器。
regECCaptureCAN控制器错误寄存器。
regEWLimitCAN控制器错误警告限制寄存器。
regRECounterCAN控制器接收错误寄存器。
regTECounterCAN控制器发送错误寄存器。
Reserved系统保留。
2.3.4.VCI_ERR_INFO描述VCI_ERR_INFO结构体用于装载VCI库运行时产生的错误信息。
结构体将在VCI_ReadErrInfo函数中被填充。
typedef struct_ERR_INFO{UINT ErrCode;BYTE Passive_ErrData[3];BYTE ArLost_ErrData;}VCI_ERR_INFO,*PVCI_ERR_INFO;成员ErrCode错误码。
(对应着2.2的错误码定义)Passive_ErrData当产生的错误中有消极错误时表示为消极错误的错误标识数据。
ArLost_ErrData当产生的错误中有仲裁丢失错误时表示为仲裁丢失错误的错误标识数据。
2.3.5.VCI_INIT_CONFIG描述VCI_INIT_CONFIG结构体定义了初始化CAN的配置。
结构体将在VCI_InitCan函数中被填充。
typedef struct_INIT_CONFIG{DWORD AccCode;DWORD AccMask;DWORD Reserved;UCHAR Filter;UCHAR Timing0;UCHAR Timing1;UCHAR Mode;}VCI_INIT_CONFIG,*PVCI_INIT_CONFIG;成员AccCode验收码。
AccMask屏蔽码。
Reserved保留。
Filter滤波方式。
Timing0定时器0(BTR0)。
Timing1定时器1(BTR1)。
Mode模式。
备注该结构体的详细说明见表 2.3。