"Разрабатывать firmware без устройства - это то же, что лепить скульптуру по фотографии."

В этой заметке я произвел обзор учебно-треннировочной электронной платы JZ-F407VET6 с микроконтроллером STM32F407VET6 на борту.

Трудность в том, что при покупке JZ-F407VET6 на Ozone нет схемотехники. И мне пришлось упорно потрудиться, чтобы отыскать в интернете на эту PCB хоть какую-н мало-мальскую документацию и электрическую цепь на JZ-F407VET6. Результат представлен в тексте. Но обо всем по-порядку.

Внешний вид платы таков. Приятная синяя пластинка. С помощью этой малютки Вы сможете сделать свои первые шаги в написании и отладке настоящих микропрограмм.

 JZ-F407VET6  в натуре
JZ-F407VET6 в натуре

Плата размером ровно с две кредитные карты.

Устройство весьма хорошо нафаршировано периферией. Блок-схема PCB выглядит так

Ключевые микросхемы из перечня элементов (BOM) тут такие

Распиновка MCU выводов

PCB находится по названию микроконтроллера STM32F407VET6.

Достоинства PCB JZ-F407VET6
++Есть отверстия 3мм по углам. Можете взять отвертку привинтить PCB к какому-н агрегату и использовать плату, как бортовую вычислительную аппаратуру.
++Шелкография позволяет удобно ориентироваться по площади пластинки.
++Пин для отладки PLL PA8 MCO1 удобно выведен на PLD разъем P5.4.


++По крайней мере две лампочки (PE13 и PE14) удачно выведены на аппаратный PWM.

Можно регулировать их яркость аппаратно без замедления исполнения кода.

++PA4 (DAC_OUT1) PA5 (DAC_OUT2) удачно выведены на PLD разъём P4.6 P4.3 соответственно. Это позволяет отлаживать прошивки осциллографом отображая содержимое конкретной переменной в DAC пин.

++Заложен интерфейс RS232 (UART1) для возможной отладки через консоль управления (shell).


++Все компоненты в верхнем слое
++Кнопка S4 для MCU HW reset. Плюс 3 пользовательские кнопки.

 
++Часы реального времени RTC с батареей CR1220


++GPIO выходящие на PLD разъём
++Присутствуют два CAN трансивера,

++Заложено 16MByte SPI NOR Flash памяти и отдельно 256 I2C EERPOM для серийного номера .

++ Вмонтирован Ethernet в исполнении DP83848IVV от Texas Instruments. Это IEEE 802.3u (10BASE-T и 100BASE-TX).

++Заложен гараж для SD micro карты памяти J2.

++Заложено два USB порта: Host и device.

++Заложен RS485-трансивер для подключения промышленного оборудования

++Удобный интерфейс JTAG для пошаговой отладки и RTT.



Недостатки PCB JZ-F407VET6
1--Интерфейсы никак не защищены: ни супрессоров, ни разрядников. По питанию тоже никаких защит. Даже на USB пожалели поставить какой -нибудь ESD компонент.
2--Острые углы без фасок.
3--В выбранном МК нет аппаратного крипто модуля. Хотелось бы увидеть какой-н STM32F415xx
4--На SD карту не заходит аппаратного SPI. Только SDIO.

5--Мало LEDов. Всего три. Все красные. Хотелось бы 5 LEDов. Место на PCB позволяет.
6--Около microSD нет крупного конденсатора, который бы не помешал, в процессе работы карточка может потреблять серьёзные импульсные токи.
7--Как по мне, ненужный и громоздкий RS232. Достаточно просто UART вывести на PLD.
8--Хотелось бы программировать через разъём Tag-Connect и по интерфейсу SWD. Зачем на таких платах ставят полноразмерный JTAG? JTAG-20 пинов, SWD - 6 пинов. Для полноценной отладки ARM Cortex - ядерных микроконтроллеров достаточно SWD: GND и 4 сигнальных проводов: SWD, SWC, Reset, SWO, причём последние 2 нужны далеко не всегда.

9-- Нет PLD пина 5 вольт для подключения питания внешних модулей.

Надеюсь, что у этой твердотельной электронной платы будут новые ревизии, учитывающие многочисленные пожелания трудящихся.

Идеи учебных проектов на основе PCB JZ-F407VET6 :
--Переходник с USB на CAN.
--Аппаратный менеджер паролей
--Медиа конвертор с 100Base-TX на CAN
--Преобразователь с USB на RS485
--USB Flash-ка
--SD Card Reader


Итоги

Надеюсь кому-нибудь пригодится PCB JZ-F407VET6 для обучения, прототипирования и отладки программных компонентов. Сложно найти что-то похожее. Это настоящая народная электронная парта для обучения программированию микроконтроллеров.

Ссылки

Название

URL

Аналитика по PCB: BOM, WireTable

https://docs.google.com/spreadsheets/d/1B8NtdEGcoOGraCgoRHgIbni_forendMX4anhD_ZhTGg/edit?gid=0#gid=0

STM32. Процесс компиляции и сборки прошивки @andreyzaostrovnykh

https://habr.com/ru/companies/timeweb/articles/793152/

JZ-F407VET6 code

https://github.com/art103/JZ-F407VET6

STM32 + GCC + CMake + Win10

https://habr.com/ru/articles/1019118/

Атрибуты Xорошей PCB

https://habr.com/ru/articles/655879/

Сканирование шины RS485

https://habr.com/ru/articles/752292/

Подключение SD карты по SPI (Капсула памяти)

https://habr.com/ru/articles/974076/

CLI через Segger J-Link RTT на ARM Cortex-M

https://habr.com/ru/articles/1018168/

Сборка прошивки STM32 компилятором IAR при помощи GNU Make скрипта (IAR+Make=CI/CD)

https://habr.com/ru/articles/1010484/

Пуск DWT Таймера на ARM Cortex-M (или Ядерный Таймер)

https://habr.com/ru/articles/1005622/

Типовая разметка памяти STM32F4

https://habr.com/ru/articles/1001268/

Пошаговая GDB отладка прошивки STM32 из консоли cmd

https://habr.com/ru/articles/979122/

ARM Cortex-M: пуск Memory Рrotection Unit (MPU)

https://habr.com/ru/articles/950298/

ARM Cortex-M: Исполнение кода из RAM памяти

https://habr.com/ru/articles/935360/

Основы по GNU Make

https://habr.com/ru/articles/748162/

Обзор платы Black Pill V2.0

https://habr.com/ru/articles/745580/

Пошаговая GDB отладка ARM процессора из консоли в Win10

https://habr.com/ru/articles/694708/

Настройка ToolChain(а) для Win10+GCC+С+Makefile+ARM Cortex-Mx+GDB

https://habr.com/ru/articles/673522/

Переходник с USB на CAN из Отладочной Платы JZ-F407VET6

https://habr.com/ru/articles/988688/

Что должно быть на каждой PCB с STM32 @danil_12345

https://habr.com/ru/articles/979482/

JZ-F407VET6 schematic

https://github.com/seelpro/JZ-F407VET6/tree/main

Ссылка на покупку

https://aliexpress.ru/item/1005009621108167.html?spm=a2g2w.orderdetail.0.0.9a254aa6dtJXg0&sku_id=12000049658849814

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
У Вас есть PCB JZ-F407VET6?
33.33%да10
66.67%нет20
Проголосовали 30 пользователей. Воздержавшихся нет.