|
Электрика и DCC Обсуждение цифрового и аналогового управления |
|
Опции темы | Опции просмотра |
30.11.2009, 15:38 | #1 |
Пользователь
Регистрация: 11.10.2008
Адрес: Киев
Сообщений: 703
Сказал(а) 'не согласен(а)'!: 2
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 1,208
Поблагодарили 942 раз(а) в 263 сообщениях
Репутация: этим человеком можно гордиться (1005)
|
Свой декодер для twin-coil переключателя стрелки
Добрый день всем.
Пытаюсь сделать самостоятельно декодер для управления стрелкой Atlas с двойной катушкой и магнитным сердечником. Пытаюсь снять "команду" с командной станции для программирования микроконтроллера, но она сыпет поток из 10 000 команд в секунду (NCE Power Cab). Подскажите как выделить команду для стрелки из этого информационного потока или может кто знает где взять прошивку для микроконтроллера. Спасибо. |
30.11.2009, 15:47 | #2 |
4400 horse power
Регистрация: 19.02.2008
Адрес: Нижний Тагил
Сообщений: 1,724
Сказал(а) 'не согласен(а)'!: 10
Сказали 'не согласен'! 6 раз(а) в 5 сообщениях
Сказал(а) спасибо: 981
Поблагодарили 422 раз(а) в 247 сообщениях
Репутация: - просто великолепная личность (698)
|
http://www.opendcc.de/elektronik/ope...endecoder.html
В исходных кодах все расписано, разжевано и в рот положено.
__________________
|
02.12.2009, 09:16 | #3 |
Пользователь
Регистрация: 16.09.2008
Адрес: Туапсе
Сообщений: 338
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 0
Поблагодарили 69 раз(а) в 38 сообщениях
Репутация: скоро придёт к известности (139)
|
"как выделить команду для стрелки из этого информационного потока"
цифровым бациллоскопом или контроллером, у которого порт работает на прием и загоняет данные в РАМ (например кэш от 486-х и первых пней)... - Дальше вручную разбор принятого кода. Если известен протокол и адрес устройства, на контроллере воротим ловушку- по которой снимаем следующие н-байт за адресом (или м-байт - кому сколько надо) - возни на вечер, но при этом ручная разборка кода отменяется Если надо могу выложить печатку под АТмегу8535 и 32кБ кэша + МАХ232, оговорюсь сразу железяка воротилась давно и не под эту задачу, потому софта нет, но подсказать чего и как могу. В принципе это ОНО и есть - цифровой ТТЛ осцилоскоп, точнее все что есть под него уже готово. Теоретически надо будет срастить ДСС распознаватель + анализатор потока (парсер по-умному)+укладывалку КЭШа+выгонялку КЭШа на СОМ-порт. Куски всех этих кодов есть. |
02.12.2009, 11:15 | #4 | |
4400 horse power
Регистрация: 19.02.2008
Адрес: Нижний Тагил
Сообщений: 1,724
Сказал(а) 'не согласен(а)'!: 10
Сказали 'не согласен'! 6 раз(а) в 5 сообщениях
Сказал(а) спасибо: 981
Поблагодарили 422 раз(а) в 247 сообщениях
Репутация: - просто великолепная личность (698)
|
Цитата:
__________________
|
|
02.12.2009, 14:39 | #5 |
Пользователь
Регистрация: 16.09.2008
Адрес: Туапсе
Сообщений: 338
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 0
Поблагодарили 69 раз(а) в 38 сообщениях
Репутация: скоро придёт к известности (139)
|
так, Жень протокол и на НМРА в первозданном, я так понял ему надо выцепить из потока определенную последовательность. Это только железом, а иначе как?
Или я чего не понял? "как выделить команду для стрелки из этого информационного потока" тогда вариант два: считаем длительности между переходами через ноль, соотносим их к эталонным, указанным в РП.НМРА определяем чего приняли 0 или 1, потом необходимо зацепиться за преамбулу а от нее распознавать адрес, данные, еррдетект и т.д. Под это кусок кода тоже есть: находит преамбулу, вычисляет свой адрес после него набивает данные в память, считает ЦРЦ |
02.12.2009, 14:49 | #6 | |
4400 horse power
Регистрация: 19.02.2008
Адрес: Нижний Тагил
Сообщений: 1,724
Сказал(а) 'не согласен(а)'!: 10
Сказали 'не согласен'! 6 раз(а) в 5 сообщениях
Сказал(а) спасибо: 981
Поблагодарили 422 раз(а) в 247 сообщениях
Репутация: - просто великолепная личность (698)
|
Цитата:
ЗЫ. у меня такое уже tiny25 научился делать, хотя попадать в тайминги с 8ми битным таймером сложновато. 1.1% погрешность в меньшую сторону.
__________________
|
|
02.12.2009, 15:24 | #7 |
Пользователь
Регистрация: 16.09.2008
Адрес: Туапсе
Сообщений: 338
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 0
Поблагодарили 69 раз(а) в 38 сообщениях
Репутация: скоро придёт к известности (139)
|
"Я так понял, что цель сделать именно аксессуарный декодер. Соответственно нужно ловить из DCC нужные команды."
Да какой бы он ни был начинать надо с определения 0 и1 и далее по нарастающей... |
02.12.2009, 15:56 | #8 |
4400 horse power
Регистрация: 19.02.2008
Адрес: Нижний Тагил
Сообщений: 1,724
Сказал(а) 'не согласен(а)'!: 10
Сказали 'не согласен'! 6 раз(а) в 5 сообщениях
Сказал(а) спасибо: 981
Поблагодарили 422 раз(а) в 247 сообщениях
Репутация: - просто великолепная личность (698)
|
А чего сложного? Программируем таймер на 87мс. Вешаем на int0 сигнал с рельс (через опторазвязку, резисторный делитель и т.д.). Ловим int0, запускаем таймер. Через 87мс приходит прерывание таймера (счетчик на нуле), смотрим есть ли "1" на порту int0, если есть, то значит это логическая "1", если нет, значит логический "0".
__________________
|
02.12.2009, 16:50 | #9 |
Пользователь
Регистрация: 16.09.2008
Адрес: Туапсе
Сообщений: 338
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 0
Поблагодарили 69 раз(а) в 38 сообщениях
Репутация: скоро придёт к известности (139)
|
Ну, так а я о чем?
Я о том, что сначала ЕМУ надо выщемлять 0 и 1 , протом ловить преамбулу, по ней цеплять адрес, определяться наш или нет и затем забивать данные попутно сверяя ЦРЦ... Как бы с алгоритмом проблем нет, давно работает... Обнаковенный анализатор потока, который работает в принципе везде, иного пока вроде не придумано... |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Декодер для стрелки LGB на Ардуино | BR95009 | Arduino | 42 | 25.10.2016 16:13 |
Как скрестить привод стрелки LGB и декодер RocoSwitch | BR95009 | Цифровая аппаратура Modelldepo | 12 | 07.05.2014 09:59 |
Мультимаус, декодер ajl2 и стрелки Piko | tsgarp | Электрика и DCC | 16 | 25.04.2012 15:55 |
Использование RocoSwitch как "переключателя" | Enkee | Электрика и DCC | 16 | 12.04.2012 19:20 |
Свой проект DCC. | Onegin | Электрика и DCC | 61 | 12.10.2008 16:53 |