DataRecorder

Сеанс записи данных для указанной аппаратной платы СнК

Описание

A DataRecorder объект может конфигурировать и записывать данные из входных источников на аппаратной плате SoC, подключенной к MATLAB®. Можно сохранить записанные данные в файл для последующего использования для воспроизведения в MATLAB и Simulink® модели.

Создание

Синтаксис

Описание

пример

dr = soc.recorder(hw) создает сеанс записи данных, dr, на оборудовании платы SoC, представленном hw. hw является socHardwareBoard объект.

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

расширить все

Аппаратный объект, заданный как socHardwareBoard объект, представляющий соединение с аппаратной платой СнК.

Свойства

расширить все

Имя поддерживаемой аппаратной платы SoC в виде вектора символов.

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

Список аппаратно-периферийных входных источников, добавленных к сеансу записи данных, задает вектор символов. Чтобы добавить входные источники в soc.recorder объект, вызовите addSource функция объекта.

Типы данных: cell

Это свойство доступно только для чтения.

Состояние сеанса записи данных, заданное как логическое значение false (0) или true (1). Чтобы получить состояние сеанса записи данных, вызовите isRecording функция объекта.

Типы данных: logical

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

addSourceДобавьте источник входа к сеансу записи данных
removeSourceУдалите входной источник из сеанса записи данных
setupНастройте оборудование для записи данных
recordЗапись данных с оборудования с помощью объекта регистратора данных
isRecordingПолучите состояние записи данных
saveСохраните записанные данные с аппаратной платы SoC в файл на хост-ПК

Примеры

свернуть все

Создайте подключение от MATLAB к указанной аппаратной плате SoC с помощью IP-адреса, имени пользователя и пароля платы.

hw = socHardwareBoard('Xilinx Zynq ZC706 evaluation kit','hostname','192.168.1.18','username','root','password','root');

Создайте сеанс записи данных на аппаратной плате SoC с помощью hw объект. Результат soc.recorder объект представляет сеанс записи данных на аппаратной плате SoC.

dr = soc.recorder(hw)
dr = 

  DataRecorder with properties:

          HardwareName: 'Xilinx Zynq ZC706 evaluation kit'
               Sources: {}                            
             Recording: false                         

Перечислите входные источники, добавленные к сеансу записи данных.

dr.Sources(hw)
ans =

  1×0 empty cell array                       

По умолчанию soc.recorder у объектов нет добавленных источников входа. Чтобы добавить источник входа к сеансу записи данных, сначала создайте объект источника входа с помощью soc.iosource функция. В данном примере создайте исходный объект протокола UDP.

udpSrc = soc.iosource(hw,'UDP Receive')
udpSrc = 

  soc.iosource.UDPRead with properties:

   Main
              LocalPort: 25000
             DataLength: 1
               DataType: 'uint8'
      ReceiveBufferSize: -1
           BlockingTime: 0
    OutputVarSizeSignal: false
             SampleTime: 0.1000
         HideEventLines: true

  Show all properties

Добавьте этот исходный объект UDP к сеансу записи данных с помощью addSource функция объекта.

addSource(dr,udpSrc,'UDPDataReceived-Port25000')

Проверьте результат путем проверки Sources свойство soc.recorder объект.

dr.Sources
ans =

  1×1 cell array

    {'UDPDataOnPort25000'}                        

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

setup(dr)

Запись данных в течение 60 секунд на аппаратную плату SoC.

record(dr, 60);

Проверьте состояние сеанса записи данных при помощи isRecording функция объекта. Состояние записи при прогрессе записи данных 1.

recordingStatus = isRecording(dr)
recordingStatus =

  logical

   1

Состояние записи после завершения записи данных 0.

isRecording(dr)
recordingStatus =

  logical

   0

Сохраните записанные данные в сжатый TGZ файл.

save(dr,'UDPDataReceived','UDP Data Testing',{'Recorded On Zynq Board'})

Эта функция сохраняет записанные данные как файл UDPDataReceived.tgz в рабочей папке хост-компьютера. Вы можете считать этот файл, используя socFileReader объект в MATLAB или блок IO Data Source в модели Simulink.

Удалите добавленный источник из сеанса записи данных с помощью removeSource функция объекта.

removeSource(dr,'UDPDataReceived-Port25000')

Проверьте результат путем проверки Sources свойство soc.recorder объект.

ans =

  1×0 empty cell array                       
Введенный в R2019a