Страница 3 из 5
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Ср сен 21, 2011 14:26:03
uwrtey
решил я использовать вот такой код
1111111100000010 первая кнопка
1111111100000100 вторая кнопка
1111111100000110 третья
...
1111111100101000 двадцатая кнопка
первые восемь единиц это старт байт
затем два нуля и код состоящий из пяти битов, затем снова нуль которым заканчивается команда любой кнопки (итого опять восемь символов)
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Ср сен 21, 2011 15:20:45
uwrtey
как лучше защитить от помех - несколько раз повторять этот код или дописать к коду контрольную сумму?
например вот так
1) повторяющаяся команда в коде 11111111 00000010 00000010 (естественно без пробелов - здесь они для удобства чтения)
2) повторяющийся код
11111111 00000010
11111111 00000010
3) с контрольной суммой 11111111 00000010+00101000 (контрольная сумма 21)
ЗЫ самому больше нравится первый вариант! сойдет???
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Чт сен 22, 2011 18:20:56
uwrtey
с контрольной суммой как то сложнее получается а вот первый вариант вполне экономичней
посылается код состоящий из стартовых бит и несколько раз (минимум два) повторяющейся команды
приемник сравнивает первую и вторую команду и в случае их совпадения выполняет ее. в противном случае сканирует эфир сначала....
Уважаемые Гуру,такой вариант сойдет?
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Пт сен 23, 2011 00:15:54
Jack_A
uwrtey писал(а):с контрольной суммой как то сложнее получается а вот первый вариант вполне экономичней
посылается код состоящий из стартовых бит и несколько раз (минимум два) повторяющейся команды
приемник сравнивает первую и вторую команду и в случае их совпадения выполняет ее. в противном случае сканирует эфир сначала....
Уважаемые Гуру,такой вариант сойдет?
Кому может повредить контрольная сумма? Весь мир применяет и не жалуется. Я в одной из своих поделок блок данных, сопровождаемый КС, совал в пакет в 3 экземплярах, работало на ура. Теперь представьте : посылаете в пакете 3 одинаковых ( но без КС ) блока, два побились, а один нормальный. Несмотря на это, перезапраашиваем, хотя в пакете блок с корректными данными уже есть. Потеря времени, задержка реакции.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Пт сен 23, 2011 05:06:12
uwrtey
согласен, обдумаю.
просто хотел посылать две одинаковых команды и сравнивать между собой
а с контрольной суммой не мог бы ты выложить свой кусок кода одной команды? (хочу посмотреть как другие делают)
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Пт сен 23, 2011 11:06:43
Jack_A
Если число команд небольшое и они без параметров, то можно сделать проще : не рассчитывать КС, а к команде прицеплять готовый код подтверждения, что-то грубо вроде "цифровой подписи". Например, команда 1 : включить устройство 1, к ней прикручиваеи : допустим, '7tRR', к команде 2 - 'z8J6' и т.д. И это повторяем в пакете 3 раза. На приемном конце устройства знают правильные значения этих кодов подтверждения и номера команд, которым они соответствуют, и если в 3 блоках пакета найдется хотя бы один кусок с совпадающими этими реквизитами, то команда детектирована верно.
Для передачи команд с параметрами , набор которых неограничен, нужно считать КС. Для повышения ерундиции в данном вопросе стоит почитать :
http://www.piclist.ru/S-CRC16-RUS/CRC16.html
или любю другую статейку, что выдаст Яндекс по запросу CRC16. Достаточно вменяемая статея в Википедии. Я ее даже приятелю в научный отчет влимонил ( договор подряда у них подхалтуривал ) .

Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Пт сен 23, 2011 18:32:37
uwrtey
число команд должно быть от 20, можно конечно и больше - но пока остановлюсь на 20
Jack_A писал(а):Если число команд небольшое и они без параметров, то можно сделать проще : не рассчитывать КС, а к команде прицеплять готовый код подтверждения, что-то грубо вроде "цифровой подписи".
если не сложно то накалякай плиз кусочек кода на русском...
(а то я совсем профан в передаче данных, а с микроконтролерами только начал)
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Пт сен 23, 2011 20:19:54
uwrtey
как правильно подобрать частоту кварца?
мне кажется, что стоит повесить кварц на 20 мегагерц, а передачу/опрос информации производить с частотой 5 килогерц (вход в радио-передающий модуль 6 килогерц по датащиту)
частоту передачи/опроса ин-фы задавать с помощью зацикливания ...
как?
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Сб сен 24, 2011 08:23:38
Jack_A
uwrtey писал(а):
если не сложно то накалякай плиз кусочек кода на русском...
(а то я совсем профан в передаче данных, а с микроконтролерами только начал)
Не, я описал общий подход к повышению помехоустойчивости, а дальше уж, как говорят -- вот тебе удочка, а лови сам. На чужом коде программить не научишься, придется шишки набивать самолично.
К тому же на русском языке я кодить не умею, в основном - на ассемблере

Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Сб сен 24, 2011 15:30:41
uwrtey
спс
зы: большое спс
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Пт окт 28, 2011 19:29:47
phanis
Вот мой пример реализации управления одной нагрузкой, но при желании можно доработать Исходники
Приемник _передатчик.rar
http://s1.ipicture.ru/uploads/20111028/6K8LPNPK.jpg
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Вт янв 03, 2012 13:26:14
uwrtey
чем смотреть вложенные файлы?
нельзя ли исходники в .txt выложить? буду очень признателен
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Вт янв 03, 2012 15:08:47
uwrtey
вот тут немного понаписал на асме (для передатчика)
.............. задержку не написал так как не определился с кварцем...
вот собсна вопрос : влезет ли данный код в тиньку 2313 ? и будет ли работать такой принцип через радио эфир (в котором шума предостаточно) ???
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Ср янв 04, 2012 11:04:38
jordan
Давно не писал на асме, но если мне не изменяет память там нужно для начала определить стек...
ldi temp, low(Ramend)
out spl, temp
для тинки как то вот так!

Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Ср янв 04, 2012 12:49:40
uwrtey
jordan, это не по теме...
да и зачем же он в моем случае?
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Ср янв 04, 2012 12:50:07
Jack_A
uwrtey писал(а):вот тут немного понаписал на асме
Это тебе кажется
Когда прочитаешь такое :
rcall Delay: ;задержка
охота читать дальше пропадает.
А влезет или не влезет - не надо гадать, просто скомпилить,
предварительно исправив ошибки, оно и видно будет.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Ср янв 04, 2012 13:30:01
uwrtey
... точно

Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Ср янв 04, 2012 13:34:56
uwrtey
ну дак как на счет помехоустойчивости такого принципа кодирования сигнала?
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Ср янв 04, 2012 14:33:51
Jack_A
uwrtey писал(а):ну дак как на счет помехоустойчивости такого принципа кодирования сигнала?
Какого - "такого" ? Тут было обсуждение с полдюжины разных способов. Можно вопрос мусолить до второго пришествия марсиан - а толку? Зависит от уровня помех в конкретном месте, от требуемого уровня надежности передачи. Определись - и пробуй. Передать команду из фиксированного не очень большого набора - задача не семи пядей во лбу.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Добавлено: Ср янв 04, 2012 14:49:40
jordan
во первых инициализация стека обязательна, а во вторых вам уже отвечали что для вашего случая не нужно никакого кодирования, способов кодирование от помех много, вы замучаетесь кодировать и декодировать его, для вашего случая выше крыши будет дублирование команды, 2,3 или 4 раза как вам нравиться, но хватит и 2... сделайте такой пакет,
(преамбула--идентификатор--команда--команда--..--) и не париться с CRC и кодированием