USB-CAN Bus Interface
Adapter Interface Function
Instruksyon sa Gumagamit sa Library
HUMAN NA ANG UNANG BAHINVIEW
Kung ang user mogamit lang sa USB-CAN bus interface adapter aron magpadayon sa CAN bus communication test, ug dayon siya mahimong direkta nga mogamit sa gihatag nga USB-CAN Tool software alang sa pagpadala ug pagdawat sa datos sa pagsulay.
Kung ang tiggamit nagtinguha sa pagsulat sa software program alang sa iyang kaugalingon nga mga produkto. Palihug basaha pag-ayo ang mosunod nga mga instruksyon ug kuhaa ang pakisayran gikan sa sampang code nga among gihatag:
⑴ C++ Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Pagpalambo sa librarya file :ControlCAN.lib, ControlCAN.DLL
VC version function deklarasyon file :ControlCAN.h
Deklarasyon sa function sa bersyon sa VB file: ControlCAN.bas
LabVIEW version library function package module:ControlCAN.llb
Deklarasyon sa function sa bersyon sa Delphi file: ControlCAN.pas
IKADUHA NGA BAHIN KOMPATIBONG FUNCTION LIBRARY UG DATA STRUCTURE
2.1. TYPE DEFINITION
2.1.1. Type sa Device
Type Kahulugan | Type nga bili | Deskripsyon |
DEV_USBCAN2 | 4 | USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN |
2.1.2. VCI_BOARD_INFO
Ang istruktura sa VCI_BOARD_INFO adunay sulud nga kasayuran sa aparato sa USB-CAN Series interface card.
Ang istruktura mapuno sa VCI_ReadBoardInfo function.
Miyembro:
hw_Bersyon
Numero sa bersyon sa hardware, hexadecimal notation. Eg 0x0100 nagrepresentar sa V1.00.
fw_Bersyon
Numero sa bersyon sa hardware, hexadecimal notation. Eg 0x0100 nagrepresentar sa V1.00.
Pahina 2
dr_Bersyon
Numero sa bersyon sa drayber, hexadecimal notation. Eg 0x0100 nagrepresentar sa V1.00.
sa_Bersyon
Numero sa bersyon sa librarya sa interface, hexadecimal notation. Eg 0x0100 nagrepresentar sa V1.00.
irq_Num
Gireserba ang sistema.
mahimo_Num
Nagrepresentar sa kinatibuk-ang gidaghanon sa CAN channel.
str_Serial_Num
Ang serial number niini nga board card.
str_hw_Type
Ang tipo sa hardware, sama sa “USBCAN V1.00” (Pahinumdom: Naglakip sa string terminator '\0').
Gireserba
Gireserba ang sistema.
2.1.3. VCI_CAN_OBJ
Sa mga gimbuhaton VCI_Transmit ug VCI_Receive, VCI_CAN_OBJ istruktura gigamit sa pagpadala CAN mensahe frame.
Miyembro:
ID
Pagpaila sa mensahe. Direktang format sa ID, naa sa tuo, palihog tan-awa ang: Annex One: ID Alignment Details.
Ang TimeStamp
Pagdawat sa stamp impormasyon sa time frame, pagsugod sa timing sa diha nga ang CAN controller gisugdan, ang yunit mao ang 0. 1ms.
TimeFlag
Sa termino kung gamiton ba ang oras stamp, 1 mao ang epektibo nga TimeStamp. TimeFlag ug TimeStamp makahuluganon lamang kung ang frame madawat.
SendType
Type sa pagpadala. Ang = 0 nagpaila sa Normal nga tipo, = 1 nagpaila sa Single Send.
Hilit ngaBandera
Kung kini usa ka hilit nga bandila. Ang = 1 nagpaila sa hilit nga bandila, = 0 nagpaila sa bandila sa datos.
ExternFlag
Kung kini usa ka bandera sa gawas. = 1 nagpaila sa gawas nga bandila, = 0 nagpakita sa standard nga bandila.
DataLen
Ang gitas-on sa datos(<=8) , nga mao, ang gitas-on sa datos.
Data
Packet data.
Gireserba
Gireserba ang sistema.
2.1.4. VCI_INIT_CONFIG
Ang istruktura sa VCI_INIT_CONFIG naghubit sa pagsumpo sa pagsugod sa CAN. Ang istruktura mapuno sa VCI_InitCan function.
Miyembro:
AccCode
Dawata ang sinala nga acceptance code.
AccMask
Pagdawat filter mask.
Gireserba
Gireserba.
Pagsala
Pamaagi sa pagsala, nga nagtugot sa set range 0-3, tan-awa ang seksyon 2.2.3 sa lamesa sa filter mode alang sa mga detalye.
Timing0
SJA1000 Baud rate parameter, Timing0 (BTR0) .
Timing1
SJA1000 Baud rate parameter, Timing1 (BTR1) .
Mode
Operating mode, 0 = normal nga operasyon, 1 = Listen-only mode, 2 = spontaneous admission ug send test mode.
Mga komento:
Mahitungod sa mga setting sa filter palihog tan-awa ang: Annex II: CANparameter setup instructions.
Ang CAN Timing0 ug Timing1 gigamit sa pagtakda sa baud rate, kining duha ka parameter kay gigamit lang sa initialization stage.
Kinaandan nga Baud reference table:
MAHIMO baud rate | Timing0(BTR0) | Timing1(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 |
- Ang mga tiggamit kinahanglan lamang nga mosunod sa SJA1000 (16MHz) aron itakda ang parameter sa Baud rate.
- Ang adapter dili mosuporta sa temporaryo nga Baud rate ubos sa 10K.
2.2. PAGHULAGWAY SA FUNCTION
2.2.1. VCI_OpenDevice
Kini nga function gigamit sa pagkonektar sa mga aparato.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD Reserved);
Parameter:
DevType
Type sa device. Tan-awa: Kahulugan sa tipo sa aparato sa adaptor.
DevIndex
Device Index, alang sa example, kung adunay usa ra ka USB-CAN adapter, ang indeks nga numero mao ang 0, kung adunay daghang mga USB-CAN adapter, ang mga numero sa indeks sa usa ka pagtaas nga han-ay sugod sa 0.
Gireserba
Mga parametro sa pagpabilin, pun-i ang 0.
Pagbalik:
Ibalik ang bili = 1, nga nagpasabot nga ang operasyon malampuson; = 0 nagpakita nga ang operasyon napakyas; = -1 nagpakita nga ang device wala anaa.
2.2.2. VCI_Close Device
Kini nga function gigamit sa pagsira sa koneksyon.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Parameter:
DevType
Type sa device. Tan-awa: Kahulugan sa tipo sa aparato sa adaptor.
DevIndex
Device Index, alang sa example, kung adunay usa ra ka USB-CAN adapter, ang indeks nga numero mao ang 0, kung adunay daghang mga USB-CAN adapter, ang mga numero sa indeks sa usa ka pagtaas nga han-ay sugod sa 0.
Pagbalik:
Ibalik ang bili = 1, nga nagpasabot nga ang operasyon malampuson; = 0 nagpakita nga ang operasyon napakyas; = -1 nagpakita nga ang device wala anaa.
2.2.3. VCI_InitCan
Kini nga function gigamit sa pagsugod sa gipiho nga CAN.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);
Parameter:
DevType
Type sa device. Tan-awa: Kahulugan sa tipo sa aparato sa adaptor.
DevIndex
Device Index, alang sa example, kung adunay usa ra ka USB-CAN adapter, ang indeks nga numero mao ang 0, kung adunay daghang mga USB-CAN adapter, ang mga numero sa indeks sa usa ka pagtaas nga han-ay sugod sa 0.
CANIindex
CAN channel index, sama sa kung adunay usa ra ka CAN channel, ang indeks nga numero 0, kung adunay duha, ang indeks nga numero mahimong 0 o 1.
pInitConfig
Ang istruktura sa parameter sa pagsugod. Parameter nga lista sa mga miyembro:
Miyembro | Functional nga Deskripsyon |
pInitConfig->AccCode | Ang AccCode ug AccMask mahimong magtinabangay aron mahibal-an kung unsang mga pakete ang mahimong dawaton. Kining duha ka mga rehistro gigamit sa pagbutang sa ID nga left-aligned, sa ato pa, ang pinakataas nga bit (Bit31) sa AccCode ug AccMask kay aligned sa pinakataas nga bit sa ID value. |
pInitConfig->AccMask | Mahitungod sa ID alignment refer annexes: Annex I: Mga detalye sa pag-align sa ID. Pananglitan: Kung imong ibutang ang bili sa AccCode isip 0x24600000 (ie 0x123 gibalhin sa wala sa 21 bits), AccMask value gibutang sa 0x00000000, ug unya ang mga pakete lamang nga adunay CAN message frame ID mao ang 0x123 mahimong dawaton (Ang AccMask nga kantidad nga 0x00000000 nagpaila nga ang tanan nga mga piraso adunay kalabotan |
mga bit). Kung ang AccCode nga kantidad gitakda sa 0x24600000, ang AccMask nga kantidad gitakda sa 0x600000 (0x03 gibalhin sa wala sa 21 bits), ug unya ang mga pakete lamang nga adunay CAN message frame ID ang 0x120 ~ 0x123 mahimong dawaton (AccMask value Ang 0x600000 nagpaila nga gawas sa bit0 ~ bit1 ang ubang mga bit (bit2 ~ bit10) adunay kalabutan nga gamay). Mubo nga sulat: Kini nga setting sa filter examples ngadto sa standard frame, alang sa example, taas nga 11-bit mao ang balido nga bit; sa kaso sa gipalapdan nga bayanan, ug unya ang balido nga ID mao ang 29-bit. Gibutang sa AccCode ug AccMask ang taas nga 29-bit isip balido nga bit! |
|
pInitConfig->Gireserba | gitagana |
pInitConfig->Pagsala | Mga setting sa filtering mode palihog tan-awa ang seksyon sa filter mode table. |
pInitConfig-> Timing0 | Baud rateT0 setting |
pInitConfig-> Timing1 | Baud rateT1 setting |
pInitConfig->Mode | Operating mode: 0-normal nga operasyon 1-Paminaw-lamang mode 2-spontaneous admission ug pagpadala test mode (kini nga bili wala iapil sa ZLG function library) |
Talaan sa filter mode:
Bili | Ngalan | Deskripsyon |
1 | Dawata ang tanang matang | Angayan sa standard ug extended frame! |
2 | Pagdawat lamang sa standard frame | Angayan sa standard frame, ug gipalapad |
Ang frame makuha pinaagi sa pagsala direkta! | ||
3 | Pagdawat lamang sa gipalapdan nga frame | Angayan sa gipalapdan nga bayanan, ug ang standard nga bayanan tangtangon sa direkta nga pagsala! . |
Pagbalik:
Ibalik ang bili = 1, nga nagpasabot nga ang operasyon malampuson; = 0 nagpakita nga ang operasyon napakyas; = -1 nagpakita nga ang device wala anaa.
Eg
2.2.4. VCI_ReadBoardInfo
Kini nga function gigamit sa pagbasa sa impormasyon sa adapter hardware. Sa kinatibuk-an, kini mahimong ibaliwala.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parameter:
DevType
Type sa device. Tan-awa: Kahulugan sa tipo sa aparato sa adaptor.
DevIndex
Device Index, alang sa example, kung adunay usa lamang ka USB-CAN adapter, ang indeks nga numero mao ang 0, kung adunay daghang USB- CAN adapters, ang indeks nga mga numero sa usa ka ascending order sugod sa 0. pInfo
Ang VCI_BOARD_INFO gigamit sa pagtipig sa impormasyon sa estraktura nga pointer sa device.
Pagbalik:
Ibalik ang bili = 1, nga nagpasabot nga ang operasyon malampuson; = 0 nagpakita nga ang operasyon napakyas; = -1 nagpakita nga ang device wala anaa.
2.2.5. VCI_GetReceiveNum
Kini nga function gigamit sa pagtino sa nadawat apan wala nabasa nga mga frame sa gitudlo nga buffer sa pagdawat.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Type sa device. Tan-awa: Kahulugan sa tipo sa aparato sa adaptor.
DevIndex
Device Index, alang sa example, kung adunay usa lamang ka USB-CAN adapter, ang indeks nga numero mao ang 0, kung adunay daghang USB-CAN adapters, ang indeks nga mga numero sa usa ka ascending order sugod sa 0.
CANIindex
CAN channel index.
Pagbalik:
Ibalik ang mga frame nga wala pa mabasa.
Eg
#include “ControlCan.h” int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
Kini nga function gigamit sa paghawan sa pagdawat ug pagpadala buffer sa gitudlo nga channel nga gitakda sa
USB-CAN adapter.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Type sa device. Tan-awa: Kahulugan sa tipo sa aparato sa adaptor.
DevIndex
Device Index, alang sa example, kung adunay usa lamang ka USB-CAN adapter, ang indeks nga numero mao ang 0, kung adunay daghang USB-CAN adapters, ang indeks nga mga numero sa usa ka ascending order sugod sa 0.
CANIindex
CAN channel index.
Pagbalik:
Ibalik ang bili = 1, nga nagpasabot nga ang operasyon malampuson; = 0 nagpakita nga ang operasyon napakyas; = -1 nagpakita nga ang device wala anaa.
2.2.7. VCI_StartCAN
Kini nga function gigamit sa pagsugod sa CAN controller ug ang internal interrupt reception function sa adapter.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Type sa device. Tan-awa: Kahulugan sa tipo sa aparato sa adaptor.
DevIndex
Device Index, alang sa example, kung adunay usa ra ka USB-CAN adapter, ang indeks nga numero mao ang 0, kung adunay daghang mga USB-CAN adapter, ang mga numero sa indeks sa usa ka pagtaas nga han-ay sugod sa 0.
CANIindex
CAN channel index.
Pagbalik:
Ibalik ang bili = 1, nga nagpasabot nga ang operasyon malampuson; = 0 nagpakita nga ang operasyon napakyas; = -1 nagpakita nga ang device wala anaa.
2.2.8. VCI_ResetCAN
Kini nga function gigamit sa pag-reset sa CAN controller.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Type sa device. Tan-awa: Kahulugan sa tipo sa aparato sa adaptor.
DevIndex
Device Index, alang sa example, kung adunay usa ra ka USB-CAN adapter, ang indeks nga numero mao ang 0, kung adunay daghang mga USB-CAN adapter, ang mga numero sa indeks sa usa ka pagtaas nga han-ay sugod sa 0.
CANIindex
CAN channel index.
Pagbalik:
Ibalik ang bili = 1, nga nagpasabot nga ang operasyon malampuson; = 0 nagpakita nga ang operasyon napakyas; = -1 nagpakita nga ang device wala anaa.
2.2.9. VCI_Transmit
Kini nga function gigamit sa pagpadala CAN message frame.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Parameter:
DevType
Type sa device. Tan-awa: Kahulugan sa tipo sa aparato sa adaptor.
DevIndex
Device Index, alang sa example, kung adunay usa ra ka USB-CAN adapter, ang indeks nga numero mao ang 0, kung adunay daghang mga USB-CAN adapter, ang mga numero sa indeks sa usa ka pagtaas nga han-ay sugod sa 0.
CANIindex
CAN channel index. pSend
Ang unang adres sa data frame arrays nga kinahanglang ipadala.
Gitas-on
Ang gidaghanon sa mga data frame nga kinahanglan ipadala, ang maximum nga gidaghanon mao ang 1000, ang girekomendar nga kantidad mao ang 48 ubos sa taas nga tulin.
Pagbalik:
Ibalik ang aktuwal nga gidaghanon sa mga frame nga gipadala na, ang pagbalik nga kantidad = -1 nagpakita sa usa ka sayup sa device.
Eg
2.2.10. VCI_Pagdawat
Kini nga function gigamit sa paghangyo sa pagdawat.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Parameter:
DevType
Type sa device. Tan-awa: Kahulugan sa tipo sa aparato sa adaptor.
DevIndex
Device Index, alang sa example, kung adunay usa ra ka USB-CAN adapter, ang indeks nga numero mao ang 0, kung adunay daghang mga USB-CAN adapter, ang mga numero sa indeks sa usa ka pagtaas nga han-ay sugod sa 0.
CANIindex
CAN channel index.
Pagdawat
Aron makadawat sa unang set pointer sa data frame.
Si Len
Ang array nga gitas-on sa data frame kinahanglang labaw pa sa 2500 aron mabalik ang normal nga mensahe.
Kung dili, ang gitas-on sa pagbalik mahimong zero kung ang mensahe madawat o dili. ang adapter nagtakda og 2000-frame buffer alang sa matag channel. Pinasukad sa iyang kaugalingon nga sistema ug palibot sa pagtrabaho, ang tiggamit makapili usa ka angay nga gitas-on sa array gikan sa 2500.
Gireserba ang Oras sa Paghulat.
Pagbalik:
Ibalik ang gidaghanon sa mga frame nga aktuwal nga nabasa, -1 nagpaila sa mga sayup sa aparato.
Eg
IKATLONG BAHIN UBAN NGA MGA FUNCTIONS UG DATA STRUCTURE DESCRIPTION
Kini nga kapitulo naghulagway sa ubang mga tipo sa datos ug mga gimbuhaton sa dili magkatugma nga ZLG interface library nga anaa sa USB-CAN adapter interface library ControlCAN.dll. Palihug buhata
dili tawgon kini nga mga gimbuhaton kung mogamit usa ka katugbang nga modelo sa ZLG alang sa sekondaryang pag-uswag aron dili makaapekto sa pagkaangay.
3.1 DESKRIPSIYON SA FUNCTION
3.1.1. VCI_UsbDeviceReset
I-reset ang USB-CAN adapter, kinahanglan nga ablihan pag-usab ang device human sa pag-reset pinaagi sa paggamit sa VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD Reserved
Parameter:
DevType
Type sa device. Tan-awa: Kahulugan sa tipo sa aparato sa adaptor.
DevIndex
Device Index, alang sa example, kung adunay usa ra ka USB-CAN adapter, ang indeks nga numero mao ang 0, kung adunay daghang mga USB-CAN adapter, ang mga numero sa indeks sa usa ka pagtaas nga han-ay sugod sa 0.
Gireserba Gireserba.
Pagbalik:
Ibalik ang bili = 1, nga nagpasabot nga ang operasyon malampuson; = 0 nagpakita nga ang operasyon napakyas; = -1 nagpakita nga ang device wala anaa.
bRel = VCI_UsbDeviceReset(nDeviceType, Independence, 0);
3.1.2. VCI_FindUsbDevice2
Kung ang parehas nga PC gamit ang daghang USB-CAN, magamit sa user kini nga function aron makit-an ang karon nga aparato.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parameter:
pInfo
Ang pInfo gigamit sa pagtipig sa mga parameter sa unang data buffer address pointer.
Mibalik
Ibalik ang numero sa USB-CAN adapter nga gisaksak sa kompyuter.
Ikaupat nga Bahin Interface Library Functions Gamit ang Proseso
Aron sa pagpadaghan sa pag-obra sa device, naghatag kami og dugang nga mga gimbuhaton (mga gimbuhaton nga gipresentar sa usa ka berde nga background), kini nga mga gimbuhaton naglakip sa: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Atol sa ikaduhang pag-uswag, kini nga mga gimbuhaton dili kinahanglan nga gamiton. Bisan kini nga mga gimbuhaton wala panumbalinga, ang tanan nga USB-CAN adapter function mahimong makab-ot.
www.waveshare.com
www.waveshare.com/wiki
Mga Dokumento / Mga Kapanguhaan
![]() |
WAVESHARE USB-CAN Bus Inter face Adapter Interface Function Library [pdf] Manwal sa Instruksyon USB-CAN Bus Inter face Adapter Interface Function Library, USB-CAN, Bus Inter face Adapter Interface Function Library, Interface Function Library, Function Library |