USB-CAN Bus Interface
Fa'aoga Feso'ota'iga Feso'ota'i
Fa'atonuga mo Tagata Faitusi
VAEGA LASIVIEW
Afai e na'o le fa'aogaina e le tagata fa'aoga le USB-CAN bus interface adapter e alu i le CAN pasi su'ega feso'otaiga, ona mafai lea ona ia fa'aoga sa'o le USB-CAN Tool software mo le auina atu ma le mauaina o fa'amaumauga o le su'ega.
Afai e faʻamoemoe le tagata faʻaoga e tusi polokalame polokalame mo ana lava oloa. Fa'amolemole faitau ma le toto'a fa'atonuga o lo'o i lalo ma ave fa'amatalaga mai le sample code matou te tuʻuina atu:
⑴ C++ Fausia ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Atiina le faletusi file :ControlCAN.lib, ControlCAN.DLL
VC fa'aaliga galuega fa'atino file : PuleaCAN.h
VB version galuega tautinoga file: PuleaCAN.bas
LabVIEW fa'asologa o faletusi galuega fa'apipi'i module:ControlCAN.llb
Delphi version function declaration file: ControlCAN.pas
VAEGA LUA LUA FESOASOANI FA'ATASI MA FA'ATA'IGA FA'A'IGA
2.1. ITIGA FA'AMANATU
2.1.1. Ituaiga Meafaigaluega
Ituaiga Fa'amatalaga | Ituaiga taua | Fa'amatalaga |
DEV_USBCAN2 | 4 | USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN |
2.1.2. VCI_BOARD_INFO
VCI_BOARD_INFO fausaga o lo'o iai USB-CAN Series interface card fa'amatalaga masini.
Ole fausaga ole a fa'atumu ile VCI_ReadBoardInfo galuega.
Sui Usufono:
hw_Version
Numera fa'asologa o meafaigaluega, fa'ailoga hexadecimal. Fa'ata'ita'iga 0x0100 fa'atusa V1.00.
fw_Version
Numera fa'asologa o meafaigaluega, fa'ailoga hexadecimal. Fa'ata'ita'iga 0x0100 fa'atusa V1.00.
Itulau 2
dr_Version
Numera o le aveta'avale, fa'ailoga hexadecimal. Fa'ata'ita'iga 0x0100 fa'atusa V1.00.
i_Version
Numera fa'amatalaga faletusi, fa'ailoga hexadecimal. Fa'ata'ita'iga 0x0100 fa'atusa V1.00.
irq_Numera
Fa'apolopolo faiga.
mafai_Numera
O lo'o fa'atusalia le aofa'i o le alaleo CAN.
str_Serial_Numera
Numera fa'asologa o le pepa laupapa lea.
str_hw_Type
Ituaiga meafaigaluega, e pei o le “USBCAN V1.00” (Manatua: E aofia ai manoa fa'amuta '\0').
Fa'apolopolo
Fa'apolopolo faiga.
2.1.3. VCI_CAN_OBJ
I le galuega VCI_Transmit ma VCI_Receive, VCI_CAN_OBJ fausaga o loʻo faʻaaogaina e tuʻuina atu ai le feʻau CAN.
Sui Usufono:
ID
Faailoa savali. Fa'atonu ID sa'o, fa'aoga sa'o, fa'amolemole va'ai ile: Fa'aopoopo Tasi: Fa'amatalaga Fa'asologa o ID.
TimeStamp
Mauaina o le stamp faʻamatalaga o le taimi faʻatulagaina, amata taimi pe a amataina le CAN controller, o le iunite o le 0. 1ms.
TaimiFlag
I tulaga pe faʻaaoga le taimi stamp, 1o le TimeStamp. TimeFlag ma TimeStamp e na o le anoa pe a maua le faavaa .
SendType
Tulaga lafo. = 0 o lo'o fa'aalia ai le ituaiga masani, = 1 o lo'o ta'u mai ai le Tu'atasi Lafo.
Fu'a Mamao
Pe o se fu'a mamao. = 1 o lo'o fa'aalia ai le fu'a mamao, = 0 o lo'o fa'aalia ai le fu'a fa'amatalaga.
Fu'a i fafo
Pe o se fu'a i fafo. = 1 o lo'o fa'aalia ai le fu'a i fafo, = 0 o lo'o fa'aalia ai le fu'a masani.
DataLen
Fa'amaumauga umi(<=8) , o lona uiga, le umi o fa'amaumauga.
Fa'amaumauga
Fa'amatalaga pepa.
Fa'apolopolo
Fa'apolopolo faiga.
2.1.4. VCI_INIT_CONFIG
VCI_INIT_CONFIG fausaga o lo'o fa'amatalaina le fa'atulagaina o le amataga ole CAN. Ole fausaga ole a fa'atumu ile VCI_InitCan galuega.
Sui Usufono:
AccCode
Maua le fa'ailoga o le taliaina.
AccMask
Maua ufimata faamama.
Fa'apolopolo
Fa'apolopolo.
Filifili
Metotia fa'amama, fa'ataga le fa'atulagaina o laina 0-3, fa'asino ile vaega 2.2.3 ole laulau fa'amama mo fa'amatalaga.
Taimi0
SJA1000 Baud fua fa'atatau, Taimi0 (BTR0) .
Taimi1
SJA1000 Baud fua fa'atatau, Taimi1 (BTR1) .
Faiga
Faiga fa'agaioiga, 0 = fa'agaioiga masani, 1 = Fa'alogo-na'o le faiga, 2 = fa'atagaina fa'afuase'i ma le tu'uina atu o su'ega.
Fa'amatalaga:
E uiga ile fa'amama fa'amolemole fa'afeso'ota'i ile: Fa'aopoopo II: CANparameter fa'atonuga fa'atulagaina.
CAN Timing0 ma Timing1 o loʻo faʻaaogaina e seti ai le fua o le pa, o nei mea e lua e faʻaaogaina i le amataga stage.
Fa'ailoga masani a Baud:
CAN Baud fua faatatau | Taimi0(BTR0) | Taimi1(BTR1) |
10k bps | 0x31 | 0x1c |
20k bps | 0x18 | 0x1c |
40k bps | 0x87 | 0xFF |
50k bps | 0x09 | 0x1c |
80k bps | 0x83 | 0xFF |
100k bps | 0x04 | 0x1c |
125k bps | 0x03 | 0x1c |
200k bps | 0x81 | 0xFA |
250k bps | 0x01 | 0x1c |
400k bps | 0x80 | 0xFA |
500k bps | 0x00 | 0x1c |
666k bps | 0x80 | 0xB6 |
800k bps | 0x00 | 0x16 |
1000k bps | 0x00 | 0x14 |
33.33 Kbps | 0x09 | 0x6F |
66.66 Kbps | 0x04 | 0x6F |
83.33 Kbps | 0x03 | 0x6F |
- E na'o tagata e fa'aoga e mana'omia le mulimuli i le SJA1000 (16MHz) e fa'atulaga ai le fuafa'atatau o le Baud.
- E le lagolagoina e le mea fa'apipi'i le fua faatatau Baud mo sina taimi i lalo ole 10K.
2.2. FA'ATA'IGA O GALUEGA
2.2.1. VCI_Open Device
O lenei galuega e faʻaaogaina e faʻafesoʻotaʻi ai masini.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD Reserved);
Parameter:
DevType
Ituaiga masini. Va'ai: Fa'amatalaga ituaiga masini fetuutuunai.
DevIndex
Fa'asinoga o Meafaitino, mo fa'ataample, pe a na o le tasi le USB-CAN adapter, o le numera o le faasino igoa o le 0, pe a tele le USB-CAN adapters, o numera fa'asino i se fa'asologa alu a'e e amata mai le 0.
Fa'apolopolo
Fa'amau fa'amau, fa'atumu le 0.
Toe fo'i:
Fa'afo'i tau = 1, o lona uiga ua manuia le ta'aloga; = 0 o loʻo faʻaalia ai ua le manuia le taotoga; = -1 o loʻo faʻaalia ai e le o iai le masini.
2.2.2. VCI_Close Device
O lenei galuega e faʻaaogaina e tapunia ai le fesoʻotaʻiga.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Parameter:
DevType
Ituaiga masini. Va'ai: Fa'amatalaga ituaiga masini fetuutuunai.
DevIndex
Fa'asinoga o Meafaitino, mo fa'ataample, pe a na o le tasi le USB-CAN adapter, o le numera o le faasino igoa o le 0, pe a tele le USB-CAN adapters, o numera fa'asino i se fa'asologa alu a'e e amata mai le 0.
Toe fo'i:
Fa'afo'i tau = 1, o lona uiga ua manuia le ta'aloga; = 0 o loʻo faʻaalia ai ua le manuia le taotoga; = -1 o loʻo faʻaalia ai e le o iai le masini.
2.2.3. VCI_InitCan
O lenei galuega e faʻaaogaina e amata ai le CAN faʻamaonia.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);
Parameter:
DevType
Ituaiga masini. Va'ai: Fa'amatalaga ituaiga masini fetuutuunai.
DevIndex
Fa'asinoga o Meafaitino, mo fa'ataample, pe a na o le tasi le USB-CAN adapter, o le numera o le faasino igoa o le 0, pe a tele le USB-CAN adapters, o numera fa'asino i se fa'asologa alu a'e e amata mai le 0.
CANIindex
CAN channel index, pei o le na o le tasi le CAN channel, o le numera o le faasino igoa o le 0, afai e lua, o le numera o le faasino igoa e mafai ona 0 pe 1.
pInitConfig
Fa'asologa fa'asologa o le amataga. Lisi vaega o sui auai:
Sui Usufono | Fa'amatalaga Fa'atino |
pInitConfig->AccCode | E mafai ona galulue fa'atasi le AccCode ma le AccMask e iloa po'o fea pepa e mafai ona talia. O nei tusi resitala e lua e faʻaogaina e seti ai le ID agavale, o lona uiga, o le pito sili ona maualuga (Bit31) o le AccCode ma le AccMask e ogatusa ma le pito sili ona maualuga o le tau ID. |
pInitConfig->AccMask | E uiga ile fa'aogaina ole ID fa'asino i fa'aopoopoga: Fa'aopoopo I: Fa'amatalaga fa'aoga ID. Fa'ata'ita'iga: Afai e te setiina le tau o le AccCode e pei o le 0x24600000 (o le 0x123 o lo'o si'i i le agavale e 21 bits), AccMask tau. ua seti i le 0x00000000, ona na'o afifi o lo'o i ai le ID fa'avaa fe'au CAN o le 0x123 e mafai ona talia (AccMask tau o le 0x00000000 o loʻo faʻaalia ai e talafeagai uma vaega. |
vaega). Afai e seti le tau AccCode i le 0x24600000, ua seti le tau AccMask i le 0x600000 (0x03 ua suia i le agavale e 21 bits), ona na'o le afifi o le CAN message frame ID o le 0x120 ~ 0x123 e mafai ona talia (AccMask tau. 0x600000 o loʻo faʻaalia ai e ese mai le bit0 ~ bit1 isi bits (bit2 ~ bit10) e fetaui lelei). Fa'aaliga: O lenei seti faamama examples i le faavaa masani, mo seample, maualuga 11-bit o le mea aoga; i le tulaga o le faʻavaa faʻalautele, ona faʻamaonia ai lea o le ID aoga o le 29-bit. AccCode ma AccMask seti maualuga 29-bit e avea ma mea aoga! |
|
pInitConfig-> Faasao | fa'apolopolo |
pInitConfig-> Filifili | Fa'atonu faiga fa'amama fa'amolemole va'ai ile vaega ole laulau fa'amama. |
pInitConfig->Taimi0 | Fa'atonuga o le Baud rateT0 |
pInitConfig->Taimi1 | Fa'atonuga o le Baud rateT1 |
pInitConfig-> Faiga | Auala faʻatino: 0-gaioiga masani 1-Fa'alogo-na'o le faiga 2-fa'aofi fa'atasi ma le tu'uina atu o su'ega fa'ata'ita'iga (o lenei tau e le aofia mai le faletusi galuega a le ZLG) |
Filifili le laulau fa'asologa:
Taua | Igoa | Fa'amatalaga |
1 | Maua ituaiga uma | E fetaui i tulaga uma ma faʻavaa faʻalautele! |
2 | Na'o le mauaina o le faavaa masani | E fetaui i le faavaa masani, ma faʻalautele |
o le a aveese sa'o le fa'avaa e ala i le filiga! | ||
3 | Na'o le mauaina o le faavaa fa'alautele | E fetaui i le faavaa lautele, ma o le faavaa masani o le a aveesea e fa'amama sa'o! . |
Toe fo'i:
Fa'afo'i tau = 1, o lona uiga ua manuia le ta'aloga; = 0 o loʻo faʻaalia ai ua le manuia le taotoga; = -1 o loʻo faʻaalia ai e le o iai le masini.
Eg
2.2.4. VCI_ReadBoardInfo
O lo'o fa'aogaina lenei galuega e faitau ai fa'amatalaga meafaigaluega fa'apipi'i. I se tulaga lautele, e mafai ona le amanaiaina.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parameter:
DevType
Ituaiga masini. Va'ai: Fa'amatalaga ituaiga masini fetuutuunai.
DevIndex
Fa'asinoga o Meafaitino, mo fa'ataample, pe a na'o le tasi le USB-CAN adapter, o le numera faasino igoa o le 0, pe a tele USB- CAN adapters, o numera fa'asino i se fa'asologa alu a'e amata mai le 0. pInfo
VCI_BOARD_INFO o lo'o fa'aogaina e teu ai fa'amatalaga o fa'amatalaga o masini.
Toe fo'i:
Fa'afo'i tau = 1, o lona uiga ua manuia le ta'aloga; = 0 o loʻo faʻaalia ai ua le manuia le taotoga; = -1 o loʻo faʻaalia ai e le o iai le masini.
2.2.5. VCI_GetReceiveNum
O lenei galuega e fa'aoga e fa'amaoti ai le mauaina ae e le'i faitauina fa'avaa i le fa'apolopolo talia.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Ituaiga masini. Va'ai: Fa'amatalaga ituaiga masini fetuutuunai.
DevIndex
Fa'asinoga o Meafaitino, mo fa'ataample, pe a na o le tasi le USB-CAN adapter, o le numera o le faasino igoa o le 0, pe a tele le USB-CAN adapters, o numera fa'asino i se fa'asologa alu a'e e amata mai le 0.
CANIindex
CAN alaala faasino igoa.
Toe fo'i:
Fa'afo'i fa'avaa e le'i faitauina.
Eg
#include “ControlCan.h” int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
O lenei galuega e faʻaaogaina e faʻamalo ai le mauaina ma le auina atu o le paʻu o le alalaupapa ua faʻamaonia e
USB-CAN adapter.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Ituaiga masini. Va'ai: Fa'amatalaga ituaiga masini fetuutuunai.
DevIndex
Fa'asinoga o Meafaitino, mo fa'ataample, pe a na o le tasi le USB-CAN adapter, o le numera o le faasino igoa o le 0, pe a tele le USB-CAN adapters, o numera fa'asino i se fa'asologa alu a'e e amata mai le 0.
CANIindex
CAN alaala faasino igoa.
Toe fo'i:
Fa'afo'i tau = 1, o lona uiga ua manuia le ta'aloga; = 0 o loʻo faʻaalia ai ua le manuia le taotoga; = -1 o loʻo faʻaalia ai e le o iai le masini.
2.2.7. VCI_StartCAN
O lenei galuega e faʻaaogaina e amata ai le CAN controller ma le faʻalavelave faʻalavelave faʻafeiloaʻi galuega a le adapter.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Ituaiga masini. Va'ai: Fa'amatalaga ituaiga masini fetuutuunai.
DevIndex
Fa'asinoga o Meafaitino, mo fa'ataample, pe a na o le tasi le USB-CAN adapter, o le numera o le faasino igoa o le 0, pe a tele le USB-CAN adapters, o numera fa'asino i se fa'asologa alu a'e e amata mai le 0.
CANIindex
CAN alaala faasino igoa.
Toe fo'i:
Fa'afo'i tau = 1, o lona uiga ua manuia le ta'aloga; = 0 o loʻo faʻaalia ai ua le manuia le taotoga; = -1 o loʻo faʻaalia ai e le o iai le masini.
2.2.8. VCI_ResetCAN
O lenei galuega e faʻaaogaina e toe setiina ai le CAN controller.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Ituaiga masini. Va'ai: Fa'amatalaga ituaiga masini fetuutuunai.
DevIndex
Fa'asinoga o Meafaitino, mo fa'ataample, pe a na o le tasi le USB-CAN adapter, o le numera o le faasino igoa o le 0, pe a tele le USB-CAN adapters, o numera fa'asino i se fa'asologa alu a'e e amata mai le 0.
CANIindex
CAN alaala faasino igoa.
Toe fo'i:
Fa'afo'i tau = 1, o lona uiga ua manuia le ta'aloga; = 0 o loʻo faʻaalia ai ua le manuia le taotoga; = -1 o loʻo faʻaalia ai e le o iai le masini.
2.2.9. VCI_Transmit
O lenei galuega e faʻaaogaina e lafo ai le faʻasologa o feʻau CAN.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Parameter:
DevType
Ituaiga masini. Va'ai: Fa'amatalaga ituaiga masini fetuutuunai.
DevIndex
Fa'asinoga o Meafaitino, mo fa'ataample, pe a na o le tasi le USB-CAN adapter, o le numera o le faasino igoa o le 0, pe a tele le USB-CAN adapters, o numera fa'asino i se fa'asologa alu a'e e amata mai le 0.
CANIindex
CAN alaala faasino igoa. pAuina atu
Ole tuatusi muamua ole fa'asologa o fa'amaumauga e tatau ona lafo.
Umi
Ole numera o faʻamaumauga faʻamaumauga e tatau ona lafoina, ole numera maualuga ole 1000, ole tau fautuaina ole 48 i lalo ole saoasaoa maualuga.
Toe fo'i:
Faʻafoʻi le numera moni o faʻavaa ua uma ona lafoina, o le tau faʻafoʻi = -1 o loʻo faʻaalia ai se mea sese masini.
Eg
2.2.10. VCI_Taua
O lenei galuega e faʻaaogaina e talosagaina ai le taliaina.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Parameter:
DevType
Ituaiga masini. Va'ai: Fa'amatalaga ituaiga masini fetuutuunai.
DevIndex
Fa'asinoga o Meafaitino, mo fa'ataample, pe a na o le tasi le USB-CAN adapter, o le numera o le faasino igoa o le 0, pe a tele le USB-CAN adapters, o numera fa'asino i se fa'asologa alu a'e e amata mai le 0.
CANIindex
CAN alaala faasino igoa.
muaitalia
Ina ia maua le seti seti muamua o faʻavaa faʻamaumauga.
Lene
E tatau ona sili atu i le 2500 le umi o fa'asologa o fa'amaumauga e fa'afo'i ai fe'au masani.
A leai, o le umi o le toe faafoi o le a zero pe o le feʻau e maua pe leai. ua setiina e le mea fa'apipi'i se 2000 fa'avaa fa'avaa mo alavai ta'itasi. Faʻavae i luga o lana lava faiga ma le siosiomaga galue, e mafai e le tagata faʻaoga ona filifili se laina talafeagai umi mai le 2500.
Faatalitali Taimi Fa'asao.
Toe fo'i:
Fa'afo'i le aofa'i o fa'ava'a ua uma ona faitauina, -1 fa'ailoa mai mea sese o masini.
Eg
VAEGA TOLU ISI GALUEGA MA FA'AMATALAGA FA'ATA'IGA
O lenei mataupu o loʻo faʻamatalaina ai isi ituaiga faʻamatalaga ma galuega a le potutusi a le ZLG le talafeagai o loʻo i totonu o le USB-CAN adapter interface library ControlCAN.dll. Fa'amolemole fai
aua le ta'ua nei galuega pe a fa'aogaina se fa'ata'ita'iga ZLG talafeagai mo le atina'e lona lua ina ia le afaina ai le fetaui.
3.1 FA'ATA'IGA O GALUEGA
3.1.1. VCI_UsbDeviceReset
Toe setiina le USB-CAN adapter, manaʻomia le toe tatalaina o le masini pe a uma ona toe setiina e ala i le faʻaaogaina o le VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD Reserved
Parameter:
DevType
Ituaiga masini. Va'ai: Fa'amatalaga ituaiga masini fetuutuunai.
DevIndex
Fa'asinoga o Meafaitino, mo fa'ataample, pe a na o le tasi le USB-CAN adapter, o le numera o le faasino igoa o le 0, pe a tele le USB-CAN adapters, o numera fa'asino i se fa'asologa alu a'e e amata mai le 0.
Fa'apolopolo Fa'apolopolo.
Toe fo'i:
Fa'afo'i tau = 1, o lona uiga ua manuia le ta'aloga; = 0 o loʻo faʻaalia ai ua le manuia le taotoga; = -1 o loʻo faʻaalia ai e le o iai le masini.
bRel = VCI_UsbDeviceReset(nDeviceType, Tutoatasi, 0);
3.1.2. VCI_FindUsbDevice2
A faʻaaoga e le PC tutusa le tele o USB-CAN, e mafai e le tagata faʻaoga ona faʻaogaina lenei galuega e suʻe ai le masini o loʻo iai nei.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parameter:
pInfo
O le pInfo e faʻaaogaina e teu ai faʻamaufaʻailoga o le faʻailoga muamua o le tuatusi faʻamaumauga.
Toe fo'i
Fa'afo'i le numera o le USB-CAN adapter na fa'apipi'iina i le komepiuta.
Vaega Fa Fefa'ataua'iga Faletusi Fa'aaogā Fa'agasologa
Ina ia faʻateleina galuega a le masini, matou te tuʻuina atu galuega faʻaopoopo (galuega faʻaalia i se lanu meamata), o nei galuega e aofia ai: VCI_FindUsbDevice2 VCI_UsbDeviceReset. I le taimi o le atinaʻe lona lua, o nei galuega e le tatau ona faʻaaogaina. E oʻo lava i nei galuega e le amanaʻia, e mafai ona ausia uma galuega faʻapipiʻi USB-CAN.
www.waveshare.com
www.waveshare.com/wiki
Pepa / Punaoa
![]() |
WAVESHARE USB-CAN Bus Inter face Adapter Interface Function Library [pdf] Tusi Taiala USB-CAN Bus Interface Adapter Interface Function Library, USB-CAN, Bus Interface Adapter Interface Function Library, Interface Function Library, Function Library |