soc.recorder

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

Описание

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

Создание

Синтаксис

dr = soc.recorder(hw)

Описание

пример

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

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

removeSource(dr,'UDPDataReceived-Port25000')

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

ans =

  1×0 empty cell array                       

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

| |

Введенный в R2019a