Logotip WAVESHAREUSB-CAN Bus vmesnik
Funkcija vmesnika adapterja
Navodila za uporabo knjižniceWAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij

PRVI DEL KONECVIEW

Če uporabnik samo uporabi adapter vmesnika vodila USB-CAN za preizkus komunikacije vodila CAN, potem lahko neposredno uporabi priloženo programsko opremo USB-CAN Tool za pošiljanje in prejemanje podatkov testa.
Če namerava uporabnik sam napisati programsko opremo za svoje izdelke. Pazljivo preberite naslednja navodila in se sklicujte na sampkoda, ki jo nudimo:
⑴ C++Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Razvijte knjižnico file :ControlCAN.lib, ControlCAN.DLL
Deklaracija funkcije različice VC file :ControlCAN.h
Deklaracija funkcije različice VB file: ControlCAN.bas
LabVIEW modul funkcijskega paketa knjižnice različic :ControlCAN.llb
Deklaracija funkcije različice Delphi file: ControlCAN.pas

DRUGI DEL ZDRUŽLJIVA KNJIŽNICA FUNKCIJ IN STRUKTURA PODATKOV

2.1. OPREDELITEV VRSTE
2.1.1. Vrsta naprave

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

2.1.2. VCI_BOARD_INFO
Struktura VCI_BOARD_INFO vsebuje informacije o napravi vmesniške kartice serije USB-CAN.
Struktura bo zapolnjena v funkciji VCI_ReadBoardInfo.

WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – slika 1

Član:
hw_Version
Številka različice strojne opreme, šestnajstiški zapis. Npr. 0x0100 predstavlja V1.00.
fw_Version
Številka različice strojne opreme, šestnajstiški zapis. Npr. 0x0100 predstavlja V1.00.
stran 2
dr_Version

Številka različice gonilnika, šestnajstiški zapis. Npr. 0x0100 predstavlja V1.00.
in_Version
Številka različice knjižnice vmesnika, šestnajstiški zapis. Npr. 0x0100 predstavlja V1.00.
irq_Num
Sistem rezerviran.
can_Num
Predstavlja skupno število kanalov CAN.
str_Serial_Num
Serijska številka te kartice.
str_hw_Type
Vrsta strojne opreme, kot je »USBCAN V1.00« (Opomba: vključuje zaključek niza '\0').
Rezervirano
Sistem rezerviran.
2.1.3. VCI_CAN_OBJ
V funkcijah VCI_Transmit in VCI_Receive se struktura VCI_CAN_OBJ uporablja za prenos okvirja sporočila CAN.

WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij - sl

Član:
ID
Identifikator sporočila. Oblika neposrednega ID-ja, desno poravnana, glejte: Priloga ena: podrobnosti o poravnavi ID-ja.
ČasStamp
Prejem svamp informacije o časovnem okviru, začetek merjenja časa, ko je krmilnik CAN inicializiran, enota je 0 ms.
TimeFlag
V smislu, ali uporabiti čas svamp, 1 je efektivni TimeStamp. TimeFlag in TimeStamp so smiselni le, ko je okvir prejet.
SendType
Vrsta pošiljanja. = 0 označuje običajno vrsto, = 1 označuje enojno pošiljanje.
RemoteFlag
Ali je oddaljena zastava. = 1 označuje oddaljeno zastavico, = 0 označuje podatkovno zastavico.
ExternFlag
Ali gre za zunanjo zastavo. = 1 označuje zunanjo zastavo, = 0 označuje standardno zastavo.
DataLen
Dolžina podatkov (<=8) , to je dolžina podatkov.
podatki
Paketni podatki.
Rezervirano
Sistem rezerviran.
2.1.4. VCI_INIT_CONFIG
Struktura VCI_INIT_CONFIG definira inicializacijsko konfiguracijo CAN. Struktura bo zapolnjena v funkciji VCI_InitCan.

WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – slika 2

Član:
AccCode
Prejemanje filtrirane sprejemne kode.
AccMask
Prejmite filtrirno masko.
Rezervirano
Rezervirano.
Filter
Metoda filtriranja, ki omogoča nastavitveno območje 0-3, za podrobnosti glejte razdelek 2.2.3 tabele načinov filtra.
Časovna razporeditev0
SJA1000 Parameter hitrosti prenosa, Timing0 (BTR0) .
Časovna razporeditev1
SJA1000 Parameter hitrosti prenosa, Timing1 (BTR1) .
Način
Način delovanja, 0 = normalno delovanje, 1 = način samo poslušanja, 2 = način spontanega sprejema in pošiljanja.
Opombe:
O nastavitvah filtra glejte: Priloga II: Navodila za nastavitev parametrov CAN.
CAN Timing0 in Timing1 se uporabljata za nastavitev hitrosti prenosa, ta dva parametra se uporabljata samo pri inicializacijitage.
Referenčna tabela običajnih baudov:

Hitrost prenosa CAN Čas 0 (BTR0) Čas 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. Uporabniki morajo le slediti SJA1000 (16MHz), da nastavijo parameter hitrosti prenosa.
  2. Adapter začasno ne podpira hitrosti prenosa pod 10K.

2.2. OPIS FUNKCIJE
2.2.1. VCI_OpenDevice
Ta funkcija se uporablja za povezovanje naprav.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD Reserved);
Parametri:
DevType
Vrsta naprave. Glejte: Definicija vrste adapterske naprave.
DevIndex
Indeks naprav, nprample, ko obstaja samo en adapter USB-CAN, je številka indeksa 0, ko je adapterjev USB-CAN več, so številke indeksa v naraščajočem vrstnem redu od 0.
Rezervirano
Parametri hrambe, izpolnite 0.
Vrne:
Povratna vrednost = 1, kar pomeni, da je operacija uspešna; = 0 pomeni, da operacija ni uspela; = -1 pomeni, da naprava ne obstaja.

WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – sl.3

2.2.2. VCI_CloseDevice
Ta funkcija se uporablja za prekinitev povezave.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Parametri:
DevType
Vrsta naprave. Glejte: Definicija vrste adapterske naprave.
DevIndex
Indeks naprav, nprample, ko obstaja samo en adapter USB-CAN, je številka indeksa 0, ko je adapterjev USB-CAN več, so številke indeksa v naraščajočem vrstnem redu od 0.
Vrne:
Povratna vrednost = 1, kar pomeni, da je operacija uspešna; = 0 pomeni, da operacija ni uspela; = -1 pomeni, da naprava ne obstaja.

WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – slika 4

2.2.3. VCI_InitCan
Ta funkcija se uporablja za inicializacijo navedenega CAN-a.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);

Parametri:
DevType
Vrsta naprave. Glejte: Definicija vrste adapterske naprave.
DevIndex
Indeks naprav, nprample, ko obstaja samo en adapter USB-CAN, je številka indeksa 0, ko je adapterjev USB-CAN več, so številke indeksa v naraščajočem vrstnem redu od 0.
CANIndex
Indeks kanala CAN, na primer, ko obstaja samo en kanal CAN, je številka indeksa 0, če sta dva, je lahko številka indeksa 0 ali 1.
pInitConfig
Struktura inicializacijskih parametrov. Seznam parametrov članov:

član Funkcionalni opis
pInitConfig->AccCode AccCode in AccMask lahko sodelujeta pri določanju, kateri paketi so lahko sprejeti. Ta dva registra se uporabljata za nastavitev ID-ja v levo poravnavo, kar pomeni, da je najvišji bit (Bit31) AccCode in AccMask poravnan z najvišjim bitom vrednosti ID-ja.
pInitConfig->AccMask O uskladitvi ID-jev glejte priloge: Priloga I:
podrobnosti o poravnavi ID-ja.
Npr.: če nastavite vrednost AccCode kot 0x24600000 (tj. 0x123 je premaknjeno v levo za 21 bitov), ​​vrednost AccMask
je nastavljen na 0x00000000, nato pa so lahko sprejeti samo paketi z ID-jem okvira sporočila CAN 0x123 (vrednost AccMask 0x00000000 pomeni, da so vsi biti ustrezni
bitov). Če je vrednost AccCode nastavljena na 0x24600000, je vrednost AccMask nastavljena na 0x600000 (0x03 je premaknjena v levo za 21 bitov), ​​nato pa so lahko sprejeti samo paketi z ID okvirja sporočila CAN 0x120 ~ 0x123 (vrednost AccMask
0x600000 označuje, da so poleg bit0 ~ bit1 drugi biti (bit2 ~ bit10) relevantni bit).
Opomba: Ta nastavitev filtra nprampna standardni okvir, nprample, visok 11-bit je veljaven bit; v primeru razširjenega okvira in takrat je veljaven ID 29-bitni. AccCode in AccMask nastavita visok 29-bit kot veljaven bit!
pInitConfig->Rezervirano rezerviran
pInitConfig->Filter Nastavitve načina filtriranja si oglejte razdelek v tabeli načinov filtriranja.
pInitConfig->Timing0 Nastavitev hitrosti prenosa T0
pInitConfig->Timing1 Nastavitev hitrosti prenosa T1
pInitConfig->Način Način delovanja:
0-normalno delovanje
1-Način samo za poslušanje
2-spontani sprejem in preizkusni način pošiljanja (ta vrednost je izključena iz knjižnice funkcij ZLG)

Tabela načinov filtra:

Vrednost Ime Opis
1 Sprejmite vse vrste Primerno tako za standardni kot za podaljšani okvir!
2 Prejmite samo standardni okvir Primeren za standardni okvir in razširjen
okvir bo odstranjen neposredno s filtracijo!
3 Prejmite samo razširjen okvir Primerno za podaljšan okvir, standardni okvir pa bo odstranjen
neposredno filtriranje! .

Vrne:
Povratna vrednost = 1, kar pomeni, da je operacija uspešna; = 0 pomeni, da operacija ni uspela; = -1 pomeni, da naprava ne obstaja.
Npr

WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – slika 4

WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – slika 6

2.2.4. VCI_ReadBoardInfo
Ta funkcija se uporablja za branje informacij o strojni opremi adapterja. Na splošno ga je mogoče prezreti.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parametri:
DevType
Vrsta naprave. Glejte: Definicija vrste adapterske naprave.
DevIndex
Indeks naprav, nprample, če obstaja samo en adapter USB-CAN, je številka indeksa 0, ko je adapterjev USB-CAN več, so številke indeksa v naraščajočem vrstnem redu, začenši z 0. pInfo
VCI_BOARD_INFO se uporablja za shranjevanje kazalca strukture informacij o napravi.
Vrne:
Povratna vrednost = 1, kar pomeni, da je operacija uspešna; = 0 pomeni, da operacija ni uspela; = -1 pomeni, da naprava ne obstaja.

WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – slika 7

2.2.5. VCI_GetReceiveNum
Ta funkcija se uporablja za določanje prejetih, vendar še neprebranih okvirjev v določenem sprejemnem medpomnilniku.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametri:
DevType
Vrsta naprave. Glejte: Definicija vrste adapterske naprave.
DevIndex
Indeks naprav, nprample, če obstaja samo en adapter USB-CAN, je številka indeksa 0, ko je adapterjev USB-CAN več, so številke indeksa v naraščajočem vrstnem redu, začenši z 0.
CANIndex
Indeks kanala CAN.
Vrne:
Vrni okvirje, ki še niso bili prebrani.
Npr
#include “ControlCan.h” int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
Ta funkcija se uporablja za brisanje medpomnilnika za sprejem in pošiljanje določenega kanala, ki ga določa
USB-CAN adapter.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametri:
DevType
Vrsta naprave. Glejte: Definicija vrste adapterske naprave.
DevIndex
Indeks naprav, nprample, če obstaja samo en adapter USB-CAN, je številka indeksa 0, ko je adapterjev USB-CAN več, so številke indeksa v naraščajočem vrstnem redu, začenši z 0.
CANIndex
Indeks kanala CAN.
Vrne:
Povratna vrednost = 1, kar pomeni, da je operacija uspešna; = 0 pomeni, da operacija ni uspela; = -1 pomeni, da naprava ne obstaja.

WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – slika 8

2.2.7. VCI_StartCAN
Ta funkcija se uporablja za zagon krmilnika CAN in notranje funkcije sprejema prekinitev adapterja.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametri:
DevType
Vrsta naprave. Glejte: Definicija vrste adapterske naprave.
DevIndex
Indeks naprav, nprample, ko obstaja samo en adapter USB-CAN, je številka indeksa 0, ko je adapterjev USB-CAN več, so številke indeksa v naraščajočem vrstnem redu od 0.
CANIndex
Indeks kanala CAN.
Vrne:
Povratna vrednost = 1, kar pomeni, da je operacija uspešna; = 0 pomeni, da operacija ni uspela; = -1 pomeni, da naprava ne obstaja.

WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – slika 9

2.2.8. VCI_ResetCAN
Ta funkcija se uporablja za ponastavitev krmilnika CAN.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametri:
DevType
Vrsta naprave. Glejte: Definicija vrste adapterske naprave.
DevIndex
Indeks naprav, nprample, ko obstaja samo en adapter USB-CAN, je številka indeksa 0, ko je adapterjev USB-CAN več, so številke indeksa v naraščajočem vrstnem redu od 0.
CANIndex
Indeks kanala CAN.
Vrne:
Povratna vrednost = 1, kar pomeni, da je operacija uspešna; = 0 pomeni, da operacija ni uspela; = -1 pomeni, da naprava ne obstaja.

WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – slika 10

2.2.9. VCI_Prenos
Ta funkcija se uporablja za pošiljanje okvirja sporočila CAN.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Parametri:
DevType
Vrsta naprave. Glejte: Definicija vrste adapterske naprave.
DevIndex
Indeks naprav, nprample, ko obstaja samo en adapter USB-CAN, je številka indeksa 0, ko je adapterjev USB-CAN več, so številke indeksa v naraščajočem vrstnem redu od 0.
CANIndex
Indeks kanala CAN. pPošlji
Prvi naslov nizov podatkovnih okvirov, ki jih je treba poslati.
Dolžina
Število podatkovnih okvirov, ki jih je treba poslati, največje število je 1000, priporočena vrednost je 48 pri visoki hitrosti.
Vrne:
Vrne dejansko število že poslanih okvirjev, vrnjena vrednost = -1 označuje napako naprave.
Npr
WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – slika 11

WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – slika 12

2.2.10. VCI_Receive
Ta funkcija se uporablja za zahtevo po sprejemu.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Parametri:
DevType
Vrsta naprave. Glejte: Definicija vrste adapterske naprave.
DevIndex
Indeks naprav, nprample, ko obstaja samo en adapter USB-CAN, je številka indeksa 0, ko je adapterjev USB-CAN več, so številke indeksa v naraščajočem vrstnem redu od 0.
CANIndex
Indeks kanala CAN.
pReceive
Za sprejem prvega nastavljenega kazalca podatkovnih okvirov.
Len
Dolžina niza podatkovnega okvira mora biti večja od 2500, da vrne normalno sporočilo.
V nasprotnem primeru bo vrnjena dolžina enaka nič, ne glede na to, ali je sporočilo prejeto ali ne. adapter nastavi medpomnilnik za 2000 sličic za vsak kanal. Uporabnik lahko glede na lastni sistem in delovno okolje izbere primerno dolžino polja med 2500.
Čakalni čas rezerviran.
Vrne:
Vrne število okvirjev, ki so bili dejansko prebrani, -1 označuje napake naprave.
Npr
WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – slika 13

TRETJI DEL DRUGE FUNKCIJE IN OPIS STRUKTURE PODATKOV

V tem poglavju so opisani drugi tipi podatkov in funkcije nezdružljive knjižnice vmesnika ZLG, ki je v knjižnici vmesnika vmesnika USB-CAN ControlCAN.dll. Prosim storite
ne kličite teh funkcij, če uporabljate združljiv model ZLG za sekundarni razvoj, da ne vplivate na združljivost.
3.1 OPIS FUNKCIJE
3.1.1. VCI_UsbDeviceReset
Ponastavite adapter USB-CAN, po ponastavitvi morate znova odpreti napravo z uporabo VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD Reserved
Parametri:
DevType
Vrsta naprave. Glejte: Definicija vrste adapterske naprave.
DevIndex
Indeks naprav, nprample, ko obstaja samo en adapter USB-CAN, je številka indeksa 0, ko je adapterjev USB-CAN več, so številke indeksa v naraščajočem vrstnem redu od 0.
Rezervirano Rezervirano.
Vrne:
Povratna vrednost = 1, kar pomeni, da je operacija uspešna; = 0 pomeni, da operacija ni uspela; = -1 pomeni, da naprava ne obstaja.

WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – slika 14

bRel = VCI_UsbDeviceReset(nDeviceType, Independence, 0);
3.1.2. VCI_FindUsbDevice2
Ko isti računalnik uporablja več USB-CAN, lahko uporabnik uporabi to funkcijo za iskanje trenutne naprave.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parametri:
pInfo
pInfo se uporablja za shranjevanje parametrov prvega kazalca naslova medpomnilnika podatkov.
Vračila
Vrnite številko adapterja USB-CAN, priključenega na računalnik.

WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – slika 15

Četrti del Funkcije knjižnice vmesnikov, ki uporabljajo proces
Da bi pomnožili funkcije naprave, smo zagotovili dodatne funkcije (funkcije, predstavljene z zelenim ozadjem), te funkcije vključujejo: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Med drugim razvojem teh funkcij ni nujno treba priklicati. Tudi če so te funkcije prezrte, je mogoče doseči vse funkcije adapterja USB-CAN.

WAVESHARE USB CAN Bus Interface Adapter Interface Knjižnica funkcij – slika 16

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

Dokumenti / Viri

WAVESHARE USB-CAN Bus Interface Adapter Interface Knjižnica funkcij [pdf] Navodila za uporabo
USB-CAN Bus Interface Adapter Knjižnica funkcij vmesnika, USB-CAN, Bus Interface Adapter Knjižnica funkcij vmesnika, Knjižnica funkcij vmesnika, Knjižnica funkcij

Reference

Pustite komentar

Vaš elektronski naslov ne bo objavljen. Obvezna polja so označena *