dsp.LogicAnalyzer

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

Описание

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

  • Отладьте и анализируйте модели

  • Проследите и коррелируйте 96 сигналов одновременно

  • Обнаружьте и анализируйте нарушения синхронизации

  • Проследите системное выполнение

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

Отобразить переходы сигналов в Logic Analyzer:

  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

Заголовок, чтобы отобразиться на окне scope в виде вектора символов или строке.

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

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

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

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

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

Типы данных: 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 - предел по осям = min (TimeDisplayOffset)

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

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

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

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

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

Описание

пример

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

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

Входные параметры

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

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

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

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

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

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

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

release(obj)

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

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

Примеры

свернуть все

Создайте 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);

Вызовите объект scope в цикле, чтобы отобразить сигналы.

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