дистанционное управление на 20 нагрузок на ATtiny2313

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение uwrtey »

решил я использовать вот такой код
1111111100000010 первая кнопка
1111111100000100 вторая кнопка
1111111100000110 третья
...
1111111100101000 двадцатая кнопка
первые восемь единиц это старт байт
затем два нуля и код состоящий из пяти битов, затем снова нуль которым заканчивается команда любой кнопки (итого опять восемь символов)
Последний раз редактировалось uwrtey Ср сен 21, 2011 15:21:51, всего редактировалось 1 раз.
не зная броду не лезь к вольтмоду
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение uwrtey »

как лучше защитить от помех - несколько раз повторять этот код или дописать к коду контрольную сумму?
например вот так
1) повторяющаяся команда в коде 11111111 00000010 00000010 (естественно без пробелов - здесь они для удобства чтения)

2) повторяющийся код
11111111 00000010
11111111 00000010

3) с контрольной суммой 11111111 00000010+00101000 (контрольная сумма 21)

ЗЫ самому больше нравится первый вариант! сойдет???
не зная броду не лезь к вольтмоду
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение uwrtey »

с контрольной суммой как то сложнее получается а вот первый вариант вполне экономичней
посылается код состоящий из стартовых бит и несколько раз (минимум два) повторяющейся команды
приемник сравнивает первую и вторую команду и в случае их совпадения выполняет ее. в противном случае сканирует эфир сначала....
Уважаемые Гуру,такой вариант сойдет?
не зная броду не лезь к вольтмоду
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение Jack_A »

uwrtey писал(а):с контрольной суммой как то сложнее получается а вот первый вариант вполне экономичней
посылается код состоящий из стартовых бит и несколько раз (минимум два) повторяющейся команды
приемник сравнивает первую и вторую команду и в случае их совпадения выполняет ее. в противном случае сканирует эфир сначала....
Уважаемые Гуру,такой вариант сойдет?


Кому может повредить контрольная сумма? Весь мир применяет и не жалуется. Я в одной из своих поделок блок данных, сопровождаемый КС, совал в пакет в 3 экземплярах, работало на ура. Теперь представьте : посылаете в пакете 3 одинаковых ( но без КС ) блока, два побились, а один нормальный. Несмотря на это, перезапраашиваем, хотя в пакете блок с корректными данными уже есть. Потеря времени, задержка реакции.
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение uwrtey »

согласен, обдумаю.
просто хотел посылать две одинаковых команды и сравнивать между собой
а с контрольной суммой не мог бы ты выложить свой кусок кода одной команды? (хочу посмотреть как другие делают)
не зная броду не лезь к вольтмоду
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение Jack_A »

Если число команд небольшое и они без параметров, то можно сделать проще : не рассчитывать КС, а к команде прицеплять готовый код подтверждения, что-то грубо вроде "цифровой подписи". Например, команда 1 : включить устройство 1, к ней прикручиваеи : допустим, '7tRR', к команде 2 - 'z8J6' и т.д. И это повторяем в пакете 3 раза. На приемном конце устройства знают правильные значения этих кодов подтверждения и номера команд, которым они соответствуют, и если в 3 блоках пакета найдется хотя бы один кусок с совпадающими этими реквизитами, то команда детектирована верно.
Для передачи команд с параметрами , набор которых неограничен, нужно считать КС. Для повышения ерундиции в данном вопросе стоит почитать :
http://www.piclist.ru/S-CRC16-RUS/CRC16.html
или любю другую статейку, что выдаст Яндекс по запросу CRC16. Достаточно вменяемая статея в Википедии. Я ее даже приятелю в научный отчет влимонил ( договор подряда у них подхалтуривал ) . :)
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение uwrtey »

число команд должно быть от 20, можно конечно и больше - но пока остановлюсь на 20
Jack_A писал(а):Если число команд небольшое и они без параметров, то можно сделать проще : не рассчитывать КС, а к команде прицеплять готовый код подтверждения, что-то грубо вроде "цифровой подписи".

если не сложно то накалякай плиз кусочек кода на русском...
(а то я совсем профан в передаче данных, а с микроконтролерами только начал)
не зная броду не лезь к вольтмоду
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение uwrtey »

как правильно подобрать частоту кварца?
мне кажется, что стоит повесить кварц на 20 мегагерц, а передачу/опрос информации производить с частотой 5 килогерц (вход в радио-передающий модуль 6 килогерц по датащиту)
частоту передачи/опроса ин-фы задавать с помощью зацикливания ... :dont_know: :shock:
как?
не зная броду не лезь к вольтмоду
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение Jack_A »

uwrtey писал(а):если не сложно то накалякай плиз кусочек кода на русском...
(а то я совсем профан в передаче данных, а с микроконтролерами только начал)


Не, я описал общий подход к повышению помехоустойчивости, а дальше уж, как говорят -- вот тебе удочка, а лови сам. На чужом коде программить не научишься, придется шишки набивать самолично.
К тому же на русском языке я кодить не умею, в основном - на ассемблере :)
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение uwrtey »

спс
зы: большое спс
не зная броду не лезь к вольтмоду
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение phanis »

Вот мой пример реализации управления одной нагрузкой, но при желании можно доработать Исходники Приемник _передатчик.rar
http://s1.ipicture.ru/uploads/20111028/6K8LPNPK.jpg
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение uwrtey »

чем смотреть вложенные файлы?
нельзя ли исходники в .txt выложить? буду очень признателен
не зная броду не лезь к вольтмоду
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение uwrtey »

вот тут немного понаписал на асме (для передатчика)
.............. задержку не написал так как не определился с кварцем...

вот собсна вопрос : влезет ли данный код в тиньку 2313 ? и будет ли работать такой принцип через радио эфир (в котором шума предостаточно) ???
Вложения
передатчик.txt
(26.93 КБ) 236 скачиваний
не зная броду не лезь к вольтмоду
Аватара пользователя
jordan
Грызет канифоль
Сообщения: 271
Зарегистрирован: Чт апр 01, 2010 14:14:55

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение jordan »

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

ldi temp, low(Ramend)
out spl, temp

для тинки как то вот так! :))
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение uwrtey »

jordan, это не по теме...
да и зачем же он в моем случае?
не зная броду не лезь к вольтмоду
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение Jack_A »

uwrtey писал(а):вот тут немного понаписал на асме


Это тебе кажется :(

Когда прочитаешь такое :
rcall Delay: ;задержка


охота читать дальше пропадает.
А влезет или не влезет - не надо гадать, просто скомпилить,
предварительно исправив ошибки, оно и видно будет.
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение uwrtey »

... точно :oops:
не зная броду не лезь к вольтмоду
Аватара пользователя
uwrtey
Поставщик валерьянки для Кота
Сообщения: 2309
Зарегистрирован: Пт июл 17, 2009 07:34:07
Откуда: Свердловская обл.

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение uwrtey »

ну дак как на счет помехоустойчивости такого принципа кодирования сигнала?
не зная броду не лезь к вольтмоду
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение Jack_A »

uwrtey писал(а):ну дак как на счет помехоустойчивости такого принципа кодирования сигнала?


Какого - "такого" ? Тут было обсуждение с полдюжины разных способов. Можно вопрос мусолить до второго пришествия марсиан - а толку? Зависит от уровня помех в конкретном месте, от требуемого уровня надежности передачи. Определись - и пробуй. Передать команду из фиксированного не очень большого набора - задача не семи пядей во лбу.
Аватара пользователя
jordan
Грызет канифоль
Сообщения: 271
Зарегистрирован: Чт апр 01, 2010 14:14:55

Re: дистанционное управление на 20 нагрузок на ATtiny2313

Сообщение jordan »

во первых инициализация стека обязательна, а во вторых вам уже отвечали что для вашего случая не нужно никакого кодирования, способов кодирование от помех много, вы замучаетесь кодировать и декодировать его, для вашего случая выше крыши будет дублирование команды, 2,3 или 4 раза как вам нравиться, но хватит и 2... сделайте такой пакет,
(преамбула--идентификатор--команда--команда--..--) и не париться с CRC и кодированием
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»