Главная » Электроника для авто
Призовой фонд
на август 2017 г.
1. Регулируемый паяльник 60 Вт
Паяльник
2. Тестер компонентов LCR-T4
Паяльник
3. 350 руб.
От пользователей

Похожие статьи:


Преобразователь шины интерфейса 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 МикросхемаNUC140LC1CN1 Поиск в FivelВ блокнот
IC2 МикросхемаTJA1051T1 Поиск в FivelВ блокнот
D1 СветодиодЗеленый1 Поиск в FivelВ блокнот
D2 СветодиодЖелтый1 Поиск в FivelВ блокнот
D3 СветодиодКрасный1 Поиск в FivelВ блокнот
С1, С6 Конденсатор10 мкФ2 Поиск в FivelВ блокнот
С2, С3, С7, С8 Конденсатор0.1 мкФ4 Поиск в FivelВ блокнот
С4, С5 Конденсатор20 пФ2 Поиск в FivelВ блокнот
R1, R2 Резистор
100 Ом
2 Поиск в FivelВ блокнот
R3 Резистор
10 кОм
1 Поиск в FivelВ блокнот
R4-R6 Резистор
330 Ом
3 Поиск в FivelВ блокнот
Х1 Кварцевый резонатор12 МГц1 Поиск в FivelВ блокнот
J1 USB-разьем1 Поиск в FivelВ блокнот
J2 Разьем5-выводов1 Поиск в FivelВ блокнот
J3 Разьем3-вывода1 Поиск в FivelВ блокнот
JP1 Разьем2-вывода1 Поиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

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

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

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (1) | Я собрал (0) | Подписаться

+1
Zlodey #
Почему не использовали STM32?
-дешевле,
-доступнее,
-на борту аппаратный USART-загрузчик (актуально для повторения устройства, один раз прошил через шнурок, и забыл)
Отредактирован 26.08.2015 13:42
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

USB-реле (2 канала)
USB-реле (2 канала)
200 Вт усилитель класса D на IRS2092 Мультиметр Mastech MS8239C
вверх