WAVESHARE LogoUSB-CAN interfejs sabirnice
Funkcija interfejsa adaptera
Uputstvo za korišćenje bibliotekeWAVESHARE USB CAN Bus Interface Adapter Interface Function Library

PRVI DEO GOTOVIVIEW

Ako korisnik samo koristi USB-CAN bus interfejs adapter da ide na CAN bus komunikacijski test, i tada može direktno koristiti isporučeni softver USB-CAN Tool za slanje i primanje podataka testa.
Ukoliko korisnik namjerava pisati softverski program za svoje proizvode. Molimo pažljivo pročitajte sljedeće upute i uzmite reference iz sample kod koji nudimo:
⑴ C++Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Razviti biblioteku file :ControlCAN.lib, ControlCAN.DLL
Deklaracija funkcije VC verzije file :ControlCAN.h
Deklaracija funkcije VB verzije file: ControlCAN.bas
LabVIEW modul funkcionalnog paketa biblioteke verzija :ControlCAN.llb
Deklaracija funkcije Delphi verzije file: ControlCAN.pas

DRUGI DIO KOMPATIBILNA BIBLIOTEKA FUNKCIJA I STRUKTURA PODATAKA

2.1. DEFINICIJA TIPA
2.1.1. Tip uređaja

Definicija tipa Unesite vrijednost Opis
DEV_USBCAN2 4 USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN

2.1.2. VCI_BOARD_INFO
Struktura VCI_BOARD_INFO sadrži informacije o uređaju kartice interfejsa USB-CAN serije.
Struktura će biti popunjena u funkciji VCI_ReadBoardInfo.

WAVESHARE USB CAN sabirnica Interface Adapter Biblioteka funkcija interfejsa - Slika 1

Član:
hw_Version
Broj verzije hardvera, heksadecimalni zapis. Npr. 0x0100 predstavlja V1.00.
fw_Version
Broj verzije hardvera, heksadecimalni zapis. Npr. 0x0100 predstavlja V1.00.
Stranica 2
dr_Version

Broj verzije drajvera, heksadecimalni zapis. Npr. 0x0100 predstavlja V1.00.
in_Verzija
Broj verzije biblioteke interfejsa, heksadecimalni zapis. Npr. 0x0100 predstavlja V1.00.
irq_Num
Sistem rezervisan.
can_Num
Predstavlja ukupan broj CAN kanala.
str_Serial_Num
Serijski broj ove kartice.
str_hw_Type
Tip hardvera, kao što je “USBCAN V1.00” (Napomena: uključuje terminator niza '\0').
Rezervirano
Sistem rezervisan.
2.1.3. VCI_CAN_OBJ
U funkcijama VCI_Transmit i VCI_Receive, struktura VCI_CAN_OBJ se koristi za prijenos okvira CAN poruke.

WAVESHARE USB CAN sabirnica Interfejs Adapter Biblioteka funkcija interfejsa - Sl

Član:
ID
Identifikator poruke. Direktni format ID-a, poravnat udesno, pogledajte: Aneks 1: Detalji poravnanja ID-a.
TimeStamp
Prijem svamp informacija o vremenskom okviru, vrijeme početka kada je CAN kontroler inicijaliziran, jedinica je 0ms.
TimeFlag
U smislu da li koristiti vrijeme stamp, 1 je efektivni TimeStamp. TimeFlag i TimeStamp imaju smisla samo kada je okvir primljen.
SendType
Vrsta slanja. = 0 označava normalan tip, = 1 označava jednostruko slanje.
RemoteFlag
Bilo da se radi o udaljenoj zastavici. = 1 označava udaljenu zastavicu, = 0 označava zastavicu podataka.
ExternFlag
Bilo da se radi o vanjskoj zastavici. = 1 označava eksternu zastavicu, = 0 označava standardnu ​​zastavicu.
DataLen
Dužina podataka (<=8), odnosno dužina podataka.
Podaci
Paketni podaci.
Rezervirano
Sistem rezervisan.
2.1.4. VCI_INIT_CONFIG
VCI_INIT_CONFIG struktura definira konfiguraciju inicijalizacije CAN-a. Struktura će biti popunjena funkcijom VCI_InitCan.

WAVESHARE USB CAN sabirnica Interface Adapter Biblioteka funkcija interfejsa - Slika 2

Član:
AccCode
Primite filtrirani kod prihvatanja.
AccMask
Primite filter masku.
Rezervirano
Rezervirano.
Filter
Metoda filtriranja, koja dozvoljava raspon podešavanja 0-3, pogledajte odeljak 2.2.3 tabele režima filtera za detalje.
Tajming0
SJA1000 Parametar brzine prijenosa, Timing0 (BTR0) .
Tajming1
SJA1000 Parametar brzine prijenosa, Timing1 (BTR1) .
Mode
Način rada, 0 = normalan rad, 1 = način rada samo za slušanje, 2 = testni režim spontanog prijema i slanja.
Napomene:
O postavkama filtera pogledajte: Aneks II: Upute za postavljanje CANparametara.
CAN Timing0 i Timing1 se koriste za postavljanje brzine prijenosa, ova dva parametra se koriste samo pri inicijalizaciji stage.
Konvencionalna referentna tablica Bauda:

CAN brzina prijenosa Vrijeme 0 (BTR0) Vrijeme 1 (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
  1. Korisnici samo trebaju pratiti SJA1000 (16MHz) da bi postavili parametar brzine prijenosa.
  2. Adapter ne podržava privremenu brzinu prijenosa ispod 10K.

2.2. OPIS FUNKCIJE
2.2.1. VCI_OpenDevice
Ova funkcija se koristi za povezivanje uređaja.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD rezervisan);
Parametri:
DevType
Vrsta uređaja. Pogledajte: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprampda, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa u rastućem redosledu počevši od 0.
Rezervirano
Parametri zadržavanja, popunite 0.
Povratak:
Povratna vrijednost = 1, što znači da je operacija uspješna; = 0 označava da operacija nije uspjela; = -1 označava da uređaj ne postoji.

WAVESHARE USB CAN Bus Interfejs Adapter Biblioteka funkcija interfejsa - sl.3

2.2.2. VCI_CloseDevice
Ova funkcija se koristi za zatvaranje veze.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Parametri:
DevType
Vrsta uređaja. Pogledajte: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprampda, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa u rastućem redosledu počevši od 0.
Povratak:
Povratna vrijednost = 1, što znači da je operacija uspješna; = 0 označava da operacija nije uspjela; = -1 označava da uređaj ne postoji.

WAVESHARE USB CAN sabirnica Interface Adapter Biblioteka funkcija interfejsa - Slika 4

2.2.3. VCI_InitCan
Ova funkcija se koristi za inicijalizaciju specificiranog CAN-a.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pinitConfig);

Parametri:
DevType
Vrsta uređaja. Pogledajte: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprampda, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa u rastućem redosledu počevši od 0.
CANIndex
Indeks CAN kanala, kao kada postoji samo jedan CAN kanal, broj indeksa je 0, ako postoje dva, broj indeksa može biti 0 ili 1.
pInitConfig
Struktura parametara inicijalizacije. Lista parametara članova:

Član Funkcionalni opis
pInitConfig->AccCode AccCode i AccMask mogu raditi zajedno kako bi odredili koji paketi mogu biti prihvaćeni. Ova dva registra se koriste za postavljanje ID-a lijevo poravnat, to jest, najviši bit (Bit31) AccCode i AccMask je poravnat sa najvišim bitom ID vrijednosti.
pInitConfig->AccMask O ID poravnanju pogledajte anekse: Aneks I:
Detalji poravnanja ID-a.
Npr: Ako postavite vrijednost AccCode-a kao 0x24600000 (tj. 0x123 je pomaknut ulijevo za 21 bit), vrijednost AccMask
je postavljen na 0x00000000, i tada se mogu prihvatiti samo paketi sa CAN okvirom poruke 0x123 (vrijednost AccMask od 0x00000000 ukazuje da su svi bitovi relevantni
bitovi). Ako je vrijednost AccCode postavljena na 0x24600000, vrijednost AccMask je postavljena na 0x600000 (0x03 je pomaknuta ulijevo za 21 bit), a tada se mogu prihvatiti samo paketi sa ID okvira CAN poruke 0x120 ~ 0x123 (vrijednost AccMask
0x600000 označava da su osim bit0 ~ bit1 drugi bitovi (bit2 ~ bit10) relevantni bit).
Napomena: Ova postavka filtera npramples na standardni okvir, nprample, visoki 11-bit je važeći bit; u slučaju proširenog okvira, a tada je važeći ID 29-bitni. AccCode i AccMask postavljaju visoki 29-bitni kao važeći bit!
pInitConfig->Rezervirano rezervisano
pInitConfig->Filter Postavke načina filtriranja pogledajte odjeljak tabele načina filtriranja.
pInitConfig->Timing0 Postavka brzine prenosa T0
pInitConfig->Timing1 Postavka brzine prenosa T1
pInitConfig->Mode Način rada:
0-normalan rad
1-Režim samo za slušanje
2-spontani prijem i testni način slanja (ova vrijednost je isključena iz ZLG biblioteke funkcija)

Tabela načina filtriranja:

Vrijednost Ime Opis
1 Primite sve vrste Pogodan i za standardni i za produženi okvir!
2 Primite samo standardni okvir Pogodan za standardni okvir i produžen
okvir će biti uklonjen direktno filtracijom!
3 Primite samo prošireni okvir Pogodno za prošireni okvir, a standardni okvir će biti uklonjen
filtracija direktno! 。

Povratak:
Povratna vrijednost = 1, što znači da je operacija uspješna; = 0 označava da operacija nije uspjela; = -1 označava da uređaj ne postoji.
Npr

WAVESHARE USB CAN sabirnica Interface Adapter Biblioteka funkcija interfejsa - Slika 4

WAVESHARE USB CAN sabirnica Interface Adapter Biblioteka funkcija interfejsa - Slika 6

2.2.4. VCI_ReadBoardInfo
Ova funkcija se koristi za čitanje informacija o hardveru adaptera. Uopšteno govoreći, može se zanemariti.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parametri:
DevType
Vrsta uređaja. Pogledajte: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprampda, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa u rastućem redoslijedu počevši od 0. pInfo
VCI_BOARD_INFO se koristi za pohranjivanje pokazivača strukture informacija o uređaju.
Povratak:
Povratna vrijednost = 1, što znači da je operacija uspješna; = 0 označava da operacija nije uspjela; = -1 označava da uređaj ne postoji.

WAVESHARE USB CAN sabirnica Interface Adapter Biblioteka funkcija interfejsa - Slika 7

2.2.5. VCI_GetReceiveNum
Ova funkcija se koristi za specificiranje primljenih, ali nije pročitanih okvira u određenom prijemnom baferu.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametri:
DevType
Vrsta uređaja. Pogledajte: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprampako postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa u rastućem redosledu počevši od 0.
CANIndex
Indeks CAN kanala.
Povratak:
Vrati okvire koji još nisu pročitani.
Npr
#include “ControlCan.h” int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
Ova funkcija se koristi za brisanje bafera za primanje i slanje određenog kanala koji je specificirao
USB-CAN adapter.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametri:
DevType
Vrsta uređaja. Pogledajte: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprampako postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa u rastućem redosledu počevši od 0.
CANIndex
Indeks CAN kanala.
Povratak:
Povratna vrijednost = 1, što znači da je operacija uspješna; = 0 označava da operacija nije uspjela; = -1 označava da uređaj ne postoji.

WAVESHARE USB CAN sabirnica Interface Adapter Biblioteka funkcija interfejsa - Slika 8

2.2.7. VCI_StartCAN
Ova funkcija se koristi za pokretanje CAN kontrolera i funkciju prijema internog prekida adaptera.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametri:
DevType
Vrsta uređaja. Pogledajte: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprampda, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa u rastućem redosledu počevši od 0.
CANIndex
Indeks CAN kanala.
Povratak:
Povratna vrijednost = 1, što znači da je operacija uspješna; = 0 označava da operacija nije uspjela; = -1 označava da uređaj ne postoji.

WAVESHARE USB CAN sabirnica Interface Adapter Biblioteka funkcija interfejsa - Slika 9

2.2.8. VCI_ResetCAN
Ova funkcija se koristi za resetiranje CAN kontrolera.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametri:
DevType
Vrsta uređaja. Pogledajte: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprampda, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa u rastućem redosledu počevši od 0.
CANIndex
Indeks CAN kanala.
Povratak:
Povratna vrijednost = 1, što znači da je operacija uspješna; = 0 označava da operacija nije uspjela; = -1 označava da uređaj ne postoji.

WAVESHARE USB CAN sabirnica Interface Adapter Biblioteka funkcija interfejsa - Slika 10

2.2.9. VCI_Transmit
Ova funkcija se koristi za slanje okvira CAN poruke.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Parametri:
DevType
Vrsta uređaja. Pogledajte: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprampda, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa u rastućem redosledu počevši od 0.
CANIndex
Indeks CAN kanala. pPošalji
Prva adresa nizova okvira podataka koji se moraju poslati.
Dužina
Broj okvira podataka koji se moraju poslati, maksimalan broj je 1000, preporučena vrijednost je 48 pri velikoj brzini.
Povratak:
Vrati stvarni broj već poslanih okvira, povratna vrijednost = -1 ukazuje na grešku uređaja.
Npr
WAVESHARE USB CAN sabirnica Interface Adapter Biblioteka funkcija interfejsa - Slika 11

WAVESHARE USB CAN sabirnica Interface Adapter Biblioteka funkcija interfejsa - Slika 12

2.2.10. VCI_Receive
Ova funkcija se koristi za traženje prijema.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT Vrijeme čekanja);
Parametri:
DevType
Vrsta uređaja. Pogledajte: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprampda, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa u rastućem redosledu počevši od 0.
CANIndex
Indeks CAN kanala.
pReceive
Za primanje prvog postavljenog pokazivača okvira podataka.
Len
Duljina niza okvira podataka mora biti veća od 2500 da bi se vratila normalna poruka.
U suprotnom, povratna dužina će biti nula bez obzira da li je poruka primljena ili ne. adapter je postavio bafer od 2000 kadrova za svaki kanal. Na osnovu sopstvenog sistema i radnog okruženja, korisnik može izabrati odgovarajuću dužinu niza od 2500.
Vrijeme čekanja rezervirano.
Povratak:
Vrati broj okvira koji su stvarno pročitani, -1 označava greške uređaja.
Npr
WAVESHARE USB CAN sabirnica Interface Adapter Biblioteka funkcija interfejsa - Slika 13

TREĆI DIO DRUGE FUNKCIJE I OPIS STRUKTURE PODATAKA

Ovo poglavlje opisuje druge tipove podataka i funkcije nekompatibilne ZLG biblioteke sučelja sadržane u biblioteci interfejsa USB-CAN adaptera ControlCAN.dll. Molim te
ne pozivati ​​ove funkcije ako koristite kompatibilan ZLG model za sekundarni razvoj kako ne bi utjecao na kompatibilnost.
3.1 OPIS FUNKCIJE
3.1.1. VCI_UsbDeviceReset
Resetujte USB-CAN adapter, potrebno je ponovo otvoriti uređaj nakon resetovanja pomoću VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD rezerviran
Parametri:
DevType
Vrsta uređaja. Pogledajte: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprampda, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa u rastućem redosledu počevši od 0.
Rezervirano Rezervirano.
Povratak:
Povratna vrijednost = 1, što znači da je operacija uspješna; = 0 označava da operacija nije uspjela; = -1 označava da uređaj ne postoji.

WAVESHARE USB CAN sabirnica Interface Adapter Biblioteka funkcija interfejsa - Slika 14

bRel = VCI_UsbDeviceReset(nDeviceType, Nezavisnost, 0);
3.1.2. VCI_FindUsbDevice2
Kada isti računar koristi više USB-CAN-a, korisnik može koristiti ovu funkciju da pronađe trenutni uređaj.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parametri:
pInfo
pInfo se koristi za pohranjivanje parametara prvog pokazivača adrese bafera podataka.
Povratak
Vratite broj USB-CAN adaptera priključenog na računar.

WAVESHARE USB CAN sabirnica Interface Adapter Biblioteka funkcija interfejsa - Slika 15

Četvrti dio Funkcije biblioteke interfejsa koristeći proces
Da bismo umnožili funkciju uređaja, dali smo dodatne funkcije ( funkcije predstavljene zelenom pozadinom), ove funkcije uključuju: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Tokom drugog razvoja, ove funkcije se ne moraju nužno pozivati. Čak i ove funkcije se zanemaruju, sve funkcije USB-CAN adaptera se mogu postići.

WAVESHARE USB CAN sabirnica Interface Adapter Biblioteka funkcija interfejsa - Slika 16

www.waveshare.com
www.waveshare.com/wiki

Dokumenti / Resursi

WAVESHARE USB-CAN Bus Interface Adapter Interface Function Library [pdfUputstvo za upotrebu
USB-CAN Bus Interface Adapter Biblioteka funkcija sučelja, USB-CAN, Bus Interface Adapter Biblioteka funkcija sučelja, Biblioteka funkcija sučelja, Biblioteka funkcija

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *