Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| zheleznaja_chast:dmx-512_tester_na_mikrokontrollere_stm32 [2016/07/01 20:42] – создано Leo | zheleznaja_chast:dmx-512_tester_na_mikrokontrollere_stm32 [2025/12/23 11:48] (текущий) – внешнее изменение 127.0.0.1 | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | Как-то понадобилось изучить протокол — DMX-512. | + | ====== DMX тестер на контроллере STM32 ====== |
| + | Как-то понадобилось изучить протокол — DMX-512 | ||
| И научится правильно «принимать» посылки. | И научится правильно «принимать» посылки. | ||
| - | В интернете, | + | В интернете, |
| Простите за низкое качество фото. | Простите за низкое качество фото. | ||
| + | |||
| {{: | {{: | ||
| Строка 8: | Строка 10: | ||
| DMX-512 целиком произошел от стандарта RS-485. | DMX-512 целиком произошел от стандарта RS-485. | ||
| - | Основное отличие DMX от RS-485 это то, что в DMX есть | + | |
| + | Основное отличие | ||
| В RS-485 это воспринимается как ошибка передачи данных. | В RS-485 это воспринимается как ошибка передачи данных. | ||
| - | В DMX скорость передачи данных строго определена и составляет 250 кб. в сек. | + | В [[: |
| Передача данных осуществляется восьми битным асинхронным протоколом с одним стартовым битом (низкий активный уровень) и двумя стоповыми битами. | Передача данных осуществляется восьми битным асинхронным протоколом с одним стартовым битом (низкий активный уровень) и двумя стоповыми битами. | ||
| Один фрейм = 11 бит. Длина пакета 44 микросекунды. Передаваемая информация находится между стартовым и стповыми битами и имеет 256 уникальных состояний от 0 до 255. | Один фрейм = 11 бит. Длина пакета 44 микросекунды. Передаваемая информация находится между стартовым и стповыми битами и имеет 256 уникальных состояний от 0 до 255. | ||
| Появление низкого уровня после всего пакета (512 фреймов) данных воспринимается как начало нового пакета. | Появление низкого уровня после всего пакета (512 фреймов) данных воспринимается как начало нового пакета. | ||
| Количество каналов = фреймов, | Количество каналов = фреймов, | ||
| - | Например одноканальный диммер (в смысле на одну нагрузку) отъедает от линии DMX только один (канал = фрейм). | + | Например одноканальный диммер (в смысле на одну нагрузку) отъедает от линии |
| При изменении цифр от 0 до 255 в ДМХ пульте управления, | При изменении цифр от 0 до 255 в ДМХ пульте управления, | ||
| Линия ДМХ позволяет управлять пятьсот двенадцатью одноканальными приборами. | Линия ДМХ позволяет управлять пятьсот двенадцатью одноканальными приборами. | ||
| + | |||
| Если в приборе указать стартовый адрес ДМХ отличный от 1, например 24, то прибор считывает число только с 24 фрейма. | Если в приборе указать стартовый адрес ДМХ отличный от 1, например 24, то прибор считывает число только с 24 фрейма. | ||
| - | На остальных каналах (фреймах) могут находится другие приборы. Главное сообщить прибору с какого фрейма он начинает принимать информацию. | + | На остальных каналах (фреймах) могут находится другие приборы. |
| http:// | http:// | ||
| - | Результат работы в массиве DMX_array[512]; | + | ===== Сборка тестера ===== |
| + | |||
| + | |||
| + | **Результат работы в массиве DMX_array[512]; | ||
| + | ** | ||
| {{: | {{: | ||
| - | DMX тестер посылает | + | **DMX тестер посылает |
| + | ** | ||
| {{: | {{: | ||
| b15ca2 | b15ca2 | ||
| Строка 30: | Строка 42: | ||
| {{: | {{: | ||
| + | ===== Исходный код тестера ===== | ||
| - | <file> | + | <code **c** STMDMX512Tester.c> |
| #include " | #include " | ||
| #include " | #include " | ||
| Строка 67: | Строка 80: | ||
| GPIOB-> | GPIOB-> | ||
| - | GPIOB-> | + | GPIOB-> |
| GPIOD-> | GPIOD-> | ||
| GPIOB-> | GPIOB-> | ||
| Строка 238: | Строка 251: | ||
| int long a; | int long a; | ||
| for (a=0; a<delay; a++){}} | for (a=0; a<delay; a++){}} | ||
| - | </file> | + | </code> |
| Отлаживалось на демоплате STM_Eval-Board-STM32 (STM32F103VB) | Отлаживалось на демоплате STM_Eval-Board-STM32 (STM32F103VB) | ||
| {{: | {{: | ||
| + | |||
| Спасибо за статью [[http:// | Спасибо за статью [[http:// | ||
| + | |||
| + | ===== Комплектующие ===== | ||
| + | Купить [[https:// | ||