Краткое описание
VOSTOK UNO-VN035 — российская программно-аппаратная платформа быстрой разработки электронных устройств, спроектированная и производимая ДЦ «Восток» (г.Владивосток), на основе российского 32-разрядного RISC микроконтроллера 1921ВК035 производства АО «НИИЭТ» («МК») и другой российской электронной компонентной базе.
VOSTOK UNO-VN035 предназначена для изучения основ программирования
микроконтроллеров, прототипирования и отладки встраиваемых систем, а также может
использоваться в образовательных и соревновательных целях, например, робототехнических
олимпиадах и соревнованиях, робототехнических кружках и обучающих программах, курсов по
радиоэлектронике и программированию в ВУЗах.
Данная аппаратная платформа характеризуется pin-to-pin совместимостью с
существующими платами расширения для оригинальной платформы Arduino UNO с
возможностью подключения модулей расширения платформы Arduino.
Функциональные возможности
Микроконтроллер | 1921ВК035 (АО «НИИЭТ») |
Архитектура контроллера | RISC 32 бит |
ОЗУ (SRAM) | 16 КБ |
ПЗУ (FLASH) | 64 КБ |
Аналого-цифровой преобразователь (АЦП) | 4 канала, 12 бит, 1 Мвыб/с |
Опорный источник тактового сигнала, МГц | 16 |
Количество линий I/O | 20 |
Интерфейс USB-UART | Есть |
Напряжение внешнего питания, В | От +6.5 В до +12 В |
Максимальный ток на GPIO, мА | 1 |
Геометрические размеры | 68.6 мм x 53.4 мм |
(Нажмите, чтобы увидеть в полном размере)
VOSTOK UNO-VN035 поддерживает 20 цифровых контактов ввода/вывода общего назначения, из которых 10 могут быть назначены для работы в альтернативных режимах, таких как выходы широтно-импульсного модулятора (ШИМ) — 6 контактов и входы аналого-цифрового преобразователя (АЦП) — 4 контакта.
Каждый из 20 цифровых выводов VOSTOK UNO может быть настроен как вход или выход с логическим уровнем сигнала 3.3В или 5В (выбирается с помощью переключателя на плате).
Доступные на плате интерфейсы и функции:
- Два асинхронных последовательных интерфейса UART: UART0 и UART1. Выводы интерфейса UART0 D0 и D1 подключены к микросхеме преобразователю USB-to-TTL и используются для программирования МК через встроенный загрузчик;
- Интерфейс I2C подключен к выводам D18 и D19;
- 6 выходов с функцией ШИМ;
- SPI подключен к выводам D10 - D13;
- 4 аналоговых входа АЦП 12 бит, 1 Мвыб/с;
- один пользовательский светодиод подключен к выводу D13;
- одна пользовательская кнопка подключена к выводу МК А6.
VOSTOK UNO может иметь несколько источников питания, таких как подключение USB или внешний источник питания (батарейка/адаптер). При этом источник питания детектируется автоматически, приоритет отдается внешнему источнику. Для подключения питания на плате имеются разъем micro-USB, а также разъем DC Barrel Jack 2.1mm с положительным контактом в центре и вывод VIN.
В качестве внешнего источника может использоваться блок питания AC-DC или батарейные элементы питания. Рекомендуемый диапазон внешнего источника от 6.5В до 12В с током от 400 мА и выше.
Совместимость с оригинальной платформой Arduino UNO
На данной аппаратной платформе обеспечена pin-to-pin-совместимость с существующими платами расширения для оригинальной платформы Arduino UNO.
VOSTOK UNO имеет незначительные отличия от оригинальной платформы Arduino UNO:
- Отсутствует возможность ввода аналоговых сигналов на выводах A4 и A5;
- Отсутствует возможность подключения внешнего опорного напряжения АЦП;
- Наличие второго интерфейса UART;
- Наличие пользовательской кнопки.
Программирование
Микроконтроллер, установленный на печатной плате аппаратной платформы, может быть запрограммирован посредством стандартного ПО, совместимого с платформой Arduino, например, Arduino IDE или PlatformIO, которые являются кроссплатформенными и поддерживаются большинством ОС Windows, Macintosh OSX и Linux. Платформа VOSTOK UNO-VN035 поставляется с уже записанным в память МК загрузчиком, упрощающим загрузку новых программ без использования внешних программаторов. Также имеется возможность не использовать загрузчик, а выполнять программирование и отладку по интерфейсу SWD.
- Для написания прошивки используются стандартные функции платформы Arduino (digitalWrite, pinMode и тд.)
- Большинство библиотек, написанных для оригинальной Arduino, которые не используют прямого доступа к регистрам МК, могут использоваться «как есть», то есть без изменений в их исходном коде.
Пример кода мигания встроенным светодиодом:
#include <Arduino.h>
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000);
// wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000);
// wait for a second
}
Установка PlatformIO
- Установите Visual Studio Code
- Установите расширение PlatformIO для VSCode.
- Скачайте репозиторий DCVostok/vostok-1-frmwrk-vn-arduino и распакуйте.
- С помощью VSCode откройте папку с примером проекта Blink (находится по пути examples/Platformio/Blink)
- Дождитесь, пока PlatformIO закончит подготовку проекта и скачает все нужные зависимости. Процесс
должен завершиться. (Для ОС Windows в системе должен быть установлен Git. Возможно потребуется авторизация с помощью своего аккаунта на Github.)
- Скомпилируйте проект с помощью кнопки «Build»
Использование PlatformIO
- Компиляция проекта выполняется с помощью кнопки «Build»
- Загрузить прошивку в плату можно с помощью кнопки «Upload»
- Монитор порта открывается с помощью кнопки «Monitor»
- Конфигурируется проект с помощью файла проекта «platformio.ini»
- Пример конфигурации:
[env:Vostok_uno]
platform = k1921vk #Используется платформа для МК серии К1921ВК
board = vostok_uno_vn035 # Используется плата VOSTOK UNO-VN035
framework = arduino
upload_port = COM11 # COM порт для загрузки прошивки
monitor_port = COM11 # COM порт для монитора порта
monitor_speed = 115200 # Скорость для монитора порта
platform_packages = framework-k1921vk-arduino @
https://github.com/DCVostok/vostok-1-frmwrk-vn-arduino#main - Более детальную информацию об PlatformIO и конфигурационном файле можно узнать на их сайте(«platformio.ini» (Project Configuration File) — PlatformIO latest documentation).
- Сторонние библиотеки загружаются либо с помощью раздела PlatformIO libraries или вручную скачивается архив с библиотекой и распаковывается в папку lib текущего проекта.