Перейти к содержанию
    

Юзаю микруху si4432 от силабса.

Вместо положеных 1 мгц с GPIO идет 32кгц. Чтение регистров показывает что микруха находится в спящем режиме. Вывести ее из этого режима командами по spi не получается. Такая штука наблюдается на 3 из 5 плат. 2 другие работают более или менее адекватно.

Что это может быть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Юзаю микруху si4432 от силабса.

Вместо положеных 1 мгц с GPIO идет 32кгц. Чтение регистров показывает что микруха находится в спящем режиме. Вывести ее из этого режима командами по spi не получается. Такая штука наблюдается на 3 из 5 плат. 2 другие работают более или менее адекватно.

Что это может быть?

покажите код че туда грузите...мы даже шатдауним и то по spi когда надо грузим установки и все работает...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

покажите код че туда грузите...мы даже шатдауним и то по spi когда надо грузим установки и все работает...

Дело в том что до загрузки в данном случае речь не доходит.

Места было в обрез и для тактирования проца взял тактовую от si4432 - 1 мгц. Т.е. подаем питание и ожидаем 1 мгц.

И вместо 1мгц - 32кгц.Т.е. либо не заводится кварц или по умолчанию микруха идет в слип. Но по описанию 1 мгц должен идти.

До этого делал макет платы - 3 штуки отработали на ура. Но получились разные закупки. Версия чипа V2. по идее одна и таже с в макетах и в боевом девайсе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вместо положеных 1 мгц с GPIO идет 32кгц

там не положенно, сколько выставите 1,5,10.15.30 МГц столько и будет, только в слипе будет RC 32 в сшатдауне и этого нет... я бы рекомендовал процессору свой генератор, хотя бы RC внутренний...а потом перехват на внешний у некоторых МК вроде можно?

так код покажите, так нагляднее будет...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

там не положенно, сколько выставите 1,5,10.15.30 МГц столько и будет, только в слипе будет RC 32 в сшатдауне и этого нет... я бы рекомендовал процессору свой генератор, хотя бы RC внутренний...а потом перехват на внешний у некоторых МК вроде можно?

так код покажите, так нагляднее будет...

Регистр 0х0А Microcontroller Output Clock - по умолчанию загружен как xx000110 - т.е. выбрана частота 1 мГц. Потом да можно выбрать любую другую. Или это не так? Хотя когда я все таки достучался до передатчика регистр 0х0А был настроен на 1 мГц.

Register 62h. Crystal Oscillator/Power-on-Reset Control - 3 старших бита считываются как 000 т.е. проц в спячке.

Register 02h. Device Status 2 младших бита 00. IDLE состояние.

 

 

 

Кусок инициализации:

 

write_reg(0x75, 0x53); //Frequency Band Select register

write_reg(0x76, 0x4B); //write 0xBB to the Nominal Carrier Frequency1 register

write_reg(0x77, 0x00); //write 0x80 to the Nominal Carrier Frequency0 register

 

//Configure the receive packet handler

//Disable header bytes; set variable packet length (the length of the payload is defined by the

//received packet length field of the packet); set the synch word to two bytes long

write_reg(0x33, 0x02 ); //write 0x02 to the Header Control2 register

 

//Disable the receive header filters

write_reg(0x32, 0x00 ); //write 0x00 to the Header Control1 register

//Set the sync word pattern to 0x2DD4

write_reg(0x36, 0x2D); //write 0x2D to the Sync Word 3 register

write_reg(0x37, 0xD4); //write 0xD4 to the Sync Word 2 register

//Enable the receive packet handler and CRC-16 (IBM) check

// write_reg(0x30, 0x85); //write 0x0D to the Data Access Control register

write_reg(0x30, 0x8D); //write 0x0D to the Data Access Control register

//объединение команд на прием и на передачу!!!!! в регистре 0x30

//Enable FIFO mode and GFSK modulation

write_reg(0x71, 0x63); //write 0x63 to the Modulation Mode Control 2 register

//set preamble detection threshold to 20bits

write_reg(0x35, 0x28); //write 0x30 to the Preamble Detection Control register

//set the GPIO's according the testcard type

 

#ifdef DIVR_MODE

write_reg(0x0C, 0x17); //write 0x12 to the GPIO1 Configuration(set the TX state)

write_reg(0x0B, 0x18); //write 0x12 to the GPIO0 Configuration(set the TX state)

write_reg(0x08, 0x80); //write 0x12 to the GPIO1 Configuration(set the TX state)

#else

// write_reg(0x0C, 0x12); //write 0x12 to the GPIO1 Configuration(set the TX state)

write_reg(0x0B, 0x12); //write 0x12 to the GPIO1 Configuration(set the TX state)

 

#endif

// write_reg(0x0D, 0x15); //write 0x15 to the GPIO2 Configuration(set the RX state)

 

//set the non-default Si4432 registers

//set the VCO and PLL

write_reg(0x5A, 0x7F); //write 0x7F to the VCO Current Trimming register

// write_reg(0x58, 0x80); //write 0xD7 to the ChargepumpCurrentTrimmingOverride register

write_reg(0x59, 0x40); //write 0x40 to the Divider Current Trimming register

 

//set the AGC

write_reg(0x6A, 0x0B); //write 0x0B to the AGC Override 2 register

//set ADC reference voltage to 0.9V

write_reg(0x68, 0x04); //write 0x04 to the Deltasigma ADC Tuning 2 register

write_reg(0x1F, 0x03); //write 0x03 to the Clock Recovery Gearshift Override register

 

write_reg(0x7E, 0x36);//граница очереди фифо на прием - 54 байта для прерывания

 

write_reg(0x34, 0x014); //write 0x09 to the Preamble Length register

 

//девиация на прием!!!!!!!!

// write_reg(0x72, 0x1F); //write 0x1F to the Frequency Deviation register

//Только для скорости выше 20к

// write_reg(0x70, 0x00);//write 0x01 to the Operating Function Control 1 register

 

/*enable receiver chain*/

write_reg(0x07, 0x05);//write 0x05 to the Operating Function Control 1 register

//Enable two interrupts:

// a) one which shows that a valid packet received: 'ipkval'

// B) second shows if the packet received with incorrect CRC: 'icrcerror'

// с) фифо буфер почти полон

write_reg(0x05, 0x13); //write 0x03 to the Interrupt Enable 1 register

write_reg(0x06, 0x00); //write 0x00 to the Interrupt Enable 2 register

//read interrupt status registers to release all pending interrupts

ItStatus1 = read_reg(0x03);//read the Interrupt Status1 register

ItStatus2 = read_reg(0x04);//read the Interrupt Status2 register

 

 

Но при старте при отсутствии клоков проц до конфигурации si4432 просто не доходит.

Чтобы прочитать регистры clk на проц кинул с другой рабочей платы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

начало загрузки у меня

 

spi_write(0x06, 0);

spi_write(0x06, 0);

spi_write(0x07, 0x01);

затем в спячку....

вывод из спячки и передача данных

 

spi_write(0x07,0x0B);//txon,pllon,xton

 

МК тактируется от внутреннего RC///

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

начало загрузки у меня

 

spi_write(0x06, 0);

spi_write(0x06, 0);

spi_write(0x07, 0x01);

затем в спячку....

вывод из спячки и передача данных

 

spi_write(0x07,0x0B);//txon,pllon,xton

 

МК тактируется от внутреннего RC///

Понятно. Спасибо. Буду ковырять дальше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот еще

7. Description: When tuned to a channel that is a multiple of 30 MHz sensitivity is degraded. Impacts: Sensitivity will not meet specified value. Workaround: Avoid using channels that are a multiple of 30 MHz. Contact Silicon Labs‘ customer support for instructions on shifting the XTAL frequency if a specific frequency is required. Resolution: Will be fixed in the future revision. 8. Description: In FSK/GFSK TX mode the preamble length is one bit less than the programmed value. Impacts: Preamble length will be one bit less than expected if the packet handler is used in TX mode. For example, if a 32-bit preamble is selected to be added to the data payload only 31 bits will be added. Workaround: Add an extra nibble of preamble to the preamble length register or do not use the automatic packet handler in TX mode. Resolution: Will be fixed in the next revision.

 

9. Description: Register modifications needed for correct operation. Impacts: PLL, RX and TX current consumption. Workaround: Change Registers 59 = 00, 5A = 03h, and 66 = 02h. Resolution: Default values will be updated in the next revision.

 

10. Description: Device operation below –25 °C. Impacts: Frequency tuning. Workaround: Set register 65h to A1h prior to the PLL being enabled for the device to operate correctly at cold temperatures. Resolution: Will be fixed in the next revision.

 

11. Description: Wake-up Timer and Low Duty Cycle Modes not functional. Impacts: These features are not supported. Workaround: Use the external microcontroller or the 32 kHz XTAL option on the RF22 to implement these functions. Resolution: Will be fixed in the next revision.

 

12. Description: In antenna diversity mode the antenna selected for the RX packet may not be the same as the subsequent TX. The TX antenna selection will toggle between both antennas. Impacts: May impact link performance depending on conditions. Workaround: Customers can force the TX antenna control manually to a given antenna prior to sending the TX packet by setting the ANTDIV[2:0] bits in register 08h. Resolution: Will be fixed in the next revision.

13. Description: Phase Noise at 100 kHz and 1 MHz offsets can occasionally jump to be out of spec by 5 dB. Impacts: The 5 dB shift may impact adjacent channel selectivity and TX spectral mask. Workaround: The issue has a bi-modal nature and can toggle between two states of phase noise. Resolution: Will be fixed in the next revision.

14. Description: Some non-standard frequencies are not supported. Impacts: Operation in frequencies between 240–280 MHz and 480–560 MHz should be avoided. Workaround: These are non-standard bands and should result in no customer impact; no workaround at this time. Resolution: Will be fixed in the next revision.

15. Description: RSSI is not correct using default settings. Impacts: No impact. Workaround: Set the following registers: Reg 6Ah lnacomp[3:0] = 0010 and pgathres[1:0] = 11. Resolution: Will be fixed in the next revision.

16. Description: The reference design listed in the data sheet does not meet the specified harmonic suppression as listed in the data sheet. Impacts: May not meet harmonic specification with listed reference design. olution: Change Low Pass Filter Reference Design.

17. Description: LBD voltage read-back can occasionally be incorrect. If the LBD battery voltage register is read during the same cycle that the register is being updated, it will read the previously read value and not the updated value. The LBD measurement cycle is 250 s and the update period is 30 s. Impacts: May need to use majority polling or use the LBD interrupt instead. Workaround: Read the register two or three consecutive times to ensure it is correct or use the LBD interrupt. Resolution: Will be fixed in the future revision.

18. Description: For TX data rates higher than 100 kbps a register change is required. The cpcurr[1:0] bits in Reg 58h should be changed to 11 (default = 01). Impacts: May slightly degrade phase noise in the 100 to 300 kHz region. Workaround: Change Reg 58h to 11. Resolution: None planned. Workaround: If random selection of the TX antenna is not desired, then a single antenna may be manually selected by using the antdiv register in 08h. Resolution: Will be fixed in the next revision.

19. Description: Use the PA Reference Design in data sheet revision 0.4 Impacts: Not using the reference design on data sheet 0.4 may create a maximum voltage swing higher than expected on the PA output. Workaround: See data sheet. Resolution: Informational only.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А есть ли реальные проблеммы с RF частью чипа.Я сейчас тоже с ним работаю. На частоте 917мгц (американский?) по сравнени с 868 мгц наблюдается существенное ухудшение чувствительности. Измерения на открытом пространстве проводились заказчиком вблизи недалеко расположенной базовой станции. Схема из даташита.Измеренная на стенде чувствительность соответствует заявленной.

Что предполагается:

1.Возможная интермодуляция GSM каналов. в Германии начинается R-GSM c 920 мгц.

2.Блокирование приемника тем же GSM.

3.Криво написанный код.

 

Первые два предположения я проверил измерениями,

потом я заметил что производитель почему-то убрал из даташита последней ревизии строчку со значением IIPз

 

 

Мне интересно услышать ваше мнение об этом чипе.

 

 

Значение RSSI=28 при 256кгц фильтре на частоте 868 при подключенной антенне и отсутствии сигнала.

RSSI=30 при 256кгц фильтре на частоте 917

 

А какое значение у вас?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как выясняется в софте(железе) куча косяков...

Мне интересно услышать ваше мнение об этом чипе.

мне кажется он очень привлекателен в своем классе...цена- возможности...

1.Возможная интермодуляция GSM каналов. в Германии начинается R-GSM c 920 мгц.

2.Блокирование приемника тем же GSM.

3.Криво написанный код.

блокировка и итермодуляция преселектора у него же нет да и ПЧ фильтр как он там организован если чистый софт с АЦП то плохо ...

Значение RSSI=28 при 256кгц фильтре на частоте 868 при подключенной антенне и отсутствии сигнала.

RSSI=30 при 256кгц фильтре на частоте 917

пока измерениями не богат но реально уже изделия на обьектах стоят расстояния приличные километры....

реально изделие заточенно под датчики с батарейным питанием 1.8- 3.6V...что радует...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как выясняется в софте(железе) куча косяков...

 

мне кажется он очень привлекателен в своем классе...цена- возможности...

 

блокировка и итермодуляция преселектора у него же нет да и ПЧ фильтр как он там организован если чистый софт с АЦП то плохо ...

 

пока измерениями не богат но реально уже изделия на обьектах стоят расстояния приличные километры....

реально изделие заточенно под датчики с батарейным питанием 1.8- 3.6V...что радует...

я написал что на 868 все хорошо, а вы так интереса ради пробовали 917? есть ли разница?

потому как до полевых испытаний(проверка еще впереди) у меня пока только есть предположения подтвержденные лабораторными измерениями.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я написал что на 868 все хорошо, а вы так интереса ради пробовали 917? есть ли разница?

нет не пробовал, первоочередные задачи перейти на Манчестер, достичь максимально заявленной чувствительности...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообщем то что я писал о GSM оно теоретически быть может, но в моем случае причина была в некорректной топологии.

 

Топология маленького нормально работающего модуля RF была помещена Не инженерами RF, в топологию цифрового устройства с некорректным разделением земли.

 

С землей была проблемма.После замыкания земли в нужных местах, изоленты и такой-то матери, все заработало. Дальность связи резко возросла.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

даже очень практичесски, хватит -40 - 30 dBm мешающего сигнала, что бы начались эффекты блокировки...

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

мой модуль выглядит так...у меня контроллер с обратной стороны, так что трудно( или легко?) говорить о хорошей развязке....

потребляет в среднем 30uA...

Та земля о которой я пишу влияла непосредственно на диаграмму направленности.Там было что-то типа резонансной щели по периметру модуля.

 

да, и я намерял такие же цифры по блокированию. я мерял для 917 мгц на частотах 920 -41dBm

а при -30dBm 920мгц полностю блокирует и на 868мгц.

 

Аналогичного порядка цифры и для интермодуляции. Я писал что кудато исчез параметр IIPз (-20dBm) из даташита новой ревизии:)

 

Но в целом чип применимый.

 

Для полноты картины вот скан эфира GSM за пол часа,на ту же антенну что и модуль , тоесть мешать может вполне.Но характер помехи импульсный, это легче.Теряется только часть принятых пакетов

post-16046-1267367162_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...