USB-CAN Bus Interface
Adapter Interface Funzjoni
Istruzzjoni għall-Utent tal-Librerija
L-EWWEL PARTI MINNHOMVIEW
Jekk l-utent juża biss l-adapter tal-interface tal-bus USB-CAN biex imur fuq test tal-komunikazzjoni tal-bus CAN, u allura jista 'juża direttament is-softwer tal-Għodda USB-CAN fornut biex jibgħat u jirċievi data tat-test.
Jekk l-utent bi ħsiebu jikteb programm tas-softwer għall-prodotti tiegħu stess. Jekk jogħġbok aqra bir-reqqa l-istruzzjonijiet li ġejjin u ħu referenza mill-sampil-kodiċi li nipprovdu:
⑴ C++Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Żviluppa librerija file :ControlCAN.lib, ControlCAN.DLL
Dikjarazzjoni tal-funzjoni tal-verżjoni VC file :ControlCAN.h
Dikjarazzjoni tal-funzjoni tal-verżjoni VB file: ControlCAN.bas
LabVIEW Modulu tal-pakkett tal-funzjoni tal-librerija tal-verżjoni: ControlCAN.llb
Dikjarazzjoni tal-funzjoni tal-verżjoni Delphi file: ControlCAN.pas
IT-TIENI PARTI KOMPATIBBLI FUNZJONIJIET LIBRERIJA U STRUTTURA DATA
2.1. DEFINIZZJONI TAT-TIP
2.1.1. Tip ta' Apparat
Definizzjoni tat-Tip | Valur tat-tip | Deskrizzjoni |
DEV_USBCAN2 | 4 | USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN |
2.1.2. VCI_BOARD_INFO
L-istruttura VCI_BOARD_INFO fiha informazzjoni dwar l-apparat tal-kard tal-interface tas-serje USB-CAN.
L-istruttura se timtela bil-funzjoni VCI_ReadBoardInfo.
Membru:
hw_Version
Numru tal-verżjoni tal-ħardwer, notazzjoni eżadeċimali. Eż. 0x0100 jirrappreżenta V1.00.
fw_Verżjoni
Numru tal-verżjoni tal-ħardwer, notazzjoni eżadeċimali. Eż. 0x0100 jirrappreżenta V1.00.
Paġna 2
dr_Version
Numru tal-verżjoni tas-sewwieq, notazzjoni eżadeċimali. Eż. 0x0100 jirrappreżenta V1.00.
in_Version
Numru tal-verżjoni tal-librerija tal-interface, notazzjoni eżadeċimali. Eż. 0x0100 jirrappreżenta V1.00.
irq_Num
Sistema riservata.
can_Num
Jirrappreżenta n-numru totali ta 'kanal CAN.
str_Serial_Num
In-numru tas-serje ta' din il-karta tal-bord.
str_hw_Type
Tip ta' ħardwer, bħal "USBCAN V1.00" (Nota: Jinkludi t-terminatur tal-istring '\0').
Riżervat
Sistema riservata.
2.1.3. VCI_CAN_OBJ
Fil-funzjonijiet VCI_Transmit u VCI_Receive, l-istruttura VCI_CAN_OBJ tintuża biex tittrasmetti l-qafas tal-messaġġ CAN.
Membru:
ID
Identifikatur tal-messaġġ. Format tal-ID dirett, allinjat mal-lemin, jekk jogħġbok irreferi għal: Anness Wieħed: Dettalji tal-Allinjament tal-ID.
Ħin St.amp
Jirċievu l-stamp informazzjoni tal-qafas ta 'żmien, ibda l-ħin meta l-kontrollur CAN huwa inizjalizzat, l-unità hija 0. 1ms.
TimeFlag
F'termini ta' jekk tużax il-ħin stamp, 1is-TimeSt effettivamp. TimeFlag u TimeStamp huma sinifikanti biss meta l-qafas jiġi riċevut.
SendType
Tip mibgħut. = 0 jindika Tip normali, = 1 jindika Send Single.
RemoteFlag
Jekk hijiex bandiera remota. = 1 jindika bandiera remota, = 0 jindika bandiera tad-dejta.
ExternFlag
Jekk hijiex bandiera esterna. = 1 jindika bandiera esterna, = 0 jindika bandiera standard.
DataLen
Tul tad-dejta (<=8) ,jiġifieri, it-tul tad-dejta.
Data
Data tal-pakkett.
Riżervat
Sistema riservata.
2.1.4. VCI_INIT_CONFIG
L-istruttura VCI_INIT_CONFIG tiddefinixxi l-konfigurazzjoni tal-inizjalizzazzjoni tal-CAN. L-istruttura se timtela bil-funzjoni VCI_InitCan.
Membru:
AccCode
Irċievi kodiċi ta 'aċċettazzjoni ffiltrat.
AccMask
Irċievi maskra tal-filtru.
Riżervat
Riżervat.
Iffiltra
Metodu ta 'filtrazzjoni, li jippermetti firxa ta' issettjar 0-3, irreferi għat-taqsima 2.2.3 tat-tabella tal-modalità tal-filtru għad-dettalji.
Timing0
Parametru tar-rata tal-baud SJA1000, Timing0 (BTR0) .
Timing1
Parametru tar-rata tal-baud SJA1000, Timing1 (BTR1) .
Modalità
Mod ta 'tħaddim, 0 = tħaddim normali, 1 = Mod ta' smigħ biss, 2 = modalità ta 'test ta' ammissjoni spontanja u ta 'bgħit.
Rimarki:
Dwar is-settings tal-filtru jekk jogħġbok irreferi għal: Anness II: Istruzzjonijiet dwar is-setup tal-parametru CAN.
CAN Timing0 u Timing1 jintużaw biex jistabbilixxu rata baud, dawn iż-żewġ parametri jintużaw biss fl-inizjalizzazzjoni stage.
Tabella ta' referenza Baud konvenzjonali:
CAN Rata Baud | 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 |
- L-utenti għandhom bżonn biss isegwu SJA1000 (16MHz) biex jistabbilixxu l-parametru tar-rata tal-Baud.
- L-adapter ma jappoġġjax temporanjament rata Baud taħt l-10K.
2.2. DESKRIZZJONI TAL-FUNZJONI
2.2.1. VCI_OpenDevice
Din il-funzjoni tintuża biex tikkonnettja apparati.
DWORD __stdcall VCI_OpenDevice(DWORD DevType, DWORD DevIndex, DWORD Riżervat);
Parametri:
DevType
Tip ta' apparat. Ara: Definizzjoni tat-tip tal-apparat tal-adapter.
DevIndex
Indiċi tal-Apparat, pereżempjuample, meta jkun hemm adapter USB-CAN wieħed biss, in-numru tal-indiċi huwa 0, meta jkun hemm adapters multipli USB-CAN, in-numri tal-indiċi f'ordni axxendenti li jibdew minn 0.
Riżervat
Parametri taż-żamma, imla 0.
Ritorni:
Valur tar-ritorn = 1, li jfisser li l-operazzjoni tirnexxi; = 0 jindika li l-operazzjoni falliet; = -1 jindika li l-apparat ma jeżistix.
2.2.2. VCI_CloseDevice
Din il-funzjoni tintuża biex tagħlaq il-konnessjoni.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Parametri:
DevType
Tip ta' apparat. Ara: Definizzjoni tat-tip tal-apparat tal-adapter.
DevIndex
Indiċi tal-Apparat, pereżempjuample, meta jkun hemm adapter USB-CAN wieħed biss, in-numru tal-indiċi huwa 0, meta jkun hemm adapters multipli USB-CAN, in-numri tal-indiċi f'ordni axxendenti li jibdew minn 0.
Ritorni:
Valur tar-ritorn = 1, li jfisser li l-operazzjoni tirnexxi; = 0 jindika li l-operazzjoni falliet; = -1 jindika li l-apparat ma jeżistix.
2.2.3. VCI_InitCan
Din il-funzjoni tintuża biex inizjalizza l-CAN speċifikat.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);
Parametri:
DevType
Tip ta' apparat. Ara: Definizzjoni tat-tip tal-apparat tal-adapter.
DevIndex
Indiċi tal-Apparat, pereżempjuample, meta jkun hemm adapter USB-CAN wieħed biss, in-numru tal-indiċi huwa 0, meta jkun hemm adapters multipli USB-CAN, in-numri tal-indiċi f'ordni axxendenti li jibdew minn 0.
CANIndex
Indiċi tal-kanal CAN, bħal meta jkun hemm kanal CAN wieħed biss, in-numru tal-indiċi huwa 0, jekk ikun hemm tnejn, in-numru tal-indiċi jista 'jkun 0 jew 1.
pInitConfig
Struttura tal-parametru tal-inizjalizzazzjoni. Lista tal-parametri tal-membri:
Membru | Deskrizzjoni Funzjonali |
pInitConfig->AccCode | AccCode u AccMask jistgħu jaħdmu flimkien biex jiddeterminaw liema pakketti jistgħu jiġu aċċettati. Dawn iż-żewġ reġistri jintużaw biex jistabbilixxu l-ID allinjat max-xellug, jiġifieri, l-ogħla bit (Bit31) tal-AccCode u l-AccMask huwa allinjat mal-ogħla bit tal-valur tal-ID. |
pInitConfig->AccMask | Dwar l-allinjament tal-ID irreferi l-annessi: Anness I: Dettalji tal-allinjament tal-ID. Eż: Jekk issettja l-valur tal-AccCode bħala 0x24600000 (jiġifieri 0x123 jiġi mċaqlaq lejn ix-xellug b'21 bit), il-valur tal-AccMask huwa ssettjat għal 0x00000000, u allura l-pakketti biss bl-ID tal-qafas tal-messaġġ CAN huwa 0x123 jistgħu jiġu aċċettati (il-valur AccMask ta '0x00000000 jindika li l-bits kollha huma rilevanti |
bits). Jekk il-valur AccCode huwa ssettjat għal 0x24600000, il-valur AccMask huwa ssettjat għal 0x600000 (0x03 huwa mċaqlaq lejn ix-xellug b'21 bit), u allura l-pakketti biss bl-ID tal-qafas tal-messaġġ CAN huwa 0x120 ~ 0x123 jistgħu jiġu aċċettati (valur AccMask 0x600000 jindika li apparti bit0 ~ bit1 bits oħra (bit2 ~ bit10) huma bit rilevanti). Nota: Dan l-issettjar tal-filtru examples għall-qafas standard, per eżempjuample, għoli 11-bit huwa l-bit validu; fil-każ tal-qafas estiż, u mbagħad l-ID valida hija 29-bit. AccCode u AccMask stabbilixxew 29-bit għoli bħala l-bit validu! |
|
pInitConfig-> Riservat | riservati |
pInitConfig->Filtru | Is-settings tal-modalità tal-filtrazzjoni jekk jogħġbok irreferi għat-taqsima tat-tabella tal-modalità tal-filtru. |
pInitConfig-> Timing0 | Issettjar ta' baud rateT0 |
pInitConfig-> Timing1 | Issettjar ta' baud rateT1 |
pInitConfig->Modalità | Mod tat-tħaddim: 0-operazzjoni normali 1-Modalità ta 'smigħ biss Modalità tat-test ta '2-ammissjoni spontanja u li tibgħat (dan il-valur huwa eskluż mil-librerija tal-funzjonijiet ZLG) |
Tabella tal-modalità tal-filtru:
Valur | Isem | Deskrizzjoni |
1 | Irċievi kull tip | Adattat kemm għall-qafas standard kif ukoll estiż! |
2 | Irċievi biss qafas standard | Adattat għall-qafas standard, u estiż |
qafas se jitneħħa permezz ta 'filtrazzjoni direttament! | ||
3 | Irċievi biss qafas estiż | Adattat għall-qafas estiż, u l-qafas standard se jitneħħa minn filtrazzjoni direttament! 。 |
Ritorni:
Valur tar-ritorn = 1, li jfisser li l-operazzjoni tirnexxi; = 0 jindika li l-operazzjoni falliet; = -1 jindika li l-apparat ma jeżistix.
Eż
2.2.4. VCI_ReadBoardInfo
Din il-funzjoni tintuża biex taqra l-informazzjoni tal-ħardwer tal-adapter. B'mod ġenerali, jista 'jiġi injorat.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parametri:
DevType
Tip ta' apparat. Ara: Definizzjoni tat-tip tal-apparat tal-adapter.
DevIndex
Indiċi tal-Apparat, pereżempjuample, meta jkun hemm biss adapter USB-CAN wieħed, in-numru tal-indiċi huwa 0, meta jkun hemm adapters multipli USB-CAN, in-numri tal-indiċi f'ordni axxendenti li jibdew minn 0. pInfo
VCI_BOARD_INFO jintuża biex jaħżen il-punter tal-istruttura tal-informazzjoni tal-apparat.
Ritorni:
Valur tar-ritorn = 1, li jfisser li l-operazzjoni tirnexxi; = 0 jindika li l-operazzjoni falliet; = -1 jindika li l-apparat ma jeżistix.
2.2.5. VCI_GetReceiveNum
Din il-funzjoni tintuża biex tispeċifika l-frejms riċevuti iżda ma nqrawx fil-buffer riċevitur magħżul.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Parametri:
DevType
Tip ta' apparat. Ara: Definizzjoni tat-tip tal-apparat tal-adapter.
DevIndex
Indiċi tal-Apparat, pereżempjuample, meta jkun hemm adapter USB-CAN wieħed biss, in-numru tal-indiċi huwa 0, meta jkun hemm adapters multipli USB-CAN, in-numri tal-indiċi f'ordni axxendenti li jibdew minn 0.
CANIndex
Indiċi tal-kanal CAN.
Ritorni:
Ritorn frames li għadhom ma nqrawx.
Eż
#include "ControlCan.h" int ret=VCI_GetReceiveNum (2,0,0);
2.2.6. VCI_ClearBuffer
Din il-funzjoni tintuża biex tnaddaf il-buffer ta 'riċeviment u jibgħat tal-kanal magħżul speċifikat minn
Adapter USB-CAN.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Parametri:
DevType
Tip ta' apparat. Ara: Definizzjoni tat-tip tal-apparat tal-adapter.
DevIndex
Indiċi tal-Apparat, pereżempjuample, meta jkun hemm adapter USB-CAN wieħed biss, in-numru tal-indiċi huwa 0, meta jkun hemm adapters multipli USB-CAN, in-numri tal-indiċi f'ordni axxendenti li jibdew minn 0.
CANIndex
Indiċi tal-kanal CAN.
Ritorni:
Valur tar-ritorn = 1, li jfisser li l-operazzjoni tirnexxi; = 0 jindika li l-operazzjoni falliet; = -1 jindika li l-apparat ma jeżistix.
2.2.7. VCI_StartCAN
Din il-funzjoni tintuża biex tibda l-kontrollur CAN u l-funzjoni ta 'riċeviment ta' interruzzjoni interna tal-adapter.
DWORD __stdcall VCI_StartCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Parametri:
DevType
Tip ta' apparat. Ara: Definizzjoni tat-tip tal-apparat tal-adapter.
DevIndex
Indiċi tal-Apparat, pereżempjuample, meta jkun hemm adapter USB-CAN wieħed biss, in-numru tal-indiċi huwa 0, meta jkun hemm adapters multipli USB-CAN, in-numri tal-indiċi f'ordni axxendenti li jibdew minn 0.
CANIndex
Indiċi tal-kanal CAN.
Ritorni:
Valur tar-ritorn = 1, li jfisser li l-operazzjoni tirnexxi; = 0 jindika li l-operazzjoni falliet; = -1 jindika li l-apparat ma jeżistix.
2.2.8. VCI_ResetCAN
Din il-funzjoni tintuża biex tirrisettja l-kontrollur CAN.
DWORD __stdcall VCI_ResetCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Parametri:
DevType
Tip ta' apparat. Ara: Definizzjoni tat-tip tal-apparat tal-adapter.
DevIndex
Indiċi tal-Apparat, pereżempjuample, meta jkun hemm adapter USB-CAN wieħed biss, in-numru tal-indiċi huwa 0, meta jkun hemm adapters multipli USB-CAN, in-numri tal-indiċi f'ordni axxendenti li jibdew minn 0.
CANIndex
Indiċi tal-kanal CAN.
Ritorni:
Valur tar-ritorn = 1, li jfisser li l-operazzjoni tirnexxi; = 0 jindika li l-operazzjoni falliet; = -1 jindika li l-apparat ma jeżistix.
2.2.9. VCI_Transmit
Din il-funzjoni tintuża biex tibgħat il-qafas tal-messaġġ CAN.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Parametri:
DevType
Tip ta' apparat. Ara: Definizzjoni tat-tip tal-apparat tal-adapter.
DevIndex
Indiċi tal-Apparat, pereżempjuample, meta jkun hemm adapter USB-CAN wieħed biss, in-numru tal-indiċi huwa 0, meta jkun hemm adapters multipli USB-CAN, in-numri tal-indiċi f'ordni axxendenti li jibdew minn 0.
CANIndex
Indiċi tal-kanal CAN. pIbgħat
L-ewwel indirizz tal-arrays tal-frejms tad-data li jridu jintbagħtu.
Tul
In-numru tal-frejms tad-dejta li jridu jintbagħtu, in-numru massimu huwa 1000, il-valur rakkomandat huwa 48 taħt veloċità għolja.
Ritorni:
Irritorna n-numru attwali ta 'frejms diġà mibgħuta, il-valur tar-ritorn = -1 jindika żball fl-apparat.
Eż
2.2.10. VCI_Irċievi
Din il-funzjoni tintuża biex titlob riċeviment.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Parametri:
DevType
Tip ta' apparat. Ara: Definizzjoni tat-tip tal-apparat tal-adapter.
DevIndex
Indiċi tal-Apparat, pereżempjuample, meta jkun hemm adapter USB-CAN wieħed biss, in-numru tal-indiċi huwa 0, meta jkun hemm adapters multipli USB-CAN, in-numri tal-indiċi f'ordni axxendenti li jibdew minn 0.
CANIndex
Indiċi tal-kanal CAN.
jirċievi
Biex tirċievi l-ewwel sett pointer tad-data frames.
Len
It-tul tal-firxa tal-qafas tad-data għandu jkun aktar minn 2500 biex jirritorna messaġġ normali.
Inkella, it-tul tar-ritorn ikun żero kemm jekk il-messaġġ jiġi riċevut jew le. l-adapter stabbilixxa buffer 2000-qafas għal kull kanal. Ibbażat fuq is-sistema tiegħu stess u l-ambjent tax-xogħol, l-utent jista 'jagħżel tul ta' firxa xierqa minn 2500.
WaitTime Riservat.
Ritorni:
Irritorna n-numru ta 'frejms li attwalment inqraw, -1 jindika żbalji fit-tagħmir.
Eż
IT-TIELET PARTI FUNZJONIJIET OĦRA U DESKRIZZJONI TA' L-ISTRUTTURA TA' DEJTA
Dan il-kapitolu jiddeskrivi tipi oħra ta' data u funzjonijiet tal-librerija tal-interface ZLG inkompatibbli li tinsab fil-librerija tal-interface tal-adapter tal-USB-CAN ControlCAN.dll. Jekk jogħġbok agħmel
ma jsejħux dawn il-funzjonijiet jekk tuża mudell ZLG kompatibbli għal żvilupp sekondarju sabiex ma taffettwax il-kompatibilità.
3.1 DESKRIZZJONI TAL-FUNZJONI
3.1.1. VCI_UsbDeviceReset
Irrisettja l-adapter USB-CAN, jeħtieġ li terġa 'tiftaħ l-apparat wara reset billi tuża VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset (DWORD DevType, DWORD DevIndex, DWORD Riżervat
Parametri:
DevType
Tip ta' apparat. Ara: Definizzjoni tat-tip tal-apparat tal-adapter.
DevIndex
Indiċi tal-Apparat, pereżempjuample, meta jkun hemm adapter USB-CAN wieħed biss, in-numru tal-indiċi huwa 0, meta jkun hemm adapters multipli USB-CAN, in-numri tal-indiċi f'ordni axxendenti li jibdew minn 0.
Riservat Riservat.
Ritorni:
Valur tar-ritorn = 1, li jfisser li l-operazzjoni tirnexxi; = 0 jindika li l-operazzjoni falliet; = -1 jindika li l-apparat ma jeżistix.
bRel = VCI_UsbDeviceReset (nDeviceType, Indipendenza, 0);
3.1.2. VCI_FindUsbDevice2
Meta l-istess PC li juża multipli USB-CAN, l-utent jista 'juża din il-funzjoni biex isib l-apparat attwali.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parametri:
pInfo
pInfo jintuża biex jaħżen il-parametri tal-ewwel punter tal-indirizz tal-buffer tad-dejta.
Ritorni
Irritorna n-numru tal-adapter USB-CAN imwaħħal fil-kompjuter.
Parti Erba' Funzjonijiet tal-Librerija tal-Interface Użu tal-Proċess
Sabiex timmultiplika l-funzjoni tal-apparat, ipprovdejna funzjonijiet addizzjonali (funzjonijiet ippreżentati bi sfond aħdar), dawn il-funzjonijiet jinkludu: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Matul it-tieni żvilupp, dawn il-funzjonijiet mhux bilfors għandhom jiġu invokati. Anke dawn il-funzjonijiet huma injorati, il-funzjonijiet kollha tal-adapter USB-CAN jistgħu jinkisbu.
www.waveshare.com
www.waveshare.com/wiki
Dokumenti / Riżorsi
![]() |
WAVESHARE USB-CAN Bus Inter face Adapter Interface Funzjoni Librerija [pdfManwal tal-Istruzzjonijiet USB-CAN Bus Inter face Adapter Interface Funzjoni Librerija, USB-CAN, Bus Inter face Adapter Interface Funzjoni Librerija, Interface Funzjoni Librerija, Funzjoni Librerija |