Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| zheleznaja_chast:dmx-512_tester_na_mikrokontrollere_stm32 [2016/07/02 19:26] – [Комплектующие] Leo | zheleznaja_chast:dmx-512_tester_na_mikrokontrollere_stm32 [2025/12/23 11:48] (текущий) – внешнее изменение 127.0.0.1 | ||
|---|---|---|---|
| Строка 2: | Строка 2: | ||
| Как-то понадобилось изучить протокол — DMX-512 | Как-то понадобилось изучить протокол — DMX-512 | ||
| И научится правильно «принимать» посылки. | И научится правильно «принимать» посылки. | ||
| - | В интернете, | + | В интернете, |
| Простите за низкое качество фото. | Простите за низкое качество фото. | ||
| + | |||
| {{: | {{: | ||
| Строка 10: | Строка 11: | ||
| DMX-512 целиком произошел от стандарта RS-485. | DMX-512 целиком произошел от стандарта RS-485. | ||
| - | Основное отличие DMX от RS-485 это то, что в DMX есть «**Break**». | + | Основное отличие |
| В RS-485 это воспринимается как ошибка передачи данных. | В RS-485 это воспринимается как ошибка передачи данных. | ||
| - | В DMX скорость передачи данных строго определена и составляет 250 кб. в сек. | + | В [[: |
| Передача данных осуществляется восьми битным асинхронным протоколом с одним стартовым битом (низкий активный уровень) и двумя стоповыми битами. | Передача данных осуществляется восьми битным асинхронным протоколом с одним стартовым битом (низкий активный уровень) и двумя стоповыми битами. | ||
| Один фрейм = 11 бит. Длина пакета 44 микросекунды. Передаваемая информация находится между стартовым и стповыми битами и имеет 256 уникальных состояний от 0 до 255. | Один фрейм = 11 бит. Длина пакета 44 микросекунды. Передаваемая информация находится между стартовым и стповыми битами и имеет 256 уникальных состояний от 0 до 255. | ||
| Появление низкого уровня после всего пакета (512 фреймов) данных воспринимается как начало нового пакета. | Появление низкого уровня после всего пакета (512 фреймов) данных воспринимается как начало нового пакета. | ||
| Количество каналов = фреймов, | Количество каналов = фреймов, | ||
| - | Например одноканальный диммер (в смысле на одну нагрузку) отъедает от линии DMX только один (канал = фрейм). | + | Например одноканальный диммер (в смысле на одну нагрузку) отъедает от линии |
| При изменении цифр от 0 до 255 в ДМХ пульте управления, | При изменении цифр от 0 до 255 в ДМХ пульте управления, | ||
| Линия ДМХ позволяет управлять пятьсот двенадцатью одноканальными приборами. | Линия ДМХ позволяет управлять пятьсот двенадцатью одноканальными приборами. | ||
| Строка 25: | Строка 26: | ||
| http:// | http:// | ||
| - | ===== Сборка | + | ===== Сборка тестера ===== |
| Строка 43: | Строка 44: | ||
| ===== Исходный код тестера ===== | ===== Исходный код тестера ===== | ||
| - | <file> | + | <code **c** STMDMX512Tester.c> |
| #include " | #include " | ||
| #include " | #include " | ||
| Строка 79: | Строка 80: | ||
| GPIOB-> | GPIOB-> | ||
| - | GPIOB-> | + | GPIOB-> |
| GPIOD-> | GPIOD-> | ||
| GPIOB-> | GPIOB-> | ||
| Строка 250: | Строка 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) | ||
| {{: | {{: | ||
| Строка 257: | Строка 258: | ||
| ===== Комплектующие ===== | ===== Комплектующие ===== | ||
| - | Купить [[http://ali.pub/otl7y|STM32F103]] | + | Купить [[https://alii.pub/6jzckl|STM32F103]] на [[https://alii.pub/6jzckl|Aliexpress]] ~ 350-500руб. |