"Разрабатывать firmware без устройства - это то же, что лепить скульптуру по фотографии."
В этой заметке я произвел обзор учебно-треннировочной электронной платы JZ-F407VET6 с микроконтроллером STM32F407VET6 на борту.
Трудность в том, что при покупке JZ-F407VET6 на Ozone нет схемотехники. И мне пришлось упорно потрудиться, чтобы отыскать в интернете на эту PCB хоть какую-н мало-мальскую документацию и электрическую цепь на JZ-F407VET6. Результат представлен в тексте. Но обо всем по-порядку.
Внешний вид платы таков. Плата размером ровно с две кредитные карты. Приятная синяя пластинка. С помощью этой малютки Вы сможете сделать свои первые шаги в написании и отладке настоящих микропрограмм.

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

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


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
--Острые углы без фасок.
--В выбранном МК нет аппаратного крипто модуля. Хотелось бы увидеть какой-н STM32F415xx
--На SD карту не заходит аппаратного SPI. Только SDIO.

--Мало LEDов. Всего три. Все красные. Хотелось бы 5 LEDов. Место на PCB позволяет.
--Как по мне, ненужный и громоздкий RS232. Достаточно просто UART вывести на PLD.
--Хотелось бы программировать через разъём Tag-Connect.
Идеи учебных проектов на основе PCB JZ-F407VET6 :
--Переходник с USB на CAN.
--Аппаратный менеджер паролей
--Медиа конвертор с 100Base-TX на CAN
--Переходник с USB на RS485
--USB Flash-ка
--CardReader
Итоги
Надеюсь кому-нибудь пригодится PCB JZ-F407VET6 для обучения, прототипирования и отладки программных компонентов. Это настоящая народная электронная парта для обучения программированию микроконтроллеров.
Ссылки
Название | URL |
Аналитика по PCB: BOM, WireTable | https://docs.google.com/spreadsheets/d/1B8NtdEGcoOGraCgoRHgIbni_forendMX4anhD_ZhTGg/edit?gid=0#gid=0 |
STM32. Процесс компиляции и сборки прошивки @andreyzaostrovnykh | |
JZ-F407VET6 code | |
STM32 + GCC + CMake + Win10 | |
Атрибуты Xорошей PCB | |
Сканирование шины RS485 | |
Подключение SD карты по SPI (Капсула памяти) | |
CLI через Segger J-Link RTT на ARM Cortex-M | |
Сборка прошивки STM32 компилятором IAR при помощи GNU Make скрипта (IAR+Make=CI/CD) | |
Пуск DWT Таймера на ARM Cortex-M (или Ядерный Таймер) | |
Типовая разметка памяти STM32F4 | |
Пошаговая GDB отладка прошивки STM32 из консоли cmd | |
ARM Cortex-M: пуск Memory Рrotection Unit (MPU) | |
ARM Cortex-M: Исполнение кода из RAM памяти | |
Основы по GNU Make | |
Обзор платы Black Pill V2.0 | |
Пошаговая GDB отладка ARM процессора из консоли в Win10 | |
Настройка ToolChain(а) для Win10+GCC+С+Makefile+ARM Cortex-Mx+GDB | |
Переходник с USB на CAN из Отладочной Платы JZ-F407VET6 | |
Что должно быть на каждой PCB с STM32 @danil_12345 | |
JZ-F407VET6 schematic | |
Ссылка на покупку |
