Технический форум по робототехнике.
=DeaD= » 07 окт 2008, 10:59
А не переполняется?
Добавлено спустя 57 секунд:Мне кажется, что надо буфер хотя-бы на 4 пакета...
может быть даже стоит уменьшить пакет для этого...
blindman » 07 окт 2008, 12:01
Проблема скорее не с буферами. Просто иногда начинает бесконечно повторять один и тот же пакет, то есть проблема скорее в синхронизации.
Добавлено спустя 51 минуту 45 секунд:=DeaD= писал(а):может быть даже стоит уменьшить пакет для этого...
Надо будет найти наилучшее соотношение между длиной пакета и размером буфера. С одной стороны, длинные пакеты позволяют более полно использовать канал, с другой стороны с длинным пакетом больше вероятность поймать ошибку. А это означает более частую повторную передачу и бОльшую вероятность переполнения буфера.
=DeaD= » 07 окт 2008, 16:09
Вот-вот, мне кажется минимум 4 пакета должно в буфер влезать.
blindman » 07 окт 2008, 16:32
Мне тоже много чего кажется. А чтобы знать наверняка, надо решить такую задачку: даны
- скорость передачи по радио
- скорость передачи по уарту
- вероятность ошибки при передачи пакета
- размер пакета
- время обработки пакета (то есть время, в течение которого передача данных не производится - работа с буферами, переключение режимов итп, передача битов синхронизации и служебных данных)
Найти размер буфера уарта, при котором вероятность его переполнения будет равна нулю
EdGull » 07 окт 2008, 16:44
а может для начала научимся автоматом синтезатор калибровать?
blindman » 07 окт 2008, 16:56
Ты имеешь в виду именно калибровку синтезатора в том смысле какой используется в даташите, или учет разброса в частоте кварца? Если второе - то что использовать в качестве эталона?
EdGull » 07 окт 2008, 16:59
именно учет разброса в частоте кварца
иначе какой это будет стандарт?
надо что-то брать за эталон.
вопрос что?
blindman » 07 окт 2008, 17:27
Можно по часовому кварцу попробовать - если использовать кварцы с отклонением +-20ppm, то можно значение частоты кварца на плате померять с точностью 32768 * ±0,00002 ≈ ±0.7 Гц - что в итоге дает точность установки синтезатора ±0,7 * 2400 / 27 ≈ ±65 Гц.
EdGull » 07 окт 2008, 17:30
эт как?
схему можно глянуть?
blindman » 07 окт 2008, 18:13
Глянуть нельзя, нету схемы. Все элементарно. Пишем прошивку для МК, который управляет CC2500, которая настроит выход GDO на выдачу частоты кварца, деленной на 4. Берем второй МК, на вход одного таймера подаем эту частоту, другой таймер тактируем от часового кварца, установкой делителя получаем прерывание раз в секунду. Считаем количество импульсов за 4 секунды, делим на 4 - получаем частоту кварца в герцах.
Я так и настраивал, только привязывался к кварцу 8 МГц, и период измерения был побольше - но само собой что модули настроенные мною будут нормально работать только друг с другом.
EdGull » 07 окт 2008, 18:18
а разве можно настроить выход GDO на выдачу частоты кварца?
blindman » 07 окт 2008, 18:24
Ты мне что, не доверяешь?
Конечно можно. Причем по умолчанию при подаче питания GDO0 именно так и настроен - F
OSC/192. Делитель можно установить разный, там 16 вариантов от 1 до 192.
EdGull » 07 окт 2008, 18:31
ты чё?
конечно доверяю!!!
просто я хочу выяснить до какой степени я тупой...
может тогда описать в вике стандарт настройки частоты?...
blindman » 07 окт 2008, 18:52
Тогда надо и семы нарисовать, и тестовые программы приложить. Я пока пас, времени нет.
Кстати, из твоей мегаплаты можно легко сделать этакую тестовую установку. Запаять туда мегу8 с часовым кварцем и FT232. К ней подключать кабелем настраиваемую плату - и все. Причем если настраиваем плату с мегой на борту, то можно сразу после измерения заливать в нее прошивку с нужными настройками. Поточное производство
EdGull » 07 окт 2008, 19:00
чё хочешь взамен за это?...
тока не надо мне про время отсутсвующее расказывать...