Antarmuka Bus USB-BISA
Fungsi Antarmuka Adaptor
Instruksi Panganggo Pustaka
PART ONE SAMPITVIEW
Yen pangguna mung nggunakake adaptor antarmuka bis USB-BISA kanggo pindhah ing test komunikasi bis CAN, lan banjur bisa langsung nggunakake piranti lunak USB-CAN Tool kasedhiya kanggo ngirim lan nampa data saka test.
Yen pangguna arep nulis program piranti lunak kanggo produke dhewe. Mangga kasebut kanthi teliti maca pandhuan ing ngisor iki lan njupuk referensi saka sampkode sing kita nyedhiyani:
⑴ C++ Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Ngembangake perpustakaan file :ControlCAN.lib, ControlCAN.DLL
Deklarasi fungsi versi VC file : KontrolCAN.h
Deklarasi fungsi versi VB file: ControlCAN.bas
LabVIEW modul paket fungsi perpustakaan versi:ControlCAN.llb
Deklarasi fungsi versi Delphi file: ControlCAN.pas
PART TWO FUNGSI COMPATIBLE LIBRARY lan STRUKTUR DATA
2.1. DEFINISI JENIS
2.1.1. Jinis piranti
Definisi Tipe | Nilai jinis | Katrangan |
DEV_USBCAN2 | 4 | USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-BISA |
2.1.2. VCI_BOARD_INFO
Struktur VCI_BOARD_INFO ngemot informasi piranti kertu antarmuka USB-CAN Series.
Struktur kasebut bakal diisi ing fungsi VCI_ReadBoardInfo.
Anggota:
hw_Versi
Nomer versi hardware, notasi heksadesimal. Contone 0x0100 makili V1.00.
fw_Versi
Nomer versi hardware, notasi heksadesimal. Contone 0x0100 makili V1.00.
Kaca 2
dr_Versi
Nomer versi driver, notasi heksadesimal. Contone 0x0100 makili V1.00.
ing_Versi
Nomer versi perpustakaan antarmuka, notasi heksadesimal. Contone 0x0100 makili V1.00.
irq_Num
Sistem dilindhungi undhang-undhang.
bisa_Num
Nggantosi jumlah total saluran CAN.
str_Serial_Num
Nomer seri kertu Papan iki.
str_hw_Type
Jinis hardware, kayata "USBCAN V1.00" (Cathetan: Kalebu terminator string '\0').
dilindhungi
Sistem dilindhungi undhang-undhang.
2.1.3. VCI_CAN_OBJ
Ing fungsi VCI_Transmit lan VCI_Receive, struktur VCI_CAN_OBJ digunakake kanggo ngirim pigura pesen CAN.
Anggota:
ID
Pengenal pesen. Format ID langsung, sejajar tengen, deleng: Lampiran Siji: Rincian Penyelarasan ID.
WektuStamp
Nampa stamp informasi pigura wektu, miwiti wektu nalika CAN controller initialized, unit punika 0. 1ms.
TimeFlag
Ing istilah apa nggunakake wektu Stamp, 1 iku TimeSt efektifamp. TimeFlag lan TimeStamp mung migunani nalika pigura ditampa.
SendType
Jinis ngirim. = 0 nuduhake jinis Normal, = 1 nuduhake Single Kirim.
RemoteFlag
Apa iku gendéra remot. = 1 nuduhake gendera remot, = 0 nuduhake gendera data.
ExternFlag
Apa iku gendera njaba. = 1 nuduhake gendera njaba, = 0 nuduhake gendera standar.
DataLen
Dawane data (<=8) , yaiku dawane data.
data
Paket data.
dilindhungi
Sistem dilindhungi undhang-undhang.
2.1.4. VCI_INIT_CONFIG
Struktur VCI_INIT_CONFIG nemtokake konfigurasi initialization saka CAN. Struktur kasebut bakal diisi ing fungsi VCI_InitCan.
Anggota:
AccCode
Nampa kode acceptance disaring.
AccMask
Nampa topeng Filter.
dilindhungi
dilindhungi.
Nyaring
Cara nyaring, ngidini sawetara setelan 0-3, deleng bagean 2.2.3 saka tabel mode Filter kanggo rincian.
Wektu 0
SJA1000 Baud rate parameter, Timing0 (BTR0) .
Wektu 1
SJA1000 Baud rate parameter, Timing1 (BTR1) .
Mode
Mode operasi, 0 = operasi normal, 1 = Mode mung ngrungokake, 2 = diakoni spontan lan mode test ngirim.
Cathetan:
Babagan setelan panyaring waca: Lampiran II: instruksi persiyapan CANparameter.
CAN Timing0 lan Timing1 digunakake kanggo nyetel baud rate, loro paramèter iki mung digunakake ing initialization s.tage.
Tabel referensi Baud konvensional:
CAN Baud rate | Wektu 0 (BTR0) | Wektu 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 |
- Pangguna mung kudu tindakake SJA1000 (16MHz) kanggo nyetel parameter Baud rate.
- Adaptor ora ndhukung sementara Baud rate ngisor 10K.
2.2. DESKRIPSI FUNGSI
2.2.1. VCI_OpenDevice
Fungsi iki digunakake kanggo nyambungake piranti.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD Reserved);
Parameter:
DevType
Jinis piranti. Waca: Définisi jinis piranti adaptor.
DevIndex
Indeks piranti, contoneample, nalika mung ana siji adaptor USB-CAN, nomer indeks 0, nalika ana sawetara adaptor USB-CAN, nomer indeks ing urutan munggah saka 0.
dilindhungi
Parameter retensi, isi 0.
bali:
Nilai bali = 1, tegese operasi kasebut sukses; = 0 nuduhake yen operasi gagal; = -1 nuduhake yen piranti ora ana.
2.2.2. VCI_CloseDevice
Fungsi iki digunakake kanggo nutup sambungan.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Parameter:
DevType
Jinis piranti. Waca: Définisi jinis piranti adaptor.
DevIndex
Indeks piranti, contoneample, nalika mung ana siji adaptor USB-CAN, nomer indeks 0, nalika ana sawetara adaptor USB-CAN, nomer indeks ing urutan munggah saka 0.
bali:
Nilai bali = 1, tegese operasi kasebut sukses; = 0 nuduhake yen operasi gagal; = -1 nuduhake yen piranti ora ana.
2.2.3. VCI_InitCan
Fungsi iki digunakake kanggo miwiti CAN sing ditemtokake.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);
Parameter:
DevType
Jinis piranti. Waca: Définisi jinis piranti adaptor.
DevIndex
Indeks piranti, contoneample, nalika mung ana siji adaptor USB-CAN, nomer indeks 0, nalika ana sawetara adaptor USB-CAN, nomer indeks ing urutan munggah saka 0.
CANIndeks
Indeks saluran CAN, kayata nalika mung ana saluran CAN, nomer indeks 0, yen ana loro, nomer indeks bisa 0 utawa 1.
pInitConfig
Struktur parameter inisialisasi. Daftar parameter anggota:
Anggota | Deskripsi Fungsional |
pInitConfig->AccCode | AccCode lan AccMask bisa kerja bareng kanggo nemtokake paket sing bisa ditampa. Register loro iki digunakake kanggo nyetel ID sejajar kiwa, yaiku, bit paling dhuwur (Bit31) saka AccCode lan AccMask didadekake siji karo bit paling dhuwur saka nilai ID. |
pInitConfig->AccMask | Babagan keselarasan ID deleng lampiran: Lampiran I: rincian ID alignment. Contone: Yen sampeyan nyetel nilai AccCode minangka 0x24600000 (yaiku 0x123 dipindhah menyang kiwa kanthi 21 bit), nilai AccMask disetel dadi 0x00000000, banjur mung paket sing nganggo ID pigura pesen CAN yaiku 0x123 sing bisa ditampa (Nilai AccMask 0x00000000 nuduhake yen kabeh bit cocog. |
bit). Yen nilai AccCode disetel dadi 0x24600000, nilai AccMask disetel dadi 0x600000 (0x03 dipindhah menyang kiwa kanthi 21 bit), banjur mung paket sing nganggo ID pigura pesen CAN yaiku 0x120 ~ 0x123 sing bisa ditampa (nilai AccMask. 0x600000 nuduhake yen saliyane bit0 ~ bit1 bit liyane (bit2 ~ bit10) ana bit sing relevan). Cathetan: Setelan filter iki examples kanggo pigura standar, kanggo Example, dhuwur 11-dicokot punika dicokot bener; ing cilik saka pigura lengkap, lan banjur ID bener 29-dicokot. AccCode lan AccMask nyetel dhuwur 29-bit minangka bit bener! | |
pInitConfig-> dilindhungi undhang-undhang | dilindhungi undhang-undhang |
pInitConfig-> Filter | Setelan mode nyaring mangga deleng bagean saka tabel mode nyaring. |
pInitConfig-> Wektu 0 | Setelan baud rateT0 |
pInitConfig-> Wektu 1 | Setelan baud rateT1 |
pInitConfig->Mode | Mode operasi: 0-operasi normal 1-Mode mung ngrungokake 2-diakoni spontan lan mode test ngirim (nilai iki tilar saka perpustakaan fungsi ZLG) |
Tabel mode Filter:
Nilai | jeneng | Katrangan |
1 | Nampa kabeh jinis | Cocog kanggo pigura standar lan lengkap! |
2 | Mung nampa pigura standar | Cocog kanggo pigura standar, lan ditambahi |
pigura bakal dibusak dening filtrasi langsung! | ||
3 | Mung nampa pigura lengkap | Cocog kanggo pigura lengkap, lan pigura standar bakal dibusak dening filtrasi langsung! . |
bali:
Nilai bali = 1, tegese operasi kasebut sukses; = 0 nuduhake yen operasi gagal; = -1 nuduhake yen piranti ora ana.
Contone
2.2.4. VCI_ReadBoardInfo
Fungsi iki digunakake kanggo maca informasi hardware adaptor. Umumé, bisa diabaikan.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parameter:
DevType
Jinis piranti. Waca: Définisi jinis piranti adaptor.
DevIndex
Indeks piranti, contoneample, nalika mung ana siji USB-CAN adaptor, indeks nomer 0, nalika ana sawetara USB- CAN adaptor, indeks nomer ing urutan munggah saka 0. pInfo
VCI_BOARD_INFO digunakake kanggo nyimpen pitunjuk struktur informasi piranti.
bali:
Nilai bali = 1, tegese operasi kasebut sukses; = 0 nuduhake yen operasi gagal; = -1 nuduhake yen piranti ora ana.
2.2.5. VCI_GetReceiveNum
Fungsi iki digunakake kanggo nemtokake pigura sing ditampa nanging durung diwaca ing buffer panampa sing wis ditemtokake.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Jinis piranti. Waca: Définisi jinis piranti adaptor.
DevIndex
Indeks piranti, contoneampYen mung ana siji adaptor USB-CAN, nomer indeks 0, nalika ana sawetara adaptor USB-CAN, nomer indeks kanthi urutan munggah saka 0.
CANIndeks
indeks saluran CAN.
bali:
Wangsulake pigura sing durung diwaca.
Contone
#include "ControlCan.h" int ret = VCI_GetReceiveNum (2,0,0);
2.2.6. VCI_ClearBuffer
Fungsi iki digunakake kanggo mbusak buffer nampa lan ngirim saluran ditetepake dening
USB-CAN adaptor.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Jinis piranti. Waca: Définisi jinis piranti adaptor.
DevIndex
Indeks piranti, contoneampYen mung ana siji adaptor USB-CAN, nomer indeks 0, nalika ana sawetara adaptor USB-CAN, nomer indeks kanthi urutan munggah saka 0.
CANIndeks
indeks saluran CAN.
bali:
Nilai bali = 1, tegese operasi kasebut sukses; = 0 nuduhake yen operasi gagal; = -1 nuduhake yen piranti ora ana.
2.2.7. VCI_StartCAN
Fungsi iki digunakake kanggo miwiti pengontrol CAN lan fungsi resepsi interupsi internal adaptor.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Jinis piranti. Waca: Définisi jinis piranti adaptor.
DevIndex
Indeks piranti, contoneample, nalika mung ana siji adaptor USB-CAN, nomer indeks 0, nalika ana sawetara adaptor USB-CAN, nomer indeks ing urutan munggah saka 0.
CANIndeks
indeks saluran CAN.
bali:
Nilai bali = 1, tegese operasi kasebut sukses; = 0 nuduhake yen operasi gagal; = -1 nuduhake yen piranti ora ana.
2.2.8. VCI_ResetCAN
Fungsi iki digunakake kanggo ngreset pengontrol CAN.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parameter:
DevType
Jinis piranti. Waca: Définisi jinis piranti adaptor.
DevIndex
Indeks piranti, contoneample, nalika mung ana siji adaptor USB-CAN, nomer indeks 0, nalika ana sawetara adaptor USB-CAN, nomer indeks ing urutan munggah saka 0.
CANIndeks
indeks saluran CAN.
bali:
Nilai bali = 1, tegese operasi kasebut sukses; = 0 nuduhake yen operasi gagal; = -1 nuduhake yen piranti ora ana.
2.2.9. VCI_Transmit
Fungsi iki digunakake kanggo ngirim pigura pesen CAN.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Parameter:
DevType
Jinis piranti. Waca: Définisi jinis piranti adaptor.
DevIndex
Indeks piranti, contoneample, nalika mung ana siji adaptor USB-CAN, nomer indeks 0, nalika ana sawetara adaptor USB-CAN, nomer indeks ing urutan munggah saka 0.
CANIndeks
indeks saluran CAN. pKirim
Alamat pisanan saka susunan pigura data sing kudu dikirim.
dawa
Jumlah pigura data sing kudu dikirim, jumlah maksimum 1000, nilai dianjurake 48 ing kacepetan dhuwur.
bali:
Mbalikake jumlah pigura sing wis dikirim, nilai bali = -1 nuduhake kesalahan piranti.
Contone
2.2.10. VCI_Nampa
Fungsi iki digunakake kanggo njaluk resepsi.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Parameter:
DevType
Jinis piranti. Waca: Définisi jinis piranti adaptor.
DevIndex
Indeks piranti, contoneample, nalika mung ana siji adaptor USB-CAN, nomer indeks 0, nalika ana sawetara adaptor USB-CAN, nomer indeks ing urutan munggah saka 0.
CANIndeks
indeks saluran CAN.
pratampa
Kanggo nampa pitunjuk pesawat pisanan saka pigura data.
Len
Dawane pigura data kudu luwih saka 2500 kanggo ngasilake pesen normal.
Yen ora, dawa bali bakal nul apa pesen ditampa utawa ora. adaptor nyetel buffer 2000-pigura kanggo saben saluran. Adhedhasar sistem lan lingkungan kerjane dhewe, pangguna bisa milih dawa array sing cocog saka 2500.
WaitTime Reserved.
bali:
Bali nomer pigura sing bener wis diwaca, -1 nuduhake kesalahan piranti.
Contone
PART TIGA FUNGSI LAIN LAN STRUKTUR DATA DESKRIPSI
Bab iki njlèntrèhaké jinis data liyane lan fungsi perpustakaan antarmuka ZLG kompatibel sing ana ing USB-BISA adaptor antarmuka perpustakaan ControlCAN.dll. Mangga nindakake
ora nelpon fungsi iki yen nggunakake model ZLG kompatibel kanggo pembangunan secondary supaya ora mengaruhi kompatibilitas.
3.1 DESKRIPSI FUNGSI
3.1.1. VCI_UsbDeviceReset
Reset adaptor USB-CAN, kudu mbukak maneh piranti sawise ngreset kanthi nggunakake VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD Reserved
Parameter:
DevType
Jinis piranti. Waca: Définisi jinis piranti adaptor.
DevIndex
Indeks piranti, contoneample, nalika mung ana siji adaptor USB-CAN, nomer indeks 0, nalika ana sawetara adaptor USB-CAN, nomer indeks ing urutan munggah saka 0.
Reserved Reserved.
bali:
Nilai bali = 1, tegese operasi kasebut sukses; = 0 nuduhake yen operasi gagal; = -1 nuduhake yen piranti ora ana.
bRel = VCI_UsbDeviceReset(nDeviceType, Independence, 0);
3.1.2. VCI_FindUsbDevice2
Nalika PC padha nggunakake macem-macem USB-CAN, pangguna bisa nggunakake fungsi iki kanggo nemokake piranti saiki.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parameter:
pInfo
pInfo digunakake kanggo nyimpen paramèter saka pitunjuk alamat buffer data pisanan.
wangsul
Wangsulake nomer adaptor USB-CAN sing dipasang ing komputer.
Bagian Papat Fungsi Pustaka Antarmuka Nggunakake Proses
Kanggo nambah fungsi piranti, kita nyedhiyakake fungsi tambahan (fungsi sing diwenehi latar mburi ijo), fungsi kasebut kalebu: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Sajrone pangembangan kapindho, fungsi kasebut ora kudu dijaluk. Malah fungsi kasebut ora digatekake, kabeh fungsi adaptor USB-CAN bisa digayuh.
www.waveshare.com
www.waveshare.com/wiki
Dokumen / Sumber Daya
![]() | WAVESHARE USB-BISA Bus Antar pasuryan Adaptor Antarmuka Fungsi Library [pdf] Instruksi Manual Perpustakaan Fungsi Antarmuka Adaptor Antarmuka Bus USB-CAN, Perpustakaan Fungsi Antarmuka USB-CAN, Perpustakaan Fungsi Antarmuka Adaptor Antarmuka Bus, Perpustakaan Fungsi Antarmuka, Perpustakaan Fungsi |