реклама на сайте
подробности

 
 
> Передача DMX512 на atmega8 без USART
MaxiGroup
сообщение Aug 8 2011, 11:41
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 106
Регистрация: 28-04-05
Из: Russia, Moscow
Пользователь №: 4 581



Есть задача сделать мастер DMX512 который будет управлять DMX девайсами, а принимать команды по USART.
Так как в недорогих контроллерах как правило один USART, то получается нужно делать программную передачу на скорости 250к

Посоветуйте как быть, и может быть у кого-то завалялись куски кода для этого?

Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
Andrey Vasilyev
сообщение Aug 8 2011, 12:20
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 5-12-08
Из: Санкт-Петербург
Пользователь №: 42 220



Можно выбрать контроллер за $4, а не за $2, и у него будет 2 или больше UART-ов.

А можно действительно сделать программную передачу. В этом совершенно нет ничего сложного.
Почитать спецификацию DMX-512, и тупо дрыгая ногой выдавать все нужные последовательности нужной длины, а также отбарабанивать побитно старт-биты, биты данных и стоп-биты. 4 мкс на бит - это не так уж быстро, на частоте 8 МГц это 32 такта на бит.

Разумеется, придется на время передачи байта запрещать прерывания. Это может влиять на работу связи с хостом по аппаратному USART-у, поэтому нужно, чтобы длительность запрещения прерываний была гарантированно меньше, чем длительность передачи байта по аппаратному USART-у. Проще всего этого добиться, запрещая прерывания для передачи только одного байта по DMX-выходу, и разрешая прерывания на пару тактов между передаваемыми по DMX байтами.
Go to the top of the page
 
+Quote Post
MaxiGroup
сообщение Aug 8 2011, 18:24
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 106
Регистрация: 28-04-05
Из: Russia, Moscow
Пользователь №: 4 581



Дак вот думаю что будет либо нестабильно работать, либо пропускать команды, которые будут приходить по USART. Поэтому наверное всеже лучше взять с 2мя USART контроллер.
В данный момент интересуют факты тех кто уже пробовал так делать
Go to the top of the page
 
+Quote Post
нечитатель
сообщение Aug 8 2011, 21:07
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 20-11-10
Пользователь №: 61 032



Дак зачем гадать, когда посчитать можно? Или даже нарисовать.

За время передачи байта + обработки предыдущего принятого байта изделие никак не смогло принять более чем один байт, потому что соотношение скорости передачи, скорости приёма и времени на подумать.
Так этот принятый байт в аппаратном буфере и лежит, никуда не делся. А по стандарту DMX между окончанием передачи предыдущего байта и началом передачи следующего байта у мастера свободного времени сколько.

Цитата
куски кода для этого
Для чего "этого"? Если нужно готовое устройство или программа, то хитрый план такой хитрый.
Цитата
лучше взять с 2мя
а если в следующий раз понадобится, например, управлять фонариком RGB - тогда лучше искать микросхему с тремя аппаратными модулями PWM? а если десятью фонариками?
Цитата
интересуют факты
http://1001facts.info/

(когда/если имеется в виду [U]ниверсальный [S]инхронно-[A]синхронный [R]риёмо-[T]ередатчик, то это он не одновременно синхронный и асинхронный, а это его можно применять так или эдак)

Сообщение отредактировал нечитатель - Aug 8 2011, 21:18
Go to the top of the page
 
+Quote Post
MaxiGroup
сообщение Aug 9 2011, 05:12
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 106
Регистрация: 28-04-05
Из: Russia, Moscow
Пользователь №: 4 581



Так и не понял, о чем предыдущий пост... Я вроде бы на форуме обмена опытом, а не на конкурсе выбражательства - кто лучше и красивее. Вы видимо ошиблись форумом.

Я задал вопрос не о предоставлении готовой прошивки, а о мнении разных людей, чтобы вынести объективное решение. А куски кода очень часто подтверждают ту или иную точку зрения.
А если нечего ответить, то лучше не писать.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 02:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016