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

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

Сообщение Albert_V »

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

Сообщение Serg1987 »

Albert_V писал(а):
Serg1987 писал(а):в регистр 09 вроде как загружаются данные Load Capacity
Всё правильно.
Это как в часах подстройка частоты кварца...
Да, кварц у меня на 30МГц, для емкости в 12пФ я оставил значение как и по умолчанию - 0x7F. Или я не прав?
Тоже самое выдал и калькулятор от SilLab
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Как влияет на дальность скорость передачи полезной информации (кб/c)?
Чем выше скорость, тем должна быть шире полоса приемника и, соответственно, падает его чувствительность. Для повышения дальности скорость следует выбирать минимально возможной для приложения. В любои случае бетонные и кирпичные стены серьезное препятствие, но 3-5 препятствием непреодолимым быть не должно. Еще важно какая антенна - согласованная с длиной волны или просто абстрактный кусок провода.
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

Serg1987 писал(а):Да, кварц у меня на 30МГц, для емкости в 12пФ я оставил значение как и по умолчанию - 0x7F
Частоту выставляйте только по частотомеру.
Недавно делал 10-ть комплектов, так значения в регистре 09h для каждой платы пришлось ставить, как говорится, "от земли до луны" и 7Fh не было ни у одной....
----
P.S.
Специально посмотрел. В последней было 6Ch.
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

Ser60 писал(а): Чем выше скорость, тем должна быть шире полоса приемника и, соответственно, падает его чувствительность.
Похоже на то. Понизил скорость передачи то 11,4 кбит/c. Теперь уверенный прием по всей квартире. С пятого этажа теперь добивает до самого низа. Хотя на выходе из парадной возле домофона попалась небольшая мертвая зона. Но на улице прием опять появился.
Осталось организовать работу модуля по Вейк-ап из спячки. Да так, чтобы одновременно будился и контроллер. Да вот беда. Прерывание Wake Up модуля возникает при низком фронте на NIRQ, а контроллер просыпается наоборот, при положительном фронте на ножке PA0 (WKUP). Надо думать. Лишний инвертор пихать не хотелось бы. Или может есть другие пути, как организовать работу с минимальным потреблением? Модуль должен отправлять раз в 500мс запрос, и уходить в сон, если не было ответа.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Какой контроллер используете? Если EFM32, то у него имеется регистр EM4WUPOL для установки полярности пробуждения.
Реклама
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

Ser60 писал(а):Какой контроллер используете? Если EFM32, то у него имеется регистр EM4WUPOL для установки полярности пробуждения.
Увы. Использую STM32L151 на 48 ног. Всё по минимуму. Там полярность поменять нельзя. Поставлю инвертер какой маломощный скорее. Главное, чтобы места хватило под разводку (размер платы ограничен.)
Ser60 писал(а): Еще важно какая антенна - согласованная с длиной волны или просто абстрактный кусок провода.
Антенна спиралька. Шла в комплекте. Работает сейчас на скорости 11 кбит удовлетворительно.
У меня вопрос по вашей статье. - http://radiokot.ru/circuit/digital/security/33/
Я так понял, обвязка там на 915 МГц.
Как рассчитать или где подсмотреть, какая обвязка для данного чипа на 433МГц. ?? Или всё также описано в указанной литературе? [2]. (скачать не могу в данный момент, увы.)
Сейчас я доведу эксперименты с SI4432, то потом уже буду делать аналог модуля из вашей статьи на россыпухе. :solder:
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

С этими МК я мало работал, только по мере необходимости, и навскидку не помню. Однако, если говорите, что нет, то я Вам верю. А нужно-ли Вам 48 ног для проекта? Не хотите попробовать другой ARM (если это должен быть ARM), свободный от подобных ограничений с пробуждением. Например, Kinetis серии KL05. Тогда и места на плате больше будет и инвертор не нужен.

По поводу обвязки там в статье есть линк на AN627. В нём найдёте таблицу 1 с указанием нужных документов в смысле пассива. Может что-то и из AN627 подойдёт. Я использую исключительно 9хх мгц диапазон.
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

Ser60 писал(а):А нужно-ли Вам 48 ног для проекта?.
48 ног не нужно. По сути нужен только SPI, 2 ноги на управление нагрузкой через полевики. Есть контроллеры в корпусе TSSOP20. Есть или были.. Т.к. в продаже даже под заказ я их не нашел. Пришлось брать из маленьких те что были.
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Похоже, для Ваших целей вполне достаточно будет контроллеров KL02Z или KL03Z в QFN16. Такие корпуса Вы уже паять умеете. Если созрели сделать модуль, как насчет к новому модулю новый МК?
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

Ser60 писал(а):Похоже, для Ваших целей вполне достаточно будет контроллеров KL02Z или KL03Z в QFN16. Такие корпуса Вы уже паять умеете. Если созрели сделать модуль, как насчет к новому модулю новый МК?
Новый МК я рассматриваю. Но придется немного попотеть. С STM32 я давно на "ты". Работаю через регистры напрямую. А вот с новыми контроллерами придется долго смотреть в даташиты. Хотя сейчас мне главное МК с минимальным потреблением и наличием режима Sleep. Посмотрел, такой есть не у всех. У некоторых только RUN, STOP и STANDBY. И желательно чтобы пробуждался он по отрицательному фронту на ножке WKUP, т.е. синхронно с прерыванием от модуля. С STM уже описал выше проблему - там WKUP только по положительному фронту. Лишний инвертер городить не хотелось бы. Вообще полярность можно менять, но это только в более старших и больших МК, а большой МК мне ни к месту. Поэтому альтернативы смотрю, конечно.
Одно из решений нашел тут. https://electronics.stackexchange.com/q ... ake-up-pin
А вообще первоначальный вариант - использовать STM32L011 в корпусе TSSOP-20.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку

Сообщение Zhuk72 »

Проинвертировать сигнал можно и транзистором со встроенными резисторами для экономии места.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Контактная информация:
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

[uquote="Ser60",url="/forum/viewtopic.php?p=3082867#p3082867"]Похоже, для Ваших целей вполне достаточно будет контроллеров KL02Z или KL03Z в QFN16. Такие корпуса Вы уже паять умеете. Если созрели сделать модуль, как насчет к новому модулю новый МК?[/uquote]
По новому МК не знаю. Мне достаточно STM32. Но с модулем опять беда. Спаял я модуль по схеме http://radiokot.ru/circuit/digital/security/33/01.png
Подключил. Отправляю - POWER UP. Сигнал на CTS тут же прижимается к земле. По идее он должен вернуться в логическую 1. Но нет.. Как прижимается, так там и висит. ( Уже не знаю что и делать.
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Не знаю, что сказать - мало данных. Можете прислать мне фотку платы для визуальной проверки монтажа, а также куски кода, отвечающих за настройку портов МК и отсылку POWERUP. Я после подачи питания посылаю следующие байты:
0x02, 0x01, 0x00, 0x01, 0xC9, 0xC3, 0x80
для настройки на 903 мгц с тактированием чипа от встроенного генератора (не TXCO). Надеюсь, не забыли дернуть CS вверх после подачи команды. Если есть лог. анализатор, снимите осциллограмму сигналов на линиях SPI и CTS типа той, что в статье. Я завтра (пятница) уезжаю на неделю и буду завтра весь день в дороге. Однако, начиная с субботы у меня будет доступ к Интернету из отеля.
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

[uquote="Ser60",url="/forum/viewtopic.php?p=3113758#p3113758"]Не знаю, что сказать - мало данных. Можете прислать мне фотку платы для визуальной проверки монтажа, а также куски кода, отвечающих за настройку портов МК и отсылку POWERUP. Я после подачи питания посылаю следующие байты:
0x02, 0x01, 0x00, 0x01, 0xC9, 0xC3, 0x80.[/uquote]

Я пока решил не мучиться. Заказал платы в заводском исполнении. Жду пока. Самопальщину я отложил, т.к. нервов уже не хватает на это. :sleep:
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

За последние 3 месяца я сделал ещё 3 устройства на основе своих плат для Si4468. Всё работает нормально. Но заводские платы - ещё более верный путь к успеху.
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

[uquote="Ser60",url="/forum/viewtopic.php?p=3117826#p3117826"]За последние 3 месяца я сделал ещё 3 устройства на основе своих плат для Si4468. Всё работает нормально. Но заводские платы - ещё более верный путь к успеху.[/uquote]

Это хорошо. Платы мне пришли, запаял чипы.. Шлю Power_ON. Ножка CTS проседает в 0, затем возвращается в высокий уровень. Так и должно быть. Затем пытаюсь прочесть командой 0x10 информацию о устройстве. Итого, чип ничего не возвращает. Решил проверить в чем дело. Оказалось, что на ножке DO c чипа идет всего то 1В :shock: В каком режиме SPI должен работать чип.? Нужна ли на ножке DO подтяжка к питанию, или это у меня очередной баг??
Хотя утешает тот факт, что такой уровень на всех 4-х платах. Так и должно быть? Какой у вас уровень напряжения на ножке DO по дефалту? (до включения чипа и подачи Power ON)
NIRQ у меня после посылки команды также проседает вниз, что совершенно правильно. Но прочесть и очистить регистры статуса я также не могу - уровень на DO очень мал. Возвращает логический ноль.
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Низкий уровень на DO - это не нормально. Подтяжка на этом выводе не нужна. Уверены, что вывод МК на DO сконфигурирован правильно? Какой радиочип используете? Выложите сюда его конфигурацию.
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн июн 13, 2016 10:41:52

Сообщение Serg1987 »

[uquote="Ser60",url="/forum/viewtopic.php?p=3127088#p3127088"]Низкий уровень на DO - это не нормально. Подтяжка на этом выводе не нужна. Уверены, что вывод МК на DO сконфигурирован правильно? Какой радиочип используете? Выложите сюда его конфигурацию.[/uquote]

Уточню. МК тут вряд ли причем. Низкий уровень (1В) на выводе DO идет уже с самого чипа (специально не поленился и перепелил дорожку DO тонким скальпелем). Чип Si4461. Это наблюдается даже на голых чипах (c минимальной обвязкой). Делал как по схеме http://radiokot.ru/circuit/digital/security/33/01.png

Ну проблема всетки решилась внутренней подтяжкой DO к питанию. Плюс небольшой косяк был в обмене по SPI. Теперь всё отлично работает.
Ну далее нужно провести инициализацию. С самого начала. При инициализации как я понял, надо отправить команду Power UP, а затем все настройки?!
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Так Вы меряли напряжение на SDO сразу после ресета до засылки конфигурации в чип? Если ДА, то согласно секции 3.6 в ДШ подтяжка на линии SDO подключается сразу после ресета. Проверил на своем 4461, просто подав на него питание при SDN=0. Напряжение на SDO 2.97в при питании от 3.3в.

Да сначала подавайте POWERUP. Затем первым делом я всегда явно конфигурирую GPIO командой 0х13. Конкретно, первые 2 команды такие:

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

0x02, 0x01, 0x00, 0x01, 0xC9, 0xC3, 0x80  // powerup
0x13, 0x00, 0x00, 0x00, 0x00, 0x27, 0x0B, 0x00  // GPIO config
SDO пин при этом явно конфигурируется на вывод сигнала SDO (0х0B). Может вторая строка и не обязательна, уже не помню. Просто повторяю эту строку из устройства в устройство и всё работает.

Добавлено позже: посмотрел свои проекты, и наткнулся на такой, где конфигурацию SDO не делал. Всё там работает с дефолтными настройками GPIO после ресета.
Ответить

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