zheleznaja_chast:stm32_usb_dmx_controller

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
zheleznaja_chast:stm32_usb_dmx_controller [2022/12/23 03:00] – [USB DMX 512 Контролер управления на базе STM32 своими руками] slyfoxleozheleznaja_chast:stm32_usb_dmx_controller [Дата неизвестна] (текущий) – внешнее изменение (Дата неизвестна) 127.0.0.1
Строка 34: Строка 34:
 Исходный код вполне подходит в качестве шаблона для дальнейшей собственной разработки, особенно в отношении DMX и USB.Он программируется непосредственно на уровне регистров, без использования внешних библиотек или драйверов. Исходный код вполне подходит в качестве шаблона для дальнейшей собственной разработки, особенно в отношении DMX и USB.Он программируется непосредственно на уровне регистров, без использования внешних библиотек или драйверов.
 ===== Описание железной части ===== ===== Описание железной части =====
-Микроконтроллер тактируется внутренним осциллятором (HSI48), частота которого синхронизируется с сигналом USB. Этот метод обеспечивает очень стабильный выходной сигнал DMX.+Микроконтроллер тактируется внутренним осциллятором (//HSI48//), частота которого **синхронизируется с сигналом USB**.** Этот метод обеспечивает очень стабильный выходной сигнал DMX**. 
 Потому что невозможно повторно запустить USART микроконтроллера STM32 сразу после сброса DMX, USART Tx продолжает работать в режиме ожидания во время сброса DMX. Он питается через Потому что невозможно повторно запустить USART микроконтроллера STM32 сразу после сброса DMX, USART Tx продолжает работать в режиме ожидания во время сброса DMX. Он питается через
-резистор к DMX-драйверу MAX487, на который подается низкий уровень другим выходом с открытым стоком+резистор к DMX-драйверу **MAX487**, на который подается низкий уровень другим выходом с открытым стоком 
 микроконтроллер во время сброса DMX. микроконтроллер во время сброса DMX.
-Общий ток питания без нагрузки DMX составляет около 25 мА, с подключенной шиной DMX до 50 мА.+ 
 +Общий ток питания без нагрузки DMX составляет около **25 мА**, с подключенной шиной **DMX до 50 мА**. 
 Для простого воспроизведения с помощью простых инструментов аппаратное обеспечение построено на **однослойной** печатной плате с **небольшим количеством перемычек.** Для простого воспроизведения с помощью простых инструментов аппаратное обеспечение построено на **однослойной** печатной плате с **небольшим количеством перемычек.**
 +
 провода. Толщина и расстояние между печатными проводами рассчитаны на любительские технологии. Сборка предназначена провода. Толщина и расстояние между печатными проводами рассчитаны на любительские технологии. Сборка предназначена
 +
 и нескольких сквозных отверстий и деталей SMD. и нескольких сквозных отверстий и деталей SMD.
 ===== Схематическая диаграмма ===== ===== Схематическая диаграмма =====
Строка 56: Строка 62:
 ===== Прошивка микропроцессора ===== ===== Прошивка микропроцессора =====
 Поскольку на этой плате нет порта RS-232, программирование возможно только с Поскольку на этой плате нет порта RS-232, программирование возможно только с
-SWD программатор. Вместо покупки специального модуля ST-LINK рекомендуется +**SWD программатор** 
-использовать модуль STM Nucleo-64, который дешевле, его можно настроить как программатор и + 
-дополнительно можно использовать для других экспериментов с микроконтроллерами STM32. Как программировать +Вместо покупки специального модуля ST-LINK рекомендуется 
-внешние детали с Nucleo, прочитайте его руководство. Когда программатор отключен (т.е. используется+использовать модуль **STM Nucleo-64**, который дешевле, его можно настроить как программатор и 
 +дополнительно можно использовать для других экспериментов с микроконтроллерами STM32. 
 + 
 + Как программировать 
 +внешние детали с **Nucleo**, прочитайте его руководство. Когда программатор отключен (т.е. используется
 автономный, см. рисунок выше), и программное обеспечение отправляет сообщение о проблеме типа «"no target автономный, см. рисунок выше), и программное обеспечение отправляет сообщение о проблеме типа «"no target
 voltage», подключите выход 3,3 В (//контакт рядом с текстом U1//) регулятора (5 контактов) на части ST-Link voltage», подключите выход 3,3 В (//контакт рядом с текстом U1//) регулятора (5 контактов) на части ST-Link
Строка 68: Строка 78:
  
 {{:zheleznaja_chast:programmator.jpg?nolink&400|}} {{:zheleznaja_chast:programmator.jpg?nolink&400|}}
 +
 Соберите короткий адаптер для программирования (см. рисунок выше, длина провода не более 25 см): Соберите короткий адаптер для программирования (см. рисунок выше, длина провода не более 25 см):
 +
 --- подключите 2-й контакт разъема Nucleo SWD (считая сбоку в сторону Mini --- подключите 2-й контакт разъема Nucleo SWD (считая сбоку в сторону Mini
 разъем USB) с выводом PA14 нашей платы (красный на фото выше). разъем USB) с выводом PA14 нашей платы (красный на фото выше).
Строка 118: Строка 130:
 ==== Краткий справочник всех команд ASCII ==== ==== Краткий справочник всех команд ASCII ====
 ^ Команда ^ Описание       ^^ ^ Команда ^ Описание       ^^
-|  **Sn**  | выбор канала DMX для последующего действия (n=1 - 512)     || +|  **[[#S <DMX канал>|Sn]]**  | выбор канала DMX для последующего действия (n=1 - 512)     || 
-|  **Vn**  | установить уровень DMX на адресуемом канале DMX (n=0 - 255) || +|  **[[#V <уровень канала>|Vn]]**  | установить уровень DMX на адресуемом канале DMX (n=0 - 255) || 
-|  **,n** (//запятая// | сначала прибавляется адрес канала DMX, и устанавливается уровень (n=0 - 255) || +|  **[[#, (запятая) <уровень>|,n]]** (//запятая// | сначала прибавляется адрес канала DMX, и устанавливается уровень (n=0 - 255) || 
-|   **+**   | увеличить адресный уровень буфера передачи канала DMX на единицу || +|   **[[#(не принимает параметры)|+]]**   | увеличить адресный уровень буфера передачи канала DMX на единицу || 
-|  **-**   | уменьшить адресный уровень буфера передачи DMX-канала на единицу ||+|  **[[#- (не принимает параметры)|-]]**   | уменьшить адресный уровень буфера передачи DMX-канала на единицу ||
 |  **=n**  | установить n каналов DMX, начиная с (адресованного канала +1), на уровень адресованного канала. || |  **=n**  | установить n каналов DMX, начиная с (адресованного канала +1), на уровень адресованного канала. ||
 |  **Tn**  | Плавное затухание n в 1/10 секунды || |  **Tn**  | Плавное затухание n в 1/10 секунды ||
Строка 136: Строка 148:
 |  **?**   |отобразить список актуальных глобальных параметров|| |  **?**   |отобразить список актуальных глобальных параметров||
 <note>Каждой команде управления и каждому сообщению о состоянии назначается одна буква. Если <note>Каждой команде управления и каждому сообщению о состоянии назначается одна буква. Если
-команда ожидает параметр, то он указан после буквы команды в острых угловых скобках <..:>. Числовое +команда ожидает параметр, то он указан после буквы команды в острых угловых скобках **<..:>**. Числовое 
-значения всегда в десятичном формате и отправляется через USB как текст ASCII.+значения всегда в десятичном формате **__и отправляется через USB как текст ASCII__**.
 </note> </note>
 === S <DMX канал> === === S <DMX канал> ===
  • zheleznaja_chast/stm32_usb_dmx_controller.1671764413.txt.gz
  • Последнее изменение: 2022/12/23 03:00
  • (внешнее изменение)