zheleznaja_chast:dmx-512_tester_na_mikrokontrollere_stm32

Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
zheleznaja_chast:dmx-512_tester_na_mikrokontrollere_stm32 [2016/10/09 02:20] – [Комплектующие] Leozheleznaja_chast:dmx-512_tester_na_mikrokontrollere_stm32 [2025/12/23 11:48] (текущий) – внешнее изменение 127.0.0.1
Строка 2: Строка 2:
 Как-то понадобилось изучить протокол — DMX-512  Как-то понадобилось изучить протокол — DMX-512 
 И научится правильно «принимать» посылки. И научится правильно «принимать» посылки.
-В интернете, о протоколе DMX — информации достаточно DMX+В интернете, о протоколе [[:wiki:dmx_512|DMX]] — информации достаточно [[:wiki:dmx_512|DMX]]
 Простите за низкое качество фото. Простите за низкое качество фото.
 +
  
 {{:zheleznaja_chast:092b28.jpg|}} {{:zheleznaja_chast:092b28.jpg|}}
Строка 10: Строка 11:
 DMX-512 целиком произошел от стандарта RS-485. DMX-512 целиком произошел от стандарта RS-485.
  
-Основное отличие DMX от RS-485 это то, что в DMX есть «**Break**». +Основное отличие [[:wiki:dmx_512|DMX]] от RS-485 это то, что в [[:wiki:dmx_512|DMX]] есть «**Break**». 
 В RS-485 это воспринимается как ошибка передачи данных. В RS-485 это воспринимается как ошибка передачи данных.
-В DMX скорость передачи данных строго определена и составляет 250 кб. в сек.+В [[:wiki:dmx_512|DMX]] скорость передачи данных строго определена и составляет 250 кб. в сек.
 Передача данных осуществляется восьми битным асинхронным протоколом с одним стартовым битом (низкий активный уровень) и двумя стоповыми битами. Передача данных осуществляется восьми битным асинхронным протоколом с одним стартовым битом (низкий активный уровень) и двумя стоповыми битами.
 Один фрейм = 11 бит. Длина пакета 44 микросекунды. Передаваемая информация находится между стартовым и стповыми битами и имеет 256 уникальных состояний от 0 до 255. Один фрейм = 11 бит. Длина пакета 44 микросекунды. Передаваемая информация находится между стартовым и стповыми битами и имеет 256 уникальных состояний от 0 до 255.
 Появление низкого уровня после всего пакета (512 фреймов) данных воспринимается как начало нового пакета. Появление низкого уровня после всего пакета (512 фреймов) данных воспринимается как начало нового пакета.
 Количество каналов = фреймов, считываемых прибором с линии ДМХ зависит от количества функций, заложеных производителем в прибор. Количество каналов = фреймов, считываемых прибором с линии ДМХ зависит от количества функций, заложеных производителем в прибор.
-Например одноканальный диммер (в смысле на одну нагрузку) отъедает от линии DMX только один (канал = фрейм).+Например одноканальный диммер (в смысле на одну нагрузку) отъедает от линии [[:wiki:dmx_512|DMX]] только один (канал = фрейм).
 При изменении цифр от 0 до 255 в ДМХ пульте управления, процессор диммера считывает эту информацию и плавно изменяет выходное напряжение на нагрузке от 0 вольт до 220 вольт.  При изменении цифр от 0 до 255 в ДМХ пульте управления, процессор диммера считывает эту информацию и плавно изменяет выходное напряжение на нагрузке от 0 вольт до 220 вольт. 
 Линия ДМХ позволяет управлять пятьсот двенадцатью одноканальными приборами. Линия ДМХ позволяет управлять пятьсот двенадцатью одноканальными приборами.
Строка 25: Строка 26:
  
 http://www.x-light.ru/dmx.html http://www.x-light.ru/dmx.html
-===== Сборка DMX тестера =====+===== Сборка тестера =====
  
  
Строка 43: Строка 44:
 ===== Исходный код тестера ===== ===== Исходный код тестера =====
  
-<file>+<code **c** STMDMX512Tester.c>
 #include "stm32f10x.h" #include "stm32f10x.h"
 #include "core_cm3.h" #include "core_cm3.h"
Строка 79: Строка 80:
  
         GPIOB->CRH|=GPIO_CRH_MODE10;        GPIOB->CRH |= GPIO_CRH_CNF10;  GPIOB->CRH &=~ GPIO_CRH_CNF10_0;  // PORTB 10 - out         GPIOB->CRH|=GPIO_CRH_MODE10;        GPIOB->CRH |= GPIO_CRH_CNF10;  GPIOB->CRH &=~ GPIO_CRH_CNF10_0;  // PORTB 10 - out
-        GPIOB->CRH &=~ GPIO_CRH_MODE11;     GPIOB->CRH |= GPIO_CRH_CNF11; GPIOB->CRH &=~ GPIO_CRH_CNF11_0;   // PORTA 3 - input DMX+        GPIOB->CRH &=~ GPIO_CRH_MODE11;     GPIOB->CRH |= GPIO_CRH_CNF11; GPIOB->CRH &=~ GPIO_CRH_CNF11_0;   // PORTA 3 - input [[:wiki:dmx_512|DMX]]
         GPIOD->CRH |=  GPIO_CRH_MODE11;     GPIOD->CRH &=~ GPIO_CRH_CNF11;                                   // PORTD 9 - out USART_debuger         GPIOD->CRH |=  GPIO_CRH_MODE11;     GPIOD->CRH &=~ GPIO_CRH_CNF11;                                   // PORTD 9 - out USART_debuger
         GPIOB->CRH &=~ GPIO_CRH_MODE9;      GPIOB->CRH |= GPIO_CRH_CNF9;  GPIOB->CRH &=~ GPIO_CRH_CNF9_0;         GPIOB->CRH &=~ GPIO_CRH_MODE9;      GPIOB->CRH |= GPIO_CRH_CNF9;  GPIOB->CRH &=~ GPIO_CRH_CNF9_0;
Строка 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)
 {{:zheleznaja_chast:4e8e0a.jpg|}} {{:zheleznaja_chast:4e8e0a.jpg|}}
Строка 257: Строка 258:
  
 ===== Комплектующие ===== ===== Комплектующие =====
-Купить [[http://ali.pub/otl7y|STM32F103]] на [[http://ali.pub/otl7y|Aliexpress]] ~ 350-500руб.+Купить [[https://alii.pub/6jzckl|STM32F103]] на [[https://alii.pub/6jzckl|Aliexpress]] ~ 350-500руб.
  
  
  
  • zheleznaja_chast/dmx-512_tester_na_mikrokontrollere_stm32.1475979630.txt.gz
  • Последнее изменение: 2017/06/09 20:04
  • (внешнее изменение)