• Регистрация
zooika
zooika 0.00
н/д

несколько clk в stateflow

09.08.2021

есть два clk сигнала (clk1 и clk2). нужно, чтобы при clk1 по фронту выключался свет (light=0), а при clk2 также по фронту включался свет (light=1). одднако при реалиации выдает такую диаграмму 

Теги

    09.08.2021

    Ответы

    • Н/Д
      Н/Д0.00
      9.08.2021 14:41

      Подозреваю, что вы добавляли входные порты через EventPort, хотя вам куда больше бы подошли пара input под каждый сигнал. Ну и потом, у вас генераторы сигналов работают синхронно. Их фронты появляются одновременно, что может вопроиниматься чартом как взаимное отрицание или мгновенное переключение туда и обратно. Разнесите их немного во времени.

      • zooika
        zooika0.00
        9.08.2021 16:54

        event clk1 и clk2 я задавал в model explorer.  Разнес фронты сигналов немного, и, похоже, все работает верно, но делал это вручную. как это сделать автоматически, чтобы при задании частоты clk1 и clk2 их фронты не совпадали? 

         

        • Н/Д
          Н/Д0.00
          9.08.2021 18:30

          Можете попробовать различные блоки с приставкой delay. 

      • Ответ был удален
        • Н/Д
          Н/Д0.00
          28.09.2021 09:54

          Судя по модели, у Вас только один вход, и тот триггерный. А обращение к нему идет как к двум числовым входам. Stateflow так не распознает, что надо, хотя и ошибку не выдает. Надо завести два раздельных порта и обрабатывать их по is change. 

          Либо обработать оба входа и внутри чарта реализовать переключения по локальным событиям. Но, в любом случае, входа должно быть два.