exponenta event banner

dsp. LogicAnalyzer

Визуализация, измерение и анализ переходов и состояний во времени

Описание

Система Logic Analyzer System object™ отображает переходы во временных сигналах. Используя dsp.LogicAnalyzer, вы можете:

  • Отладка и анализ моделей

  • Одновременная трассировка и корреляция 96 сигналов

  • Обнаружение и анализ нарушений сроков

  • Выполнение системы трассировки

  • Обнаружение изменений сигнала с помощью триггеров

Для отображения переходов сигналов в логическом анализаторе:

  1. Создать dsp.LogicAnalyzer и задайте его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.

Дополнительные сведения о настройке и настройке Logic Analyzer см. в разделе Logic Analyzer.

Создание

Описание

пример

scope = dsp.LogicAnalyzer создает объект системы Logic Analyzer, scope.

scope = dsp.LogicAnalyzer(Name,Value) задает свойства, используя одну или несколько пар имя-значение. Заключите каждое имя свойства в отдельные кавычки. Например, scope = dsp.LogicAnalyzer('BackgroundColor','White','NumInputPorts',4).

Свойства

развернуть все

Если не указано иное, свойства не настраиваются, что означает невозможность изменения их значений после вызова объекта. Объекты блокируются при их вызове, и release функция разблокирует их.

Если свойство настраивается, его значение можно изменить в любое время.

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

Цвет фона дисплея, указанный как 'Black' или 'White'.

Настраиваемый: Да

Типы данных: char | string

Цвет каналов на дисплее, указанный как триплет RGB.

Триплет RGB - это трехэлементный вектор строки, элементы которого задают интенсивности красной, зеленой и синей составляющих цвета. Интенсивности должны быть в диапазоне [0,1]; например, [0.4 0.6 0.7].

Настраиваемый: Да

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Размер шрифта для каналов на дисплее в точках, указанный как неотрицательное целое число.

Настраиваемый: Да

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Формат каналов на дисплее, указанный как один из следующих:

  • 'Automatic' - Отображает сигналы с плавающей запятой в Analog формат и целочисленные и фиксированные сигналы в Digital формат. Логические сигналы отображаются в виде нуля или единицы.

  • 'Analog' - отображение значений в виде аналогового графика.

  • 'Digital' - Показывает значения как цифровые переходы.

Настраиваемый: Да

Типы данных: char | string

Высота канала на дисплее в пикселях, заданная как положительный действительный скаляр в диапазоне [8, 200].

Настраиваемый: Да

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Это свойство применяется только к фиксированным точкам (fi) значения.

Настраиваемый: Да

Типы данных: char | string

Интервал между каналами на дисплее в пикселях, заданный как положительное скалярное целое число.

Настраиваемый: Да

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Подпись для отображения в окне области, заданная как символьный вектор или строка.

Настраиваемый: Да

Типы данных: char | string

Число входных портов, указанное как положительное целое число. Каждый сигнал, поступающий через отдельный вход, становится отдельным каналом в объеме. Необходимо вызвать область с тем же количеством входных данных, что и значение этого свойства.

Положение окна области на экране в пикселях, указанное как [left bottom width height] вектор. Позиция по умолчанию зависит от разрешения экрана. По умолчанию окно области отображается в центре экрана и имеет ширину 800 пикселы и высота 600 пикселы.

Настраиваемый: Да

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Время выборки входов в секундах, указанное как конечный числовой скаляр. Для всех входов используется одинаковое время выборки.

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Смещение отображения времени в секундах, указанное как неотрицательный скаляр.

Настраиваемый: Да

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Временной интервал в секундах, заданный как положительный скаляр. Пределы по оси X вычисляются следующим образом:

  • Минимальный предел по оси X = мин (TimeDisplayOffset)

  • Максимальный предел по оси x = max (TimeDisplayOffset) + TimeSpan

TimeDisplayOffset и TimeSpan являются значениями их соответствующих свойств.

Настраиваемый: Да

Типы данных: double | single | uint8 | uint16 | uint32 | uint64 | int8 | int16 | int32 | int64

Использование

Описание

пример

scope(signal) отображает сигнал signal в области Logic Analyzer.

scope(signal1,signal2,...signalN) отображает несколько сигналов в логическом анализаторе при установке NumInputPorts свойство для N. Каждый сигнал может иметь различные типы данных и размеры.

Входные аргументы

развернуть все

Укажите один или несколько входных сигналов для визуализации в dsp.LogicAnalyzer. Сигналы могут иметь различные типы данных и размеры.

Целые числа поддерживаются до 64 бит, а сигналы с фиксированной точкой поддерживаются до 128 бит.

Пример: scope(signal1,signal2)

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical | struct | table | cell

Функции объекта

Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:

release(obj)

развернуть все

addCursorДобавить курсор к логическому анализатору
addDividerДобавить делитель в логический анализатор
addWaveДобавление волны в логический анализатор
deleteCursorУдалить курсор логического анализатора
deleteDisplayChannelУдалить канал логического анализатора
getCursorInfoПараметры возврата для курсора Logic Analyzer
getCursorTagsВозврат всех тегов курсора Logic Analyzer
getDisplayChannelInfoПараметры возврата для канала отображения Logic Analyzer
getDisplayChannelTagsВозврат всех тегов канала отображения Logic Analyzer
modifyCursorИзменение свойств курсора Logic Analyzer
modifyDisplayChannelИзменение свойств канала отображения Logic Analyzer
moveDisplayChannelПереместить положение канала отображения Logic Analyzer
showОкно области просмотра
hideСкрыть окно области
isVisibleОпределение видимости объема работ
stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
resetСброс внутренних состояний объекта System

Примеры

свернуть все

Создать dsp.LogicAnalyzer объект. Вызовите область в цикле для отображения сигналов.

scope = dsp.LogicAnalyzer('NumInputPorts',3);
for ii = 1:20
    scope(ii,10*ii,20*ii);
end

Создать dsp.LogicAnalyzer объект с четырьмя каналами. Звонить modifyDisplayChannel для установки радиуса каждого из каналов. Запустите область в цикле для отображения волн.

scope = dsp.LogicAnalyzer('NumInputPorts',4,'DisplayChannelFormat','Digital');
scope.TimeSpan = 12;

modifyDisplayChannel(scope,1,'Name','Index','Radix','Unsigned decimal'); 
modifyDisplayChannel(scope,2,'Name','Fi_hex','Radix','Hexadecimal'); 
modifyDisplayChannel(scope,3,'Name','Fi_bin','Radix','Binary'); 
modifyDisplayChannel(scope,4,'Name','Fi_actual','Radix','Signed decimal'); 

for ii = 1:20 
    fival = fi((ii-1)/16,0,4,4); 
    scope(ii,fival,fival,fival); 
end

Определение WeekDaysInt для хранения перечисленного списка значений дня недели. Создайте и сохраните следующий файл определения класса.

classdef WeekDaysInt < int32
  enumeration
    Monday(1), Tuesday(2), Wednesday(3), Thursday(4), Friday(5)
  end
end

Создать dsp.LogicAnalyzer и сконфигурировать векторные, комплексные и перечислимые сигналы данных.

scope = dsp.LogicAnalyzer('NumInputPorts',6);
waves = getDisplayChannelTags(scope);

modifyDisplayChannel(scope,waves{1},'InputChannel',1,'Name','Vector Digital');
modifyDisplayChannel(scope,waves{2},'InputChannel',2,'Name','Vector Analog',...
    'Format','Analog','Height',80);
modifyDisplayChannel(scope,waves{3},'InputChannel',3,'Name','Complex Digital');
modifyDisplayChannel(scope,waves{4},'InputChannel',4,'Name','Complex Analog',...
    'Format','Analog','Height',80,'Color','Green');
modifyDisplayChannel(scope,waves{5},'InputChannel',5,'Name','Enum Digital');
modifyDisplayChannel(scope,waves{6},'InputChannel',6,'Name','Enum Analog',...
    'Format','Analog','Height',80);

Вызовите объект области в цикле для отображения сигналов.

stop = 30;
for count = 1:stop
    sinValVec       = sin(count/stop*2*pi);
    cosValVec       = cos(count/stop*2*pi);
    cosValVecOffset = cos((count+10)/stop*2*pi);
    sinValReal      = sin((count+2)/stop*2*pi);
    cosValImag      = cos((count+2)/stop*2*pi);

    % Create a weekday enumerated value by wrapping the index
    day = WeekDaysInt(1+mod(count-1,5));

    scope(...
          [count (count-(stop/2))],...              % digital vector
          [sinValVec cosValVec cosValVecOffset],... % analog vector
          complex((count-(stop/2)),count),...       % digital complex
          complex(sinValReal, cosValImag),...       % analog complex
          day,...                                   % digital enum
          day...                                    % analog enum
          )
end

Совет

Чтобы закрыть окно логического анализатора и очистить связанные с ним данные, используйте MATLAB ®clear функция.

Представлен в R2013a