USB-CAN Bus Interface
Adapter Interface Function
Torolàlana ho an'ny mpampiasa tranomboky
TAPITRA NY FIZARANA 1VIEW
Raha mampiasa USB-CAN bus interface adaptatera fotsiny ny mpampiasa handeha amin'ny CAN bisy fitsapana fifandraisana, ary avy eo dia afaka mampiasa mivantana ny USB-CAN Tool rindrambaiko ho an'ny fandefasana sy fandraisana angona ny fitsapana.
Raha mikasa ny hanoratra programa rindrambaiko ho an'ny vokatra azony ny mpampiasa. Azafady vakio tsara ireto toromarika manaraka ireto ary raiso avy amin'ny sampny code omenay:
⑴ C++ Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Mamorona tranomboky file :ControlCAN.lib, ControlCAN.DLL
Fanambarana fiasa VC version file :ControlCAN.h
VB version declaration function file: ControlCAN.bas
laboratoaraVIEW maody fonosana fonosana famakiam-boky:ControlCAN.llb
Delphi version declaration function file: ControlCAN.pas
FIZARANA FAHAROA FITEHIRIZAM-BOKIN'NY FAMPANDROSOANA SY FAMPIANARANA DATA
2.1. FANAMARIHANA KARAZANA
2.1.1. Karazana fitaovana
Karazana famaritana | Karazana sanda | Description |
DEV_USBCAN2 | 4 | USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN |
2.1.2. VCI_BOARD_INFO
VCI_BOARD_INFO rafitra misy USB-CAN Series karatra interface tsara momba ny fitaovana.
Ny rafitra dia hofenoina amin'ny fiasa VCI_ReadBoardInfo.
Mpikambana:
hw_Version
Laharan'ny dikan-fitaovana, fanamarihana hexadecimal. Ohatra, 0x0100 dia maneho V1.00.
fw_Version
Laharan'ny dikan-fitaovana, fanamarihana hexadecimal. Ohatra, 0x0100 dia maneho V1.00.
pejy 2
dr_Version
Laharan'ny dikan-tenin'ny mpamily, fanamarihana hexadecimal. Ohatra, 0x0100 dia maneho V1.00.
in_Version
Laharana dikan-dikan-dikan-tranonkala, fanondro hexadecimal. Ohatra, 0x0100 dia maneho V1.00.
irq_Num
System voatokana.
afaka_Nom
Maneho ny totalin'ny fantsona CAN.
str_Serial_Num
Ny nomeraon'ity karatry ny board ity.
str_hw_Type
Karazana fitaovana, toy ny “USBCAN V1.00” (Fanamarihana: Misy terminator tady '\0').
Reserved
System voatokana.
2.1.3. VCI_CAN_OBJ
Ao amin'ny fiasa VCI_Transmit sy VCI_Receive, ny rafitra VCI_CAN_OBJ dia ampiasaina handefasana hafatra CAN.
Mpikambana:
ID
Mpanondro hafatra. Endrika ID mivantana, mirindra havanana, azafady jereo ny: Annex One: Details ID Alignment.
TimeStamp
Mandray ny stamp fampahalalana momba ny fe-potoana, manomboka ny fotoana rehefa manomboka ny CAN controller, ny vondrona dia 0. 1ms.
TimeFlag
Raha ny momba ny fampiasana ny fotoana Stamp, 1 dia ny TimeStamp. TimeFlag sy TimeStamp dia misy dikany ihany rehefa voaray ny frame.
SendType
Karazana fandefasana. = 0 dia manondro karazana mahazatra, = 1 manondro Single Send.
RemoteFlag
Na saina lavitra. = 1 manondro saina lavitra, = 0 manondro saina data.
ExternFlag
Na saina ivelany izany. = 1 manondro saina ivelany, = 0 manondro saina mahazatra.
DataLen
Ny halavan'ny data(<=8) , izany hoe ny halavan'ny angona.
NY FANAZAVANA
Packet data.
Reserved
System voatokana.
2.1.4. VCI_INIT_CONFIG
Ny rafitra VCI_INIT_CONFIG dia mamaritra ny fanamafisana fanombohana ny CAN. Ny rafitra dia hofenoina amin'ny fiasa VCI_InitCan.
Mpikambana:
AccCode
Raiso kaody fanekena voasivana.
AccMask
Raiso saron-tava.
Reserved
Voatokana.
Sivana
Fomba fanivanana, mamela ny elanelana 0-3, jereo ny fizarana 2.2.3 amin'ny tabilao fomba fanivanana ho an'ny antsipiriany.
Fotoana 0
SJA1000 Baud tahan'ny parameter, Timing0 (BTR0) .
Fotoana 1
SJA1000 Baud tahan'ny parameter, Timing1 (BTR1) .
Mode
Fomba fiasa, 0 = fampandehanana ara-dalàna, 1 = fomba fihainoana fotsiny, 2 = fomba fidirana ho azy sy fandefasana fitsapana.
Fanamarihana:
Momba ny firafitry ny sivana azafady jereo ny: Annex II: Torolàlana momba ny fananganana CANparameter.
CAN Timing0 sy Timing1 dia ampiasaina mba hametrahana ny tahan'ny baud, ireo masontsivana roa ireo dia ampiasaina amin'ny fanombohana s ihany.tage.
Latabatra fanondroana Baud mahazatra:
CAN Baud tahan'ny | Fotoana0(BTR0) | Fotoana1(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 |
- Ny mpampiasa dia mila manaraka SJA1000 (16MHz) fotsiny mba hametrahana ny mari-pamantarana ny tahan'ny Baud.
- Ny adaptatera dia tsy manohana vonjimaika ny tahan'ny Baud ambany 10K.
2.2. FAMPISEHOANA ASA
2.2.1. VCI_OpenDevice
Ity fiasa ity dia ampiasaina hampifandraisana ireo fitaovana.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD Reserved);
Parameter:
DevType
Karazana fitaovana. Jereo: Famaritana ny karazana fitaovana adaptatera.
DevIndex
Fanondroana fitaovana, ohatraample, rehefa tsy misy afa-tsy USB-CAN adapter dia 0 ny laharan'ny fanondroana, rehefa misy adapter USB-CAN maromaro, ny laharan'ny fanondroana dia miakatra manomboka amin'ny 0.
Reserved
Paramètre fitazonana, fenoy 0.
Miverina:
Sanda miverina = 1, izay midika fa mahomby ny fandidiana; = 0 dia manondro fa tsy nahomby ny fandidiana; = -1 dia manondro fa tsy misy ilay fitaovana.
2.2.2. VCI_CloseDevice
Ity fiasa ity dia ampiasaina hanakatona ny fifandraisana.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Parameter:
DevType
Karazana fitaovana. Jereo: Famaritana ny karazana fitaovana adaptatera.
DevIndex
Fanondroana fitaovana, ohatraample, rehefa tsy misy afa-tsy USB-CAN adapter dia 0 ny laharan'ny fanondroana, rehefa misy adapter USB-CAN maromaro, ny laharan'ny fanondroana dia miakatra manomboka amin'ny 0.
Miverina:
Sanda miverina = 1, izay midika fa mahomby ny fandidiana; = 0 dia manondro fa tsy nahomby ny fandidiana; = -1 dia manondro fa tsy misy ilay fitaovana.
2.2.3. VCI_InitCan
Ity fiasa ity dia ampiasaina hanombohana ny CAN voafaritra.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);
Parameter:
DevType
Karazana fitaovana. Jereo: Famaritana ny karazana fitaovana adaptatera.
DevIndex
Fanondroana fitaovana, ohatraample, rehefa tsy misy afa-tsy USB-CAN adapter dia 0 ny laharan'ny fanondroana, rehefa misy adapter USB-CAN maromaro, ny laharan'ny fanondroana dia miakatra manomboka amin'ny 0.
CANIindex
Fanondroana fantsona CAN, toy ny hoe rehefa misy fantsona CAN iray ihany, dia 0 ny laharan'ny fanondroana, raha misy roa, dia mety ho 0 na 1 ny laharan'ny fanondroana.
pInitConfig
Firafitry ny mari-pamantarana fanombohana. Lisitr'ireo mpikambana:
FIANGONANA | Functional Description |
pInitConfig->AccCode | AccCode sy AccMask dia afaka miara-miasa hamaritana izay fonosana azo ekena. Ireo rejisitra roa ireo dia ampiasaina hametrahana ny ID miankavia, izany hoe ny bit avo indrindra (Bit31) amin'ny AccCode ary ny AccMask dia mifanaraka amin'ny bitika ambony indrindra amin'ny sanda ID. |
pInitConfig->AccMask | Momba ny fampifanarahana ID dia jereo ny annexes: Annex I: Ny antsipirian'ny fampifanarahana ID. Ohatra: Raha mametraka ny sandan'ny AccCode ho 0x24600000 ianao (izany hoe 0x123 dia afindra miankavia amin'ny 21 bit), ny sanda AccMask dia napetraka amin'ny 0x00000000, ary avy eo ny fonosana miaraka amin'ny CAN message frame ID dia 0x123 no azo ekena (AccMask value of 0x00000000 dia manondro fa ny bits rehetra dia mifandraika |
bits). Raha apetraka amin'ny 0x24600000 ny sandan'ny AccCode, ny sandan'ny AccMask dia apetraka amin'ny 0x600000 (ny 0x03 dia avadika miankavia amin'ny 21 bits), ary avy eo ny fonosana miaraka amin'ny CAN message frame ID dia 0x120 ~ 0x123 no azo ekena (AccMask sanda. 0x600000 dia manondro fa ankoatry ny bit0 ~ bit1 bits hafa (bit2 ~ bit10) dia bit mifandraika). Fanamarihana: Ity fametahana sivana ity examples amin'ny rafitra mahazatra, ohatraample, avo 11-bit no bit manan-kery; amin'ny toe-javatra miitatra, ary avy eo ny ID manan-kery dia 29-bit. AccCode sy AccMask dia nametraka 29-bit avo ho toy ny bit manan-kery! |
|
pInitConfig-> Voatokana | Reserved |
pInitConfig->Sivana | Fikirana fomba fanivanana azafady mba jereo ny fizarana amin'ny tabilaon'ny fomba sivana. |
pInitConfig->Fotoana0 | Fametrahana baud rateT0 |
pInitConfig->Fotoana1 | Fametrahana baud rateT1 |
pInitConfig->Mode | Fomba fiasa: 0-fiasa mahazatra 1- Fomba fihainoana fotsiny 2-fidirana mandeha ho azy sy fomba fitsapana fandefasana (tsy tafiditra ao amin'ny tranomboky ZLG io sanda io) |
latabatra fomba sivana:
sarobidy | Anarana | Description |
1 | Raiso ny karazany rehetra | Mety amin'ny frame mahazatra sy lava! |
2 | Raiso fotsiny ny frame mahazatra | Mifanaraka amin'ny rafitra mahazatra, ary miitatra |
ho esorina amin'ny alalan'ny filtration mivantana ny frame! | ||
3 | Raiso ihany ny frame miitatra | Mety amin'ny frame miitatra, ary ny frame mahazatra dia esorina amin'ny filtration mivantana! . |
Miverina:
Sanda miverina = 1, izay midika fa mahomby ny fandidiana; = 0 dia manondro fa tsy nahomby ny fandidiana; = -1 dia manondro fa tsy misy ilay fitaovana.
ohatra
2.2.4. VCI_ReadBoardInfo
Ity fiasa ity dia ampiasaina hamakiana ny fampahalalana momba ny fitaovana adaptatera. Amin'ny ankapobeny dia azo tsinontsinoavina izany.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parameter:
DevType
Karazana fitaovana. Jereo: Famaritana ny karazana fitaovana adaptatera.
DevIndex
Fanondroana fitaovana, ohatraample, rehefa tsy misy afa-tsy USB-CAN adapter dia 0 ny laharan'ny fanondro, rehefa misy adapter USB- CAN maromaro, ny laharan'ny fanondroana dia mizotra miakatra manomboka amin'ny 0. pInfo
VCI_BOARD_INFO dia ampiasaina hitahiry tondro firafitry ny mombamomba ny fitaovana.
Miverina:
Sanda miverina = 1, izay midika fa mahomby ny fandidiana; = 0 dia manondro fa tsy nahomby ny fandidiana; = -1 dia manondro fa tsy misy ilay fitaovana.
2.2.5. VCI_GetReceiveNum
Ity fiasa ity dia ampiasaina hamaritana ny voaray fa tsy mbola novakiana ao amin'ny buffer fandraisana voatondro.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Karazana fitaovana. Jereo: Famaritana ny karazana fitaovana adaptatera.
DevIndex
Fanondroana fitaovana, ohatraample, rehefa tsy misy afa-tsy USB-CAN adapter dia 0 ny laharan'ny fanondroana, rehefa misy adapter USB- CAN maromaro, ny laharan'ny fanondroana dia miakatra manomboka amin'ny 0.
CANIindex
CAN Channel Index.
Miverina:
Avereno ireo frame izay tsy mbola novakiana.
ohatra
#include “ControlCan.h” int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
Ity asa ity dia ampiasaina hanadio ny mandray sy mandefa buffer amin'ny fantsona voatondro voatondron'ny
USB-CAN adaptatera.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Karazana fitaovana. Jereo: Famaritana ny karazana fitaovana adaptatera.
DevIndex
Fanondroana fitaovana, ohatraample, rehefa tsy misy afa-tsy USB-CAN adapter dia 0 ny laharan'ny fanondroana, rehefa misy adapter USB- CAN maromaro, ny laharan'ny fanondroana dia miakatra manomboka amin'ny 0.
CANIindex
CAN Channel Index.
Miverina:
Sanda miverina = 1, izay midika fa mahomby ny fandidiana; = 0 dia manondro fa tsy nahomby ny fandidiana; = -1 dia manondro fa tsy misy ilay fitaovana.
2.2.7. VCI_StartCAN
Ity fiasa ity dia ampiasaina hanombohana ny fanaraha-maso CAN sy ny fiasan'ny fandraisana interrupt amin'ny adaptatera.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANINdex);
Parameter:
DevType
Karazana fitaovana. Jereo: Famaritana ny karazana fitaovana adaptatera.
DevIndex
Fanondroana fitaovana, ohatraample, rehefa tsy misy afa-tsy USB-CAN adapter dia 0 ny laharan'ny fanondroana, rehefa misy adapter USB-CAN maromaro, ny laharan'ny fanondroana dia miakatra manomboka amin'ny 0.
CANIindex
CAN Channel Index.
Miverina:
Sanda miverina = 1, izay midika fa mahomby ny fandidiana; = 0 dia manondro fa tsy nahomby ny fandidiana; = -1 dia manondro fa tsy misy ilay fitaovana.
2.2.8. VCI_ResetCAN
Ity fiasa ity dia ampiasaina hamerenana ny fanaraha-maso CAN.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANINdex);
Parameter:
DevType
Karazana fitaovana. Jereo: Famaritana ny karazana fitaovana adaptatera.
DevIndex
Fanondroana fitaovana, ohatraample, rehefa tsy misy afa-tsy USB-CAN adapter dia 0 ny laharan'ny fanondroana, rehefa misy adapter USB-CAN maromaro, ny laharan'ny fanondroana dia miakatra manomboka amin'ny 0.
CANIindex
CAN Channel Index.
Miverina:
Sanda miverina = 1, izay midika fa mahomby ny fandidiana; = 0 dia manondro fa tsy nahomby ny fandidiana; = -1 dia manondro fa tsy misy ilay fitaovana.
2.2.9. VCI_Transmit
Ity fiasa ity dia ampiasaina handefasana hafatra CAN.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Parameter:
DevType
Karazana fitaovana. Jereo: Famaritana ny karazana fitaovana adaptatera.
DevIndex
Fanondroana fitaovana, ohatraample, rehefa tsy misy afa-tsy USB-CAN adapter dia 0 ny laharan'ny fanondroana, rehefa misy adapter USB-CAN maromaro, ny laharan'ny fanondroana dia miakatra manomboka amin'ny 0.
CANIindex
CAN Channel Index. pSend
Adiresy voalohany amin'ny laharan'ny data frame tsy maintsy alefa.
NY FAHARETANY
Ny isan'ny angon-drakitra tokony halefa, ny ambony indrindra dia 1000, ny soso-kevitra dia 48 amin'ny hafainganam-pandeha ambony.
Miverina:
Avereno ny tena isan'ny frame efa nalefa, ny sanda miverina = -1 dia manondro ny fahadisoana amin'ny fitaovana.
ohatra
2.2.10. VCI_Receive
Ity fiasa ity dia ampiasaina amin'ny fangatahana fandraisana.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Parameter:
DevType
Karazana fitaovana. Jereo: Famaritana ny karazana fitaovana adaptatera.
DevIndex
Fanondroana fitaovana, ohatraample, rehefa tsy misy afa-tsy USB-CAN adapter dia 0 ny laharan'ny fanondroana, rehefa misy adapter USB-CAN maromaro, ny laharan'ny fanondroana dia miakatra manomboka amin'ny 0.
CANIindex
CAN Channel Index.
pReceive
Mba hahazoana ny tondro napetraka voalohany amin'ny rafitra data.
Len
Tsy maintsy mihoatra ny 2500 ny halavan'ny angon-drakitra mba hamerenana hafatra mahazatra.
Raha tsy izany, ny halavan'ny fiverenana dia ho aotra na voaray ny hafatra na tsia. Ny adaptatera dia mametraka buffer 2000-frame ho an'ny fantsona tsirairay. Miorina amin'ny rafitra sy ny tontolo iasany manokana, ny mpampiasa dia afaka misafidy ny halavan'ny array mety amin'ny 2500.
Natokana ny fotoana fiandrasana.
Miverina:
Avereno ny isan'ny frame izay tena novakiana, -1 dia manondro ny fahadisoana amin'ny fitaovana.
ohatra
FIZARANA FAHATELO FAMPIASA HAFA SY FAMARITANA NY RAFITRA NY DATA
Ity toko ity dia mamaritra karazana angon-drakitra hafa sy ny fiasan'ny tranomboky interface tsara ZLG tsy mifanaraka amin'ny tranomboky interface tsara USB-CAN adaptatera ControlCAN.dll. Ataovy azafady
aza miantso ireo fiasa ireo raha mampiasa modely ZLG mifanaraka amin'ny fampandrosoana faharoa mba tsy hisy fiantraikany amin'ny fifanarahana.
3.1 FAMPIANARANA FAMPIASA
3.1.1. VCI_UsbDeviceReset
Reset USB-CAN adaptatera, mila manokatra indray ny fitaovana rehefa reset amin'ny alalan'ny fampiasana VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD voatokana
Parameter:
DevType
Karazana fitaovana. Jereo: Famaritana ny karazana fitaovana adaptatera.
DevIndex
Fanondroana fitaovana, ohatraample, rehefa tsy misy afa-tsy USB-CAN adapter dia 0 ny laharan'ny fanondroana, rehefa misy adapter USB-CAN maromaro, ny laharan'ny fanondroana dia miakatra manomboka amin'ny 0.
Voatokana Voatokana.
Miverina:
Sanda miverina = 1, izay midika fa mahomby ny fandidiana; = 0 dia manondro fa tsy nahomby ny fandidiana; = -1 dia manondro fa tsy misy ilay fitaovana.
bRel = VCI_UsbDeviceReset(nDeviceType, Fahaleovantena, 0);
3.1.2. VCI_FindUsbDevice2
Rehefa mampiasa USB-CAN maromaro ny PC iray, dia afaka mampiasa ity fiasa ity ny mpampiasa mba hahitana ny fitaovana ankehitriny.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parameter:
pInfo
Ny pInfo dia ampiasaina hitahiry ny mason'ny tondro adiresy buffer data voalohany.
Miverina
Avereno ny laharan'ny adaptatera USB-CAN nampidirina amin'ny solosaina.
Fizarana Fahaefatra Ny fiasan'ny Tranomboky Interface amin'ny fampiasana Process
Mba hampitomboana ny fiasan'ny fitaovana dia nanome fiasa fanampiny izahay (asa aseho miaraka amin'ny fiaviana maitso), ireto fiasa ireto dia ahitana: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Mandritra ny fivoarana faharoa dia tsy voatery ho ampiasaina ireo asa ireo. Na ireo fiasa ireo aza dia tsy noraharahiana, azo tanterahina avokoa ny fiasan'ny adaptatera USB-CAN.
www.fiveshare.com
www.waveshare.com/wiki
Documents / Loharano
![]() |
WAVESHARE USB-CAN Bus Inter face Adapter Interface Function Library [pdf] Boky torolalana USB-CAN Bus Inter face Adapter Interface Function Library, USB-CAN, Bus Inter face Adapter Interface Function Library, Interface Function Library, Function Library |