|
SI4432 "пробить" 2 стены |
|
|
|
Sep 10 2014, 12:20
|

Участник

Группа: Участник
Сообщений: 46
Регистрация: 1-11-10
Пользователь №: 60 586

|
Здравствуйте,связь в зоне видимости между приемником и передатчиком присутствует(оба SI4432 B1). Есть проблема,как принять пакет с передатчика через две стены(цокольное помещение,2 стены общей тощиной ~45см,кирпич, расстояние между приемником и передатчиком ~10м). Настроено все на работу с 434МГц,передача на максимальной мощности(по измерению тока,очень похоже на заявленные 90мА), модуляция GFSK, 4,8kbps. На стороне приемника в спектре видно следующее( СДР 433 пакет -снято сдр приемником). Используется коаксиальная антенна.( Коаксиальная антенна). В приемнике при чтении статуса видно, что буфер приема не заполняется. Код инициализации чипа: CODE write(0x06, 0x00); // Disable all interrupts write(0x07, 0x01); // Set READY mode write(0x09, 0x7F); // Cap = 12.5pF write(0x0A, 0x05); // Clk output is 2MHz write(0x0B, 0xF4); // GPIO0 is for TX data output write(0x0C, 0xEF); // GPIO1 is RX data input write(0x0D, 0x00); // GPIO2 for MCLK output write(0x0E, 0x00); // GPIO port use default value write(0x0F, 0x70); // NO ADC used write(0x10, 0x00); // no ADC used write(0x12, 0x00); // No temp sensor used write(0x13, 0x00); // no temp sensor used write(0x70, 0x20); // No manchester code, no data whiting, data rate < 30Kbps write(0x1C, 0x1D); // IF filter bandwidth write(0x1D, 0x40); // AFC Loop //write(0x1E, 0x0A); // AFC timing write(0x20, 0xA1); // clock recovery write(0x21, 0x20); // clock recovery write(0x22, 0x4E); // clock recovery write(0x23, 0xA5); // clock recovery write(0x24, 0x00); // clock recovery timing write(0x25, 0x0A); // clock recovery timing write(0x2C, 0x00); write(0x2D, 0x00); write(0x2E, 0x00); write(0x6E, 0x27); // TX data rate 1 4,8kbit write(0x6F, 0x52); // TX data rate 0 write(0x30, 0x88); // Data access control 8c write(0x32, 0xFF); // Header control write(0x33, 0x42); // Header 3, 2, 1, 0 used for head length, fixed packet length, synchronize word length 3, 2, write(0x34, 64); // 64 nibble = 32 byte preamble write(0x35, 0x20); // 0x35 need to detect 20bit preamble write(0x36, 0x2D); // synchronize word write(0x37, 0xD4); write(0x38, 0x00); write(0x39, 0x00); write(0x3A, '*'); // set tx header 3 write(0x3B, 'E'); // set tx header 2 write(0x3C, 'W'); // set tx header 1 write(0x3D, 'S'); // set tx header 0 write(0x3E, PKTSIZE); // set packet length to PKTSIZE bytes (max size: 255 bytes) write(0x3F, '*'); // set rx header write(0x40, 'E'); write(0x41, 'W'); write(0x42, 'S'); write(0x43, 0x00); // check all bits write(0x44, 0x00); // Check all bits write(0x45, 0xFF); // check all bits write(0x46, 0xFF); // Check all bits write(0x56, 0x01); write(REGISTER_TX_POWER, 0x0F); // Tx power to max write(0x79, 0x00); // no frequency hopping write(0x7A, 0x00); // no frequency hopping write(0x71, 0x22); // GFSK, fd[8]=0, no invert for TX/RX data, FIFO mode, txclk-->gpio write(0x72, 0x48); // Frequency deviation setting to 45K=72*625 write(0x73, 0x00); // No frequency offset write(0x74, 0x00); // No frequency offset write(REGISTER_FREQUENCY_BAND_SELECT, 0x53); // frequency set to 434MHz write(REGISTER_NOMINAL_CARRIER_FREQ1, 0x64); // frequency set to 434MHz write(REGISTER_NOMINAL_CARRIER_FREQ2, 0x00); // frequency set to 434Mhz write(0x5A, 0x7F); write(0x59, 0x40); write(0x58, 0x80); write(REGISTER_AGC_OVERRIDE1 ,15); write(0x6A, 0x0B); write(0x68, 0x04); write(0x1F, 0x03); status = read(0x02);
Сообщение отредактировал evsx1 - Sep 10 2014, 13:13
|
|
|
|
|
 |
Ответов
|
Sep 16 2014, 20:00
|
Местный
  
Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608

|
Цитата(evsx1 @ Sep 16 2014, 08:02)  Проблему приема решил. Рад, что решили. Меня несколько дней не было, но хочу на всякий случай добавить по полосе пропускания. С одной стороны, чем уже полоса, тем точнее должна быть настройка, т.е. меньше разброс кварцев. На пальцах, если частота 443 МГц и кварцы 100 ppm (совсем дешевые), то в худшем случае будет така ошибка, что полосу придется делать сотни килогерц, и все равно молиться, чтобы работало. А если 10 ppm, что вполне доступно, то можно сделать девиацию и, соответственно, полосу приемника поуже. Тогда полезная мощность в приемнике будет та же, а мощность шума - меньще. Значит лучше с/ш. Как всегда за улучшение дальности надо платить скоростью передачи данных (тут не важно) и качеством кварцев.
|
|
|
|
|
Sep 17 2014, 06:43
|

Участник

Группа: Участник
Сообщений: 46
Регистрация: 1-11-10
Пользователь №: 60 586

|
Цитата(alexf @ Sep 17 2014, 00:00)  Рад, что решили. Меня несколько дней не было, но хочу на всякий случай добавить по полосе пропускания.
Значит лучше с/ш. Как всегда за улучшение дальности надо платить скоростью передачи данных (тут не важно) и качеством кварцев. Спасибо. To Aner. Да,он подключен на GPIO0 и GPIO1 выводами 4 и 6. Я настраивал саму SI4432 как цифровой вход(с подтягом), на эти ноги. Сами выводы GPIO0,GPIO1 выведены так же на плате модуля, их я подключил к ножкам контроллера и управлял в обход микросхемы(только отслеживал уровень). А в теле передачи/приема, просто выставлял уровни на ножках контроллера.
Сообщение отредактировал evsx1 - Sep 17 2014, 06:44
|
|
|
|
|
Sep 17 2014, 09:05
|

Гуру
     
Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463

|
QUOTE (evsx1 @ Sep 17 2014, 09:43)  Спасибо.
To Aner. Да,он подключен на GPIO0 и GPIO1 выводами 4 и 6. Я настраивал саму SI4432 как цифровой вход(с подтягом), на эти ноги. Сами выводы GPIO0,GPIO1 выведены так же на плате модуля, их я подключил к ножкам контроллера и управлял в обход микросхемы(только отслеживал уровень). А в теле передачи/приема, просто выставлял уровни на ножках контроллера. Понятна ваша промашка. Это лишнее, управлять по этим ногам никак нельзя, поскольку они конфликтуют с выходами чипа SI4432. Эти выходы с модуля нужны для случаев контроля, т.е. входы в проц но не выходы, а также для синхронной коммутации если есть внешние коммутаторы для усилителей, фильтров и тп.
|
|
|
|
Сообщений в этой теме
evsx1 SI4432 "пробить" 2 стены Sep 10 2014, 12:20 alexf А без стенки все работает с этими же настройками? ... Sep 10 2014, 19:26 evsx1 Цитата(alexf @ Sep 10 2014, 23:26) А без ... Sep 11 2014, 08:48 megajohn Цитата(alexf @ Sep 10 2014, 23:26) но пох... Sep 12 2014, 09:14 Aner Какое значение RSSI? Может так быть, что плохое со... Sep 11 2014, 09:00 evsx1 Цитата(Aner @ Sep 11 2014, 13:00) Какое з... Sep 11 2014, 13:09 Aner в зоне видимости RSSI -106 ... Это сколько метров?... Sep 11 2014, 17:00 evsx1 Цитата(Aner @ Sep 11 2014, 21:00) в зоне ... Sep 11 2014, 21:10 Aner Посмотрел у себя на рассоянии 5 метров RSSI в пред... Sep 11 2014, 21:54 evsx1 Цитата(Aner @ Sep 12 2014, 01:54) Посмотр... Sep 12 2014, 09:06 Aner 1) Если есть чем смотреть, типа анализатора или ск... Sep 12 2014, 09:36 evsx1 Цитата(Aner @ Sep 12 2014, 13:36) 1)
2)
... Sep 12 2014, 10:09 Aner Похоже этот у вас модуль или его клон: http://www.... Sep 12 2014, 12:58 evsx1 Цитата(Aner @ Sep 12 2014, 16:58) Похоже ... Sep 15 2014, 12:16 Aner Этот уровень от нескольких причин может быть. Из в... Sep 15 2014, 12:44 evsx1 Цитата(Aner @ Sep 15 2014, 16:44) Этот ур... Sep 16 2014, 10:18    evsx1 Цитата(Aner @ Sep 17 2014, 13:05) Понятна... Sep 18 2014, 09:49 Aner QUOTE (evsx1 @ Sep 16 2014, 18:02) Спасиб... Sep 16 2014, 22:29
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|