Проблема с SI4432. Нужна помощь.

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

Сообщение Ser60 »

Я думаю, что многое зависит от самого прибора и какое напряжение на его клеммах при ихмерении. Чип может начать инициализироваться и потреблять ток - отсюда и сопротивление прибр иное покажет. Тем не менее, мой прибор на пределах до 400К показывает бесконечность.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

Serg1987, Удалось выяснить "в чём собака порылась"?
У меня были ситуации, когда приходилось "перекатывать детали" с китайских плат (с SI4432) на свои платы.
Пайка у китайцев - это "отдельная песня". Порой, только с "матерком" можно вспоминать, но ни одной "битой" SI4432 мне не попалось.
Реклама
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

Увы, не удалось. Выкидываю скрин из даташита и комментирую, что показывает у меня.
Изображение

Адекватное потребление только в режиме READY mode (800мка)
Итого, потребление МК - 200 мка, + 800 от модуля. Итого получается 1000 мкА (1мА). Мультиметр столько и показывает, чуть больше(1.1 мА), но нестрашно. В общем, как по Даташиту.

Пишу в регистр 0x7 значение 0 - это режим Standby/ Читаю регистры статуса. Потребление чистое модуля - 200 мкА
Включаю SLEEP (пишу в 7-й регистр 0x40). Потребление модуля - 220мкА.
Итого самое честное потребление - в режиме READY
Это несоизмеримо много по сравнению с тем, что написано в документации
И такое со всеми модулями, а их 5 штук. В режиме Shutdown 2 модуля жрут также немеряно - от 5 до 8 мА. :shock: Остальные три нормально (40 нА, в общем будем считать что соответствует даташиту). Но данный режим меня не устраивает, так как при Shutdown все регистры теряют свои настройки на базовые.
В общем пнуть их хочется с лапы хорошенько так. :kill:

Я уже голову сломал в чем дело. В след. раз попробую взять у другого поставщика. Или буду сам свой модуль делать. Потому что 5 модулей.. Я уже устал. :facepalm:
Последний раз редактировалось Serg1987 Сб апр 01, 2017 20:39:20, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

Настройку портов SI4432 делаете?
По умолчанию:
GPIO0 - Power-On-Reset (output)
GPIO1 - Inverted Power-On-Reset (output)
GPIO2 - Microcontroller Clock (30 MHz) (output)
Возможно, по выходам этих портов "набегает" такой ток потребления...
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

Не знаю, успели ли прочесть. Я отредактировал пост. Моя ошибка была в том, что я не считывал (не очищал) регистры статуса. Теперь картина такая
Ставлю Standby Читаю регистры статуса. Потребление модуля - 200 мкА
Ставлю SLEEP. Читаю статусы. Потребление модуля после - 220мкА.
Это уже не миллиамперы, конечно,.. Но все равно - это много, по сравнению с теми значениями, что в даташите.
GPIO я оставил "висеть в воздухе".
Реклама
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

Купил ещё 3 модуля. Из 3-х работает нормально только один..(((
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Что значит нормально (и что нет)? Кстати, отключите дефолтный вывод частоты на GPIO2. Если не поможет, имеется-ли возможность приобрести сами чипы Si446x? Плата под модуль простая, у меня в статье приложена, до и чипы неприхотливы к разводке. Я делаю ее в одном слое и оставляю обратную сторону платы под землю. Проблем никогда не было. В режиме сна Standby всё умирает - потребление чипа вместе с МК EFM32 в deep sleep около 1 мкА.
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

Ser60 писал(а):Что значит нормально (и что нет)?
Спасибо за ответы. Теперь работают все три. Оказалось, проблема была банально простой. Почему-то некоторым модулям просто не нравились функции работы с SPI, пришлось чуть подправить. Сейчас все работают. На потребление я пока положил длинный хвост. Сейчас стараюсь наладить обмен.
Точнее, обмен наладил, но.. появилась новая проблема.. Корректный прием пакетов обеспечивается на расстоянии (только не смеяться) не более... 10 см. :evil: И это с антеннами. Хуже, чем NRF2402.
Частота - 915 МГц. Брал из этого примера - https://habrahabr.ru/post/307836/
В общем работает.. Но 10 см валидного приема - это уж слишком.. :shock:
В чем причина? Мощность настроена в регистре 6D на максимум.. Ух..
Видимо придется возвращаться к NRF24L02 на 2.4 ГГц Там хоть с передачей никаких проблем не было.
Или делать свой модуль на отдельных компонентах. Потому что всё готовое, с чем пришлось сейчас работать, это просто... Г... И по потреблению, и как оказалось по дальности передачи. 10 см - это рекорд, товарищи!!
Последний раз редактировалось Serg1987 Вт апр 11, 2017 16:53:08, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

Сейчас, делайте все испытания на 433MHz.
Для работы на 915MHz должна быть другая антенна и другиt номиналы по ВЧ части.
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Предполагая, что модуль исправен, всё дело в настройках. Как отмечено у меня в статьях, устойчивая дальность связи на пересеченной местности с препятствиями между передатчиком и приёмником была не менее полукилометра. Надеюсь, Вы понимаете, что с припаянными пассивными компонентами на плате модуль может работать только в одном (соответствующем) диапазоне. Я хочу сказать, что если Ваш модуль на 433 мгц, без перепайки пассива его именно в этом диапазоне и следует использовать. Иначе будет рассогласование с антенной и малая дальность.

Может у Вас ещё SPI криво работает. Подключите к его линиям логический анализатор, чтобы быть уверенным. Кстати, я не увидел в статье с хабра, что перед засылкой байта проверяется сигнал CTS (Clear to Send). Не помню навскидку, нужно-ли это для данного чипа, для Si446x нужно обязательно иначе модуль проигнорирует команду. Вот осциллограмма из моей статьи, где один из GPIO сконфигурирован на выдачу сигнала CTS.
СпойлерИзображение
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

Ser60 писал(а): Не помню навскидку, нужно-ли это для данного чипа, для Si446x нужно обязательно иначе модуль проигнорирует команду. Вот осциллограмма из моей статьи, где один из GPIO сконфигурирован на выдачу сигнала CTS.
СпойлерИзображение
Я думаю сделать модуль из вашей статьи. Попробую на 433 конечно. Но если что-то пойдет не так, буду уже делать сам.
http://radiokot.ru/circuit/digital/security/33/
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

Дальность в 10см ещё очень похожа на неправильную работу с портами (переключение антенны).
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

Albert_V писал(а):Дальность в 10см ещё очень похожа на неправильную работу с портами (переключение антенны).
Не знаю.. Модуль в готовом исполнении. И ни у кого проблем судя по форумам с ним не было. Я не готов поверить, что на всех платах проблема с переключением.
Зато другой вопрос возник по поводу ревизии.. Я не пойму.
В даташите https://www.silabs.com/documents/public ... -31-32.pdf (с 64) ясно сказано, что по умолчанию в регистре 00(Device Type) должно находится значение 0b00111 (0x07), а в регистре 01 - 0x06.
Но у меня в регистре 00 считывается 0x08. Значение 0x08 также прописано и в AN440 https://www.silabs.com/documents/public ... /AN440.pdf
Всё совпадает.
Откуда в оригинальном даташите у них взялось 0x07 я не пойму. :dont_know:
В общем у меня считывается: регистр 00 - 0x08, регистр 01 - 0x06.
Да, и проблема в том, что калькуляторы в Excel для установки регистров частоты разные, нескольких версий.
Какой из них нужен - тоже вопрос . Нашел калькулятор на B1. Попробую перестроить на 433МГц

Что касается сигнала CTS, то для Si4432 в даташите (с 59) в GPIO Configuration про него ничего нет. Я так понимаю, там он не используется.
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

Serg1987 писал(а):Откуда в оригинальном даташите у них взялось 0x07 я не пойму.
Похоже на ошибку в документации:
Регистр 00h: Device Type Code. Indicates if the device is a transmitter, receiver, or a transceiver. RX/TRX: 01000. TX: 00111. Reset value = 00001000.
Регистр 01h: Version Code. Si4430/31/32 Rev B1: 00110.
Serg1987 писал(а):калькуляторы в Excel для установки регистров частоты разные
Excel-евсий у меня не работает, а ставить англоязычный MSOffice последней версии нет желания.
Я пользуюсь их программой Wireless Development Suite.
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

Albert_V писал(а):калькуляторы в Excel для установки регистров частоты разные желания.
Я пользуюсь их программой Wireless Development Suite
У меня программа тоже есть. Но есть вопрос. Как настроить параметр BandWidth через калькулятор?? (регистры 1C 20 и т.д.). Считать вручную не хочется. Но ни в Excel калькуляторе ни в программе Wireless Development Suite я такого параметра не нахожу.( При генерации кода он всё время ставит значение регистра 1C = 0x1E. От значения регистра 1С зависят значения других регистров (например регистр 0x20). Считать вручную это всё ну просто не хочется.
Судя по документу - https://www.silabs.com/documents/public ... /AN440.pdf (с26-27) он упорно по умолчанию ставит 0x1E (620,7 кГц) Как это значение можно поменять (не вручную)?? :?
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

Serg1987 писал(а):Как настроить параметр BandWidth через калькулятор??
Там, просто, нужно в Mode selection = RX правильно указать значения в полях Data Rate и Deviation (не забыв правильно заполнить значения остальных полей).
-----
На всякий случай:
Если есть частотомер - выведите на GPIO2 "Microcontroller Clock" и подберите значение в регистре 09h (Crystal Oscillator Load Capacitance) такое, что бы на GPIO2 частота была как можно ближе к 30'000'000Hz
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

Albert_V писал(а):Сейчас, делайте все испытания на 433MHz.
Для работы на 915MHz должна быть другая антенна и другиt номиналы по ВЧ части.
Вы оказались правы. Залил настройки на 433 МГц и всё завелось.) Уверенный прием теперь на расстоянии 20 м. На большем расстоянии не проверял, пока нет возможности.
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

На повестку дня вылез вопрос по дальности работы в здании. А точнее в 3-х комнатной квартире. На прямой видимости работает хорошо свыше 20 метров (больше не проверял) Но вот в квартире, если один модуль запихнуть в угол кухни, а другой в угол самой дальней комнаты, то связь теряется. Работает оочень нестабильно. Валидный пакет лишь один или два из десяти.
Стены из газосиликатных блоков, несущие - толстые из кирпича. Так и должно быть?? Кто ставил эксперименты по связи в пределах квартиры.?? Какова дальность данных модулей при наличии препятствий в виде кирпича и бетона?
Как влияет на дальность скорость передачи полезной информации (кб/c)? У меня 128 кбит/с.
Последний раз редактировалось Serg1987 Вс апр 16, 2017 15:51:10, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

У меня, без потерь пакетов, "прошибает" из комнаты на 6-ом этаже до 1-го этажа на скорости 9600bps (панельная 9-ти этажка).
Запишите в регистр 6Dh значение 1Fh (максимальная мощность).
Но, на всякий случай, у меня SI4432 стоит на моей плате (не китайский модуль).
/проверял на минимальной мощности: плата в холодильнике (в морозилке), по всей квартире приём уверенный/
----
P.S.
Частоты выставили (регистр 09h)?
----
P.P.S.
Можете добавить в пакет разницу между уровнем приёма (по прерыванию Valid Preamble Detected) и уровнем шумов.
Значение RSSI считываете с регистра 26h.
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

Albert_V писал(а): ----
P.S.
Частоты выставили (регистр 09h)?
Да, выставил. Но в регистр 09 вроде как загружаются данные Load Capacity.
Пришла мысль, может дальность у меня хромает из за высокой скорости передачи??
У меня 433 Мгц и 128кбит/с скорость полезных данных. Может из за этого? :dont_know: Попробую скоро понизить до 9.6 кбит/c.
Ответить

Вернуться в «Периферия»