PDA

Просмотр полной версии : BandData decoder для Kenwood



Страницы : [1] 2 3 4 5 6

Serg
21.09.2008, 16:36
ut1wpr

Такое бы для Kenwood! Но, к сожалению, там нет выхода изменяющегося напряжения, нужно становиться на САТ порт и считывать, что трансивер передает LOG-у на компе, а если ничего не передает, самому опрашивать Kenwood...

ut1wpr
21.09.2008, 18:10
ut1wpr

Такое бы для Kenwood! Но, к сожалению, там нет выхода изменяющегося напряжения, нужно становиться на САТ порт и считывать, что трансивер передает LOG-у на компе, а если ничего не передает, самому опрашивать Kenwood...
Да какие проблемы?! Надо только внимательно поколупать САТ протокол Кенвуда. Жаль, мой 430-й без оного. Я сейчас пороюсь в закромах инета, должен-же он где-то быть выложен.. Надо уловить, на каких условиях выдается частота. Диапазон ловится из контекста частоты. Если у тебя есть возможность приобрести подобный контроллер, для меня не составит труда наваять программку в этом направлении.

ps Вот порылся. :) Вроде, этого достаточно:
TX 3 bytes
0000 46 41 3b FA;
RX 14 characters
0000 46 41 30 30 30 31 38 31 31 30 30 30 30 3b FA00018110000;
Frequency: 18110000
Программа должна ловить в потоке ОТ трансивера два байта "FA", далее принять три байта "0" и два следующих байта дадут две цифры диапазона. Для нижних диапазонов это будут "07", "03" и "01" соответственно. Вроде у Кенвуда есть режим, когда частоту он выдает периодически без запроса. Если ты ответишь на этот вопрос, и скажешь скорость по порту по умолчанию, готов помочь с написанием.

Serg
21.09.2008, 19:11
Скорость 9600 использую обычно.

Хотя, стандартная и для старых кенвудов была 4800.

Кроме FA, может быть еще FB (VFO-B).

Это если запущен LOG.

А если данные не бегут по САТ порту (нет лога, не включен компьютер), нужно трансиверу дать запрос в порт ASCII кодом: IF; (слово IF и точка с запятой)

В ответ придет примерно такое:

IF00014150000 0000000002011000080;

Первые 11 знаков после слова IF - это частота текущего VFO.
Остальное после пробелов нас не интересует (это расстройка, вид работы, и прочее)

Опрашивать нужно раз в секунду, если данные сами не поступают (обычно период опроса трансивера у LOG-ов 250-500мсек).


Attiny13, думаю, найдется, хоть в прайсе пока нет в наличии, но attiny15 есть, это тоже 8-лапковый...

ut1wpr
21.09.2008, 19:27
Скорость 9600 использую обычно.

Хотя, стандартная и для старых кенвудов была 4800.

Кроме FA, может быть еще FB (VFO-B).

Это если запущен LOG.

А если данные не бегут по САТ порту (нет лога, не включен компьютер), нужно трансиверу дать запрос в порт ASCII кодом: IF; (слово IF и точка с запятой)

В ответ придет примерно такое:

IF00014150000 0000000002011000080;

Первые 11 знаков после слова IF - это частота текущего VFO.
Остальное после пробелов нас не интересует (это расстройка, вид работы, и прочее)

Опрашивать нужно раз в секунду, если данные сами не поступают (обычно период опроса трансивера у LOG-ов 250-500мсек).


Attiny13, думаю, найдется, хоть в прайсе пока нет в наличии, но attiny15 есть, это тоже 8-лапковый...
Принято.
13-я танька не рекомендована к дальнейшим разработкам :)
Сейчас диаграммки прикину.
Проблема будет в арбитрировании запросов на Кенвуд от лога или таньки. Ты для стыка используешь стандартный интерфейс? Т.е. на вход Кенвуда уже в TTL с интерфейса подаешь?
И еще. В каком формате идет обмен (9600,8,n,1 или в другом?)

Serg
21.09.2008, 19:54
У последних аппаратов Кенвуда таких, как TS-480, 570, 870, 2000 стоит сразу 9пиновый СОМ, а max232 внутри.

Придется ставить еще один Макс, или просто транзистор, чтобы ему сэмулировать кривой RS-232 (0 или +12).

Параметры обмена: 9600бод, 8N1.

ut1wpr
21.09.2008, 20:01
Придется ставить еще один Макс, или просто транзистор, чтобы ему сэмулировать кривой RS-232 (0 или +12).
А вот тут надо подумать...

ut1wpr
21.09.2008, 21:07
Придется ставить еще один Макс, или просто транзистор, чтобы ему сэмулировать кривой RS-232 (0 или +12).
А вот тут надо подумать...
Гы! Подумал. А что там у современных Кенвудов на задней панели?
У старичков был спецвыход единичек и ноликов, определяющих диапазон. А сейчас? :)

Serg
21.09.2008, 21:09
А сейчас?

Ничего нет кроме 9pin CAT, 13pin ACC, в котором есть что угодно, кроме band data и еще какой-нибудь 6pin REMOTE, в котором сигналы для РТТ выходного каскада, педали и вход ALC)


Таки наверно надо MAX ставить, т.к. нам же и принимать нужно будет...

ut1wpr
21.09.2008, 21:44
А сейчас?
Ничего нет кроме 9pin CAT, 13pin ACC, в котором есть что угодно, кроме band data и еще какой-нибудь 6pin REMOTE, в котором сигналы для РТТ выходного каскада, педали и вход ALC)
Таки наверно надо MAX ставить, т.к. нам же и принимать нужно будет...
Таки посмотрел.. :( Еще вдобавок разные типы разъемов для 570 и остальных.
Танька одна не справится с арбитрированием.
По идее, реализация должна быть такова. В разрыв САТ кабеля (при помощи двух DB9) включается устройство. Оно должно уметь определять, включена ли программа лога или нет. Если нет - начинать самостоятельно полинговать трансивер. Если есть - просто мониторить шину Тх трансивера. Если есть возможность, проанализируй, пожалуйста, состояние сигналов хендшейка ОТ компьютера. Надо найти сигнал, который меняет свое состояние в зависимости от того, запущен лог или нет. Это должен быть один из сигналов пар CTS-RTS или DSR-DTR. Тогда этот сигнал может быть использован контроллером для анализа. В любом случае ставить придется два МАКСа. Один на вход от компа, второй на ВЫХОД к трансиверу. Это в случае, если применять ПОЛНЫЙ обмен, с хендшейками. И вообще, слишком много ЕСЛИ. Для разных трансиверов разные протоколы по уровням - это ограничивает универсальность приставки.

Serg
21.09.2008, 22:07
Я думаю, почти достаточно присоединиться параллельно сигналам TXD/RXD и поставить MAX для сопряжения уровней с "танькой".

Хендшейк может не использоваться, т.е. у кенвуда в порте можно соединить перемечками CTS-RTS и DSR-DTR.

Хотя, у меня сейчас запаян кабель с 5ю проводами. (но собираюсь освободить RTS/DTR для PTT/CW в том же порте, в связи с тем, что на другом компе не будет второго порта для РТТ/CW отдельно).

Без хендшейкового проводка не получится контроллеру анализировать включен ли LOG? Может попробовать это так: ждать, если перестали бежать данные, самому опрашивать TRX раз в 2-3сек, а если ответы побежали чаще - значит LOG запустили, т.к. он обычно опрашивает ч\з каждые 250-500мсек.

Предпологаю, может быть проблема в том, что сигнал от СОМ порта нам будет мешать передать из "таньки" в кенвуд? Тогда нужно поставить реле (или электронный ключ), с помощью которого "танька" будет отрывать компьютерный TXD на время опроса, чтобы он не перебивал обмен.

Serg_PRQ
22.09.2008, 08:38
Можно опционально предусмотреть второй СОМ со стороны контроллер-компьютер, а 1-й МАХ ставить обязательно придется на контроллер-трансивер. Для упрощения с программной для начала поставить джампер, используется ли лог или голый трансивер (или проще программу перезалить потом, когда все отладится, ног может не хватить).
Если лог используется, тогда просто принимать данные по 2 порту и полностью транслировать в трансивер, попутно просматривая нужные данные. В МК с 1 уартом (а мелкие все такие) проще сделать второй (опциональный ) уарт программым, есть много реализаций и готовых уже кодов. Т.о. можно обойтись и 2313, от нее много ума ведь не требуется, тем более 9600 я думаю 2 порта потянет вполне.

Для начала просто сделать схему управления на встроенном уарте, все отладить, а когда войдет во вкус- сделать поллинг с программным вторым СОМ. Ног у тиньки хватит для реле, ничего городить не придется лишнего, а то иначе в долгострой может перерасти :)

ut1wpr
22.09.2008, 12:15
Можно опционально предусмотреть второй СОМ со стороны контроллер-компьютер, а 1-й МАХ ставить обязательно придется на контроллер-трансивер. Для упрощения с программной для начала поставить джампер, используется ли лог или голый трансивер (или проще программу перезалить потом, когда все отладится, ног может не хватить).
Если лог используется, тогда просто принимать данные по 2 порту и полностью транслировать в трансивер, попутно просматривая нужные данные. В МК с 1 уартом (а мелкие все такие) проще сделать второй (опциональный ) уарт программым, есть много реализаций и готовых уже кодов. Т.о. можно обойтись и 2313, от нее много ума ведь не требуется, тем более 9600 я думаю 2 порта потянет вполне.

Для начала просто сделать схему управления на встроенном уарте, все отладить, а когда войдет во вкус- сделать поллинг с программным вторым СОМ. Ног у тиньки хватит для реле, ничего городить не придется лишнего, а то иначе в долгострой может перерасти :)
Чтобы ветку не замусоривать инфой, вокруг которой всего два чела топчутся, свои мысли зарарил и приаттачил :)

Serg
22.09.2008, 13:04
Виктор, вариант интересный, поддерживаю идею!

Serg_PRQ
22.09.2008, 14:03
Виктор, а насколько работоспособна идея с прерываниями по трансляции передачи? Это где-то было использовано, либо просто вариант решения (ну тут уж, снимаю шляпу, изящно, однако!)?
Как все это прокатит в реальном RS-232- требует железных испытаний... хотя больше склоняюсь, что скорее да, чем нет.

ut1wpr
22.09.2008, 14:45
Виктор, а насколько работоспособна идея с прерываниями по трансляции передачи? Это где-то было использовано, либо просто вариант решения (ну тут уж, снимаю шляпу, изящно, однако!)?
Как все это прокатит в реальном RS-232- требует железных испытаний... хотя больше склоняюсь, что скорее да, чем нет.
Впервые в голову пришло, как вариант. Тактовая от внутреннего прецизионника у таньки 8 МГц. При обработке прерывания особенно большой задержки не ожидаю, можно посчитать, но пока лень. Какая бы ни была задержка, она будет одинакова и для фронта и для спада. А трансивер и не узнает, что поток где-то там на пару мксек задержался. Он же не знает кто и когда начал ему передавать, пофигу ему :)
Попробуем. Надо узнать, есть ли у нас в свободной продаже танька 2313...

ut1wpr
22.09.2008, 16:34
Узнал. В магазине, недалеко от дома кончились ;-) Будут аж через неделю.
Для сведения, цены:
smd 7грн
dip 10 грн
Курс в районе 5 болтается.
На макетнице стоит mega48, попробовать можно и на ней... У нее тоже есть прерывание по изменению состояния.

Serg
22.09.2008, 16:41
Посмотрел в прайсе, 5-6 гривен, но это полу-оптовая фирма там подешевле чем в соседнем магазине (где-то червонец).

Вот такие, чем с V от без V отличается - не знаю...

Микросхема ATTiny2313-20SU, произв. Atmel
Микросхема ATTiny2313V-10SU, произв. Atmel

Serg_PRQ
22.09.2008, 20:18
Микросхема ATTiny2313-20SU, произв. Atmel
Микросхема ATTiny2313V-10SU, произв. Atmel

20 и 10 - максимальные тактовые частоты, как я понимаю. 10-ка скорее всего и еще с низким потреблением (либо пониженным питанием).

ut1wpr
22.09.2008, 20:30
Может Аськами обменяемся? Я вижу, PRQ сейчас в оналйне. А можно и гуглтолком...
Как на это? У меня есть вопросы, хотелось бы не засорять форум...

Serg
23.09.2008, 00:43
Давайте попросим модератора выделить отдельную тему о Kenwood band data decoder, начиная с моего сообщения "вот бы такое для кенвуда"?

Serg_PRQ
23.09.2008, 07:32
Давайте попросим модератора выделить отдельную тему о Kenwood band data decoder, начиная с моего сообщения "вот бы такое для кенвуда"?
Сергей, а кто мешает создать свою тему здесь в общей ветке, коль Вам это интересно и нужно? Лично у меня "кенвуда" нету, поэтому практическое применение не грозит :)
Ну чем смогу- поддержу тему, "с миру по нитке ....", как говорится.

ut1wpr
23.09.2008, 09:06
Давайте попросим модератора выделить отдельную тему о Kenwood band data decoder, начиная с моего сообщения "вот бы такое для кенвуда"?
Да ну его, полупустые темы плодить. Не боярское это дело. Эта самая веточка поживет-поживет, да и канет в лету. Даже независимо от результата.
Я сейчас намалевал (с трудом к программированию отнести можно :) ) фрагмент приема блока символов от Кенвуда. И вот вопрос. Есть ли смысл принимать все 38 байтов, чтобы убедиться в наличии финализирующего ";" или можно просто после приема "IF" проверить отсутствие ";" (исключить запрос), отсчитать наличие трех нулей и взять два байта частоты? Так вроде, пошустрее будет. А с другой стороны, куда спешить. Что 38 байтов, что 7... На какие-то десятки миллисекунд задержится отработка переключения.
Еще добавил механизм отработки прерывания по смене состояния пина плюс старт таймера. Там же Обработчик прерывания этого таймера.
Любопытно было взглянуть на выходной листинг. Взглянул. Безошибочная компиляция. Что захотел, то и получил. А что захотел - это уже вопрос... :)

Serg_PRQ
23.09.2008, 10:03
И вот вопрос. Есть ли смысл принимать все 38 байтов, чтобы убедиться в наличии финализирующего ";" или можно просто после приема "IF" проверить отсутствие ";" (исключить запрос), отсчитать наличие трех нулей и взять два байта частоты? Так вроде, пошустрее будет.


То, что придется анализировать полностью все байты потока- однозначно. Во-первых, каждый из них будет попадать в буфер уарта и изменять флаг приемника авра. Во-вторых, не контролируемая здесь ситуация может привести к потере нужной информации о частоте (т.к. сами пакеты не контролируемы во времени и размерах), а если она повторяется не так часто?

Насчет АВ: сомневаюсь, что большинство здесь присутствующих что-то понимает в этих диаграммах, поэтому нет смысла доводить все это до народа :) Чтобы понять, как это работает, хотя бы на 90%, нужно работать с самим АВ.
Я, например, как-то пытался было разобраться- но что-то не смог преодолеть планку, а сейчас и не вижу большого смысла для себя, вот сишный код глянуть еще можно, только он не будет таким простым...
Все это узкоспециализированн ое хорошо, только для тех кто уже прошел по этим граблям, а таких здесь можно по пальцам пересчитать, да и не интересно им здесь, в отличии от Вас, Виктор.
Только получается, что сами с собой будете здесь все обсуждать, что-то желающих все это дело пробовать не находится, либо ждут что получится. Наверное пока все заняты, подождем как будет посвободнее, сам такой :?

ut1wpr
23.09.2008, 10:25
И вот вопрос. Есть ли смысл принимать все 38 байтов, чтобы убедиться в наличии финализирующего ";" или можно просто после приема "IF" проверить отсутствие ";" (исключить запрос), отсчитать наличие трех нулей и взять два байта частоты? Так вроде, пошустрее будет.


То, что придется анализировать полностью все байты потока- однозначно. Во-первых, каждый из них будет попадать в буфер уарта и изменять флаг приемника авра. Во-вторых, не контролируемая здесь ситуация может привести к потере нужной информации о частоте (т.к. сами пакеты не контролируемы во времени и размерах), а если она повторяется не так часто?

Насчет АВ: сомневаюсь, что большинство здесь присутствующих что-то понимает в этих диаграммах, поэтому нет смысла доводить все это до народа :) Чтобы понять, как это работает, хотя бы на 90%, нужно работать с самим АВ.
Я, например, как-то пытался было разобраться- но что-то не смог преодолеть планку, а сейчас и не вижу большого смысла для себя, вот сишный код глянуть еще можно, только он не будет таким простым...
Все это узкоспециализированн ое хорошо, только для тех кто уже прошел по этим граблям, а таких здесь можно по пальцам пересчитать, да и не интересно им здесь, в отличии от Вас, Виктор.
Только получается, что сами с собой будете здесь все обсуждать, что-то желающих все это дело пробовать не находится, либо ждут что получится. Наверное пока все заняты, подождем как будет посвободнее, сам такой :?
ОК. Принято.

Serg
23.09.2008, 13:19
Сергей, а кто мешает создать свою тему здесь в общей ветке, коль Вам это интересно и нужно? Лично у меня "кенвуда" нету, поэтому практическое применение не грозит

У меня нет таких полномочий, чтобы разделять тему и переносить сообщения в новую. Раз Вы и Виктор пропозицию не поддержали, ладно, давайте здесь общаться... Во всяком случае, пока нас никто не попер отсюда...

Конструкция нужная - ко мне обратились уже несколько друзей-кенвудистов и говорят ждем тоже! ;)

По поводу выкладок, я к сожалению микроконтроллерами никогда не занимался, хотя навыки в программировании на РС имеются и кое какие процессы понимаю, не совсем все-таки "тупой пользователь". :D


И вот вопрос. Есть ли смысл принимать все 38 байтов, чтобы убедиться в наличии финализирующего ";" или можно просто после приема "IF" проверить отсутствие ";" (исключить запрос), отсчитать наличие трех нулей и взять два байта частоты? Так вроде, пошустрее будет. А с другой стороны, куда спешить. Что 38 байтов, что 7... На какие-то десятки миллисекунд задержится отработка переключения.

Затрудняюсь ответить, здесь, наверно, только эксперимент даст ответ...

P.S. Тип контроллера уже окончательно выбран, можно начинать разводку? Я хочу поставить там еще пару сборок ключей для управления реле ULN2004 (по 6 в каждой)...

ut1wpr
23.09.2008, 13:46
Сергей, а кто мешает создать свою тему здесь в общей ветке, коль Вам это интересно и нужно? Лично у меня "кенвуда" нету, поэтому практическое применение не грозит
У меня нет таких полномочий, чтобы разделять тему и переносить сообщения в новую.
Не надо путать тему и ветку. Суть разные вещи.

Конструкция нужная - ко мне обратились уже несколько друзей-кенвудистов и говорят ждем тоже! ;)
Задача эта возникла внезапно, придется втискивать в без того плотный график своих работ. Попросту, придется меньше спать :(

P.S. Тип контроллера уже окончательно выбран, можно начинать разводку? Я хочу поставить там еще пару сборок ключей для управления реле ULN2004 (по 6 в каждой)...
С ключами поаккуратней. Внимательно изучи даташиты. Есть мс на 6, 7 и 8 ключей. И в каждом виде есть свои подгруппы. Не возьми случайно CMOS-уровневые для стыковки с TTL. Не откроются полностью.
Насчет выбора контроллера, не убежден. Я пока буду макетировать на том, что есть под рукой. Мега48. Tiny2313 по заверениям продавцов будет через неделю, не раньше. Развести пару ножек - вопрос короткого времени. Не торопись, а то успеешь :)

Serg_PRQ
23.09.2008, 15:33
Насчет выбора контроллера, не убежден. Я пока буду макетировать на том, что есть под рукой. Мега48. Tiny2313 по заверениям продавцов будет через неделю, не раньше. Развести пару ножек - вопрос короткого времени.
Гонялся за 2313-ми почти месяц. Когда привезли- навалилась работа и другие планы, валяются теперь невостребованные. Конечная цена оказалась почти равной меге-8, я понимаю, конечно, что это типа из "пушки по воробьям"- но такова объективная реальность у нас в области. Потому можно сильно не зацикливаться на контроллере- подойдет практически все что удасться найти подешевле, а перетранслировать код на другие порты- пустяки.
Насчет ключей- дело вкуса, конечно, щас много интересных драйверов, вопрос в возможностях. Лично я бы не заморачивался- поставил по 1 ключику типа КТ815 (что за релюхи, а то и КТ315 хватит) + 1 резистор в базе. Себестоимость практически нулевая, авр потянет с запасом даже мелкий. Насчет повторяемости вообще молчу :)

Serg
23.09.2008, 16:16
Развести пару ножек - вопрос короткого времени. Не торопись, а то успеешь

Я не спешу и не тороплю тоже ;) Тем более, радио пока на TX не работает, драйвер полетел...

Почему сборки ключей - там уже и диоды есть защитные внутри. Меньше паять и сверлить.

ut1wpr
24.09.2008, 11:53
За неимением нужного аппарата приходится писать эмулятор.
Чем сейчас и занимаюсь.

ut1wpr
24.09.2008, 21:27
За неимением нужного аппарата приходится писать эмулятор.
Чем сейчас и занимаюсь.
Наваял эмулятор. Теперь с его помощью легче будет проверить концепцию "повторителя" :-)
Если кто может, протестируйте контролем осциллографа по выходу на порту. У меня вроде работает :)

На первом "снимке" можно оценить длину передачи полного пакета из 38 байтов.
На втором четко читаются коды символов "IF000". 49h,46h,30h,30h...
На третьем по длительности стартового импульса можно определить бодовую скорость передачи.

ut1wpr
24.09.2008, 21:44
То, что придется анализировать полностью все байты потока- однозначно. Во-первых, каждый из них будет попадать в буфер уарта и изменять флаг приемника авра. Во-вторых, не контролируемая здесь ситуация может привести к потере нужной информации о частоте (т.к. сами пакеты не контролируемы во времени и размерах), а если она повторяется не так часто?
1. В буфер уарта может попадать что угодно. На здоровье. Процедура приема анализирует главное: 1-й принятый байт обязательно должен быть "I", 2-й должен быть "F", затем обязательно три байта "000" (КВ диапазоны). Такое сочетание уже само по себе уникально.
2. Ну и что, что они не одинаковы по длине?
3. Какой-такой "контролируемы во времени" ? Не понимаю, зачем их контролировать. Процедура приема суть процедура обработки прерывания. Она самодостаточна для решения поставленной задачи. Не пришла требуемая последовательность байтов (назовем его в нашем случае 'Заголовок пакета') - нафиг тогда все остальное? В Сибири правильно говорят. Для того, чтобы убедиться, не протух ли окорок, совсем необязательно съесть его целиком. При приеме полного пакета все равно ни по одному параметру нет возможности определить, ТО это или НЕ ТО. Лишь заголовок нам указывает на верный пакет.
Впрочем, пустая дискуссия. Я уже говорил, без разницы, 7 байт или 38. Все равно МК нифига не делает в это время. На уменьшение времени отклика можно плюнуть. Не то это время, чтобы с ним считаться. Не убежит ДЭХ за пару десятков мсек... :)

Serg_PRQ
25.09.2008, 10:50
Наваял эмулятор. Теперь с его помощью легче будет проверить концепцию "повторителя" :-)
Если кто может, протестируйте контролем осциллографа по выходу на порту. У меня вроде работает :)

Ну а куда оно денется, коль формируется из ПК :super:
Теперь можно и авр мучить...

ut1wpr
25.09.2008, 21:49
Теперь можно и авр мучить...
Выбрал время, помучил немного.
Голубой сигнал - "проходящий поток". От него же и синхронизация.
Желтый - выход под управлением обработчика прерывания по изменению состояния входа.
Снимок 1: Общий вид транслируемой последовательности, сформированной на выходе TxD.
Снимок 2: Задержка ведомого сигнала по отношению к ведущему. Т.е. фактически время реакции системы.
Разница в реакции по фронту и по спаду около 150 нсек.
Теперь буду думать как и когда ваять дальше. :)

Serg
25.09.2008, 23:22
А зачем знак плюса в строке информации, я вроде бы давал пример без него. Хотя, он не должен помешать, нужно после IF только выделить цифры частоты...

ut1wpr
25.09.2008, 23:35
А зачем знак плюса в строке информации, я вроде бы давал пример без него. Хотя, он не должен помешать, нужно после IF только выделить цифры частоты...
Я взял полное описание команд, типов и форматов параметров из описания 570-го.
Хотя это абсолютно никакого значения не имеет. Я эти строки создал лишь для отладки, значение частоты RIT/XIT пофигу :)
Обрати внимание на пятый формат параметров.

Serg
26.09.2008, 00:14
Понял, у меня расстройка была выключена, когда в терминале давал IF; и получал ответ от трансивера...

ut1wpr
26.09.2008, 12:19
Уж так получилось, что ваяю я системку вроде как на заказ. А посему, коллеги, будьте любезны уточнить ТЗ :-)
В целом, анализ проходящих пакетов и вывод нужных разрядов управления уже закончен. Диапазоны определяются, единички выскакивают.
Теперь вопросы.
Применение tiny2313 позволяет управлять 15-ю исп. уст-вами.
Анализ кода в блоке позволяет "вылущить" такие диапазоны:
1.8
3.5
7.0
10.0
14.0
18.0
21.0
24.0
28.0
29.0
50.0
144.0
430.0
Для упрощения можно сделать так, чтобы все КВ диапазоны имели свои порты управления, кроме 10-метрового. Он может быть общим для 28 и 29. Вводить ли диапазоны 50, 144 и 430 ?
Итак, как делать?
Кто имеет tiny2313 и средства его прошивки? На кого работаю? :-)
Могу промежуточные версии уже выдавать.

ut1wpr
26.09.2008, 12:37
Вроде, моя задача облегчается. Через пару часов буду иметь во временное пользование tiny2313. Имеете шанс получить готовую прошивку :)

Serg
26.09.2008, 12:54
Виктор, приветствую!

Обычно для УКВ есть отдельные гнезда в трансиверах, поэтому можно эти диапазоны не переключать.

Если остались "ноги", может быть ввести управление антенной для ДВ и СВ вещательных диапазонов (до 500кГц ДВ и соответственно от 500кГц до 1.6МГц СВ), может пригодится. 27-30МГц можно прописать как один диапазон.

Так же вопрос, как контроллер будет себя вести, если выйти за предел любительского диапазона? Он выключит все антенны :) или оставит ту, которая была включена последней?

У меня есть простой адаптер , как-то им прошивал обычные 90s1200 и 90s2313 с программой Ponyprog, думаю, подойдет и для Tiny. Осталось сходить ее купить...

ut1wpr
26.09.2008, 19:09
Обычно для УКВ есть отдельные гнезда в трансиверах, поэтому можно эти диапазоны не переключать.
Я этого не знаю, и потому ввожу это утверждение в ТЗ.

Если остались "ноги", может быть ввести управление антенной для ДВ и СВ вещательных диапазонов (до 500кГц ДВ и соответственно от 500кГц до 1.6МГц СВ), может пригодится. 27-30МГц можно прописать как один диапазон.
Т.к. других предложений нет, это тоже ввожу в ТЗ.

Так же вопрос, как контроллер будет себя вести, если выйти за предел любительского диапазона? Он выключит все антенны :) или оставит ту, которая была включена последней?
Да никак контроллер себя не ведет, он не живое существо. Как нам надо, так и поведет! А как нам надо? Быстренько... ТЗ задерживается.

У меня есть простой адаптер , как-то им прошивал обычные 90s1200 и 90s2313 с программой Ponyprog, думаю, подойдет и для Tiny.
Боюсь, что не подойдет, т.к. в старой 2313-й не было таких фьюзов, как в новой. Постарайся узнать у знатоков Поней, как шить Таньку. Я с Понями не работал. Если Пони умеет шить необходимые фьюзы, тогда без вопросов. А что эта Поня умеет - ХЗ :)

Осталось сходить ее купить...
А вот от этого не уйти :)
Чуть позже выложу схему, которую уже можно будет разводить. Танька для отладки у меня уже есть, и часть функций уже отлажена.

DeXter Holland
26.09.2008, 19:47
90s2313 и Tiny2313 - контроллеры, у которых выводы программирования одинаковые, тойсть поней шить можно. они отличабтся обьемом памяти и в некоторой степени архитектурой.

ut1wpr
26.09.2008, 20:53
90s2313 и Tiny2313 - контроллеры, у которых выводы программирования одинаковые, тойсть поней шить можно. они отличабтся обьемом памяти и в некоторой степени архитектурой.
Разговор шел не о выводах программирования, как Вы смогли заметить, ув. Декстер. Про архитектуру, так там далеко не "в некоторой степени". Различий в объемах памяти, читая даташиты, я не заметил. Может, вышли апдейты?
Просьба, будьте аккуратнее с рекомендациями. Желательно давать, предварительно убедившись собственноручно в их достоверности. Ваши внимательные читатели могут поплатиться иногда с трудом добытой микросхемой. Слова благодарности могут быть, Вы сами знаете какими.

Serg
26.09.2008, 21:24
Таск, думаю придется вам готовить на :пиво: :пиво: :пиво: ;)


Да никак контроллер себя не ведет, он не живое существо. Как нам надо, так и поведет! А как нам надо? Быстренько... ТЗ задерживается.

Вы не против, если сделать так:

1. прописать пределы наших диапазонов с запасом до 500кГц по краям, т.е. выходя, допустим, ниже 14.0 еще до 13.500 будет включаться антенна диапазона 20метров... Аналогично выходя выше 14.350 до 14.850 будет включаться антенна 20ки.

2. Если настроить трансивер на частоты вне этих пределов - включается антенна от диапазона 80метров. Обычно у многих дельта или инвертед-ви, в принципе, такой антенной можно прослушать весь служебный и вещательный КВ диапазон...

Итого, 9 КВ диапазонов + ДВ + СВ , получается 11 выводов уже задействовано.

Можно ли еще пару из оставшихся выводов задействовать для ручного принудительного переключения, т.е. по кругу щелкать диапазоны, а если нужно снова на автомат перейти, просто сделать выкл-вкл устройству? (или же зажать и подержать пару кнопок сразу)


В пони-проге Tiny2313 поддерживается, адаптер выдает все стандартные сигналы, необходимые для программирования.

DeXter Holland
26.09.2008, 21:33
Значит подкорректитирую себя. Пони Прог прошивает Аттини 2313 . при этом схема программатора, что и на старую 2313 (Serg уже успел это сказать). И этих фюзов достаточно (на выбранные не обращайте внимание)? Или Вы Авреалом предпочитаете пользоватся?

ur4qsj
27.09.2008, 00:01
добрый ноч всем я работаю с attiny2313 уже около 2лет поня шйот тинку прекрасно железо такое как на at90s1200 и at90s2313
штобы шыть тиньку нужен софт не ниже ponyprogV206f у нас на рынке тинька стоит 6-7гр прекрасный проц а главное дешовый и валом на ном и учился програмированию бивало щил до 60 раз в день и ни одного што интересно не запорол правда надо быть по внемателнее с фюзе бит

ut1wpr
27.09.2008, 00:22
Значит подкорректитирую себя. Пони Прог прошивает Аттини 2313 . при этом схема программатора, что и на старую 2313 (Serg уже успел это сказать). И этих фюзов достаточно (на выбранные не обращайте внимание)? Или Вы Авреалом предпочитаете пользоватся?
Ок. Принято.
Да, ByteBlaster+AvReal. Так исторически сложилось, что Альтерой я начал заниматься раньше.

ut1wpr
27.09.2008, 00:25
Таск, думаю придется вам готовить на :пиво: :пиво: :пиво: ;)


Да никак контроллер себя не ведет, он не живое существо. Как нам надо, так и поведет! А как нам надо? Быстренько... ТЗ задерживается.

Вы не против, если сделать так:

1. прописать пределы наших диапазонов с запасом до 500кГц по краям, т.е. выходя, допустим, ниже 14.0 еще до 13.500 будет включаться антенна диапазона 20метров... Аналогично выходя выше 14.350 до 14.850 будет включаться антенна 20ки.

2. Если настроить трансивер на частоты вне этих пределов - включается антенна от диапазона 80метров. Обычно у многих дельта или инвертед-ви, в принципе, такой антенной можно прослушать весь служебный и вещательный КВ диапазон...

Итого, 9 КВ диапазонов + ДВ + СВ , получается 11 выводов уже задействовано.

Можно ли еще пару из оставшихся выводов задействовать для ручного принудительного переключения, т.е. по кругу щелкать диапазоны, а если нужно снова на автомат перейти, просто сделать выкл-вкл устройству? (или же зажать и подержать пару кнопок сразу)


В пони-проге Tiny2313 поддерживается, адаптер выдает все стандартные сигналы, необходимые для программирования.
С пивом определенные трудности, из непьющих мы... :) :) :)
Буду смотреть, как все это свяжется.

ur4qsj
27.09.2008, 00:33
можно поинтересоватся у ut1wpr если не секрет на каком язике пишете на си или асме

ut1wpr
27.09.2008, 09:26
можно поинтересоватся у ut1wpr если не секрет на каком язике пишете на си или асме
Да какие секреты. Выбираю под задачу.
Для проектов побольше предпочитаю Си. Если для души, то IAR, если на заказ, то на AVR GCC.
Для проектов средней категории выбираю АлгоритмБилдер.
На Асме писал, когда направление AVR осваивал. Сейчас практически не возвращаюсь, т.к. Билдер его полностью заменяет, однако его эффективность в разы выше.
Данный проект на Билдере.

ut1wpr
27.09.2008, 19:03
Эх, и купился я... Еррата на этот кристал несколько размазана. Но мне, старому козлу, надо было все ж прочитать и не лезть в сомнительные конфигурации! Захотелось пин сброса задействовать! Низзя, однако, глюк в камне. И вот теперь нету у меня таньки. Вот ведь...
Черт побери, с их постоянными ерратами сомнения меня начинают брать - а не вернуться ли мне на старые добрые пики? Достали уже эти господа из атмела. У них изделия начали жить по году-два. А далее снимают с производства, предлагают новые-улучшенные. Народ уже стонет, После года разработок, перед началом серии - на тебе...
Может, на ПИК перейдем? :)
Я, конечно, завтра пороюсь по знакомым, но сомнительно. Выходной, солнышко впервые зха две недели, огороды у людей...
Эх, здорово оно меня подкосило!

Serg
27.09.2008, 19:22
Может хорошо, что я только завтра за атмелом в магазин собрался?

Можно и PIC 84й или 628й - есть чем шить, в принципе...

DeXter Holland
27.09.2008, 20:52
Как по моемому, 84 уже свое отжил, и по последним данным, уже снят с производства. 628 - ето уже по новее будет.

ur4qsj
27.09.2008, 21:21
вопрос к ut1wpr можна вас попросить исходник одним словом вашы наработки по тинке поскоку я так понял вы перейдоте на пик я хочу
попробовать по свободе соорудить такое переключениу ради интереса

ut1wpr
27.09.2008, 21:29
вопрос к ut1wpr можна вас попросить исходник одним словом вашы наработки по тинке поскоку я так понял вы перейдоте на пик я хочу
попробовать по свободе соорудить такое переключениу ради интереса
Где звучало, что я куда-то перехожу?
Просить исходник на полдороге? Уважаемый, это некорректно.
Да и вообще, у Вас есть опыт работы в АБ? А сам АБ?

ut1wpr
27.09.2008, 21:32
Как по моемому, 84 уже свое отжил, и по последним данным, уже снят с производства. 628 - ето уже по новее будет.
Согласен с характеристиками. А вот выводов в обоих маловато. Ровно на два меньше. Если выкидывать длинносредние :) волны, можно уложиться. Но я пока не спешу.

ur4qsj
27.09.2008, 21:37
извеняюсь за некоректность в сторону ut1wpr просто все так заговорили о пиках
ну я и подумал

DeXter Holland
27.09.2008, 21:45
А если применить дешифратор типа 555ИД10 или подобный ? задействуется только 4 порта контроллера

ur4qsj
27.09.2008, 21:51
проше тогда atmega8 в дип корпусе

ut1wpr
28.09.2008, 12:35
А если применить дешифратор типа 555ИД10 или подобный ? задействуется только 4 порта контроллера
Проще купить то, что заложил. И не начинать все сначала. Дешифраторы откинул с самого начала. Надо выбирать из тех, у которых единичка активная, а не нолик. Да и кто запрещает подобное самому разработать. В каком угодно варианте.
Ладно, купил парочку новых, сейчас их проверю и пойду дальше. Надо с этим до вечера заканчивать. Не имею права на понедельник откладывать. Начинаются сильные проблемы по работе, могу и не докончить... :)

ut1wpr
28.09.2008, 20:58
МК все-таки можно покупать ( для тех, кто в сомнениях :) )

Что сделано?

Устройство имеет два режима работы, ручной и автоматический. Режим выбирается тумблером или кнопкой с фиксацией.

В автоматическом режиме:
При проходе пакетов со статусом трансивера по направлению ОТ трансивера в КУДА-НИБУДЬ, эти пакеты просматриваются МК и отфильтровываются по признакам:
- Первые два символа обязательно "IF".
- Третий символ обязательно НЕ ";"
- 38-й символ обязательно ";"
Все пакеты, не подпадающие под эти требования игнорируются.

Из пакета извлекается частота в килогерцах (к примеру 14260), сравнивается с граничными значениями включения антенн и при выполнении условия нахождения в границах допуска, на определенный вывод МК подается лог. "1". Все остальные выходы сбрасываются в "0".

В ручном режиме:
Включается та антенна, которая последний раз была выбрана в этом режиме.
Нажатием кнопки "Выбор" происходит последовательное переключение антенн "по кругу", начиная с той антенны, которая была выбрана последний раз в ручном режиме.
Выбор антенны в ручном режиме фиксируется в EEPROM. Любителей работать с калькулятором могу озадачить. Endurance для EEPROM этого МК заявлен производителем не менее 100000 циклов записи. Исходя их этого и зная, как часто будут производится ручные переключения ( положим, фанаты могут это делать 1000 раз в день. Простые смертные рекордов ставить не будут :) ) можно определить, насколько долго "хватит" этой памяти :) :) :)

Раскладка граничных значений частот для включения антенн (в кгц):

ANT1 F < 500
ANT2 F < 1600
ANT3 F < 2500
ANT4 3000 <= F < 4000
ANT5 6500 <= F < 7500
ANT6 9500 <= F < 11000
ANT7 13500 <= F < 14900
ANT8 17500 <= F < 18600
ANT9 20500 <= F < 21900
ANT10 24000 <= F < 25500
ANT11 25500 <= F < 30500
ANT12 F < 51500
Анализ идет по направлению снизу вверх по частоте, или сверху вниз по таблице.
Т.к. отработка подходящего условия прекращает дальнейший анализ, то ряд диапазонов имеет упрощенную логику сравнения ( борьба за память программы, жлобство на мой взгляд, все равно еще только половина использована :) )

Схему, которая собрана на макете и в данный момент работает, прилагаю. Для того, кто возьмется разводить, и кто согласует свою печатку с другими - могу предложить такой вариант. Все выводы управляющих сигналов включения антенн можно разводить так, как это будет удобнее. Это же касается тумблера и кнопки. Но не трогать выводы 19, 32 и 2.

Сегодня уже устал, у нас 9 вечера. Выяснил, что по работе еще пару дней будут просветы. Потому принимаю решение расслабится перед ящиком (не с пивом!), а автоматику определения наличия потока обдумаю и реализую завтра. С энтой мыслЕй еще переспать надо :)
Если кому-то невтерпеж, прошивка в приложении.

ut1wpr
29.09.2008, 17:47
Ну, господа коллеги. Так нельзя. Если приводите цифры, будьте любезны быть поточнее. Я о таймауте, об интервале между двумя последовательными запросами от программы-лога. Может, какой лог и "шустрит" по два раза в секунду, а Микс это делает раз в две с небольшим секунды. Придется немножко пересмотреть изначальный подход...
Да, и еще. Микс гонит "IF;"
На это можно реагировать? Что другие логи отсылают?
ps В предыдущем посте в схеме была ошибка. Отладочный вариант. Одну цепь пустил по-другому. Выложил исправленную.

Serg
29.09.2008, 21:46
Атмел сегодня купил, сборки ключей тоже. Сборки по 2.5гривны (пол доллара). Мне так проще, чем искать горсть каких-нибудь составных КТ972 и защитных диодов к ним.

По умолчанию N6TR и TR4W (виндовский аналог N6TR) дает пул каждые 250мсек, популярный OmniRIG - 500. Пара картинок для наглядности.

2 секунды - это камень в огород Микса - теперь ясно, чего водопад немного тормозит, в смысле прорисовка частоты на нем :(

Что другие логи отсылают и как быстро попытаюсь уточнить на днях. (нужно их установить и программа "шпион" портов)

По памяти опрос делался достаточно быстро, т.к. не замечал замедления смены циферок частоты на экране.

Может постоянные пользователи других программ нас читают и подскажут быстрее?

ut1wpr
30.09.2008, 09:26
Атмел сегодня купил, сборки ключей тоже. Сборки по 2.5гривны (пол доллара). Мне так проще, чем искать горсть каких-нибудь составных КТ972 и защитных диодов к ним.
Хорошие у вас цены. В каком это городе, Сергей? Я по твоему позывному "Serg" не могу разобраться. :-)

2 секунды - это камень в огород Микса - теперь ясно, чего водопад немного тормозит, в смысле прорисовка частоты на нем :(Порылся в .ini Микса. Думал, там есть параметр. Фигвам там есть. Попробую Денису или Коле позвонить. Хотя бы поинтересоваться, из каких соображений такой большой интервал.

ut1wpr
01.10.2008, 13:03
Продолжаю возню с таймаутами. Сделал открытие :)
У Микса 2.4 сек - это был некий таймаут, на тот случай, если трансивер не отвечает. Сейчас связал воедино Микс и эмулятор Кенвуда - все побежало быстренько :) Период повторения запросов около 600 мсек. Это нормально.

Serg
01.10.2008, 13:53
Разрабатываю печатку. Есть место под обычную КРЕНку пусть будет, хотя наверно для питания хватит и L-ной?

ut1wpr
01.10.2008, 14:02
Разрабатываю печатку. Есть место под обычную КРЕНку пусть будет, хотя наверно для питания хватит и L-ной?
Хватит за глаза. Но все зависит от входного напряжения. Мне тут недавно на глаза попалась конструкция одного любителя. Он на кренке гасил аж 21 вольт. Вопрос. Будет она греться, как многие любят спрашивать? :)
Кстати, он очень был удивлён её нагревом. Ведь МК, он говорил, мизер потребляет. Вот врут!
Переписал программу имитатора Кенвуда. Теперь реально работает вся связка: Микс + Селектор Антенн + имитатор Кенвуда. Меняю диапазон в имитаторе, бодренько (но с задержкой в 600 мсек) перепрыгивает светодиодик диапазона в селекторе. Т.к. у меня в компьютере всего лишь один СОМ-порт, применил дата-кабель от мобилок, валялся у меня старенький. Прилагаю два рисуночка. Первый, это пакеты "Запрос" и "Ответ", осциллограмма. Второй - это скриншот имитатора Кенвуда :)
И еще. Гляньте на мой "рабочий уголок". Не доходят руки разложить все по полочкам. Сам себя уговариваю "вот это вот доделаю, и тогда уберу...". Никак не удается "доделать" :)

Serg
01.10.2008, 15:50
Понятно, нормальный "творческий беспорядок" на столе ;)

Осцыл наверно современная коробочка к USB порту? Симпатичные картинки выдает...


Специально посмотрел, не выдает плюсов и при расстройке чего-то TS-2000, хотя это нам не мешает, но вот протокол из терминала для информации:

IF00007010500 0000000002020000080; - расстройка выведена в 0 и отключена
IF00007010500 0010010002020000080; - включена, значение 100Гц
IF00007010500 -0010010002020000080; - включена, значение -100Гц

P.S. Пару дней назад дал в ICQ запрос, пока авторизация не поступила...

ut1wpr
01.10.2008, 21:34
Понятно, нормальный "творческий беспорядок" на столе ;)
Все время себя убеждаю, что это "ненормальный" беспорядок, не должно такого быть у аккуратного человека! Такое впечатление, что какой-то невидимка приходит и все на столе перемешивает. Тьфу на него!

Специально посмотрел, не выдает плюсов и при расстройке чего-то TS-2000, хотя это нам не мешает, но вот протокол из терминала для информации:

IF000[07010]500 0000000002020000080; - расстройка выведена в 0 и отключена
IF000[07010]500 0010010002020000080; - включена, значение 100Гц
IF000[07010]500 -0010010002020000080; - включена, значение -100Гц
Я ж не частотомер сооружаю. Взял в квадратные скобки те цифры, которые принимаю участие в анализе. По ним и принимается решение о включении того или иного реле. Мы уже это обсуждали.

Осцыл наверно современная коробочка к USB порту? Симпатичные картинки выдает...
Ну, как посмотреть. Коробочка, конечно есть. И USB тоже. И даже флешку обслуживает. См. фотку. Я себя уважаю :) :) :)

P.S. Пару дней назад дал в ICQ запрос, пока авторизация не поступила...
Это ко мне, что-ли? Извини, не заметил. Повтори, завтра я буду весь день на работе, почти постоянно за компом. Дома-то отходить приходится, среди спама мог и потеоряться. Только в запросе назови себя, а то я безымянные запросы просто прибиваю.
Теперь по теме. Практически все работает. Осталось выловить маленький глючок на старте устройства. А в целом ловит запросы от программы либо генерирует само. Определяет диапазон, включает. Как и хотели. Попробую сегодня глючок побороть.

ut1wpr
01.10.2008, 22:26
Бета-версия готова.
Тестируйте.
PS 2 Serg
При разводке учти, что надо сначала грамотно составить принципиальную схему. Устройство должно быть универсальным. Т.е. с трансивером оно должно линковаться только по RS-232, а вот в сторону компьютера могут быть варианты. Как RS-232, так и Data-cable от мобилок. Переходник USB<->COM - это тот же RS-232. А вот дата-кабель несколько иное. У него уровни TTL, плюс они инверсные по отношению к RS-232. Два возможных варианта прилагаю в блок-схемах.

alex74
02.10.2008, 07:10
To ut1wpr Если не слишком сложно, неплохо было бы 2 разрядный 7 сегментник с индикацией диапазона приделать. Возможна ли работа устройства на более выскоих скоростях? Скажем 19200 или 57600? Если да, то как менять скорость? В публикациях микропроцессороного конструктора-1 (http://www.cqham.ru/mpc98.htm) и микропроцессороного конструктора-2 (http://www.cqham.ru/mpc99.htm) программа сама автоматически определяет скорость по порту. Интересное решение. Это так, наметки для возможно будущих версий конструктива. Спасибо за Ваш труд :пиво: :пиво: :пиво:, конструкция нужная. Правда потестить пока нет возможности :-(

ut1wpr
02.10.2008, 09:13
To ut1wpr Если не слишком сложно, неплохо было бы 2 разрядный 7 сегментник с индикацией диапазона приделать. Возможна ли работа устройства на более выскоих скоростях? Скажем 19200 или 57600? Если да, то как менять скорость? В публикациях микропроцессороного конструктора-1 (http://www.cqham.ru/mpc98.htm) и микропроцессороного конструктора-2 (http://www.cqham.ru/mpc99.htm) программа сама автоматически определяет скорость по порту. Интересное решение. Это так, наметки для возможно будущих версий конструктива. Спасибо за Ваш труд :пиво: :пиво: :пиво:, конструкция нужная. Правда потестить пока нет возможности :-(
1. Зачем? Диапазон идицируется на трансивере. Без трансивера вряд-ли нужен селектор антенн.
2. Чем выше скорость, тем меньше помехозащищенность. Смысл увеличения скорости? В любом случае счет идет на миллисекунды.
3. Устройство не должно автоматически менять скорость. Оно ведет обмен с двумя внешними системами - под какую из них прикажете подстраиваться?

Будущих версий, скорее всего, не будет. Этот этюд по программированию завершен. Я готов выложить исходняки и комментарии, если кто-то захочет что-то изменить или добавить - только приветствую. Моя цель данной разработки - не конечное изделие. Я хотел показать, насколько в принципе несложно освоение и проектирование устройств на МК. В духе этой ветки, если кто-то забыл, с чего она началась :)

alex74
02.10.2008, 10:09
1. Зачем? Диапазон идицируется на трансивере. Без трансивера вряд-ли нужен селектор антенн.
Чтобы отследить отработку декодера. А то не поймешь-переключил декодер диапазон или нет.


2. Чем выше скорость, тем меньше помехозащищенность. Смысл увеличения скорости? В любом случае счет идет на миллисекунды.
При работе с водопадом в цифре высокая скорость обмена устраняет задержки и рывки оного, как следствие предпочитаю использовать 57600.


3. Устройство не должно автоматически менять скорость. Оно ведет обмен с двумя внешними системами - под какую из них прикажете подстраиваться?
Пусть не автоматическое определение скорости. Можно было бы менять константы в прошивке.

ut1wpr
02.10.2008, 10:38
1. Зачем? Диапазон идицируется на трансивере. Без трансивера вряд-ли нужен селектор антенн.
Чтобы отследить отработку декодера. А то не поймешь-переключил декодер диапазон или нет.


2. Чем выше скорость, тем меньше помехозащищенность. Смысл увеличения скорости? В любом случае счет идет на миллисекунды.
При работе с водопадом в цифре высокая скорость обмена устраняет задержки и рывки оного, как следствие предпочитаю использовать 57600.


3. Устройство не должно автоматически менять скорость. Оно ведет обмен с двумя внешними системами - под какую из них прикажете подстраиваться?
Пусть не автоматическое определение скорости. Можно было бы менять константы в прошивке.
Все это,на мой взгляд, частные решения "под конкретного заказчика". Все приведенные Вами аргументы догматичны и весьма обсуждаемы. Как пример могу ответить на них и Вы увидите, что все это просто перерастает в ненужную полемику. Не приводящую к необходимости изменения в программе.

Чтобы отследить отработку декодера. А то не поймешь-переключил декодер диапазон или нет.
Если работаете с реле - не вижу проблем поставить светодиод с токоограничивающим резистором параллельно каждому из них. Вопрос абсолютно бессистемный.

При работе с водопадом в цифре высокая скорость обмена устраняет задержки и рывки оного, как следствие предпочитаю использовать 57600.
Природа этих рывков не доказана. На моем компьютере они отсутствуют как класс. Очень спорно. Попробуйте обратиться к авторам программы. Возможно, они подскажут решение.

Пусть не автоматическое определение скорости. Можно было бы менять константы в прошивке
Ведь я указал на резкое снижение надежности при увеличении скорости. Да и необходимость увеличения не доказана. Ваши рывки - это еще не аргумент. По крайней мере, не достаточный аргумент. Скорее, относиться к категории "я бы хотел".

Словом, я в таком варианте не работаю. Повторяю, тема была про начинающих программистов. Заказов на отдельные изделия не принимаю. Чуть позже все основы проектирования и разработки этого "этюда" выложу на своей странице. Будет желание дорабатывать - велкам :)

Serg
02.10.2008, 11:49
Устройство должно быть универсальным. Т.е. с трансивером оно должно линковаться только по RS-232, а вот в сторону компьютера могут быть варианты.

Никто не мешает не вставить в панель MAX и припаяться к дорожкам, там, где уже TTL.

У старых Кенвудов 140/430/440/450/850/940/950 не было Мах232 внутри, поэтому их пользователи делали самодельный внешний Мах для стыковки с rs-232. Думаю, не сложно сообразить, что куда нужно соединить в таком случае...

На плате не ставлю разъемы DB-9, они у меня будут стоят на задней стенке корпуса, в котором все это будет собрано.

На счет индикации, я пока думаю, надо ли она вообще? (для ручного управления, похоже, да) Хотел 12 светодиодов в ряд поставить, так эта линейка шире, чем сама плата получается, если ставить обычные наши св.диоды (не мелкие).

ut1wpr
02.10.2008, 12:45
[quote=ut1wpr]
Никто не мешает не вставить в панель MAX и припаяться к дорожкам, там, где уже TTL.
На счет индикации, я пока думаю, надо ли она вообще? (для ручного управления, похоже, да) Хотел 12 светодиодов в ряд поставить, так эта линейка шире, чем сама плата получается, если ставить обычные наши св.диоды (не мелкие).
На всякий случай, схемку моего видения устройства прилагаю.
В случае TTL уровней Кенвудов можно вместо Макса воткнуть замыкающие перемычки. Или пересмотреть схему.
С индикацией - вопрос вкуса и технологических решений. Вариантов много.

Serg
02.10.2008, 13:23
Что еще подумал, мало у кого (даже у меня) абсолютно на каждый диапазон своя антенна со своим кабелем.

Можно решить этот вопрос с помощью запайки диодов (схема ИЛИ) между МК и сборками включей, которые будут включать то же реле, например, для антенны инвертед-ви на 80 и 40м, которая питается одним кабелем...

Вопрос: на сколько сложно дописать в программу какую-то "запоминалку в флеш" , которой можно кнопками сказать, что "на такой-то диапазон включай антенну от такого-то..." Или это выходит уже за формат проекта? (если так - я не настаиваю)

ut1wpr
02.10.2008, 14:10
Что еще подумал, мало у кого (даже у меня) абсолютно на каждый диапазон своя антенна со своим кабелем.

Можно решить этот вопрос с помощью запайки диодов (схема ИЛИ) между МК и сборками включей, которые будут включать то же реле, например, для антенны инвертед-ви на 80 и 40м, которая питается одним кабелем...

Вопрос: на сколько сложно дописать в программу какую-то "запоминалку в флеш" , которой можно кнопками сказать, что "на такой-то диапазон включай антенну от такого-то..." Или это выходит уже за формат проекта? (если так - я не настаиваю)
Я сказал, что этюд завершен. Далее каждый может вытворять все, что хочет. Лично мое отношение к этому этюды - забавка для программиста. Реально все обходятся ручным переключателем антенн собственных конструкций. Механические, электромеханические, квазиэлектронные.. Последний раз повторяю, я хотел дать некий толчок тем, кто стремится освоить программирование микроконтроллеров. Работа на заказ в радиолюбительской среде с моей стороны отпадает.
Насчет диодной логики я уже писал на какой-то из этих страниц, не помню. Можно как по входу ключей, так и по выходу. По входу - слаботочные диоды, по выходу, чуток помощнее, чтобы пиковые токи реле выдерживали. Никаких проблем.

Serg
02.10.2008, 14:52
Спасибо и на этом! До конца недели планирую собрать.

DeXter Holland
02.10.2008, 16:42
Насчет скорости обмена. У меня кенвуд 450, скорость обмена по интерфейсу - 4800. Если выставить больше или меньше - трансивер не поимает. как стоят дела на новых аппаратах-не знаю.

ut1wpr
02.10.2008, 19:50
Насчет скорости обмена. У меня кенвуд 450, скорость обмена по интерфейсу - 4800. Если выставить больше или меньше - трансивер не поимает. как стоят дела на новых аппаратах-не знаю.
Если Ваши программирующие устройства умеют записывать отдельно EEPROM и отдельно FLASH-память, в качестве альтернативы могу предложить записывать в отдельную ячейку (или ячейки, я пока не смотрел) константы для разных скоростей. Сами константы можно взять из даташита на таньку, или я приведу табличку отдельно.
В связи с примененным методом прямой трансляции потока методом прерывания по изменению состояния пина, не рекомендую залазить на высокие скорости. Елси эта опция нужна, готов ее ввести.
Кстати, вопрос, как к владельцу 4800 скорости :) Как сильно проявляются рывки "водопада" при работе с программой Микс?

ut1wpr
02.10.2008, 20:42
Версия с константой, размещенной в EEPROM по адресу $01
4800 $CF 4808 0.2%
9600 $67 9615 0.2%
19200 $33 19231 0.2%
38400 $19 38462 0.2%

В таблице указал требуемую скорость, константу, реальную скорость на данной тактовой частоте (внутренний прецизионный RC генератор 8 МГц) и % отклонения от требуемой скорости.
На всех остальных скоростях процент отклонения выше 6 и надежность трансферинга резко падает, если не слетает вообще.
Пробуйте.
Если кому-то потребуется имитатор Кенвуда - программку прилагаю. Принцип работы прост. Если программа получает последовательность 'IF;' она возвращает типовую последовательность пакета-ответа для той частоты, кнопка диапазона которого была нажата. Оба пакета, запрос и ответ выводятся в разные окна для контроля.

ut1wpr
02.10.2008, 21:48
Интересная новость:

http://www.mobilehandsetdes ignline.com/210605315?cid=RSSfee d_mobilehandsetdesig nline_mhsdlRSS
http://eetimes.eu/210605267

DeXter Holland
02.10.2008, 22:41
Программирующие устройства (пони прог имеется в виду) умеет записывать отдельно EEPROM и отдельно FLASH-память . Насчет рывков водопада, то при кручении ручки валкодера, в миксе водопад дергается раз в 1-2 секунды (приблезительно на глаз) .
И еще, какие фюзы нужно выставлять? чтоб небыло нареканий, что устройство не работает (этт же не пики шить, в нех файлах которого могут меститься настройки фюзов).

ut1wpr
03.10.2008, 07:30
Программирующие устройства (пони прог имеется в виду) умеет записывать отдельно EEPROM и отдельно FLASH-память . Насчет рывков водопада, то при кручении ручки валкодера, в миксе водопад дергается раз в 1-2 секунды (приблезительно на глаз) .
И еще, какие фюзы нужно выставлять? чтоб небыло нареканий, что устройство не работает (этт же не пики шить, в нех файлах которого могут меститься настройки фюзов).
Вопрос о рывках водопада следует задать не мне. Я не принимал участия в написании этой программы. Есть авторы, есть их адреса. Прошу обращаться.
Фьюзы:
CKSEL = 4 ( установка от изготовителя ) выбор внутреннего прецизионного RC-генератора в качестве опорного тактового. Если МК только приобретенный и есть уверенность в его чистоте - можно и не устанавливать.
CKDIV = 1 ( от изготовителя идут = 8 ) Выбор К деления опорной частоты в системную тактовую. По умолчанию Fclk = 1 MHz, устанавливаем 8 MHz. Менять всегда.
Хочу напомнить, фьюзы прописывайте только при первой прошивке. Потом они уже будут установлены, можно не беспокоить МК лишний раз :)

Слегка подправил программу. Изменения коснулись ручного режима.
Сохранение номера выбранного ключа теперь производится лишь при выходе из этого режима. Ранее сохранялось при каждом изменении выбора ключа. Глупо. Незачем.

Serg_PRQ
03.10.2008, 13:04
Интересная новость:

http://www.mobilehandsetdes ignline.com/210605315?cid=RSSfee d_mobilehandsetdesig nline_mhsdlRSS
http://eetimes.eu/210605267

Борьба за мировое господство... только похоже это вечная тема :?

DeXter Holland
03.10.2008, 16:41
Вопрос о рывках водопада следует задать не мне. Я не принимал участия в написании этой программы. Есть авторы, есть их адреса. Прошу обращаться.
Насчет водопада - это был ответ на вопрос:

Кстати, вопрос, как к владельцу 4800 скорости Как сильно проявляются рывки "водопада" при работе с программой Микс?

ut1wpr
03.10.2008, 19:37
Вопрос о рывках водопада следует задать не мне. Я не принимал участия в написании этой программы. Есть авторы, есть их адреса. Прошу обращаться.
Насчет водопада - это был ответ на вопрос:

Кстати, вопрос, как к владельцу 4800 скорости Как сильно проявляются рывки "водопада" при работе с программой Микс?
Да, понял.. Немного спутал :) Спутал, думал ко мне претензия :)

Serg
08.10.2008, 13:34
Всем привет!

Вот печатка, пользуйтесь.

Возможно, быстрее будет взять кусок макетной платы и там собрать это дело, использовав рисунок как монтажный шаблон. Но, если нет под руками макетной платы и лень ехать в магазин, можно поутюжить-потравить-посверлить...

P.S. Плата нарисована в моем _любительском_ стиле, может не по ГОСТу... Вид со стороны деталей, при печати на лазернике зеркалить НЕ нужно. В качестве ключей стоят сборки ULN2003 (2004), до 500ма и 50В могут быть реле.

ut1wpr
08.10.2008, 14:12
Всем привет!

Вот печатка, пользуйтесь.

Возможно, быстрее будет взять кусок макетной платы и там собрать это дело, использовав рисунок как монтажный шаблон. Но, если нет под руками макетной платы и лень ехать в магазин, можно поутюжить-потравить-посверлить...

P.S. Плата нарисована в моем _любительском_ стиле, может не по ГОСТу... Вид со стороны деталей, при печати на лазернике зеркалить НЕ нужно. В качестве ключей стоят сборки ULN2003 (2004), до 500ма и 50В могут быть реле.
Жду замечаний по работе программы.

Serg
04.11.2008, 00:45
В общем собрал, хотя и позже, чем обещал. Прошил программой PonyProg с адаптером для простой 2313 - подходит и к тини2313. (скриншот установки "фузов" прилагаю)

Докладываю:

1.Ручной режим работает, но можно и чуть поменьше сделать скорость "листания каналов", т.е. переключения антенн. ;)
2.В автоматическом режиме выбор антенн не проиходит, хотя обмен между компьютером и трансивером функционирует в обе стороны - значит реализованная в контроллере "трансляция" работает.

Стал разбираться, в чем дело, тестером подключился на max232 к TXD сигналу ИЗ контроллера, дергаются циферки, что-то передается, подал это на компьютер в СОМ порт, на картинке видно, что данные искажены, в чем может быть дело?

ut1wpr
04.11.2008, 08:25
В общем собрал, хотя и позже, чем обещал. Прошил программой PonyProg с адаптером для простой 2313 - подходит и к тини2313. (скриншот установки "фузов" прилагаю)

Докладываю:

1.Ручной режим работает, но можно и чуть поменьше сделать скорость "листания каналов", т.е. переключения антенн. ;)
2.В автоматическом режиме выбор антенн не проиходит, хотя обмен между компьютером и трансивером функционирует в обе стороны - значит реализованная в контроллере "трансляция" работает.

Стал разбираться, в чем дело, тестером подключился на max232 к TXD сигналу ИЗ контроллера, дергаются циферки, что-то передается, подал это на компьютер в СОМ порт, на картинке видно, что данные искажены, в чем может быть дело?
Доклад принят и утвержден! :) :) :)
Вот досада. Я давным-давно разобрал макет. И самое обидное, у меня был период отладки именно с таким глюком. Ан не помню, что делал. Придется ближе к выходным снова собирать.
Период задержки в ручном переключении при удержании кнопки выбран 300 мсек. Какой применить?

С фьюзами... Я, вроде, все таймера считал по тактовой 8 МГц. А у тебя не выбрана галка CKDIV8, т.е. по правилам Поней, бит запрограммирован. И тактовая равна 8 / 8 = 1 МГц, что неправильно. Проверь мою мысль, поставь галку.

Дополнительно для QTH1t, приславшего мне в личку письмо.
Ники - оно в форуме хорошо. В личной переписке приятнее по имени обращаться. Неплохо бы и обратный адрес почтовый привести. Личная переписка форума не поддерживает файл-аттачмента, увы.
Лично у меня просить исходники - никакая это не "наглость" :) :)
За других не отвечаю... Я ж сразу сказал - сей проект относится к категории этюдов, рад буду, если кто-то что-то полезное извлечет и пойдет дальше. Раньше предупреждал, проект создан в Алгоритм Билдере. Заранее скачайте и установите. В ветке есть ссылка.

Серж, потерпи чуток, работа затрахала. Забыл, как проволочку зачищать :) :) А запах канифоли с трудом вспоминаю (HI)

Serg
04.11.2008, 11:48
Пробовал с галкой, тоже не работает как следует, программа-монитор СОМ порта фиксирует появление данных где-то раз в 5 секунд и совсем полная билиберда, на IF; не похоже.


Период задержки в ручном переключении при удержании кнопки выбран 300 мсек. Какой применить?

Думаю, ближе к секунде, 800-900мсек будет приятнее ;)

Кстати, емкость к 1 ноге тини 0.1мкф стоит, нормально?

Serg
04.11.2008, 13:30
Похоже, причина в кривости внутреннего генератора Tiny. Установил в терминале скорость 9605 бод - уже читает корректно, даже вплоть до 9700. 9600 и 9590бод - уже билиберда.

Пони прочитала из камня: Read Osc.Calibration Byte successful: 0x48 (72)

А как его менять я не понял пока...

ut1wpr
04.11.2008, 15:21
Похоже, причина в кривости внутреннего генератора Tiny. Установил в терминале скорость 9605 бод - уже читает корректно, даже вплоть до 9700. 9600 и 9590бод - уже билиберда.

Пони прочитала из камня: Read Osc.Calibration Byte successful: 0x48 (72)

А как его менять я не понял пока...
Initial Value: Device Specific Calibration Value т.е. в каждой партии свое калибровочное число. Если кристалл кем-то юзался, могут быть варианты. Как в Понях писать в OSCCAL - не знаю. Чесно говоря, мне не приходилось калибровки менять. Да, и еще, там два калибровочных байта, насколько помню. Для 4 и 8 МГц разные.
Для 8 МГц погрешность установки бодовой скорости составляет 2%, т.е. +- 192 бода. Так что, все может быть. Недаром внутренний рекомендуют использовать при комнатных температурах и с подгонкой частоты. Это уже тебе козыри в руки. Будешь "главным выравнивателем бодов" ! :)
Посмотри сюда насчет Поней:
http://masteroid.ru/content/view/743/33/1/2/

ut1wpr
04.11.2008, 15:25
Думаю, ближе к секунде, 800-900мсек будет приятнее ;)
Кстати, емкость к 1 ноге тини 0.1мкф стоит, нормально?
Приду домой, изменю задержку.
А какие проблемы со сбросом? У меня их не было...

ut1wpr
04.11.2008, 19:26
Думаю, ближе к секунде, 800-900мсек будет приятнее
Поставил 1000 мсек.

Serg
04.11.2008, 21:19
В общем, я так и не понял, как в пони калибровать генератор... :( (может кто знает из читающих??)

Ставил фузы как советуют в той ссылке, ничего не работает вообще. Вернул так, как прежде.

Насчет сброса, at90s1200 однажды крови попил порядочно, пока я не купил супервизор, постоянно сбрасывалась энергонезависимая памать, причем ни одна из "игр с бубном" не помогала (кондер или резистор со светодиодом, кто-то советовал этим заменять супервизор...)


С односекундным перебором попробовал прошивку, ручной режим - ОК, автомат так и дает ерунду. НО, ради интереса поставил в свойствах терминала 7битный режим и тут же получил на экране кучу IF;IF;IF;IF;...

ut1wpr
04.11.2008, 21:51
В общем, я так и не понял, как в пони калибровать генератор... :( (может кто знает из читающих??)
Надо глянуть, а можно ли у этого типа контроллера менять коррекцию вообще. Похоже, что не у всех мк оно возможно.

Насчет сброса, at90s1200 однажды крови попил порядочно, пока я не купил супервизор, постоянно сбрасывалась энергонезависимая памать, причем ни одна из "игр с бубном" не помогала (кондер или резистор со светодиодом, кто-то советовал этим заменять супервизор...)
Дык в Таньке свой супервизор есть, при чем тут это?

С односекундным перебором попробовал прошивку, ручной режим - ОК, автомат так и дает ерунду. НО, ради интереса поставил в свойствах терминала 7битный режим и тут же получил на экране кучу IF;IF;IF;IF;...
Странно, я настраивал 8n1. Что-то не так с подсчетом стоп-битов. Еще раз повторяю, жалко, макет разобран.

Serg_PRQ
07.11.2008, 09:37
Вот я и говорю еще раз- все эти внутренние RC-генераторы- игрушки для макетов на столе. Как только дело коснется рабочей конструкции с разбросами компонентов/температурой и пр., все сразу и покажется.
Почему не поставить копечный кварц, не могу понять. Тем более номинал его не экзотический, из ширпотреба легко найти, например 8-ку. :?
А то скоро придется стабилизировать напряжение и температуру на МК :)

Serg
07.11.2008, 12:29
На 4МГц хоть сейчас могу поставить, 8 надо поискать в загажнике.