Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
19.03.2009, 00:25
|
#1
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Опрос удалённых датчиков.
Система с 10-30 удалёнными датчиками. Радиоканал 433 мГц. Расстояние 15-20М. передача в 1 сторону. Скорость 9600 бод. 3 байта посылка. База с 1 приёмником.
Думаю сделать так.
Отчёт каждого датчика с периодом 10-35,5 (10сек+0-25,5)сек, изменяется с дискретностью 0,1 сек. Период срабатывания базы на отсуствие датчика - 50-60 сек (что бы перекрывающиеся посылки датчиков были приняты повторно до срабатывания)
Период устанавливается у каждого датчика псевдослучайно. Расчитать табличку псевдослучайных чисел в EXCEL, и занести в FLASH 256 байт. Начальную случайность взять из ячейки RAM, состояние которой при включении имеет случайное число (у PIC такие имеются). Можно даже сделать две таблицы. В одной содержится адрес для считывания из второй таблицы.
Что посоветуете ? Пишу АСМ.
|
|
|
|
19.03.2009, 00:44
|
#2
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Опрос удалённых датчиков.
Сообщение от picavr
|
Система с 10-30 удалёнными датчиками. Радиоканал 433 мГц.
|
Критично?
Сообщение от picavr
|
Расстояние 15-20М. передача в 1 сторону.
|
Может rs485 ? у мну 38400 на 200 м.
__________________
Осторожно , злой кот
|
|
|
|
19.03.2009, 01:26
|
#3
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Re: Опрос удалённых датчиков.
Сообщение от dosikus
|
Сообщение от picavr
|
Система с 10-30 удалёнными датчиками. Радиоканал 433 мГц.
|
Критично?
Сообщение от picavr
|
Расстояние 15-20М. передача в 1 сторону.
|
Может rs485 ? у мну 38400 на 200 м.
|
Привет. С проводной я бы и вопросы на задавал. Увы, нужна нужна безпроводная и минимум стоимости.
Обекты периодически перемещаемые, провода мешают и могут оборвать.
Что бы база узнавала новые датчики и забывала о старых без всяких доп телодвижений.
(Прописывать номера каждому датчику, при обнаружении нового датчика, база его запоминает, При пропадании выдаёт отчёт о пропаже и удаляет.)
Это оговорено тех заданием.
Передатчик у меня PIC10Fxxx+FR9x+ПАВ резонатор, линия-антена на плате. Приёмник сверхрегенеративный. серия RCxxx. Пробивает 4 этажа кирпичной пятиэтажки.
Вопрос - в алгоритме псевдослучайности.
|
|
|
|
19.03.2009, 04:23
|
#4
|
Гражданин KAZUS.RU
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
|
Хорошая у вас задумка ![Улыбка](images/smilies/icon_smile.gif) Есть два комментария:
1) Вместо таблиц могли бы применить математическую псевдослучайную функцию, "случайность" получилась бы качественнее. Есть много вариаций начиная от простейших заканчивая очень изощренными. Конечно на АСМе нужно будет попотеть, а на C - все уже готово.
2) В процессе работы будут возникать коллизии, когда несколько передатчиков будут выполнять передачу одновременно (это маловероятно, но возможно). Поэтому все сообщения нужно закрывать алгоритмом контроля целостности, например, CRC-8 или CRC-16. В случае приема "побитого" сообщения просто игнорировать его.
|
|
|
|
19.03.2009, 09:45
|
#5
|
Почётный гражданин KAZUS.RU
Регистрация: 09.12.2007
Адрес: Новосибирск
Сообщений: 1,021
Сказал спасибо: 10
Сказали Спасибо 70 раз(а) в 63 сообщении(ях)
|
А если присвоить каждому датчику свой номер и
опрашивать каждый датчик поочередно.
Да, удорожание, зато не будет состязаний.
__________________
И на камнях растут деревья!
|
|
|
|
19.03.2009, 14:40
|
#6
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Сообщение от alexgap
|
1) Вместо таблиц могли бы применить математическую псевдослучайную функцию, случайность" получилась бы качественнее. Конечно на АСМе нужно будет попотеть, а на C - все уже готово.
|
C я только начал изучать, и пока не готов это реализовать. Пока разбираюсь с Hitech PIC и IAR AVR, IAR мне понравился. Если IAR для PIC такой же по уровню и синтаксису, было бы проще портировать функции PIC - AVR - PIC.
1) Возможно ли написать на С функцию RND потом выдрать её из дизасемблироаного кода?
2) Сможете это сделать? только функцию RND. выходные числа = 0 to 0xFF.выслать проэкт (желательно Hitech) а я уже сам выдеру RND АСМ. Единственое условие - чтобы весь код влез в 512 слов (Контролер PIC10F202). Если функция на Си будет больше. то сделаю табличным методом.
Сообщение от alexgap
|
2) В процессе работы будут возникать коллизии, когда несколько передатчиков будут выполнять передачу одновременно (это маловероятно, но возможно). Поэтому все сообщения нужно закрывать алгоритмом контроля целостности, например, CRC-8 или CRC-16. В случае приема "побитого" сообщения просто игнорировать его.
|
Это уже сделано. Взял подсчёт CRC от DS18B20/1990.
Сообщение от domowoj
|
А если присвоить каждому датчику свой номер и опрашивать каждый датчик поочередно.
Да, удорожание, зато не будет состязаний.
|
Номера так же есть. А если бы была возможна двухсторонка я бы и не спрашивал.
|
|
|
|
20.03.2009, 01:09
|
#7
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Уже всё написал и запустил.. можно закрывать.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:31.
|
|