Создайте связь от MATLAB до заданной аппаратной платы SoC с помощью IP-адреса, имени пользователя и пароля платы.
Создайте сеанс записи данных на аппаратной плате SoC при помощи hw
объект. Получившийся DataRecorder
объект представляет сеанс записи данных на аппаратной плате 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