DataRecorder

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

Описание

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

Создание

Синтаксис

Описание

пример

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

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

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

Объект Hardware в виде socHardwareBoard объект, который представляет связь с аппаратной платой SoC.

Свойства

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

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

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

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

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

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

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

Типы данных: логический

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

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

Примеры

свернуть все

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

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

Создайте сеанс записи данных на аппаратной плате SoC при помощи hw объект. Получившийся DataRecorder объект представляет сеанс записи данных на аппаратной плате 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 в вашей рабочей папке PC хоста. Можно считать этот файл при помощи socFileReader объект в MATLAB или блок IO Data Source в вашей модели Simulink.

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

removeSource(dr,'UDPDataReceived-Port25000')

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

ans =

  1×0 empty cell array                       

Смотрите также

| |

Введенный в R2019a