logo资料库

ControlCAN接口函数库(二次开发库)使用说明书.pdf

第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
资料共26页,剩余部分请下载后查看
2.接口函数库(二次开发库)使用说明书 接口函数库(二次开发库) 使用说明书 说明书版本:V2.01 更新日期:2016.04.01
2.接口函数库(二次开发库)使用说明书 目 录 第一部分 概述 ..........................................................................................................................1 第二部分 兼容ZLG函数库及数据结构 ................................................................................2 2.1 类型定义 ....................................................................................................................... 2 2.1.1 Device Type.............................................................................................................. 2 2.1.2 VCI_BOARD_INFO ................................................................................................ 2 2.1.3 VCI_CAN_OBJ ........................................................................................................ 3 2.1.4 VCI_INIT_CONFIG ................................................................................................ 4 2.2 函数描述 ....................................................................................................................... 7 2.2.1 VCI_OpenDevice ..................................................................................................... 7 2.2.2 VCI_CloseDevice ..................................................................................................... 8 2.2.3 VCI_InitCan ............................................................................................................. 8 2.2.4 VCI_ReadBoardInfo ............................................................................................... 11 2.2.5 VCI_GetReceiveNum ............................................................................................. 12 2.2.6 VCI_ClearBuffer .................................................................................................... 13 2.2.7 VCI_StartCAN ....................................................................................................... 14 2.2.8 VCI_ResetCAN ...................................................................................................... 15 2.2.9 VCI_Transmit ......................................................................................................... 16 2.2.10 VCI_Receive ........................................................................................................ 17 第三部分 其他函数及数据结构描述 ................................................................................... 19 3.1 类型定义 ..................................................................................................................... 19 3.1.1 VCI_BOARD_INFO1 ............................................................................................ 19 3.2 函数描述 ..................................................................................................................... 20 3.2.1 VCI_GetReference2 ............................................................... 21 3.2.2 VCI_SetReference2 ................................................................ 21 3.2.3 VCI_ConnectDevice ............................................................................................... 21 3.2.4 VCI_UsbDeviceReset ............................................................................................. 22 3.2.5 VCI_FindUsbDevice .............................................................................................. 23 第四部分 接口库函数使用流程 ........................................................................................... 24 圣为科技 I
2.接口函数库(二次开发库)使用说明书 第一部分 概述 用户如果只是利用USB-CAN总线接口适配器进行CAN总线调试,可以直接利用随机提供的 USB-CAN Tool工具软件,进行收发数据的测试。 如果用户打算编写自己产品的软件程序。请认真阅读以下说明,并参考我们提供的: ① C++Builder ②C# ③VC ④VB ⑤VB.NET ⑥Delphi ⑦LabVIEW ⑧ LabWindows/CVI ⑨Matlab等示例代码。 开发用库文件:ControlCAN.lib, ControlCAN.DLL VC平台函数声明文件:ControlCAN.h VB平台函数声明文件:ControlCAN.bas LabVIEW平台库函数封装模块:ControlCAN.llb Delphi平台函数声明文件:ControlCAN.pas 圣为科技 第1页
2.接口函数库(二次开发库)使用说明书 第二部分 兼容ZLG函数库及数据结构 2.1 类型定义 2.1.1 Device Type 类型定义 类型值 描述 VCI_USBCAN2 4 USBCAN-2A USBCAN-2C CANalyst-II 2.1.2 VCI_BOARD_INFO VCI_BOARD_INFO结构体包含USB-CAN系列接口卡的设备信息。结构体将在 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进制表示。比如0x0100表示V1.00。 圣为科技 第2页
2.接口函数库(二次开发库)使用说明书 dr_Version 驱动程序版本号,用16进制表示。比如0x0100表示V1.00。 in_Version 接口库版本号,用16进制表示。比如0x0100表示V1.00。 irq_Num 保留参数。 can_Num 表示有几路CAN通道。 str_Serial_Num 此板卡的序列号。 str_hw_Type 硬件类型,比如“USBCAN V1.00”(注意:包括字符串结束符’\0’) Reserved 系统保留。 2.1.3 VCI_CAN_OBJ 描述 VCI_CAN_OBJ结构体是CAN帧结构体,即1个结构体表示一个帧的数据结构。在发送 函数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]; 圣为科技 第3页
2.接口函数库(二次开发库)使用说明书 }VCI_CAN_OBJ, *PVCI_CAN_OBJ; 成员: ID 帧ID。32位变量,数据格式为靠右对齐。详情请参照:《8.附件1:ID对齐方式.pdf》说 明文档。 TimeStamp 设备接收到某一帧的时间标识。时间标示从CAN卡上电开始计时,计时单位为0.1ms。 TimeFlag 是否使用时间标识,为1时TimeStamp有效,TimeFlag和TimeStamp只在此帧为接收帧时 有意义。 SendType 发送帧类型。 =0时为正常发送(发送失败会自动重发,重发最长时间为1.5-3秒); =1时为单次发送(只发送一次,不自动重发); 其它值无效。 RemoteFlag 是否是远程帧。=0时为为数据帧,=1时为远程帧(数据段空)。 ExternFlag 是否是扩展帧。=0时为标准帧(11位ID),=1时为扩展帧(29位ID)。 DataLen 数据长度 DLC (<=8),即CAN帧Data有几个字节。约束了后面Data[8]中的有效字节。 Data[8] CAN帧的数据。由于CAN规定了最大是8个字节,所以这里预留了8个字节的空间,受 DataLen约束。如DataLen定义为3,即Data[0]、Data[1]、Data[2]是有效的。 Reserved 系统保留。 2.1.4 VCI_INIT_CONFIG VCI_INIT_CONFIG结构体定义了初始化CAN的配置。结构体将在VCI_InitCan函数中被 圣为科技 第4页
2.接口函数库(二次开发库)使用说明书 填充,即初始化之前,要先填好这个结构体变量。 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 验收码。SJA1000的帧过滤验收码。对经过屏蔽码过滤为“有关位”进行匹配,全部匹 配成功后,此帧可以被接收。否则不接收。详见VCI_InitCAN。 AccMask 屏蔽码。SJA1000的帧过滤屏蔽码。对接收的CAN帧ID进行过滤,对应位为0的是“有 关位”,对应位为1的是“无关位”。屏蔽码推荐设置为0xFFFFFFFF,即全部接收。 Reserved 保留。 Filter 滤波方式,允许设置为0-3,详细请参照2.2.3节的滤波模式对照表。 Timing0 波特率定时器 0(BTR0)。设置值见下表。 Timing1 波特率定时器 1(BTR1)。设置值见下表。 Mode 模式。=0表示正常模式(相当于正常节点),=1表示只听模式(只接收,不影响总线), =2表示自发自收模式(环回模式)。 备注: 圣为科技 第5页
2.接口函数库(二次开发库)使用说明书 关于滤波器的设置,请参照:《9.附件2:CAN参数设置.pdf》说明文档。 Timing0和Timing1用来设置CAN波特率,几种常见的波特率(采样点87.5%,SJW为0) 设置如下: CAN波特率 Timing0(BTR0) Timing1(BTR1) 10 Kbps 0x31 0x1C 20 Kbps 0x18 0x1C 40 Kbps 0x87 0xFF 50 Kbps 0x09 0x1C 80 Kbps 0x83 0xFF 100 Kbps 0x04 0x1C 125 Kbps 0x03 0x1C 200 Kbps 0x81 0xFA 250 Kbps 0x01 0x1C 400 Kbps 0x80 0xFA 500 Kbps 0x00 0x1C 666 Kbps 0x80 0xB6 800 Kbps 0x00 0x16 1000 Kbps 0x00 0x14 33.33 Kbps 0x09 0x6F 66.66 Kbps 0x04 0x6F 83.33 Kbps 0x03 0x6F 注: 1.配置波特率时,用户只需要按照SJA1000(16MHz)给的波特率参数进行设置 即可。 2.常规波特率直接按照上表的值配置即可。其它非常规波特率,可以使用附带 的波特率侦测工具进行侦测,并到得相应的波特率参数。或是使用USB_CAN TOOL 安装目录下的波特率计算工具计算。(参考《6.插件2:波特率侦测工具使用说 明书.pdf》) 3.本适配器暂时不支持10K以下波特率。 圣为科技 第6页
分享到:
收藏