дистанционное управление на 20 нагрузок на ATtiny2313
- uwrtey
- Поставщик валерьянки для Кота
- Сообщения: 2309
- Зарегистрирован: Пт июл 17, 2009 07:34:07
- Откуда: Свердловская обл.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
решил я использовать вот такой код
1111111100000010 первая кнопка
1111111100000100 вторая кнопка
1111111100000110 третья
...
1111111100101000 двадцатая кнопка
первые восемь единиц это старт байт
затем два нуля и код состоящий из пяти битов, затем снова нуль которым заканчивается команда любой кнопки (итого опять восемь символов)
1111111100000010 первая кнопка
1111111100000100 вторая кнопка
1111111100000110 третья
...
1111111100101000 двадцатая кнопка
первые восемь единиц это старт байт
затем два нуля и код состоящий из пяти битов, затем снова нуль которым заканчивается команда любой кнопки (итого опять восемь символов)
Последний раз редактировалось uwrtey Ср сен 21, 2011 15:21:51, всего редактировалось 1 раз.
не зная броду не лезь к вольтмоду
- uwrtey
- Поставщик валерьянки для Кота
- Сообщения: 2309
- Зарегистрирован: Пт июл 17, 2009 07:34:07
- Откуда: Свердловская обл.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
как лучше защитить от помех - несколько раз повторять этот код или дописать к коду контрольную сумму?
например вот так
1) повторяющаяся команда в коде 11111111 00000010 00000010 (естественно без пробелов - здесь они для удобства чтения)
2) повторяющийся код
11111111 00000010
11111111 00000010
3) с контрольной суммой 11111111 00000010+00101000 (контрольная сумма 21)
ЗЫ самому больше нравится первый вариант! сойдет???
например вот так
1) повторяющаяся команда в коде 11111111 00000010 00000010 (естественно без пробелов - здесь они для удобства чтения)
2) повторяющийся код
11111111 00000010
11111111 00000010
3) с контрольной суммой 11111111 00000010+00101000 (контрольная сумма 21)
ЗЫ самому больше нравится первый вариант! сойдет???
не зная броду не лезь к вольтмоду
- uwrtey
- Поставщик валерьянки для Кота
- Сообщения: 2309
- Зарегистрирован: Пт июл 17, 2009 07:34:07
- Откуда: Свердловская обл.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
с контрольной суммой как то сложнее получается а вот первый вариант вполне экономичней
посылается код состоящий из стартовых бит и несколько раз (минимум два) повторяющейся команды
приемник сравнивает первую и вторую команду и в случае их совпадения выполняет ее. в противном случае сканирует эфир сначала....
Уважаемые Гуру,такой вариант сойдет?
посылается код состоящий из стартовых бит и несколько раз (минимум два) повторяющейся команды
приемник сравнивает первую и вторую команду и в случае их совпадения выполняет ее. в противном случае сканирует эфир сначала....
Уважаемые Гуру,такой вариант сойдет?
не зная броду не лезь к вольтмоду
Re: дистанционное управление на 20 нагрузок на ATtiny2313
uwrtey писал(а):с контрольной суммой как то сложнее получается а вот первый вариант вполне экономичней
посылается код состоящий из стартовых бит и несколько раз (минимум два) повторяющейся команды
приемник сравнивает первую и вторую команду и в случае их совпадения выполняет ее. в противном случае сканирует эфир сначала....
Уважаемые Гуру,такой вариант сойдет?
Кому может повредить контрольная сумма? Весь мир применяет и не жалуется. Я в одной из своих поделок блок данных, сопровождаемый КС, совал в пакет в 3 экземплярах, работало на ура. Теперь представьте : посылаете в пакете 3 одинаковых ( но без КС ) блока, два побились, а один нормальный. Несмотря на это, перезапраашиваем, хотя в пакете блок с корректными данными уже есть. Потеря времени, задержка реакции.
- uwrtey
- Поставщик валерьянки для Кота
- Сообщения: 2309
- Зарегистрирован: Пт июл 17, 2009 07:34:07
- Откуда: Свердловская обл.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
согласен, обдумаю.
просто хотел посылать две одинаковых команды и сравнивать между собой
а с контрольной суммой не мог бы ты выложить свой кусок кода одной команды? (хочу посмотреть как другие делают)
просто хотел посылать две одинаковых команды и сравнивать между собой
а с контрольной суммой не мог бы ты выложить свой кусок кода одной команды? (хочу посмотреть как другие делают)
не зная броду не лезь к вольтмоду
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Если число команд небольшое и они без параметров, то можно сделать проще : не рассчитывать КС, а к команде прицеплять готовый код подтверждения, что-то грубо вроде "цифровой подписи". Например, команда 1 : включить устройство 1, к ней прикручиваеи : допустим, '7tRR', к команде 2 - 'z8J6' и т.д. И это повторяем в пакете 3 раза. На приемном конце устройства знают правильные значения этих кодов подтверждения и номера команд, которым они соответствуют, и если в 3 блоках пакета найдется хотя бы один кусок с совпадающими этими реквизитами, то команда детектирована верно.
Для передачи команд с параметрами , набор которых неограничен, нужно считать КС. Для повышения ерундиции в данном вопросе стоит почитать :
http://www.piclist.ru/S-CRC16-RUS/CRC16.html
или любю другую статейку, что выдаст Яндекс по запросу CRC16. Достаточно вменяемая статея в Википедии. Я ее даже приятелю в научный отчет влимонил ( договор подряда у них подхалтуривал ) .
Для передачи команд с параметрами , набор которых неограничен, нужно считать КС. Для повышения ерундиции в данном вопросе стоит почитать :
http://www.piclist.ru/S-CRC16-RUS/CRC16.html
или любю другую статейку, что выдаст Яндекс по запросу CRC16. Достаточно вменяемая статея в Википедии. Я ее даже приятелю в научный отчет влимонил ( договор подряда у них подхалтуривал ) .
- uwrtey
- Поставщик валерьянки для Кота
- Сообщения: 2309
- Зарегистрирован: Пт июл 17, 2009 07:34:07
- Откуда: Свердловская обл.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
число команд должно быть от 20, можно конечно и больше - но пока остановлюсь на 20
если не сложно то накалякай плиз кусочек кода на русском...
(а то я совсем профан в передаче данных, а с микроконтролерами только начал)
Jack_A писал(а):Если число команд небольшое и они без параметров, то можно сделать проще : не рассчитывать КС, а к команде прицеплять готовый код подтверждения, что-то грубо вроде "цифровой подписи".
если не сложно то накалякай плиз кусочек кода на русском...
(а то я совсем профан в передаче данных, а с микроконтролерами только начал)
не зная броду не лезь к вольтмоду
- uwrtey
- Поставщик валерьянки для Кота
- Сообщения: 2309
- Зарегистрирован: Пт июл 17, 2009 07:34:07
- Откуда: Свердловская обл.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
как правильно подобрать частоту кварца?
мне кажется, что стоит повесить кварц на 20 мегагерц, а передачу/опрос информации производить с частотой 5 килогерц (вход в радио-передающий модуль 6 килогерц по датащиту)
частоту передачи/опроса ин-фы задавать с помощью зацикливания ...
как?
мне кажется, что стоит повесить кварц на 20 мегагерц, а передачу/опрос информации производить с частотой 5 килогерц (вход в радио-передающий модуль 6 килогерц по датащиту)
частоту передачи/опроса ин-фы задавать с помощью зацикливания ...
как?
не зная броду не лезь к вольтмоду
Re: дистанционное управление на 20 нагрузок на ATtiny2313
uwrtey писал(а):если не сложно то накалякай плиз кусочек кода на русском...
(а то я совсем профан в передаче данных, а с микроконтролерами только начал)
Не, я описал общий подход к повышению помехоустойчивости, а дальше уж, как говорят -- вот тебе удочка, а лови сам. На чужом коде программить не научишься, придется шишки набивать самолично.
К тому же на русском языке я кодить не умею, в основном - на ассемблере
- uwrtey
- Поставщик валерьянки для Кота
- Сообщения: 2309
- Зарегистрирован: Пт июл 17, 2009 07:34:07
- Откуда: Свердловская обл.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
спс
зы: большое спс
зы: большое спс
не зная броду не лезь к вольтмоду
-
phanis
- Вымогатель припоя
- Сообщения: 513
- Зарегистрирован: Сб фев 19, 2011 18:04:08
- Откуда: Татарстан, пос. Актюбинский
- Контактная информация:
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Вот мой пример реализации управления одной нагрузкой, но при желании можно доработать Исходники Приемник _передатчик.rar
http://s1.ipicture.ru/uploads/20111028/6K8LPNPK.jpg
http://s1.ipicture.ru/uploads/20111028/6K8LPNPK.jpg
- uwrtey
- Поставщик валерьянки для Кота
- Сообщения: 2309
- Зарегистрирован: Пт июл 17, 2009 07:34:07
- Откуда: Свердловская обл.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
чем смотреть вложенные файлы?
нельзя ли исходники в .txt выложить? буду очень признателен
нельзя ли исходники в .txt выложить? буду очень признателен
не зная броду не лезь к вольтмоду
- uwrtey
- Поставщик валерьянки для Кота
- Сообщения: 2309
- Зарегистрирован: Пт июл 17, 2009 07:34:07
- Откуда: Свердловская обл.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
вот тут немного понаписал на асме (для передатчика)
.............. задержку не написал так как не определился с кварцем...
вот собсна вопрос : влезет ли данный код в тиньку 2313 ? и будет ли работать такой принцип через радио эфир (в котором шума предостаточно) ???
.............. задержку не написал так как не определился с кварцем...
вот собсна вопрос : влезет ли данный код в тиньку 2313 ? и будет ли работать такой принцип через радио эфир (в котором шума предостаточно) ???
- Вложения
-
- передатчик.txt
- (26.93 КБ) 236 скачиваний
не зная броду не лезь к вольтмоду
Re: дистанционное управление на 20 нагрузок на ATtiny2313
Давно не писал на асме, но если мне не изменяет память там нужно для начала определить стек...
ldi temp, low(Ramend)
out spl, temp
для тинки как то вот так!
ldi temp, low(Ramend)
out spl, temp
для тинки как то вот так!
- uwrtey
- Поставщик валерьянки для Кота
- Сообщения: 2309
- Зарегистрирован: Пт июл 17, 2009 07:34:07
- Откуда: Свердловская обл.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
jordan, это не по теме...
да и зачем же он в моем случае?
да и зачем же он в моем случае?
не зная броду не лезь к вольтмоду
Re: дистанционное управление на 20 нагрузок на ATtiny2313
uwrtey писал(а):вот тут немного понаписал на асме
Это тебе кажется
Когда прочитаешь такое :
rcall Delay: ;задержка
охота читать дальше пропадает.
А влезет или не влезет - не надо гадать, просто скомпилить,
предварительно исправив ошибки, оно и видно будет.
- uwrtey
- Поставщик валерьянки для Кота
- Сообщения: 2309
- Зарегистрирован: Пт июл 17, 2009 07:34:07
- Откуда: Свердловская обл.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
... точно 
не зная броду не лезь к вольтмоду
- uwrtey
- Поставщик валерьянки для Кота
- Сообщения: 2309
- Зарегистрирован: Пт июл 17, 2009 07:34:07
- Откуда: Свердловская обл.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
ну дак как на счет помехоустойчивости такого принципа кодирования сигнала?
не зная броду не лезь к вольтмоду
Re: дистанционное управление на 20 нагрузок на ATtiny2313
uwrtey писал(а):ну дак как на счет помехоустойчивости такого принципа кодирования сигнала?
Какого - "такого" ? Тут было обсуждение с полдюжины разных способов. Можно вопрос мусолить до второго пришествия марсиан - а толку? Зависит от уровня помех в конкретном месте, от требуемого уровня надежности передачи. Определись - и пробуй. Передать команду из фиксированного не очень большого набора - задача не семи пядей во лбу.
Re: дистанционное управление на 20 нагрузок на ATtiny2313
во первых инициализация стека обязательна, а во вторых вам уже отвечали что для вашего случая не нужно никакого кодирования, способов кодирование от помех много, вы замучаетесь кодировать и декодировать его, для вашего случая выше крыши будет дублирование команды, 2,3 или 4 раза как вам нравиться, но хватит и 2... сделайте такой пакет,
(преамбула--идентификатор--команда--команда--..--) и не париться с CRC и кодированием
(преамбула--идентификатор--команда--команда--..--) и не париться с CRC и кодированием