Обсуждаем приемники, передатчики, радиомикрофоны, жучки, генераторы, ВЧ-усилители, антенны и прочее радиохозяйство
Ответить

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

Пт авг 07, 2015 10:20:08

Всем привет!

Вот подумываю организовать не шибко быструю связь между 2х контроллеров по средствам радиомодулей SI4432. Кто нить применял их на практике? Какова реальная дальность связи?
Мне бы что-то около 500 метров при любой скорости, в плоть до 1200 бод.
Я не особо силён в радио. Может кто из опытных подскажет? А может практика у кого была?
Эти модули были выбраны только потому то они были в наличии в городе.

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

Пт авг 07, 2015 15:40:51

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

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

Пт авг 07, 2015 17:05:54

Суть от этого же не поменялась. Просто они есть в наличии и есть на чём экспериментировать.
Вот сижу разбираюсь. И у меня куча пробелов.
Какую частоту выбрать? Какую модуляцию? Какую мощность? Что делать с антенной?

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

Пт авг 07, 2015 17:43:42

Что делать чтобы добиться чего? Если связи на 500м на скорости 1200 кбпс, используйте, например, параметры трансиверов как у меня в статье, включая антенны. Однако, в России диапазон 915 мгц не разрешен. Попробуйте на 430. В качестве антенн используйте, например, укороченные whip антенны фиры Linx или подобные.

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

Пт авг 07, 2015 18:00:03

то то и оно, что у меня 433

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

Пт авг 07, 2015 18:31:37

Ну и ...? Начните с изменения в моей конфигурации из статьи частоты 903 на 433.

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

Вт авг 11, 2015 13:36:57

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

Вот подумываю организовать не шибко быструю связь между 2х контроллеров по средствам радиомодулей SI4432. Кто нить применял их на практике? Какова реальная дальность связи?
Мне бы что-то около 500 метров при любой скорости, в плоть до 1200 бод.
Я не особо силён в радио. Может кто из опытных подскажет? А может практика у кого была?
Эти модули были выбраны только потому то они были в наличии в городе.


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

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

Сейчас мучаю Si4463 - больше ожиданий.

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

Вт авг 11, 2015 13:41:39

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

У меня в комплекте с ними достались пружинки. Ещё не пробовал выносить, но уже близок к этому.
Похожу - посмотрю что получилось...

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

Сб май 07, 2016 16:35:33

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

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

Сб май 07, 2016 17:01:51

Думается мне тут одни некрофилы :)

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

Сб май 07, 2016 22:32:40

Spider писал(а):Думается мне тут одни никрофилы

Вы уверены?))
Casper17 писал(а):Честно скажу в настройках радио не силен...

С этого надо начинать. ))
Casper17 писал(а):Могу поделиться своими наработками и вместе продолжить работать.

Любопытненько.)) Тоже потихоньку переходим на современные технологии)) :tea: И что у нас интересненького?

P.S. посмотерел разные даташиты... все модули впринципе одинаковые.

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

Вс май 08, 2016 00:28:29

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

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

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

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

Вс май 08, 2016 12:21:11

Ser60 писал(а):Следует отметить, что модель Si4432 устарела и уже не рекомендуется для новых разработок. Вместо нее лучше использовать модели Si446x.

Не спорю что они лучше, но и по цене они дороже!

Ser60 писал(а):Всвязи с чем задан вопрос - трудности перевода или ... ?

Или пониманием всех регистров. Какие необходимо настроить в первую очередь для работы модуля, какие второстепенные..

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

Вс май 08, 2016 17:05:55

Поделитесь пожалуйста настройками модуля на дальность. Модули заказывал готовые из китая. Частота должна быть 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
   
}

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

Вс май 08, 2016 17:49:49

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

Про фифо не знаю, использовал модуля как радио сканеры 240-960, все более современные си4463 и т.д. не имеют сплошного покрытия, обрезаные-полосатые.

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

Вс май 08, 2016 18:12:42

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

Кстати, выше я ошибся с принадлежностью Si4432 к семейству EZRadio. Конечно он принадлежит к EZRadioPRO.

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

Вс май 08, 2016 18:57:49

MagicianT: Поставил ваши значения, у меня все работает с ними, данные передаются)) В Si443x-Register-Settings_RevB1.xls при настройке радио есть регистры которых в описании AN440.pdf их нету. В частности 58h. Может посоветуете модуляцию, девиацию, скорость, AFC.

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

Вс май 08, 2016 19:11:39

Увы, не знаю, в списке его нет.
Ага, нашёл:
Код:
  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


А другие настройки ставьте что спрэд-шит рекомендует

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

Вт май 10, 2016 10:53:26

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

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

Вс июн 19, 2016 01:02:13

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