WAVESHARE logotipUSB-CAN Bus sučelje
Funkcija sučelja adaptera
Upute za korisnike knjižniceWAVESHARE USB CAN Bus Interface Adapter Biblioteka funkcija sučelja

PRVI DIO GOTOVVIEW

Ako korisnik samo koristi adapter sučelja USB-CAN sabirnice za testiranje komunikacije sa CAN sabirnicom, tada može izravno koristiti isporučeni softver USB-CAN alata za slanje i primanje podataka testa.
Ako korisnik namjerava napisati program za vlastite proizvode. Pažljivo pročitajte sljedeće upute i pogledajte sampkod koji nudimo:
⑴ C++Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Razviti knjižnicu file :ControlCAN.lib, ControlCAN.DLL
Deklaracija funkcije VC verzije file :ControlCAN.h
Deklaracija funkcije VB verzije file: ControlCAN.bas
LaboratorijaVIEW verzija biblioteke modula paketa funkcija :ControlCAN.llb
Deklaracija funkcije Delphi verzije file: ControlCAN.pas

DRUGI DIO KOMPATIBILNA BIBLIOTEKA FUNKCIJA I STRUKTURA PODATAKA

2.1. DEFINICIJA VRSTE
2.1.1. Tip uređaja

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

2.1.2. VCI_PLOČA_INFO
Struktura VCI_BOARD_INFO sadrži informacije o uređaju kartice sučelja USB-CAN serije.
Struktura će biti popunjena u funkciji VCI_ReadBoardInfo.

WAVESHARE USB CAN Bus Interface Adapter Biblioteka funkcija sučelja - Slika 1

Član:
hw_Verzija
Broj verzije hardvera, heksadecimalni zapis. Npr. 0x0100 predstavlja V1.00.
fw_Verzija
Broj verzije hardvera, heksadecimalni zapis. Npr. 0x0100 predstavlja V1.00.
stranica 2
dr_Verzija

Broj verzije upravljačkog programa, heksadecimalni zapis. Npr. 0x0100 predstavlja V1.00.
in_Verzija
Broj verzije biblioteke sučelja, heksadecimalni zapis. Npr. 0x0100 predstavlja V1.00.
irq_Num
Sustav rezerviran.
can_Num
Predstavlja ukupan broj CAN kanala.
str_Serijski_broj
Serijski broj ove kartice ploče.
str_hw_Tip
Vrsta hardvera, kao što je “USBCAN V1.00” (Napomena: Uključuje terminator niza '\0').
Rezervirano
Sustav rezerviran.
2.1.3. VCI_CAN_OBJ
U funkcijama VCI_Transmit i VCI_Receive, VCI_CAN_OBJ struktura se koristi za prijenos okvira CAN poruke.

WAVESHARE USB CAN Bus Interface Adapter Biblioteka funkcija sučelja - sl

Član:
ID
Identifikator poruke. Format izravnog ID-a, desno poravnat, pogledajte: Aneks jedan: Pojedinosti o poravnanju ID-a.
VrijemeStamp
Primivši svamp informacije o vremenskom okviru, početak mjerenja vremena kada se CAN kontroler inicijalizira, jedinica je 0 ms.
TimeFlag
U smislu treba li koristiti vrijeme svamp, 1 je efektivni TimeStamp. TimeFlag i TimeStamp imaju smisla samo kada je okvir primljen.
SendType
Vrsta slanja. = 0 označava normalnu vrstu, = 1 označava jednokratno slanje.
RemoteFlag
Bilo da se radi o udaljenoj zastavi. = 1 označava udaljenu oznaku, = 0 označava podatkovnu oznaku.
ExternFlag
Bilo da se radi o vanjskoj zastavi. = 1 označava vanjsku zastavu, = 0 označava standardnu ​​zastavu.
DataLen
Dužina podataka (<=8) , odnosno duljina podataka.
Podaci
Paketni podaci.
Rezervirano
Sustav rezerviran.
2.1.4. VCI_INIT_CONFIG
Struktura VCI_INIT_CONFIG definira konfiguraciju inicijalizacije CAN-a. Struktura će biti popunjena u funkciji VCI_InitCan.

WAVESHARE USB CAN Bus Interface Adapter Biblioteka funkcija sučelja - Slika 2

Član:
AccCode
Primite filtrirani kod prihvaćanja.
AccMask
Primite filter masku.
Rezervirano
Rezervirano.
Filter
Metoda filtriranja, dopuštajući raspon postavki 0-3, pogledajte odjeljak 2.2.3 tablice načina filtriranja za detalje.
Vrijeme0
SJA1000 Parametar brzine prijenosa, Timing0 (BTR0) .
Vrijeme1
SJA1000 Parametar brzine prijenosa, Timing1 (BTR1) .
Način rada
Način rada, 0 = normalan rad, 1 = način rada samo za slušanje, 2 = način spontanog pristupa i slanja testa.
Primjedbe:
O postavkama filtera pogledajte: Dodatak II: Upute za postavljanje CAN parametra.
CAN Timing0 i Timing1 koriste se za postavljanje brzine prijenosa podataka, ova dva parametra koriste se samo pri inicijalizacijitage.
Konvencionalna referentna tablica bauda:

CAN Brzina prijenosa podataka 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 slijediti SJA1000 (16MHz) za postavljanje parametra Baud rate.
  2. Adapter ne podržava privremenu brzinu prijenosa podataka ispod 10K.

2.2. OPIS FUNKCIJE
2.2.1. VCI_OpenDevice
Ova se funkcija koristi za povezivanje uređaja.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD Reserved);
Parametri:
DevType
Tip uređaja. Vidi: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprample, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa rastućim redoslijedom počevši od 0.
Rezervirano
Parametri zadržavanja, ispunite 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 Interface Adapter Biblioteka funkcija sučelja - sl.3

2.2.2. VCI_CloseDevice
Ova se funkcija koristi za zatvaranje veze.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Parametri:
DevType
Tip uređaja. Vidi: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprample, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa rastućim redoslijedom 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 Bus Interface Adapter Biblioteka funkcija sučelja - Slika 4

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

Parametri:
DevType
Tip uređaja. Vidi: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprample, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa rastućim redoslijedom počevši od 0.
CANIndex
Indeks CAN kanala, na primjer 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. Popis parametara članova:

Član Funkcionalni opis
pInitConfig->AccCode AccCode i AccMask mogu raditi zajedno kako bi odredili koji se paketi mogu prihvatiti. Ova dva registra koriste se za postavljanje ID-a poravnatog lijevo, to jest, najviši bit (Bit31) AccCode-a i AccMask-a poravnat je s najvišim bitom ID vrijednosti.
pInitConfig->AccMask O ID usklađivanju pogledajte priloge: Dodatak I:
ID pojedinosti o poravnanju.
Npr. :Ako postavite vrijednost AccCode-a kao 0x24600000 (tj. 0x123 je pomaknut ulijevo za 21 bit), AccMask vrijednost
je postavljen na 0x00000000, a tada se mogu prihvatiti samo paketi s ID okvira CAN poruke 0x123 (vrijednost AccMask od 0x00000000 označava da su svi bitovi relevantni
komadići). Ako je vrijednost AccCode postavljena na 0x24600000, vrijednost AccMask je postavljena na 0x600000 (0x03 je pomaknut ulijevo za 21 bita), a tada se mogu prihvatiti samo paketi s ID okvira CAN poruke 0x120 ~ 0x123 (vrijednost AccMask
0x600000 označava da su osim bit0 ~ bit1 drugi bitovi (bit2 ~ bit10) relevantni bitovi).
Bilješka: Ova postavka filtra nprampna standardni okvir, nprample, visoki 11-bit je važeći bit; u slučaju proširenog okvira i tada je važeći ID 29-bitni. AccCode i AccMask postavljaju visokih 29 bita kao važeći bit!
pInitConfig->Rezervirano Rezervirano
pInitConfig->Filter Postavke načina filtriranja pogledajte odjeljak tablice načina filtriranja.
pInitConfig->Timing0 Postavka brzine prijenosa T0
pInitConfig->Timing1 Postavka brzine prijenosa T1
pInitConfig->Mode Operativni način:
0-normalan rad
1-Način samo za slušanje
2-spontani pristup i testni način slanja (ova vrijednost je isključena iz knjižnice funkcija ZLG)

Tablica načina filtriranja:

Vrijednost Ime Opis
1 Primite sve vrste Prikladno i za standardni i za produženi okvir!
2 Primite samo standardni okvir Pogodan za standardni okvir i prošireni
okvir će biti uklonjen izravno filtracijom!
3 Primajte samo prošireni okvir Prikladno za produženi okvir, a standardni okvir će biti uklonjen
filtracija izravno! .

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 Bus Interface Adapter Biblioteka funkcija sučelja - Slika 4

WAVESHARE USB CAN Bus Interface Adapter Biblioteka funkcija sučelja - Slika 6

2.2.4. VCI_ReadBoardInfo
Ova se funkcija koristi za čitanje informacija o hardveru adaptera. Općenito govoreći, može se zanemariti.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parametri:
DevType
Tip uređaja. Vidi: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprample, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa rastućim redoslijedom počevši od 0. pInfo
VCI_BOARD_INFO se koristi za pohranu 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 Bus Interface Adapter Biblioteka funkcija sučelja - Slika 7

2.2.5. VCI_GetReceiveNum
Ova se funkcija koristi za određivanje primljenih, ali nepročitanih okvira u određenom prijemnom međuspremniku.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametri:
DevType
Tip uređaja. Vidi: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprample, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa rastućim redoslijedom 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 se funkcija koristi za brisanje međuspremnika za prijem i slanje određenog kanala navedenog u
USB-CAN adapter.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametri:
DevType
Tip uređaja. Vidi: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprample, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa rastućim redoslijedom 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 Bus Interface Adapter Biblioteka funkcija sučelja - Slika 8

2.2.7. VCI_StartCAN
Ova se funkcija koristi za pokretanje CAN kontrolera i internu funkciju prijema prekida adaptera.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametri:
DevType
Tip uređaja. Vidi: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprample, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa rastućim redoslijedom 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 Bus Interface Adapter Biblioteka funkcija sučelja - Slika 9

2.2.8. VCI_ResetCAN
Ova se funkcija koristi za resetiranje CAN kontrolera.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametri:
DevType
Tip uređaja. Vidi: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprample, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa rastućim redoslijedom 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 Bus Interface Adapter Biblioteka funkcija sučelja - Slika 10

2.2.9. VCI_prijenos
Ova se funkcija koristi za slanje okvira CAN poruke.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Parametri:
DevType
Tip uređaja. Vidi: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprample, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa rastućim redoslijedom počevši od 0.
CANIndex
Indeks CAN kanala. pPošalji
Prva adresa nizova okvira podataka koji se moraju poslati.
Duljina
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 označava pogrešku uređaja.
Npr
WAVESHARE USB CAN Bus Interface Adapter Biblioteka funkcija sučelja - Slika 11

WAVESHARE USB CAN Bus Interface Adapter Biblioteka funkcija sučelja - Slika 12

2.2.10. VCI_Primanje
Ova se funkcija 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
Tip uređaja. Vidi: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprample, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa rastućim redoslijedom počevši od 0.
CANIndex
Indeks CAN kanala.
pPrimiti
Za primanje prvog postavljenog pokazivača podatkovnih okvira.
Len
Duljina niza podatkovnog okvira mora biti veća od 2500 da bi se vratila normalna poruka.
Inače će duljina povrata biti nula bez obzira je li poruka primljena ili ne. adapter je postavio međuspremnik od 2000 okvira za svaki kanal. Na temelju vlastitog sustava i radnog okruženja, korisnik može odabrati odgovarajuću duljinu niza od 2500.
Vrijeme čekanja rezervirano.
Povratak:
Vrati broj okvira koji su stvarno pročitani, -1 označava pogreške uređaja.
Npr
WAVESHARE USB CAN Bus Interface Adapter Biblioteka funkcija sučelja - Slika 13

TREĆI DIO DRUGE FUNKCIJE I STRUKTURA PODATAKA OPIS

Ovo poglavlje opisuje druge tipove podataka i funkcije nekompatibilne biblioteke sučelja ZLG sadržane u biblioteci sučelja USB-CAN adaptera ControlCAN.dll. Molim te učini
nemojte pozivati ​​ove funkcije ako koristite kompatibilni ZLG model za sekundarni razvoj kako ne biste utjecali na kompatibilnost.
3.1 OPIS FUNKCIJE
3.1.1. VCI_UsbDeviceReset
Resetirajte USB-CAN adapter, potrebno je ponovno otvoriti uređaj nakon resetiranja pomoću VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD Reserved
Parametri:
DevType
Tip uređaja. Vidi: Definicija tipa adapterskog uređaja.
DevIndex
Indeks uređaja, nprample, kada postoji samo jedan USB-CAN adapter, broj indeksa je 0, kada postoji više USB-CAN adaptera, brojevi indeksa rastućim redoslijedom 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 Bus Interface Adapter Biblioteka funkcija sučelja - Slika 14

bRel = VCI_UsbDeviceReset(nDeviceType, Independence, 0);
3.1.2. VCI_FindUsbDevice2
Kada isto računalo koristi više USB-CAN-a, korisnik može koristiti ovu funkciju za pronalaženje trenutnog uređaja.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parametri:
pInfo
pInfo se koristi za pohranjivanje parametara prvog pokazivača adrese međuspremnika podataka.
Povratak
Vratite broj USB-CAN adaptera priključenog na računalo.

WAVESHARE USB CAN Bus Interface Adapter Biblioteka funkcija sučelja - Slika 15

Četvrti dio Funkcije biblioteke sučelja koje koriste proces
Kako bismo umnožili funkcije uređaja, osigurali smo dodatne funkcije (funkcije predstavljene zelenom pozadinom), te funkcije uključuju: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Tijekom drugog razvoja, ove funkcije se ne moraju nužno pozivati. Čak i ako se te funkcije zanemare, mogu se postići sve funkcije USB-CAN adaptera.

WAVESHARE USB CAN Bus Interface Adapter Biblioteka funkcija sučelja - Slika 16

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

Dokumenti / Resursi

WAVESHARE USB-CAN Bus Interface Adapter Biblioteka funkcija sučelja [pdf] Upute za uporabu
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 *