Здравствуйте! Вот решил попытаться установить радиообмен между двух МК, но сталкнулся с одной проблеммой: на выходе радиомодуля в режиме приема присутствует шум(UART просто в бешенстве).В интернете не нашел иформации о том как с этим бороться.(может не там искал) Подскажите пожалуйста кто как выходит из положения. Буду признателен за ссылки на ресурсы где описывается принципы радиобмена данными. В програмировании микроконтроллеров не спец, но кое чего умею.
Последний раз редактировалось Digit 23 июн 2009, 11:41, всего редактировалось 1 раз.
Причина:поправил тему. перенес в соответствующий раздел
телепатов здесь нет расказывайте детали на чем по какой схеме радиомост собрали, какие характерискики тракта ? а вообще грабли похожие припоминаю с выдачей случайного шума - кварц не тот стоял
Только сейчас доглядел! Извиняюся я перепутал не RWQ-1 a RXQ-1 это симплексный приемопередатчик. Работает он в паре с 90S2313 кварц 4МГц и семисегментный индикатор. Собрал эту платку для тестирования. Вобщем получается следующие: Если на одном радиомодуле включить передачу появляется нусущая а на выходе другого радиомодуля (режим прием) шум отсутствует данные передаются (естественно), но если убрать несущию появляется шум. Я не могу сообразить что нужно сделать для того чтобы МК его игнорировал.
EdGull, Эти модули можно сказать трофейные. Поэтому хотелось бы их в перспективе ипользовать в составе какого нибудь устройства. Если мне в будущем понадобятся радиомодули я обязательно воспользуюся Вашей рекомендацией. (с такими радиомудулями однозначно такой проблемы не будет)
Aptem писал(а):Здравствуйте! Вот решил попытаться установить радиообмен между двух МК, но сталкнулся с одной проблеммой: на выходе радиомодуля в режиме приема присутствует шум(UART просто в бешенстве).
Обчно ждут прихода заданой последовательности бит, байт. Исходники есть в интернете, я щас систему переставил еще не проиндесировал свой диск и не могу дать исходники.
Aptem писал(а):Буду признателен за ссылки на ресурсы где описывается принципы радиобмена данными.
Книги есть в библиотеках на http://avr123.nm.ru и есть апноуты но на англ на http://ti.com смотри микросхемы cc1000 и типа того - внизу страниц.
поскольку канал не цифровой, то можно вкл. по уменьшению уровня шумов или использовать частотное кодирование нулей и единиц в передатчике и тональный декодер в приемнике.
Артем, было бы неплохо выложить даташит на приемопередатчик - чтоб народ не искал. И чтоб советы по делу были. ИМХО, у приемопередатчиков, которые поставляются в виде модулей, есть возможность определения несущей. Как несущую определили - принимаем данные. Если несущей нет - спим. Обычный алгоритм... Или я не понял проблемы?
Именно, нужна преамбула так называемая - определенное количество легко распознаваемых байт, которые заставят уарт нормально засихронизироваться (подозреваю что хорошо подойдет что-то типа 0xF0 или 0X0F (ну в общем тот из них, который даст меандр, наверное 0x0F, биты ж с младшего передаются?). Затем идет определенный байт, отличный от байтов преамбулы (синхробайт, ну например какой-нить 0x5a), приняв который программа приемника понимает, что дальше пойдут байты данных. И все. То есть на приеме игнорируем все что валит на уарт, пока не пришло несколько (не менее 2-3) байт преамбулы и за ними синхробайт. Тогда начинаем складывать принятые байты в буфер. Окончание приема лучше всего ловить с помощью протокола - где-то в начале пакета передавать его длину и считать байты.
Duhas писал(а):шумы - имелся ввиду мусор всякий на выходе приемника при выключенном передатчике.. имхо..
Вы меня правильно поняли. А если допустим запустить таймер и смотреть, если импусы меньше заданного времени то игнорируем, а если импульсы отсутствуют значити стоит несущая. Можно включить приемник UART. Как Вам такой вариант?