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

rat

Свой
  • Постов

    562
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные rat


  1. On 7/11/2022 at 10:23 AM, Electrobit said:

    Сомневаюсь, что у госсектора будут какие-то проблемы. Аналитики говорят, что в 2020 и 2021 годах, Россия скупала на мировом рынке микрочипы в огромных количествах. И скупала так интенсивно, что это вызвало значительный рост цен и даже дефицит по отдельным позициям. Никто не мог понять, зачем и для чего закупается такое огромное количество микрчипов. Теперь в общем понятно, что это делались запасы лет на 10 вперёд. Так что с чипами у госсектора всё нормально. И у самого госсектора всё нормально, там теперь госзаказов точно на 10 лет вперёд. Не об этом надо беспокоиться.

    Если не секрет, откуда дровишки про закупку чипов в огромных количествах?

  2. Использовал STM32F103 с питанием Vdda от точного опорника. Напряжение на опорнике нарастало медленнее, это вылилось в постоянный сбой RTC при включении. Поставил между Vdd и Vdda диод Шоттки и все заработало нормально.

  3. On 4/3/2022 at 2:55 AM, kostya-m said:

    Эти емкости любимая проблема и STMок. Приходят из другой партии часовые кварцы и не стартуют, нужно менять емкости. Иногда стартуют, осциллоскопом видно, но амплитуда недостаточная, что бы сработал датчик LSE

    При 6-7 пФ кварцах все нормально работает на STM , при 12 пФ, да, приключения.

  4. 7 minutes ago, -=Space=- said:

    Не удалось что либо найти.

    Не поделитесь ссылочкой?

    Обратитесь в «Феникс Электроникс», у меня правда нет ссылки.

  5. 24 minutes ago, -=Space=- said:

    не встречал кто клонов MSP430 от TI ?

    и куда лучше уходить чтоб не потерять в потреблении? АРМы всетаки жрут довольно много в активном режиме

    JSF169 вроде, но он аэрокосмический.

  6. 14 hours ago, jcxz said:

    А ещё - NXP. ...были задолго.

    Без куба видимо туго приходится. Приходится мануал читать. Печалька.  :biggrin:

    Кубом пользуюсь, тока если работодатель настаивает, вообще предпочитаю регистры.

  7. 3 hours ago, Obam said:


    По собственному опыту (увиденные точечки битов на скриншоте воскресили кошмар): уходите с Атмэлмикрочипстудии - даже в IAR веселее будет, а контроллеры ничем не хуже любых других.

     

    Основной стм32 и ИАР, тут просто угораздило вляпаться в атмэл.

  8. 4 minutes ago, Arlleex said:

    В GCLK 5 регистров: CTRL, STATUS, CLKCTRL, GENCTRL, GENDIV.

    Почти в каждом регистре есть некий ID: это, можно сказать, селектор нужного генератора.

    Т.е. чтобы записать или считать какой-либо регистр какого-либо генератора, надо сначала записать в ID нужного регистра номер этого генератора.

    Выше я привел принтскрин из отладчика и в нем отображены всего 2 ID, сейчас как раз пытаюсь расшифровать этот скрин.

  9. 12 minutes ago, Arlleex said:

    Я хотел сказать, что все эти пляски с ASF и кубоподобием вполне могут указывать на банально кривой код настройки генераторов.
    Выведите значения всех регистров модуля GCLK, их там всего 5 штук... Там и будет видно, что и как настроено.

    За прошедших 2 часа уже несколько раз можно было считать регистры GCLK и сравнить с даташитом - чего там настроено.

    Ну и чего Вы ждете тогда на GPIO от GCLK0?

    Разумеется, когда я пытался подключать на пин генератор 0, #  define CONF_CLOCK_GCLK_0_OUTPUT_ENABLE я ставил в true

    16 minutes ago, Arlleex said:

    Я хотел сказать, что все эти пляски с ASF и кубоподобием вполне могут указывать на банально кривой код настройки генераторов.
    Выведите значения всех регистров модуля GCLK, их там всего 5 штук... Там и будет видно, что и как настроено.

    За прошедших 2 часа уже несколько раз можно было считать регистры GCLK и сравнить с даташитом - чего там настроено.

    Ну и чего Вы ждете тогда на GPIO от GCLK0?

    Я впервые работаю с микрочипстудией и этим процессором, я пока не понял соответствие отображаемых студией ID и реальных настроек.

  10. 7 minutes ago, Arlleex said:

    Я хотел сказать, что все эти пляски с ASF и кубоподобием вполне могут указывать на банальный кривой код настройки генераторов.
    Выведите значения всех регистров модуля GCLK, их там всего 5 штук... Там и будет видно, что и как настроено.

     

    clk_1.png

  11. Just now, dimka76 said:

    Возможно у вас генератор GCLK generator 0 не настроен, поэтому и не выводится ничего.

    Согласно коду, он настроен. Или возможны косяки ASF?

    3 minutes ago, dimka76 said:

    Возможно у вас генератор GCLK generator 0 не настроен, поэтому и не выводится ничего.

    Плюньте на этот ASF и сами все настройте.

    Я сам больше люблю работать с регистрами, но на этом месте работы принято работать на ASF, плюс сроки дичайше ограничены, а для ASF  мне предоставили много примеров. Если в ближайшее время не разберусь, возможно, буду писать на регистрах, но, имхо, для этого потребуется больше времени и риск не уложиться в сроки возрастет.

     

  12. 1 minute ago, Arlleex said:

    По регистрам GCLK проще ориентироваться - возможно, верхний Ваш код никак не влияет на регистры GCLK1, в частности вывод его частоты на GPIO.

    Не понял, что Вы хотели сказать. GCLK1 выводится без проблем на PB15. GCLK0 не выводится.

     

  13. 20 minutes ago, Arlleex said:

    Корпус какой? Наименование МК полностью? Там этих пинов с GCLK_IO0 еще довольно много. PA27, PA28, PA30, например.

    64. SAMD21J18A. Пробовал на PA27 и PA28. Не заработало. Я впервые работаю с микрочиповскими армами, думал мож, что общеизвестное для тех, кто в теме, сразу и подскажут.

  14. 8 minutes ago, Arlleex said:

    А что  мешает?

    На назначенном пине нет клока, почему, пока не удалось выяснить, причем я перепробовал несколько пинов, GCLK generator 1 выводится, а GCLK generator 0 нет.

    12 minutes ago, Arlleex said:

    А что  мешает?

        config_pinmux.mux_position = PINMUX_PB15H_GCLK_IO1;
        config_pinmux.direction    = SYSTEM_PINMUX_PIN_DIR_OUTPUT;
        config_pinmux.input_pull = SYSTEM_PINMUX_PIN_PULL_NONE;
        system_pinmux_pin_set_config(PIN_PB15H_GCLK_IO1, &config_pinmux);
        
        /*config_pinmux.mux_position = PINMUX_PB22H_GCLK_IO0;
        config_pinmux.direction    = SYSTEM_PINMUX_PIN_DIR_OUTPUT;
        config_pinmux.input_pull = SYSTEM_PINMUX_PIN_PULL_NONE;
        system_pinmux_pin_set_config(PIN_PB22H_GCLK_IO0, &config_pinmux);*/

     

    Фрагменты кода для 0 и 1 генераторов, для 1 работает, для 0 (закомментаренный фрагмент) не работает.

  15. 28 minutes ago, Arlleex said:

    А его зачем? Судя по блок-схеме, правильнее выводить именно с GCLK generator 0, т.к. с него тактируется CPU.

    Его вывести мне не удалось, хотя делал все так же, как и для GCLK generator 1, поэтому я не уверен, что главный клок у меня 48МГц

     

  16. День добрый. С STM32 на новой работе пришлось пересаживаться на SAMD21, использую ASF. Запустил проц на 48МГц (как я думаю). Цепочка такая - 12МГц XOSC подается на DPLL, с него на GCLK generator 1, затем на GCLK generator 0.  GCLK generator 1 вывожу на внешний пин и на нем вижу осциллографом 48МГц.

     

    /* SYSTEM_CLOCK_SOURCE_DPLL configuration - Digital Phase-Locked Loop */
    #  define CONF_CLOCK_DPLL_ENABLE                  true
    #  define CONF_CLOCK_DPLL_ON_DEMAND               true
    #  define CONF_CLOCK_DPLL_RUN_IN_STANDBY          false
    #  define CONF_CLOCK_DPLL_LOCK_BYPASS             false
    #  define CONF_CLOCK_DPLL_WAKE_UP_FAST            true//false
    #  define CONF_CLOCK_DPLL_LOW_POWER_ENABLE        false

    #  define CONF_CLOCK_DPLL_LOCK_TIME               SYSTEM_CLOCK_SOURCE_DPLL_LOCK_TIME_8MS
    #  define CONF_CLOCK_DPLL_REFERENCE_CLOCK         SYSTEM_CLOCK_SOURCE_DPLL_REFERENCE_CLOCK_XOSC
    #  define CONF_CLOCK_DPLL_FILTER                  SYSTEM_CLOCK_SOURCE_DPLL_FILTER_DEFAULT

    #  define CONF_CLOCK_DPLL_REFERENCE_FREQUENCY     12000000
    #  define CONF_CLOCK_DPLL_REFERENCE_DIVIDER       6
    #  define CONF_CLOCK_DPLL_OUTPUT_FREQUENCY        48000000

    /* DPLL GCLK reference configuration */
    #  define CONF_CLOCK_DPLL_REFERENCE_GCLK_GENERATOR  GCLK_GENERATOR_1//CONF_CLOCK_DPLL_REFERENCE_CLOCK//GCLK_GENERATOR_1
    /* DPLL GCLK lock timer configuration */
    #  define CONF_CLOCK_DPLL_LOCK_GCLK_GENERATOR     GCLK_GENERATOR_1

    /* Set this to true to configure the GCLK when running clocks_init. If set to
     * false, none of the GCLK generators will be configured in clocks_init(). */
    #  define CONF_CLOCK_CONFIGURE_GCLK               true

    /* Configure GCLK generator 0 (Main Clock) */
    #  define CONF_CLOCK_GCLK_0_ENABLE                true
    #  define CONF_CLOCK_GCLK_0_RUN_IN_STANDBY        false
    #  define CONF_CLOCK_GCLK_0_CLOCK_SOURCE          GCLK_GENERATOR_1//SYSTEM_CLOCK_SOURCE_DPLL
    #  define CONF_CLOCK_GCLK_0_PRESCALER             1
    #  define CONF_CLOCK_GCLK_0_OUTPUT_ENABLE         false

    /* Configure GCLK generator 1 */
    #  define CONF_CLOCK_GCLK_1_ENABLE                true
    #  define CONF_CLOCK_GCLK_1_RUN_IN_STANDBY        false
    #  define CONF_CLOCK_GCLK_1_CLOCK_SOURCE          SYSTEM_CLOCK_SOURCE_DPLL//SYSTEM_CLOCK_SOURCE_XOSC
    #  define CONF_CLOCK_GCLK_1_PRESCALER             1
    #  define CONF_CLOCK_GCLK_1_OUTPUT_ENABLE         true

     

    Затем в main инициализирую Systick timer

    int main (void)
    {
        system_init();
        SysTick_Config(480000);
        system_interrupt_enable(SYSTEM_INTERRUPT_SYSTICK);
        NVIC_EnableIRQ(SysTick_IRQn);

        /* Insert application code here, after the board has been initialized. */
        
        for(;;)
        {
            
           
        }
    }

    В обработчике инвертирую пин

    void SysTick_Handler(void) {
        port_pin_toggle_output_level(PIN_PA01);
    }

    Ожидаю на осцоллографе увидеть 10Гц, но реально вижу 8,3Гц

    Вопрос:

    1) Задавая в SysTick_Config(480000); я вообще должен видеть 100Гц, потому как промахнулся на один 0, но реально вижу 8,3Гц

    2) Если я задаю в SysTick_Config(400000); то вижу 10 Гц, такое впечатление, что между главным клоком и клоком Systick timer стоит делитель на 12, но его там быть не должно.

  17. On 3/17/2021 at 2:17 PM, RadiatoR said:

    У меня есть 2 проекта (платы) с STMWB55.

    1 завелась с пол пинка, другая падает при включении моторов. Проблему для себя уяснил - криво сделал трассировку второй платы ибо не мастак в этом. Сейчас переделываю.

    Стек достаточно большой и в нем применен собственный шедулер (недооперационка). Пример программы и стека достаточно дерганый: куча ветвлений + из за шедулера не сходу становится понятна последовательность работы стека. Но если покопаться всё становится достаточно понятно.

    Если что, могу подсказать по стеку на сколько сам его понял.

    А STM умеет обновлять прошивку МК через bluetooth?

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