Логотип WAVESHAREІнтерфейс шини USB-CAN
Функція інтерфейсу адаптера
Інструкція користувача бібліотекиWAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу

ЧАСТИНА ПЕРША ЗАВЕРШЕНАVIEW

Якщо користувач просто використовує адаптер інтерфейсу шини USB-CAN для тестування зв’язку шини CAN, тоді він може безпосередньо використовувати програмне забезпечення USB-CAN Tool, що входить до комплекту, для надсилання та отримання даних тесту.
Якщо користувач має намір написати програмне забезпечення для власних продуктів. Уважно прочитайте наведені нижче інструкції та візьміть посилання на розділиampкод, який ми надаємо:
⑴ C++Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Розвивати бібліотеку file :ControlCAN.lib, ControlCAN.DLL
Оголошення функції версії VC file :ControlCAN.h
Оголошення функції версії VB file: ControlCAN.bas
ЛабораторіяVIEW Версія бібліотеки функціональний пакетний модуль :ControlCAN.llb
Оголошення функції версії Delphi file: ControlCAN.pas

ЧАСТИНА ДРУГА БІБЛІОТЕКА СУМІСНИХ ФУНКЦІЙ ТА СТРУКТУРА ДАНИХ

2.1. ВИЗНАЧЕННЯ ТИПУ
2.1.1. Тип пристрою

Визначення типу Тип значення опис
DEV_USBCAN2 4 USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN

2.1.2. VCI_BOARD_INFO
Структура VCI_BOARD_INFO містить інформацію про пристрій інтерфейсної карти серії USB-CAN.
Структура буде заповнена у функції VCI_ReadBoardInfo.

WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис. 1

Член:
hw_Version
Номер версії обладнання, шістнадцяткове число. Наприклад, 0x0100 означає V1.00.
fw_Version
Номер версії обладнання, шістнадцяткове число. Наприклад, 0x0100 означає V1.00.
Сторінка 2
dr_Version

Номер версії драйвера, шістнадцяткове число. Наприклад, 0x0100 означає V1.00.
in_Version
Номер версії бібліотеки інтерфейсу, шістнадцяткове число. Наприклад, 0x0100 означає V1.00.
irq_Num
Система зарезервована.
can_Num
Відображає загальну кількість каналів CAN.
str_Serial_Num
Серійний номер цієї плати.
str_hw_Type
Тип апаратного забезпечення, наприклад «USBCAN V1.00» (Примітка: містить символ закінчення рядка «\0»).
Зарезервовано
Система зарезервована.
2.1.3. VCI_CAN_OBJ
У функціях VCI_Transmit і VCI_Receive структура VCI_CAN_OBJ використовується для передачі кадру повідомлення CAN.

Бібліотека функцій інтерфейсу адаптера шини WAVESHARE USB CAN - Мал

Член:
ID
Ідентифікатор повідомлення. Формат прямого ідентифікатора, вирівняний за правим краєм, див.: Додаток один: Деталі вирівнювання ідентифікатора.
Часamp
Отримання стamp інформація про часовий проміжок, час початку, коли контролер CAN ініціалізовано, одиниця 0 мс.
TimeFlag
В частині використання часу вулamp, 1 є ефективним TimeStamp. TimeFlag і TimeStamp мають значення лише тоді, коли отримано кадр.
SendType
Тип відправки. = 0 вказує на звичайний тип, = 1 вказує на одиночне надсилання.
RemoteFlag
Будь то дистанційний прапор. = 1 вказує на віддалений прапор, = 0 вказує на прапор даних.
ExternFlag
Чи це зовнішній прапор. = 1 вказує на зовнішній прапор, = 0 вказує на стандартний прапор.
DataLen
Довжина даних (<=8), тобто довжина даних.
Дані
Пакет даних.
Зарезервовано
Система зарезервована.
2.1.4. VCI_INIT_CONFIG
Структура VCI_INIT_CONFIG визначає конфігурацію ініціалізації CAN. Структура буде заповнена у функції VCI_InitCan.

WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис. 2

Член:
Код рахунку
Отримайте відфільтрований код прийняття.
AccMask
Отримайте маску-фільтр.
Зарезервовано
Зарезервовано.
фільтр
Спосіб фільтрації, що дозволяє налаштувати діапазон 0-3, див. розділ 2.2.3 таблиці режимів фільтра для деталей.
Час0
SJA1000 Параметр швидкості передачі даних, Timing0 (BTR0) .
Час1
SJA1000 Параметр швидкості передачі даних, Timing1 (BTR1) .
Режим
Режим роботи, 0 = нормальна робота, 1 = режим лише прослуховування, 2 = тестовий режим спонтанного прийому та надсилання.
Зауваження:
Про налаштування фільтра дивіться: Додаток II: Інструкції з налаштування параметрів CAN.
CAN Timing0 і Timing1 використовуються для встановлення швидкості передачі даних, ці два параметри використовуються лише під час ініціалізаціїtage.
Довідкова таблиця звичайних бод:

Швидкість передачі CAN Час0 (BTR0) Час1 (BTR1)
10 тис. біт/с 0x31 0x1C
20 тис. біт/с 0x18 0x1C
40 тис. біт/с 0x87 0xFF
50 тис. біт/с 0x09 0x1C
80 тис. біт/с 0x83 0xFF
100 тис. біт/с 0x04 0x1C
125 тис. біт/с 0x03 0x1C
200 тис. біт/с 0x81 0xFA
250 тис. біт/с 0x01 0x1C
400 тис. біт/с 0x80 0xFA
500 тис. біт/с 0x00 0x1C
666 тис. біт/с 0x80 0xB6
800 тис. біт/с 0x00 0x16
1000 тис. біт/с 0x00 0x14
33.33 Кбіт/с 0x09 0x6F
66.66 Кбіт/с 0x04 0x6F
83.33 Кбіт/с 0x03 0x6F
  1. Користувачам потрібно лише дотримуватися SJA1000 (16 МГц), щоб встановити параметр швидкості передачі даних.
  2. Адаптер тимчасово не підтримує швидкість передачі даних нижче 10 КБ.

2.2. ОПИС ФУНКЦІЙ
2.2.1. VCI_OpenDevice
Ця функція використовується для підключення пристроїв.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD Reserved);
Параметри:
DevType
Тип пристрою. Див.: Визначення типу пристрою адаптера.
DevIndex
Індекс пристрою, напрample, коли є лише один адаптер USB-CAN, номер індексу дорівнює 0, якщо є кілька адаптерів USB-CAN, номери індексів у порядку зростання, починаючи з 0.
Зарезервовано
Параметри збереження, заповніть 0.
Повернення:
Повернене значення = 1, що означає, що операція виконана успішно; = 0 вказує на невдачу операції; = -1 означає, що пристрій не існує.

WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис.3

2.2.2. VCI_CloseDevice
Ця функція використовується для закриття з'єднання.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Параметри:
DevType
Тип пристрою. Див.: Визначення типу пристрою адаптера.
DevIndex
Індекс пристрою, напрample, коли є лише один адаптер USB-CAN, номер індексу дорівнює 0, якщо є кілька адаптерів USB-CAN, номери індексів у порядку зростання, починаючи з 0.
Повернення:
Повернене значення = 1, що означає, що операція виконана успішно; = 0 вказує на невдачу операції; = -1 означає, що пристрій не існує.

WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис. 4

2.2.3. VCI_InitCan
Ця функція використовується для ініціалізації зазначеного CAN.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);

Параметри:
DevType
Тип пристрою. Див.: Визначення типу пристрою адаптера.
DevIndex
Індекс пристрою, напрample, коли є лише один адаптер USB-CAN, номер індексу дорівнює 0, якщо є кілька адаптерів USB-CAN, номери індексів у порядку зростання, починаючи з 0.
CANIndex
Індекс каналу CAN, наприклад, коли є лише один канал CAN, номер індексу дорівнює 0, якщо їх два, номер індексу може бути 0 або 1.
pInitConfig
Структура параметрів ініціалізації. Список параметрів учасників:

Член Функціональний опис
pInitConfig->AccCode AccCode і AccMask можуть працювати разом, щоб визначити, які пакети можна прийняти. Ці два регістри використовуються для встановлення ідентифікатора з вирівнюванням за лівим краєм, тобто старший біт (Bit31) AccCode та AccMask узгоджується зі старшим бітом значення ID.
pInitConfig->AccMask Про вирівнювання ID дивіться додатки: Додаток I:
Деталі вирівнювання ID.
Наприклад: якщо ви встановите значення AccCode як 0x24600000 (тобто 0x123 зсувається вліво на 21 біт), значення AccMask
встановлено значення 0x00000000, і тоді можуть прийматися лише пакети з ідентифікатором кадру повідомлення CAN 0x123 (значення AccMask 0x00000000 вказує на те, що всі біти релевантні
біти). Якщо значення AccCode встановлено на 0x24600000, значення AccMask встановлено на 0x600000 (0x03 зсувається вліво на 21 біт), і тоді можуть прийматися лише пакети з ідентифікатором кадру повідомлення CAN 0x120 ~ 0x123 (значення AccMask
0x600000 вказує, що крім біта 0 ~ біта 1 інші біти (біт 2 ~ біт 10) є відповідними бітами).
Примітка: Цей параметр фільтра напрampдо стандартної рамки, напрample, старший 11-біт є дійсним бітом; у випадку розширеного кадру, тоді дійсний ідентифікатор буде 29-бітним. AccCode і AccMask встановлюють високий 29-біт як дійсний біт!
pInitConfig->Reserved зарезервований
pInitConfig->Фільтр Параметри режиму фільтрації див. у розділі таблиці режимів фільтрації.
pInitConfig->Timing0 Налаштування швидкості передачі T0
pInitConfig->Timing1 Налаштування швидкості передачі T1
pInitConfig->Mode Режим роботи:
0-нормальна робота
1-режим лише прослуховування
2-тестовий режим спонтанного прийому та надсилання (це значення виключено з бібліотеки функцій ZLG)

Таблиця режимів фільтрації:

Значення Ім'я опис
1 Отримайте всі види Підходить як до стандартної, так і до подовженої рами!
2 Отримайте лише стандартну раму Підходить як до стандартної рами, так і до подовженої
кадр буде видалено фільтрацією безпосередньо!
3 Отримайте лише розширений кадр Підходить для розширеної рами, а стандартну рамку буде видалено
фільтрація безпосередньо! .

Повернення:
Повернене значення = 1, що означає, що операція виконана успішно; = 0 вказує на невдачу операції; = -1 означає, що пристрій не існує.
напр

WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис. 4

WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис. 6

2.2.4. VCI_ReadBoardInfo
Ця функція використовується для читання інформації про апаратне забезпечення адаптера. Загалом, на це можна не звертати уваги.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Параметри:
DevType
Тип пристрою. Див.: Визначення типу пристрою адаптера.
DevIndex
Індекс пристрою, напрample, якщо є лише один адаптер USB-CAN, номер індексу дорівнює 0, якщо є кілька адаптерів USB-CAN, номери індексів у порядку зростання, починаючи з 0. pInfo
VCI_BOARD_INFO використовується для зберігання покажчика структури інформації про пристрій.
Повернення:
Повернене значення = 1, що означає, що операція виконана успішно; = 0 вказує на невдачу операції; = -1 означає, що пристрій не існує.

WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис. 7

2.2.5. VCI_GetReceiveNum
Ця функція використовується для визначення отриманих, але не прочитаних кадрів у призначеному приймальному буфері.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Параметри:
DevType
Тип пристрою. Див.: Визначення типу пристрою адаптера.
DevIndex
Індекс пристрою, напрample, коли є лише один адаптер USB-CAN, номер індексу дорівнює 0, якщо є кілька адаптерів USB-CAN, номери індексів у порядку зростання, починаючи з 0.
CANIndex
Індекс каналу CAN.
Повернення:
Повертає кадри, які ще не були прочитані.
напр
#include “ControlCan.h” int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
Ця функція використовується для очищення буфера прийому та надсилання призначеного каналу, визначеного
Адаптер USB-CAN.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Параметри:
DevType
Тип пристрою. Див.: Визначення типу пристрою адаптера.
DevIndex
Індекс пристрою, напрample, коли є лише один адаптер USB-CAN, номер індексу дорівнює 0, якщо є кілька адаптерів USB-CAN, номери індексів у порядку зростання, починаючи з 0.
CANIndex
Індекс каналу CAN.
Повернення:
Повернене значення = 1, що означає, що операція виконана успішно; = 0 вказує на невдачу операції; = -1 означає, що пристрій не існує.

WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис. 8

2.2.7. VCI_StartCAN
Ця функція використовується для запуску контролера CAN і внутрішньої функції прийому переривань адаптера.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Параметри:
DevType
Тип пристрою. Див.: Визначення типу пристрою адаптера.
DevIndex
Індекс пристрою, напрample, коли є лише один адаптер USB-CAN, номер індексу дорівнює 0, якщо є кілька адаптерів USB-CAN, номери індексів у порядку зростання, починаючи з 0.
CANIndex
Індекс каналу CAN.
Повернення:
Повернене значення = 1, що означає, що операція виконана успішно; = 0 вказує на невдачу операції; = -1 означає, що пристрій не існує.

WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис. 9

2.2.8. VCI_ResetCAN
Ця функція використовується для скидання контролера CAN.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Параметри:
DevType
Тип пристрою. Див.: Визначення типу пристрою адаптера.
DevIndex
Індекс пристрою, напрample, коли є лише один адаптер USB-CAN, номер індексу дорівнює 0, якщо є кілька адаптерів USB-CAN, номери індексів у порядку зростання, починаючи з 0.
CANIndex
Індекс каналу CAN.
Повернення:
Повернене значення = 1, що означає, що операція виконана успішно; = 0 вказує на невдачу операції; = -1 означає, що пристрій не існує.

WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис. 10

2.2.9. VCI_Transmit
Ця функція використовується для надсилання кадру повідомлення CAN.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Параметри:
DevType
Тип пристрою. Див.: Визначення типу пристрою адаптера.
DevIndex
Індекс пристрою, напрample, коли є лише один адаптер USB-CAN, номер індексу дорівнює 0, якщо є кілька адаптерів USB-CAN, номери індексів у порядку зростання, починаючи з 0.
CANIndex
Індекс каналу CAN. pSend
Перша адреса масивів кадрів даних, які потрібно надіслати.
Довжина
Кількість кадрів даних, які потрібно надіслати, максимальна кількість – 1000, рекомендоване значення – 48 на високій швидкості.
Повернення:
Повертає фактичну кількість уже надісланих кадрів, значення = -1 вказує на помилку пристрою.
напр
WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис. 11

WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис. 12

2.2.10. VCI_Receive
Ця функція використовується для запиту прийому.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Параметри:
DevType
Тип пристрою. Див.: Визначення типу пристрою адаптера.
DevIndex
Індекс пристрою, напрample, коли є лише один адаптер USB-CAN, номер індексу дорівнює 0, якщо є кілька адаптерів USB-CAN, номери індексів у порядку зростання, починаючи з 0.
CANIndex
Індекс каналу CAN.
pReceive
Для отримання першого встановленого покажчика кадрів даних.
лен
Довжина масиву кадру даних має бути більше 2500, щоб повернути нормальне повідомлення.
В іншому випадку довжина поверненого значення дорівнюватиме нулю незалежно від того, отримано повідомлення чи ні. адаптер встановив буфер на 2000 кадрів для кожного каналу. На основі власної системи та робочого середовища користувач може вибрати відповідну довжину масиву з 2500.
Час очікування зарезервовано.
Повернення:
Повертає кількість фактично прочитаних кадрів, -1 вказує на помилки пристрою.
напр
WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис. 13

ЧАСТИНА ТРЕТЯ ІНШІ ФУНКЦІЇ ТА СТРУКТУРА ДАНИХ

У цьому розділі описано інші типи даних і функції несумісної бібліотеки інтерфейсу ZLG, яка міститься в бібліотеці інтерфейсу адаптера USB-CAN ControlCAN.dll. Будь ласка
не викликайте ці функції, якщо використовуєте сумісну модель ZLG для вторинної розробки, щоб не вплинути на сумісність.
3.1 ОПИС ФУНКЦІЙ
3.1.1. VCI_UsbDeviceReset
Скинути адаптер USB-CAN, потрібно повторно відкрити пристрій після скидання за допомогою VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD Reserved
Параметри:
DevType
Тип пристрою. Див.: Визначення типу пристрою адаптера.
DevIndex
Індекс пристрою, напрample, коли є лише один адаптер USB-CAN, номер індексу дорівнює 0, якщо є кілька адаптерів USB-CAN, номери індексів у порядку зростання, починаючи з 0.
Зарезервовано Зарезервовано.
Повернення:
Повернене значення = 1, що означає, що операція виконана успішно; = 0 вказує на невдачу операції; = -1 означає, що пристрій не існує.

WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис. 14

bRel = VCI_UsbDeviceReset(nDeviceType, Independence, 0);
3.1.2. VCI_FindUsbDevice2
Якщо на одному ПК використовується кілька USB-CAN, користувач може використовувати цю функцію для пошуку поточного пристрою.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Параметри:
pInfo
pInfo використовується для зберігання параметрів покажчика адреси першого буфера даних.
Повернення
Поверніть номер адаптера USB-CAN, підключеного до комп’ютера.

WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис. 15

Частина четверта Функції бібліотеки інтерфейсів, що використовують процес
Щоб розширити функції пристрою, ми надали додаткові функції (функції, виділені зеленим фоном), ці функції включають: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Під час другої розробки ці функції не обов’язково повинні бути викликані. Навіть якщо ці функції ігноруються, усі функції адаптера USB-CAN можна досягти.

WAVESHARE USB CAN Bus Interface Adapter Interface Бібліотека функцій інтерфейсу – рис. 16

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

Документи / Ресурси

Бібліотека функцій інтерфейсу адаптера шини WAVESHARE USB-CAN [pdfІнструкція з експлуатації
USB-CAN Бібліотека функцій інтерфейсу адаптера шини, USB-CAN, Бібліотека функцій інтерфейсу адаптера шини, Бібліотека функцій інтерфейсу, Бібліотека функцій

Список літератури

Залиште коментар

Ваша електронна адреса не буде опублікована. Обов'язкові поля позначені *