Кто-нить работал с радиомодулями SI4432?

Обсуждаем приемники, передатчики, радиомикрофоны, жучки, генераторы, ВЧ-усилители, антенны и прочее радиохозяйство
Ответить
Опытный кот
Аватара пользователя
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск

Сообщение Spider »

Всем привет!

Вот подумываю организовать не шибко быструю связь между 2х контроллеров по средствам радиомодулей SI4432. Кто нить применял их на практике? Какова реальная дальность связи?
Мне бы что-то около 500 метров при любой скорости, в плоть до 1200 бод.
Я не особо силён в радио. Может кто из опытных подскажет? А может практика у кого была?
Эти модули были выбраны только потому то они были в наличии в городе.
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Эти модули из старой серии. Сейчас в ходу более новые и о них у меня есть статья
http://radiokot.ru/circuit/digital/security/33/
Однако, работа со старыми модулями во многом аналогична новым. Дальность желаемую на малой скорости получите.
Реклама
Опытный кот
Аватара пользователя
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск

Сообщение Spider »

Суть от этого же не поменялась. Просто они есть в наличии и есть на чём экспериментировать.
Вот сижу разбираюсь. И у меня куча пробелов.
Какую частоту выбрать? Какую модуляцию? Какую мощность? Что делать с антенной?
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Что делать чтобы добиться чего? Если связи на 500м на скорости 1200 кбпс, используйте, например, параметры трансиверов как у меня в статье, включая антенны. Однако, в России диапазон 915 мгц не разрешен. Попробуйте на 430. В качестве антенн используйте, например, укороченные whip антенны фиры Linx или подобные.
Реклама
Эиком - электронные компоненты и радиодетали
Опытный кот
Аватара пользователя
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск

Сообщение Spider »

то то и оно, что у меня 433
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Ну и ...? Начните с изменения в моей конфигурации из статьи частоты 903 на 433.
Реклама
Родился
Сообщения: 8
Зарегистрирован: Сб июн 20, 2015 18:16:44

Сообщение draksnov »

Spider писал(а):Всем привет!

Вот подумываю организовать не шибко быструю связь между 2х контроллеров по средствам радиомодулей SI4432. Кто нить применял их на практике? Какова реальная дальность связи?
Мне бы что-то около 500 метров при любой скорости, в плоть до 1200 бод.
Я не особо силён в радио. Может кто из опытных подскажет? А может практика у кого была?
Эти модули были выбраны только потому то они были в наличии в городе.
Игрался с Si4431 в составе модуля от фирмы DORJI. 27 дБм дал мне 2 км (1200 бод). В чистом виде там вроде 13 дБм. Я думаю, что 500 метров будет без проблем. Если совсем уж не косячить. Антенна - вертикальный проводок. Рядом никаких кастрюль. Видимость прямая.

Настройка чипа простая. У силикона нет проблем с документацией.

Сейчас мучаю Si4463 - больше ожиданий.
Опытный кот
Аватара пользователя
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск

Сообщение Spider »

draksnov писал(а): Игрался с Si4431 в составе модуля от фирмы DORJI. 27 дБм дал мне 2 км (1200 бод). В чистом виде там вроде 13 дБм. Я думаю, что 500 метров будет без проблем. Если совсем уж не косячить. Антенна - вертикальный проводок. Рядом никаких кастрюль. Видимость прямая.
У меня в комплекте с ними достались пружинки. Ещё не пробовал выносить, но уже близок к этому.
Похожу - посмотрю что получилось...
Контактная информация:
Родился
Сообщения: 13
Зарегистрирован: Сб май 07, 2016 16:19:58

Сообщение Casper17 »

Есть еще тут, кто работает с этими модулями si4432!? Можете подсказать, рассказать про регистр 03h,05h биты 6 - itxffafull, 5 - itxffaem, 4 - irxffafull; Регистр 08h бит 4 - rxmpk; Как с помощью них работать, если например данные которые необходимо передать больше 64 байт? Есть небольшие наработки на прием и передачу данных на Atmega8, работаю через FIFO буферы, SPI. Могу поделиться своими наработками и вместе продолжить работать. Честно скажу в настройках радио не силен...
Опытный кот
Аватара пользователя
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск

Сообщение Spider »

Думается мне тут одни некрофилы :)
Контактная информация:
Друг Кота
Сообщения: 9350
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

Spider писал(а):Думается мне тут одни никрофилы
Вы уверены?))
Casper17 писал(а):Честно скажу в настройках радио не силен...
С этого надо начинать. ))
Casper17 писал(а):Могу поделиться своими наработками и вместе продолжить работать.
Любопытненько.)) Тоже потихоньку переходим на современные технологии)) :tea: И что у нас интересненького?

P.S. посмотерел разные даташиты... все модули впринципе одинаковые.
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Полное описание всех регистров Si4432 приведено в документе
АN440: Si4430/31/32 REGISTER DESCRIPTIONS
Всвязи с чем задан вопрос - трудности перевода или ... ?

По поводу работы с модулями и их конфигурацию, см. детали в документах AN537 и AN415. В последнем документе найдете примеры работы с пакетами длиной более 64 байт. Эти "апноуты" касаются более семейства EZRADIOPRO, в то время как Si4432 принадлежит семейству EZRADIO. Однако, принцип работы с длинными пакетами там аналогичный.

Следует отметить, что модель Si4432 устарела и уже не рекомендуется для новых разработок. Вместо нее лучше использовать модели Si446x. По поводу последних, начните с прочтения моей статьи http://radiokot.ru/circuit/digital/security/33/
Родился
Сообщения: 13
Зарегистрирован: Сб май 07, 2016 16:19:58

Сообщение Casper17 »

Ser60 писал(а):Следует отметить, что модель Si4432 устарела и уже не рекомендуется для новых разработок. Вместо нее лучше использовать модели Si446x.
Не спорю что они лучше, но и по цене они дороже!
Ser60 писал(а):Всвязи с чем задан вопрос - трудности перевода или ... ?
Или пониманием всех регистров. Какие необходимо настроить в первую очередь для работы модуля, какие второстепенные..
Родился
Сообщения: 13
Зарегистрирован: Сб май 07, 2016 16:19:58

Сообщение Casper17 »

Поделитесь пожалуйста настройками модуля на дальность. Модули заказывал готовые из китая. Частота должна быть 433, судя по описанию))
Вот мои настройки, но коментарии уже не совпадают, так как много изменял.
Спойлер

Код: Выделить всё

void SPI_RFM_INIT (void)
{
	reset();

	SPI_WRITE(0x06, 0x00); // interrupt all disable
	SPI_WRITE(0x07, 01); // to ready mode
	SPI_WRITE(0x09, 0x7f); // cap = 12.5pf
	SPI_WRITE(0x0a, 0x05); //clk output is 2MHz
	SPI_WRITE(0x0C,0b00010111);     // GPIO Configuration 0.
	SPI_WRITE(0x0B,0b00011000);     // GPIO Configuration 1.
	SPI_WRITE(0x0d, 0x00); // GPIO2 for MCLK output
	SPI_WRITE(0x0e, 0x00); //GPIO port use default value
	SPI_WRITE(0x0f, 0x70); // NO ADC used
	SPI_WRITE(0x10, 0x00); //no adc used
	SPI_WRITE(0x12, 0x00); // no temperature sensor used
	SPI_WRITE(0x13, 0x00); // no temperature sensor used
	SPI_WRITE(0x70, 0x2C); // no mancheset code, no data whiting, data rate < 30Kbps
	SPI_WRITE(0x1c, 0x1E); // IF filter bandwidth
	SPI_WRITE(0x1d, 0x3c); // AFC LOOP
	SPI_WRITE(0x1e, 0x02); //AFC timing
	SPI_WRITE(0x20, 0xD0); //clock recovery
	SPI_WRITE(0x21, 0x00); //clock recovery
	SPI_WRITE(0x22, 0x9D); //clock recovery
	SPI_WRITE(0x23, 0x49); //clock recovery
	SPI_WRITE(0x24, 0x00); //clock recovery timing
	SPI_WRITE(0x25, 0x45); //clock recovery timing
	SPI_WRITE(0x6e, 0x4E); // Tx data rate 1 //27
	SPI_WRITE(0x6f, 0xA5); // Tx data rate 0 //52
	SPI_WRITE(0x30, 0x8c); // data access control
	SPI_WRITE(0x32, 0xff); // header control
	SPI_WRITE(0x33, 0x42);// // header 3, 2, 1,0 used for head length, fixed packet length, synchronize word length 3, 2,
	SPI_WRITE(0x34, 64); // 64 nibble = 32byte preamble
	SPI_WRITE(0x35, 0x20); //0x35 need to detect 20bit preamble
	SPI_WRITE(0x36, 0x2d); // synchronize word
	SPI_WRITE(0x37, 0xd4);
	SPI_WRITE(0x38, 0x00);
	SPI_WRITE(0x39, 0x00);
	SPI_WRITE(0x3a, 's'); //transmit header 3
	SPI_WRITE(0x3b, 'o');
	SPI_WRITE(0x3c, 'n');
	SPI_WRITE(0x3d, 'g');
	SPI_WRITE(0x3e, TX_buff_lenght);     // total tx 1 byte
	SPI_WRITE(0x3f, 's'); //check header 3
	SPI_WRITE(0x40, 'o');
	SPI_WRITE(0x41, 'n');
	SPI_WRITE(0x42, 'g');
	SPI_WRITE(0x43, 0xff); // all the bit to be checked
	SPI_WRITE(0x44, 0xff); // all the bit to be checked
	SPI_WRITE(0x45, 0xff); // all the bit to be checked
	SPI_WRITE(0x46, 0xff); // all the bit to be checked
	SPI_WRITE(0x6d, 0x07); // tx power to max
	SPI_WRITE(0x79, 0x0); // no frequency hopping
	SPI_WRITE(0x7a, 0x0); // no frequency hopping
	SPI_WRITE(0x71, 0x23); // Gfsk, fd[8] =0, no invert for Tx/Rx data, fifo mode, txclk -->gpio
	SPI_WRITE(0x72, 0x48); // frequency deviation setting to 45k = 72*625
	SPI_WRITE(0x73, 0x0); // no frequency offset
	SPI_WRITE(0x74, 0x0); // no frequency offset
	SPI_WRITE(0x75, 0x53); // frequency set to 434MHz
	SPI_WRITE(0x76, 0x4B); // frequency set to 434MHz
	SPI_WRITE(0x77, 0x00);// frequency set to 434MHz
	
	SPI_WRITE(0x2a, 0xff);
	SPI_WRITE(0x1f, 0x03);
	SPI_WRITE(0x69, 0x60);

	SPI_WRITE(0x08, 0x03); // fifo reset
	SPI_WRITE(0x08, 0x00);

	SPI_WRITE(0x05, 0x06); // interrupt on recieve packet, Enable Packet Sent
	
}
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 383
Зарегистрирован: Вс янв 31, 2016 18:04:39
Откуда: Montreal

Сообщение MagicianT »

Есть экселовский док. чтобы все регистры настраивать, скачайте. Si4432 Register Settings_RevV-v26.xls
Ещё, есть варианты этого модуля где разводка пинов GP00 и GP01 отличается, один на передачу а другой на приём. Я в своё время долго не мог понять почему радиоизлучения нету, а оказалось что настройки кода использовали пины GP01 и GP02. Кстати, и меня сейчас не так как вас.

Код: Выделить всё

  spi_w(0x0B, 0x12);
  spi_w(0x0C, 0x15);
Про фифо не знаю, использовал модуля как радио сканеры 240-960, все более современные си4463 и т.д. не имеют сплошного покрытия, обрезаные-полосатые.
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Casper17: я-бы поделился, но у меня настроек под эти чипы нет. В любом случае, для настроек радио я-бы использовал систему WDS, загружаемую с сайта фирмы silabs.com. После старта выберите режим "Simulate Radio", выберите свой чип в списке и потом запустите "Radio Control Panel". В открывшемся окне выберите Mode TX и далее желаемые настройки. Потом в окне Code Generator" получите конфигурацию регистров для загрузки в радио.

Кстати, выше я ошибся с принадлежностью Si4432 к семейству EZRadio. Конечно он принадлежит к EZRadioPRO.
Родился
Сообщения: 13
Зарегистрирован: Сб май 07, 2016 16:19:58

Сообщение Casper17 »

MagicianT: Поставил ваши значения, у меня все работает с ними, данные передаются)) В Si443x-Register-Settings_RevB1.xls при настройке радио есть регистры которых в описании AN440.pdf их нету. В частности 58h. Может посоветуете модуляцию, девиацию, скорость, AFC.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 383
Зарегистрирован: Вс янв 31, 2016 18:04:39
Откуда: Montreal

Сообщение MagicianT »

Увы, не знаю, в списке его нет.
Ага, нашёл:

Код: Выделить всё

  spi_w(0x5A, 0x7F);//write 0x7F to the VCO Current Trimming register
  spi_w(0x58, 0xD7);//write 0x   to the ChargepumpCurrentTrimmingOverride register
  spi_w(0x59, 0x40);//write 0x40 to the Divider Current Trimming register
А другие настройки ставьте что спрэд-шит рекомендует
Родился
Сообщения: 13
Зарегистрирован: Сб май 07, 2016 16:19:58

Сообщение Casper17 »

Вот мой проект, правда он немножко сыроват)) Частота 433Мгц, скорость 1.2, девиация 45. По UART'у посылаем сообщение вида $данные& после чего эти данные передаются. И как только придут данные они сразу выводятся по UART'у. Скорость UART 38400. Но бывает что модули зависают(один из них) когда одновременно посылать данные. Пока что думаю как лучше написать алгоритм, что бы модули не висли, добавить ответ о приеме данных(ACK). Предложения, критика принимается по моему коду)) Знаю что он кривоват...
Вложения
SI4432_Atmega8_v2.rar
(50.38 КБ) 554 скачивания
Arn
Встал на лапы
Сообщения: 129
Зарегистрирован: Вс янв 02, 2011 05:03:44

Сообщение Arn »

чтоб избежать одновременной передачи, можно анализировать уровень помех (чужой несущей) перед передачей. Если помеха устойчива, передатчику нужно переходить на другую частоту а приемник должен все время скакать по этим частотам в ожидании .
Ответить

Вернуться в «Радиотехника: приемники, передатчики, антенны»