Создайте связь от MATLAB до заданной аппаратной платы SoC с помощью IP-адреса, имени пользователя и пароля платы.
Создайте сеанс записи данных на аппаратной плате SoC при помощи объекта hw
. Получившийся объект soc.recorder
представляет сеанс записи данных на аппаратной плате SoC.
dr =
DataRecorder with properties:
HardwareName: 'Xilinx Zynq ZC706 evaluation kit'
Sources: {}
Recording: false
Перечислите входные источники, добавленные к сеансу записи данных.
ans =
1×0 empty cell array
По умолчанию объекты soc.recorder
не имеют никаких добавленных входных источников. Чтобы добавить входной источник в сеанс записи данных, сначала создайте входной исходный объект при помощи функции soc.iosource
. В данном примере создайте исходный объект Пользовательского дейтаграммного протокола (UDP).
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
.
Проверьте результат путем осмотра свойства Sources
объекта soc.recorder
.
ans =
1×1 cell array
{'UDPDataOnPort25000'}
Вызовите функцию настройки, чтобы инициализировать все входные источники периферийного устройства, добавленные к сеансу записи данных и запустить процесс записи данных.
Данные записи в течение 60 секунд на аппаратной плате SoC.
Проверяйте состояние сеанса записи данных при помощи функции объекта isRecording
. Состоянием записи, когда запись данных происходит, является 1
.
recordingStatus =
logical
1
Состоянием записи, когда запись данных завершена, является 0
.
recordingStatus =
logical
0
Сохраните зарегистрированные данные в TGZ-сжатый-файл.
Эта функция сохраняет записанные данные как файл UDPDataReceived.tgz
в вашей рабочей папке PC хоста. Можно считать этот файл при помощи объекта socFileReader
в MATLAB или блока IO Data Source в модели Simulink.
Удалите добавленный источник из сеанса записи данных при помощи функции объекта removeSource
.
Проверьте результат путем осмотра свойства Sources
объекта soc.recorder
.
ans =
1×0 empty cell array