Kebul-CAN Bus Interface
Aiki Interface Adapter
Umarnin Mai Amfani da Laburare
KASHI NA FARKOVIEW
Idan mai amfani kawai ya yi amfani da adaftar bas na USB-CAN don ci gaba da gwajin sadarwar bas na CAN, sannan zai iya amfani da kayan aikin USB-CAN da aka kawo kai tsaye don aikawa da karɓar bayanan gwajin.
Idan mai amfani ya yi niyyar rubuta shirin software don samfuran nasa. Da fatan za a karanta waɗannan umarni a hankali kuma ku ɗauki tunani daga sampmun bayar da code:
⑴ C++ Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Haɓaka ɗakin karatu file Adireshin: ControlCAN.lib, ControlCAN.DLL
Bayanin aikin sigar VC file Bayani: ControlCAN.h
Bayyana aikin sigar VB file: ControlCAN.bas
LabVIEW nau'in kunshin aikin ɗakin karatu: ControlCAN.llb
Bayyana aikin sigar Delphi file: ControlCAN.pas
KASHI NA BIYU MASU KWATANTA LABARI DA TSININ DATA
2.1. MA'ANAR NAU'I
2.1.1. Nau'in Na'ura
Nau'in Ma'anar | Nau'in ƙima | Bayani |
DEV_USBCAN2 | 4 | USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN |
2.1.2. VCI_BOARD_INFO
Tsarin VCI_BOARD_INFO yana ƙunshe da bayanan na'urar kebul-CAN Series.
Za a cika tsarin a aikin VCI_ReadBoardInfo.
Memba:
hw_Sigar
Lambar sigar Hardware, alamar hexadecimal. Misali 0x0100 yana wakiltar V1.00.
fw_Sigar
Lambar sigar Hardware, alamar hexadecimal. Misali 0x0100 yana wakiltar V1.00.
Shafi na 2
Dr_Sigar
Lambar sigar direba, alamar hexadecimal. Misali 0x0100 yana wakiltar V1.00.
a cikin_Sigar
Lambar sigar ɗakin karatu ta mu'amala, alamar hexadecimal. Misali 0x0100 yana wakiltar V1.00.
irq_Num
Tsarin tsari.
can_Num
Yana wakiltar jimlar adadin tashar CAN.
str_Serial_Num
Serial number na katin allo.
str_hw_Nau'in
Nau'in kayan masarufi, kamar "USBCAN V1.00" (Lura: Ya haɗa da ƙarshen igiya '\0').
Ajiye
Tsarin tsari.
2.1.3. VCI_CAN_OBJ
A cikin ayyukan VCI_Transmit da VCI_Receive, ana amfani da tsarin VCI_CAN_OBJ don isar da firam ɗin saƙon CAN.
Memba:
ID
Mai gano saƙo. Tsarin ID na kai tsaye, daidaitacce, da fatan za a koma zuwa: Annex One: Bayanin Daidaita ID.
TimeStamp
Karbar Stamp bayanin tsarin lokaci, fara lokacin lokacin da aka fara mai sarrafa CAN, naúrar ita ce 0. 1ms.
Lokaci Flag
Dangane da ko amfani da lokacin stamp, 1 shine ingantaccen TimeStamp. TimeFlag da TimeStamp suna da ma'ana kawai lokacin da aka karɓi firam ɗin.
SendType
Nau'in aikawa. = 0 yana nuna nau'in al'ada, = 1 yana nuna Aika Guda.
Tutar Nesa
Ko tuta ce mai nisa. = 1 yana nuna tuta mai nisa, = 0 yana nuna tutar bayanai.
Extern Flag
Ko tutar waje ce. = 1 yana nuna tuta na waje, = 0 yana nuna daidaitaccen tuta.
DataLen
Tsawon bayanai (<= 8) , wato, tsawon bayanai.
Bayanai
Bayanan fakiti.
Ajiye
Tsarin tsari.
2.1.4. VCI_INIT_CONFIG
Tsarin VCI_INIT_CONFIG yana bayyana tsarin farawa na CAN. Za a cika tsarin a aikin VCI_InitCan.
Memba:
AccCode
Karɓi tace lambar karɓuwa.
AccMask
Karɓi abin rufe fuska tace.
Ajiye
Ajiye
Tace
Hanyar tacewa, ba da izinin saiti 0-3, koma zuwa sashe na 2.2.3 na yanayin tacewa don cikakkun bayanai.
Lokaci 0
Ma'aunin ƙimar Baud SJA1000, Lokaci0 (BTR0) .
Lokaci 1
Ma'aunin ƙimar Baud SJA1000, Lokaci1 (BTR1) .
Yanayin
Yanayin aiki, 0 = aiki na yau da kullun, 1 = Yanayin Saurara kawai, 2 = shigar da sauri da yanayin gwaji.
Bayani:
Game da saitunan tace don Allah koma zuwa: Annex II: CANparameter saitin umarnin.
Ana amfani da CAN Time0 da Time1 don saita ƙimar baud, waɗannan sigogi biyu ana amfani dasu ne kawai a farkon s.tage.
Teburin tunani na al'ada na Baud:
Farashin CAN Baud | Lokaci 0(BTR0) | Lokaci 1(BTR1) |
10k bps | 0 x31 | 0x1c ku |
20k bps | 0 x18 | 0x1c ku |
40k bps | 0 x87 | 0xFF ku |
50k bps | 0 x09 | 0x1c ku |
80k bps | 0 x83 | 0xFF ku |
100k bps | 0 x04 | 0x1c ku |
125k bps | 0 x03 | 0x1c ku |
200k bps | 0 x81 | 0xFA |
250k bps | 0 x01 | 0x1c ku |
400k bps | 0 x80 | 0xFA |
500k bps | 0 x00 | 0x1c ku |
666k bps | 0 x80 | 0xB6 ku |
800k bps | 0 x00 | 0 x16 |
1000k bps | 0 x00 | 0 x14 |
33.33 Kbps | 0 x09 | 0x6F ku |
66.66 Kbps | 0 x04 | 0x6F ku |
83.33 Kbps | 0 x03 | 0x6F ku |
- Masu amfani kawai suna buƙatar bin SJA1000 (16MHz) don saita ma'aunin ƙimar Baud.
- Adaftan baya goyan bayan ƙimar Baud na ɗan lokaci ƙasa da 10K.
2.2. BAYANIN AIKI
2.2.1. VCI_OpenDevice
Ana amfani da wannan aikin don haɗa na'urori.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD Adana);
Siga:
DevType
Nau'in na'ura. Duba: Ma'anar nau'in na'urar adaftar.
DevIndex
Fihirisar Na'ura, don misaliampHar ila yau, idan akwai adaftar USB-CAN guda ɗaya kawai, lambar fihirisar ita ce 0, lokacin da akwai adaftar USB-CAN da yawa, lambobi a cikin tsari mai hawa farawa daga 0.
Ajiye
Matsalolin riƙewa, cika 0.
Yana dawowa:
Ƙimar dawowa = 1, wanda ke nufin cewa aikin ya yi nasara; = 0 yana nuna cewa aikin ya gaza; = -1 yana nuna cewa babu na'urar.
2.2.2. VCI_CloseNa'ura
Ana amfani da wannan aikin don rufe haɗin gwiwa.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Siga:
DevType
Nau'in na'ura. Duba: Ma'anar nau'in na'urar adaftar.
DevIndex
Fihirisar Na'ura, don misaliampHar ila yau, idan akwai adaftar USB-CAN guda ɗaya kawai, lambar fihirisar ita ce 0, lokacin da akwai adaftar USB-CAN da yawa, lambobi a cikin tsari mai hawa farawa daga 0.
Yana dawowa:
Ƙimar dawowa = 1, wanda ke nufin cewa aikin ya yi nasara; = 0 yana nuna cewa aikin ya gaza; = -1 yana nuna cewa babu na'urar.
2.2.3. VCI_InitCan
Ana amfani da wannan aikin don fara ƙayyadadden CAN.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);
Siga:
DevType
Nau'in na'ura. Duba: Ma'anar nau'in na'urar adaftar.
DevIndex
Fihirisar Na'ura, don misaliampHar ila yau, idan akwai adaftar USB-CAN guda ɗaya kawai, lambar fihirisar ita ce 0, lokacin da akwai adaftar USB-CAN da yawa, lambobi a cikin tsari mai hawa farawa daga 0.
CANINdex
Ma'anar tashar ta CAN, kamar lokacin da tashar CAN ta kasance ɗaya kawai, lambar ƙididdiga ita ce 0, idan akwai biyu, lambar fihirisa na iya zama 0 ko 1.
pInitConfig
Tsarin ma'aunin farawa. Jerin ma'auni na mambobi:
Memba | Bayanin Aiki |
pInitConfig->AccCode | AccCode da AccMask na iya aiki tare don tantance fakitin da za a iya karɓa. Ana amfani da waɗannan rajista biyu don saita ID na hagu, wato, mafi girman bit (Bit31) na AccCode kuma AccMask yana daidaitawa da mafi girman bit na ƙimar ID. |
pInitConfig->AccMask | Game da daidaitawar ID koma abubuwan haɗin gwiwa: Annex I: Bayanan jeri na ID. Misali: Idan ka saita darajar AccCode a matsayin 0x24600000 (watau 0x123 ana canjawa zuwa hagu ta 21 rago), ƙimar AccMask an saita zuwa 0x00000000, sannan kawai fakitin da ke da ID ɗin saƙon CAN ɗin shine 0x123 za a iya karɓa (ƙimar AccMask na 0x00000000 yana nuna cewa duk ragi suna dacewa. |
bits). Idan an saita darajar AccCode zuwa 0x24600000, ana saita darajar AccMask zuwa 0x600000 (0x03 an canza shi zuwa hagu ta 21 rago), sannan fakiti kawai tare da ID ɗin saƙon CAN shine 0x120 ~ 0x123 za a iya karɓa (ƙimar AccMask). 0x600000 yana nuna cewa ban da bit0 ~ bit1 sauran ragi (bit2 ~ bit10) sun dace da bitXNUMX). Lura: Wannan saitin tace examples zuwa daidaitaccen firam, don example, babban 11-bit shine ingantaccen bit; a cikin yanayin firam ɗin tsawaitawa, sannan ingantacciyar ID ɗin 29-bit ne. AccCode da AccMask sun saita babban 29-bit azaman ingantaccen bit! |
|
pInitConfig->Ajiye | tanada |
pInitConfig-> Tace | Saitunan yanayin tace da fatan za a koma zuwa sashin teburin yanayin tacewa. |
pInitConfig->Lokaci0 | Baud rateT0 saitin |
pInitConfig->Lokaci1 | Baud rateT1 saitin |
pInitConfig-> Yanayin | Yanayin aiki: 0-aiki na yau da kullun 1-Yanayin saurare kawai 2-shigowar kai tsaye da yanayin aika gwajin (wannan ƙimar an cire shi daga ɗakin karatu na aikin ZLG) |
Teburin yanayin tacewa:
Daraja | Suna | Bayani |
1 | Karɓa kowane iri | Ya dace da duka daidaitattun da kuma firam mai tsayi! |
2 | Karɓi daidaitaccen firam kawai | Dace da daidaitaccen firam, da kuma tsawaitawa |
za a cire firam ta hanyar tacewa kai tsaye! | ||
3 | Karɓi firam mai tsayi kawai | Dace da tsawaita firam, kuma za a cire madaidaicin firam ta tacewa kai tsaye! . |
Yana dawowa:
Ƙimar dawowa = 1, wanda ke nufin cewa aikin ya yi nasara; = 0 yana nuna cewa aikin ya gaza; = -1 yana nuna cewa babu na'urar.
Misali
2.2.4. VCI_ReadBoardInfo
Ana amfani da wannan aikin don karanta bayanan kayan aikin adaftar. Gabaɗaya magana, ana iya yin watsi da shi.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD)
DevIndex, PVCI_BOARD_INFO pInfo);
Siga:
DevType
Nau'in na'ura. Duba: Ma'anar nau'in na'urar adaftar.
DevIndex
Fihirisar Na'ura, don misaliampHar ila yau, idan akwai adaftar USB-CAN guda ɗaya kawai, lambar fihirisar ita ce 0, lokacin da akwai adaftar USB-CAN da yawa, lambobi a cikin tsari mai hawa farawa daga 0. pInfo
Ana amfani da VCI_BOARD_INFO don adana alamar tsarin bayanin na'urar.
Yana dawowa:
Ƙimar dawowa = 1, wanda ke nufin cewa aikin ya yi nasara; = 0 yana nuna cewa aikin ya gaza; = -1 yana nuna cewa babu na'urar.
2.2.5. VCI_GetReceiveNum
Ana amfani da wannan aikin don ƙididdige abin da aka karɓa amma ba a karanta firam ɗin ba a cikin keɓaɓɓen buffer mai karɓa.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Siga:
DevType
Nau'in na'ura. Duba: Ma'anar nau'in na'urar adaftar.
DevIndex
Fihirisar Na'ura, don misaliampHar ila yau, idan akwai adaftar USB-CAN guda ɗaya kawai, lambar fihirisar ita ce 0, lokacin da akwai adaftar USB-CAN da yawa, lambobin fihirisar a cikin tsari mai hawa farawa daga 0.
CANINdex
CAN tashar index.
Yana dawowa:
Dawo da firam ɗin da ba a karanta ba tukuna.
Misali
#hade "ControlCan.h" int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
Ana amfani da wannan aikin don share karɓa da aika buffer na tashar da aka keɓance ta
Adaftar USB-CAN.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Siga:
DevType
Nau'in na'ura. Duba: Ma'anar nau'in na'urar adaftar.
DevIndex
Fihirisar Na'ura, don misaliampHar ila yau, idan akwai adaftar USB-CAN guda ɗaya kawai, lambar fihirisar ita ce 0, lokacin da akwai adaftar USB-CAN da yawa, lambobin fihirisar a cikin tsari mai hawa farawa daga 0.
CANINdex
CAN tashar index.
Yana dawowa:
Ƙimar dawowa = 1, wanda ke nufin cewa aikin ya yi nasara; = 0 yana nuna cewa aikin ya gaza; = -1 yana nuna cewa babu na'urar.
2.2.7. VCI_StartCAN
Ana amfani da wannan aikin don fara mai sarrafa CAN da aikin liyafar katsewa na ciki na adaftan.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Siga:
DevType
Nau'in na'ura. Duba: Ma'anar nau'in na'urar adaftar.
DevIndex
Fihirisar Na'ura, don misaliampHar ila yau, idan akwai adaftar USB-CAN guda ɗaya kawai, lambar fihirisar ita ce 0, lokacin da akwai adaftar USB-CAN da yawa, lambobi a cikin tsari mai hawa farawa daga 0.
CANINdex
CAN tashar index.
Yana dawowa:
Ƙimar dawowa = 1, wanda ke nufin cewa aikin ya yi nasara; = 0 yana nuna cewa aikin ya gaza; = -1 yana nuna cewa babu na'urar.
2.2.8. VCI_Sake saitaCAN
Ana amfani da wannan aikin don sake saita mai sarrafa CAN.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Siga:
DevType
Nau'in na'ura. Duba: Ma'anar nau'in na'urar adaftar.
DevIndex
Fihirisar Na'ura, don misaliampHar ila yau, idan akwai adaftar USB-CAN guda ɗaya kawai, lambar fihirisar ita ce 0, lokacin da akwai adaftar USB-CAN da yawa, lambobi a cikin tsari mai hawa farawa daga 0.
CANINdex
CAN tashar index.
Yana dawowa:
Ƙimar dawowa = 1, wanda ke nufin cewa aikin ya yi nasara; = 0 yana nuna cewa aikin ya gaza; = -1 yana nuna cewa babu na'urar.
2.2.9. VCI_Tsarkawa
Ana amfani da wannan aikin don aika firam ɗin saƙon CAN.
DWORD __stdcall VCI_Transmit(Nau'in na'urar DWORD,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Siga:
DevType
Nau'in na'ura. Duba: Ma'anar nau'in na'urar adaftar.
DevIndex
Fihirisar Na'ura, don misaliampHar ila yau, idan akwai adaftar USB-CAN guda ɗaya kawai, lambar fihirisar ita ce 0, lokacin da akwai adaftar USB-CAN da yawa, lambobi a cikin tsari mai hawa farawa daga 0.
CANINdex
CAN tashar index. pAika
Adireshin farko na tsararrun firam ɗin bayanai waɗanda dole ne a aika.
Tsawon
Adadin firam ɗin bayanai waɗanda dole ne a aika, matsakaicin lamba shine 1000, ƙimar da aka ba da shawarar ita ce 48 ƙarƙashin babban gudu.
Yana dawowa:
Koma ainihin adadin firam ɗin da aka aika, ƙimar dawowa = -1 tana nuna kuskuren na'ura.
Misali
2.2.10. VCI_Saba
Ana amfani da wannan aikin don neman liyafar.
DWORD __stdcall VCI_Saba(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT Jiran lokaci);
Siga:
DevType
Nau'in na'ura. Duba: Ma'anar nau'in na'urar adaftar.
DevIndex
Fihirisar Na'ura, don misaliampHar ila yau, idan akwai adaftar USB-CAN guda ɗaya kawai, lambar fihirisar ita ce 0, lokacin da akwai adaftar USB-CAN da yawa, lambobi a cikin tsari mai hawa farawa daga 0.
CANINdex
CAN tashar index.
karba
Don karɓar alamar saitin farko na firam ɗin bayanai.
Len
Tsawon tsararrun firam ɗin bayanai dole ne ya zama fiye da 2500 don dawo da saƙon al'ada.
In ba haka ba, tsayin dawowa zai zama sifili ko an karɓi saƙon ko a'a. adaftan ya saita buffer-frame 2000 don kowane tashoshi. Dangane da tsarin kansa da yanayin aiki, mai amfani zai iya zaɓar tsayin tsararru mai dacewa daga 2500.
An Ajiye WaitTime.
Yana dawowa:
Mayar da adadin firam ɗin da aka karanta a zahiri, -1 yana nuna kurakuran na'urar.
Misali
KASHI NA UKU SAURAN AYYUKA DA BAYANIN SIRRIN DATA
Wannan babin yana bayyana wasu nau'ikan bayanai da ayyuka na ɗakin karatu na mu'amala da ZLG wanda bai dace ba wanda ke cikin ɗakin karatu na adaftar adaftar kebul na USB-CAN ControlCAN.dll. Da fatan za a yi
kar a kira waɗannan ayyukan idan amfani da samfurin ZLG mai jituwa don haɓaka na biyu don kar ya shafi dacewa.
3.1 BAYANIN AIKI
3.1.1. Sake saitin na'urar VCI_Usb
Sake saita adaftar USB-CAN, buƙatar sake buɗe na'urar bayan sake saiti ta amfani da VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD Adana
Siga:
DevType
Nau'in na'ura. Duba: Ma'anar nau'in na'urar adaftar.
DevIndex
Fihirisar Na'ura, don misaliampHar ila yau, idan akwai adaftar USB-CAN guda ɗaya kawai, lambar fihirisar ita ce 0, lokacin da akwai adaftar USB-CAN da yawa, lambobi a cikin tsari mai hawa farawa daga 0.
Ajiye.
Yana dawowa:
Ƙimar dawowa = 1, wanda ke nufin cewa aikin ya yi nasara; = 0 yana nuna cewa aikin ya gaza; = -1 yana nuna cewa babu na'urar.
bRel = VCI_UsbDeviceReset(nDeviceType, Independence, 0);
3.1.2. VCI_FindUsbDevice2
Lokacin da PC iri ɗaya ke amfani da USB-CAN da yawa, mai amfani zai iya amfani da wannan aikin don nemo na'urar ta yanzu.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Siga:
pInfo
Ana amfani da pInfo don adana sigogin ma'anar adireshin buffer na farko.
Yana dawowa
Koma lambar adaftar USB-CAN da aka toshe cikin kwamfutar.
Sashe na huɗu Ayyukan Laburaren Faɗakarwa Ta Amfani da Tsari
Domin ninka aikin na'ura, mun samar da ƙarin ayyuka(ayyukan da aka gabatar tare da koren bango), waɗannan ayyukan sun haɗa da: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Yayin ci gaba na biyu, waɗannan ayyuka ba lallai ba ne a kira su. Ko da waɗannan ayyuka an yi watsi da su, duk ayyukan adaftar USB-CAN ana iya samun su.
www.waveshare.com
www.waveshare.com/wiki
Takardu / Albarkatu
![]() |
WAVESHARE USB-CAN Bus Inter face Adapter Interface Aiki Library [pdf] Jagoran Jagora USB-CAN Bus Inter face Adapter Interface Action Library, USB-CAN, Bus Interface Adapter Interface Action Library, Interface Action Library, Aiki Library |