Jump to content

    

Сергей Борщ

Модераторы
  • Content Count

    9044
  • Joined

  • Last visited

Everything posted by Сергей Борщ


  1. STM32L082 в спячке ест больше, чем на всем скаку

    Потому что сейчас кроме опроса датчика программа иногда выполняет кубовый стек lorawan, а когда я напишу вместо него свой - программа будет работать под управлением ОС.
  2. думал - чудо свершилось, поставил такой чип и точность любого I2C датчика повысилась. Ан нет, чудес не бывает. Бывают глупые переводчики заголовков.
  3. STM32L082 в спячке ест больше, чем на всем скаку

    Буквально на доли процента. Если диаграмма (с WFI) в первом сообщении занимает 1.22 мс, то такая же без WFI - 1.15 мс на потребеление оно не влияет, проверял. Что-то не видел я такого в документации. В какой именно документации это описано? Это мне не подходит. По нулям. Беру паузу разобраться, кто же на плате жрет 3 мА во время сна в пустом цикле без опроса датчика.
  4. STM32L082 в спячке ест больше, чем на всем скаку

    Мне проще было сделать бесконечный цикл вместо опроса датчика. Пустой цикл с ногодрыгом ноги - 8.85 мА. Пустой цикл с WFI - 3.05 мА. Хм. Тут тенденция с теорией сходится - с WFI потребеление меньше. Откуда такие огромные цифры - буду копать. В общем - чуда нет, надо трясти. Спасибо за подсказку. Надо разбираться, что там Semtech на пару с кубом в своем стеке наворотили: этот глубокий сон - часть их реализации стека LoRaWAN и что-то они там еще творят перед засыпанием и после просыпания. Просто поскольку в глубоком сне потребеление было вполне адекватное - я туда и не лез. Похоже, надо не датчики к стеку прикручивать, а стек понемногу к датчикам добавлять и смотреть, на каком этапе начнутся чудеса.
  5. STM32L082 в спячке ест больше, чем на всем скаку

    И в описании каждого бита написано, что тактирование включается только для тех модулей, которые включены битом EN в регистрах самой периферии. Я решил, что "у нас принято джентельменам верить на слово". Может и врут, надо проверить. Исключений очень мало, SYSCFG, DBG и порты я выключал - не помогло, ПДП я во сне использую. Из остального в регистрах периферии включаю только I2C и TIM6. Да и сильно маловероятно, что даже вся периферия в сумме будет кушать в несколько раз больше ядра (оно по моим прикидкам должно есть 6 мА / 32 МГц = .188 мкА/МГц, каждая периферия в среднем 10 мкА/МГц). Тоже весь день думал об этих регистрах. Сейчас проверю, насколько изменится картина, если сбросить все биты неиспользуемой периферии.
  6. STM32L082 в спячке ест больше, чем на всем скаку

    Это потребление всей схемы с датчиками. Датчики в обоих случаях опрашиваются идентично плюс-минус десяток микросекунд. Дерганье или не дерганье ноги TEST в обоих случаях на потребление влияет ниже порога разрешения моего микроамперметра. Дерганье было добавлено уже после обнаружения эффекта - чтобы убедиться, что программа действительно останавливается в одном случае и выполняется во втором.
  7. STM32L082 в спячке ест больше, чем на всем скаку

    5 секунд в режиме stop, sleepdeep установлен, выход из stop возможен по EXTI и по событиям RTC, который заведен на EXTI. В этом режиме с потреблением все красиво. Далее просыпаемся и работаем с I2C, во время ожидания прерываний от I2C переходим в sleep, sleepdeep сброшен. И вот в это время потребление больше, чем когда вместо перехода в sleep тупо в цикле опрашиваем переменную. Старался описать максимально подробно, чтобы было больше информации к размышлению. Может вы невнимательно прочитали?
  8. STM32L082 в спячке ест больше, чем на всем скаку

    Для успокоения проинициализировал явно все ноги. То же яйцо, только в профиль - потребление не поменялось.
  9. STM32L082 в спячке ест больше, чем на всем скаку

    Не, на руку не реагирует.
  10. STM32L082 в спячке ест больше, чем на всем скаку

    Это влияет на отработку WFI? Нет, ноги согласно рекомендациям того же ST пока что настроены в режим аналогового входа и это цель дальнейших исследований. И вроде как в глубоком сне (Stop) с потреблением все хорошо. Проблемы с неглубокими (Sleep) кратковременными засыпаниями ядра
  11. Это ваше напряжение ШИМ. Оно подается на затвор BSS138. Влияние напряжения питания контроллера на сопротивление открытого канала BSS138 будет пренебрежимо мало, стабилитрон не нужен.
  12. Купили пару китов F143-mini-DVK-SMA, написали тестовую програмку на базе сгенеренного AX-RadioLAB шаблона, (868.300 МГц, FSK, 115200, пакеты длиной 35 байт) - вроде работает. Заложили AX8052F143 в устройство, почитали документацию, развели платы (три вида, на всех разные антенны, назовем их А, Б и В), собрали, сгенерили в AX-RadioLAB настройки под наш кварц и тут облом - между собой наши платы теряют около 50% пакетов, кит наши платы не слышит совсем, мы от кита слышим тоже около половины пакетов. Документацию и AX-RadioLAB выкурили вдоль и поперек, меняли микросхемы, подозревали кварц (на китах стоит TXCO 48 МГц, мы заложили 10 ppm кварц на рекомендованную в техописании частоту 16 МГц), ставили кварцы на 14, 25, 28, 32 и 48 МГц, TXCO на 32 и 48 МГц - системы нет почти никакой. С каким-то кварцем кит и плата, скажем, "А" начинают слышать друг друга, процентов 80 пакетов проходят в обе стороны, но при этом между двумя платами "А" или "А"<->"Б" связи нет или проходит всего процентов 20 пакетов (при этом частота несущей всех плат отличается не более чем на 1-2 КГц, что при нашей девиации в 29 КГц влиять не должно ну совсем никак), игрались с регистрами усиления петель захвата, токами ГУН - тоже никакого толку: пока играешься к коэффициентами на одной плате, можно добиться приема чуть ли не 90% пакетов, но как только эти же настройки записываешь в плату на втором конце, надеясь добиться такого же результата в обратную сторону - ситуация возвращается к 50% пакетов в каждую сторону. Кит может не слышать плату 20 минут, потом принять подряд 10-15 пакетов и снова не слышать минут 10, потом принять еще 1-2-5- пакетов и снова не слышать. Тестовая программа шлет пакет каждые 50 мс или через 25 мс после приема пакета. Можно было бы грешить на печатные антенны на наших платах, но почему они между собой хоть как-то общаются, а с китом или никак или очень плохо? Причем они показывают одинаковый результат как при связи А<->А, так и А<->Б и Б<->Б и А<->В, хотя конфигурация антенн на платах разная. Также два типа плат питаются от 12 В через понижующий импульсный преобразователь, а треться от батарейки CR2032, но и это никак не кореллирует с качеством связи. Лучше всего пока работет с кварцем 32 МГц (XRCGB32M000F1H00R0, ), хуже всего - с кварцем 16 МГц(16.0-JXS32-8-10/10-T(-30/70)-WA-LF), есть общая тенденция - чем больше частота, тем лучше обмен, но при этом с TXCO 32 МГц 2 ppm результат хуже, чем с кварцем 28 МГц и в то же время в техописании указано fXTAL Crystal or frequency min. 10 typ. 16 max. 50 MHz и даже ноги называются CLK16P и CLK16N. Коллеги бодаются с ней уже пару месяцев и не продвинулись буквально ни на шаг, вот только методом тыка подобрали кварц, с которым имеющиеся платы более-менее работают, но причины не нашли и что будет в серии никто предугадать не берется. Я угробил две недели на изучение буквально каждого регистра (качество документации - атас!), написал программу с нуля и получил точно такой же результат что и они. Версии кончились, что трясти дальше идей нет. Платы лежат на столе в 10 см друг от друга или ближе, микросхема показывает в своих регистрах уровень фонового шума -100...120 dBm, RSSI -30...-40 dBm (передатчик запрограммирован на -10 dBm). Чаще всего пакет просто не принимается, CRC не совпадает значительно реже. разводка одной из плат: В общем, глобальный вопрос такой - кто-то работал с этими микросхемами, кому-то удавалось от нее добиться хоть сколь-нибудь стабильной связи, какие грабли были?
  13. 1) Освоить правописание -тся и -ться 2) Выкинуть стабилитрон. Зависимость сопротивления открытого канала транзистора от напряжения ШИМ на затворе пренебрежимо мала. 3) Раз уж "супер точность и стабильность не требуется" - выкинуть еще и транзистор и сделать так, как советует Plain.
  14. Или вот так. Мне понравилась идея. Представьте, что вместо ОУ у вас тут ваш регулятор.
  15. Что-то я торможу. Это 0.47 ом или 47 Ом? Как вы уже догадались по транзистору на заднем плане - с обратной стороны в этом резисторе дырка, поэтому измерить его я не могу, а похожих живых дома ни на одном доноре не нашлось. На этой же плате транзистор в SOT23, маркировка DR, такие же живые рядом звонятся как PNP, стоит в цепи затвора 13-амперного 250-вольтового полевика Схема включения: В тумбочке есть BC858, сомневаюсь - потянет ли по току? Все это в схеме балласта лампы проектора панасоник PT-LM2E.
  16. Да, спасибо, нашел в донорах на работе похожие - у всех в этой строке только сопротивление. Тут, видимо, точка при печати съехала, это и смутило.
  17. кнопочные ковбои на ардуино

    Значит, неисправен либо светодиод, либо резистор рядом с ним, либо сама макетная плата. Проверить светодиод можно, поменяв местами с красным. Резистор - аналогично. если неисправна плата - кинуть провод поверх места обрыва.
  18. К сожалению, пока еще не придумали языка, состоящего из одной-единственной кнопки "Хочу!". Для этого достаточно знать этот язык на необходимом уровне. Пенять языку за недостаточность своих знаний - глупо.
  19. Нет, не требуют - это личная инициатива конкретного программиста. Не нравится хрен - есть еще поговорка про дурака, которого заставляют Богу молиться. Поэтому огульно отказываться от всех преимуществ языка только потому, что вам кажутся неидеальными некоторые его части - по меньшей мере недальновидно. Не ругайтесь. А вам надо обязательно быть на острие моды. Собака лает, а караван идет...
  20. AX8052F143 (AX5043 + 8052) вынесла мозг

    На страничке контроллера выбрать Software и в выпадающем меню "AX-IDE Development tools...". Оно ставит среду на основе Code::Blocks с встроенной поддержкой отладчика и компилятор sdcc. Как тот неуловимый Джо, т.е. мало кому нужны, поэтому о попытках взлома неизвестно. Кстати, при попытке стереть закрытый процессор, не зная использовавшийся при закрытии ключ, затирается последняя страница флеша в которой лежат заводские калибровки. После чего как минимум АЦП начинает дико врать. Так что будьте осторожны, не затрите эту страницу случайно. Там же, в Software, есть выглядящий рабочим пример "Wireless Bootloader for AX8052F143". Примененное там решение с переписыванием на лету таблицы векторов муторное и не очень надежное, но в качестве примера работы радиочасти сойдет. Больше ничего не попадалось, кажется.
  21. AX8052F143 (AX5043 + 8052) вынесла мозг

    С сайта ON semiconductor. Версия там древняя и на обновления надежды нет. Работает только виндовая, под линухом мне запустить среду не удалось. Можно обновить компилятор sdcc, но там что-то поменяли в формате объектных файлов и отладчик с обновленным компилятором уже не работает. Про гербера не знаю, делали свой программатор на FT4232 по схеме, найденной в интернете. Среда находит отладчик по дескриптору, дескриптор вычитали из купленного фирменного отладчика, в нем стоит FT2232. В приложении схема оригинального отладчика и данные для программирования FT2232 при помощи FT_prog. AXDBG-2-GEVK schematics.pdf AX_prog.zip
  22. Вы в приличном месте, постарайтесь не выражаться - выглядит дешевым бахвальством. Я понял только первое слово, но даже в этом вы не правы. При грамотном использовании накладных расходов ни капли не больше, чем при использовании "голых" Сей, а удобств и преимуществ - море. Сдуру, конечно, можно и хрен сломать, но тут уж каждый сам себе злобный Буратина.
  23. Да, похож, спасибо. BC858 слабоват будет, буду искать BC808 Этот у меня уже есть. Увы, это отличия между моделями, нужных элементов здесь нет.
  24. Зайти к рекламщикам, у них море этих пленок разных цветов и оттенков рулонами, с клеевой основой. Попросить отрезать полоску 5 сантиметров, могут и даром отдать. Пленку брать под цвет индикатора - для красного красную. Количеством слоев выбрать желаемое светопропускание от "еще виден индикатор" до "уже не видно цифр"