Перетворювач шини інтерфейсу CAN на USB

Цей проект призначений для виготовлення простого пристрою для моніторингу шини CAN. Я вибрав мікропроцесор NUC140LC1CN 32K Cortex-M0 з однієї головної причини – він має периферійні блоки USB і CAN.

Характеристики проекту

  • Простота розробки
  • Сумісність з протоколом LAWICEL CANUSB
  • Моніторинговий пристрій відображається як USB FTDI пристрій
  • Підтримка 11-бітних CAN 2.0A і 29-бітних CAN 2.0B кадрів
  • Наявність внутрішнього буфера повідомлень FIFO CAN
  • Живлення від USB порту
  • Завантажувач, що зберігається в пам'яті USB запам'ятовуючого пристрою, для оновлень мікропрограми
  • Мікропрограма, яка доступна для завантаження

Схемне рішення

Для дозволу периферійному блоку NUC140 CAN з'єднуватися з шиною CAN необхідна наявність приймач-передавача CAN. Для цієї мети найбільш підходить мікросхема TJA1051T від компанії NXP. Блок NUC140 може працювати від джерела живлення напругою 5В. Тому немає необхідності у використанні додаткового стабілізатора напруги на 3.3В. Це дозволяє значно спростити задачу реалізації інтерфейсу шини CAN. У схемі передбачено три світлодіодних індикатора стану:

  • D1 – індикатор стану USB з'єднання з хостом
  • D2 відображає активність шини CAN
  • D3 відображає помилки інтерфейсу CAN

NUC140 не має вбудованого завантажувача і єдиним способом його запрограмувати - використовувати інтерфейс ARM Serial Wire Debug (SWD) (коннектор J2) і програматор Nuvoton ICP. Ну і звісно, якщо завантажувач вже заздалегідь запрограмований, то його можна активувати. Для цієї мети необхідно використовувати джампер JP1. Використання джампера JP1 перед подачею живлення на інтерфейс призведе до запуску завантажувача.

Завантажувач

Флеш-пам'ять NUC140LC1 поділена на дві секції. Одна з них призначена для виконання коду користувацької програми (APROM) розміром 32K, а інша для завантажувача (LDROM). Розмір LDROM лише 4K, що ускладнює створення повнофункціонального USB завантажувача. Я використав завантажувач, розміщений на запам'ятовуючому пристрої (MSD), наданий Nuvoton. Встановлення джампера JP1 запускає виконання завантажувача. В результаті знімний диск буде відображатися у файловій системі хоста розміром 32 кБ. Просто скопіюйте і вставте або перетягніть та опустіть оновлення мікропрограми CAN-USB на диск завантажувача. Від'єднайте USB кабель, зніміть джампер і знову підключіть кабель. Тепер повинна виконуватися оновлена мікропрограма.

Програмування інтерфейсу CAN-USB і NuTiny-SDK-140

Для програмування процесора NUC140 знадобиться програматор Nu-Link від Nuvoton і програмне додаток Nuvoton ICP. Але замість нього я вирішив використовувати демонстраційну плату NUC140 (NuTiny-SDK-140), доступну від Digi-Key. Вона має дві частини, частину з мікросхемою NUC140 та власне програматор Nu-Link. Плата рівномірно перфорована, що дозволяє від'єднати частину Nu-Link. Насправді ви можете виготовити даний пристрій виключно на демонстраційній платі NuTiny-SDK-140, додавши лише додаткову мікросхему приймач-передавача CAN.

При підключенні Nu-Link процес програмування NUC140 стає нескладним. Ключовим питанням є вибір завантаження з LDROM замість APROM (у налаштуваннях Config) для забезпечення функціонування USB завантажувача.

Програмне забезпечення

Інтерфейс CAN-USB сумісний з протоколом LAWICEL CANUSB і буде працювати з додатками, призначеними для цього протоколу. Я протестував два додатки з інтерфейсом CAN-USB:

CANHacker V2.00.02

Це безкоштовне додаток CANHacker. Я не зміг знайти посібник користувача для цього додатка. Проте воно досить просте і інтуїтивно зрозуміле у використанні.

CAN Monitor Pro V2.2

Дане додаток розроблено wgsoft.de. Зверніть увагу, що даний сайт розробника в основному німецькою мовою.

Дизайн друкованої плати

Список радіоелементів

Обозначення Тип Номінал Кількість Примітка
IC1 Мікросхема NUC140LC1CN 1
IC2 Мікросхема TJA1051T 1
D1 Світлодіод Зелений 1
D2 Світлодіод Жовтий 1
D3 Світлодіод Червоний 1
С1, С6 Конденсатор 10 мкФ 2
С2, С3, С7, С8 Конденсатор 0.1 мкФ 4
С4, С5 Конденсатор 20 пФ 2
R1, R2 Резистор
100 Ом
2
R3 Резистор
10 кОм
1
R4-R6 Резистор
330 Ом
3
Х1 Кварцовий резонатор 12 МГц 1
J1 USB-роз'єм 1
J2 Роз'єм 5-виїздів 1
J3 Роз'єм 3-виїздів 1
JP1 Роз'єм 2-виїздів 1

Оригінал статті

Прикреплені файли:

Top