====== Iskra JS: подключение, настройка, распиновка и схемы ======
Платформа [[amp>product/iskra-js?utm_source=man&utm_campaign=iskra-js&utm_medium=wiki|Iskra JS]] — управляющая плата с микроконтроллером, которую программируют на JavaScript.
{{ :js:iskra_js:iskra-js.2.1.jpg |}}
===== Видеообзор =====
{{youtube>8I2uaj6vzyY?large}}
===== Подключение и настройка =====
Для работы с платой Iskra JS добавьте и настройте в Google Chrome среду программирования [[http://wiki.amperka.ru/js:ide|Espruino Web IDE]].
Устанавливайте именно Espruino Web IDE. Ранее для работы использовалась среда Iskra IDE, которая была ответвлением от оригинальной Espruino.
==== Что-то пошло не так? ====
[[js:ide:driver-error|Не работает плата Iskra JS]]
===== Элементы платы =====
{{ :js:iskra_js:iskra-js_annotation.png?nolink |}}
==== Микроконтроллер STM32F405RG ====
Сердце платформы Iskra JS — 32-разрядный микроконтроллер STM32F405RG от STMicroelectronics с вычислительном ядром ARM Cortex M4.
==== Разъём micro-USB ====
Разъём micro-USB предназначен для прошивки платформы Iskra JS с помощью компьютера.
==== Разъём для внешнего питания ====
Разъём для подключения внешнего питания. Дублирует пин ''VIN''.
==== Выбор питания ====
Джампер определяет, как осуществляется преобразование входного напряжения. Он может быть установлен в одном из двух положений:
* ''VIN3+5V'' — внешнее питание сначала проходит регулятор на 5 В, а он в свою очередь питает регулятор на 3,3 В. Работают обе шины: 5V и 3.3V. Допустимое входное напряжение в этом случае — от 7 до 15 вольт.
* ''VIN3+VIN'' — внешнее питание сразу подаётся на регулятор 3,3 В. Шина 5V не используется для получения 3,3 В. Допустимое входное напряжение — от 3,6 до 12 вольт. Используйте это положение, чтобы питать схему от одного Li-Ion аккумулятора.
==== Регулятор напряжения 5 В ====
Когда плата подключена к внешнему источнику питания, и джампер выбора питания установлен в положении ''VIN3+5V'', напряжение проходит через стабилизатор MC7805BD. Выход стабилизатора соединён с пином 5V. Максимальный выходной ток составляет 1000 мА.
==== Регулятор напряжения 3,3 В ====
Стабилизатор MC33275ST с выходом 3,3 вольта, обеспечивает питание микроконтроллера STM32F405RG. Максимальный выходной ток составляет 300 мА.
==== Светодиодная индикация ====
^ Имя светодиода ^ Назначение ^
| BUSY | Информационный светодиод. Загорается, когда плата выполняет действия. |
| LED1 | Светодиод свободного назначения.|
| ON |Информационный светодиод о наличии питания на микроконтроллере.|
==== Кнопка RESET ====
Служит для сброса микроконтроллера. Это аналог кнопки ''RESET'' обычного компьютера.
==== Кнопка BTN1 ====
Пользовательская кнопка подключенная к пину ''C4''.
==== Разъём SPI ====
Некоторые платы расширения работают через интерфейс SPI. По стандарту Arduino R3 разъём SPI должен быть выведен в виде разъёма 3×2 штырька в этом месте. Iskra JS следует этому стандарту.
SPI-разъем не предназначен для внутрисхемного программирования микроконтроллера STM32F405RG и может использоваться только для связи с другими SPI-устройствами.
==== Разъём SWD ====
SWD-разъём предназначен для внутрисхемного программирования микроконтроллера STM32F405RG через программатор, например, ST-Link.
==== Пин BOOT0 ====
Если замкнуть эту пару пинов, плата загрузится в DFU-режиме. Это позволит перепрошить микроконтроллер без программатора, через USB.
===== Распиновка =====
{{ :js:iskra_js:pinout.png?nolink |}}
\\
{{:js:iskra_js:iskra-pin.png?nolink|}} — GPIO-пин на Iskra JS. Под этим именем вы можете обратиться к пину из программы.
{{:js:iskra_js:mcu-pin.png?nolink|}} — соответствующий пин на микроконтроллере STM32F405RG.
{{:js:iskra_js:pwr-pin.png?nolink|}} — пин питания.
{{:js:iskra_js:pwm-pin.png?nolink|}} — пин может генерировать [[:конспект-arduino:шим|ШИМ-сигнал]].
{{:js:iskra_js:adc-pin.png?nolink|}} — пин подключён к АЦП микроконтроллера, т.е. может считывать [[:сенсоры:аналоговые|аналоговый сигнал]].
{{:js:iskra_js:dac-pin.png?nolink|}} — пин подключён к ЦАП микроконтроллера, т.е. может генерировать аналоговый сигнал.
{{:js:iskra_js:ftv-pin.png?nolink|}} — пин толерантен к 5 вольтам, т.е. выдерживает входной сигнал с напряжением, превышающим штатные 3,3 вольта.
{{:js:iskra_js:spi-pin.png?nolink|}} — пин подключён к аппаратному интерфейсу [[SPI|SPI]]. ''SPI2'' также доступен в программе под псевдонимом ''PrimarySPI''.
{{:js:iskra_js:i2c-pin.png?nolink|}} — пин подключён к аппаратному интерфейсу [[I2C|I²C]]. ''I2C1'' доступен под псевдонимом ''PrimaryI2C''.
{{:js:iskra_js:usart-pin.png?nolink|}} — пин подключён к аппаратному интерфейсу [[Serial|UART/USART]]. ''USART3'' доступен под псевдонимом ''PrimarySerial''.
На платах с компоновкой «xDuino Rev3» по одному интерфейсу SPI, I²C, UART, физически расположенных на определённых пинах, условно считаются основными. Через них обычно работают платы расширения. Для удобства программирования этим интерфейсам даны альтернативные имена вида ''Primary***''
===== Принципиальная и монтажная схемы =====
{{:js:iskra_js:iskra_js-a11-schematic.png?direct&360 |}}
{{:js:iskra_js:iskra_js-a11-layout-n.png?direct&300 |}}
===== Характеристики =====
* Микроконтроллер: STM32F405RG (32-битный ARM Cortex M4)
* Тактовая частота: 168 МГц
* Объём флеш-памяти: 1024 КБ
* Объём флеш-памяти для хранения программы: 256 КБ
* Объём SRAM: 192 КБ
* Портов ввода-вывода всего: 26
* Портов с АЦП: 12
* Разрядность АЦП: 12 бит (4096 градаций)
* Портов с ЦАП: 2
* Разрядность ЦАП: 12 бит (4096 градаций)
* Портов с ШИМ: 22
* Портов толерантных к 5 В: 11
* Аппаратных интерфейсов SPI: 2
* Аппаратных интерфейсов I²C / TWI: 3
* Аппаратных интерфейсов UART / Serial: 4
* Номинальное рабочее напряжение: 3,3 В
* Максимальный ток с шины 5V: 1000 мА
* Максимальный ток с шины 3.3V: 300 мА (включая питание микроконтроллера)
* Максимальный ток с пина или на пин: 25 мА
* Максимальный суммарный ток с пинов или на пины: 240 мА
* Допустимое входное напряжение от внешнего источника: 7–15 В (3,6–12 В без шины 5V)
* Рабочий температурный режим: −20…+70 °C
===== Ресурсы =====
* [[amp>product/iskra-js?utm_source=man&utm_campaign=iskra-js&utm_medium=wiki|Iskra JS]] в магазине.
* [[js:start|JavaScript в микроконтроллере]] — все справочные материалы.
* [[https://github.com/amperka/Espruino/tree/iskrajs|Исходные файлы JavaScript-ядра Espruino]].