Эта модель показывает способность блока FIFO Read BINARY обрабатывать сообщения, которые прерываются и только частично завершаются. Это пример наихудшего случая, когда каждое сообщение прерывается.
Подсистема Segmented Message Constructor содержит блоки, которые готовят и отправляют только части сообщений на каждом временном шаге.
На стороне приема блок FIFO read BINARY ищет два разных двухсимвольных заголовка. Если он находит [170,1]
он выводит [3,170,1,N]
порт 1. Если он находит [170,2]
, это выводит [4,170,2,44,M]
к порту 2. N и M являются числами от 0 до 255, которые увеличиваются и уменьшаются, соответственно.
Если заголовок сообщения не найден в FIFO на заданном временном шаге, то этот порт выводит 0. Выходы заполняются до максимального размера вектора, заданного в блоке FIFO Read BINARY. В этом примере выходные векторы имеют ширину 1024. Счетчик в первом элементе показывает, сколько элементов значимо. Блоки Demux отбрасывают неинтересные части сигнала.
Область видимости 1 отображает полученные данные сообщения 1. Scope 2 отображает данные полученного сообщения 2.
Чтобы протестировать эту модель:
У целевой компьютер должны быть два устаревших последовательных порта.
Подключите устаревший последовательный порт 1 к устаревшему последовательному порту 2 с помощью нуль-модемного кабеля.
Этот пример сконфигурирован для использования последовательных портов базовой платы (устаревший последовательный порт 1 и устаревший последовательный порт 2). Можно также использовать устаревший последовательный порт 3 и устаревший последовательный порт 4 путем изменения настройки платы в блоках системной платы. Вместо блоков основной платы могут использоваться другие последовательные блоки.
open_system(fullfile(matlabroot,'toolbox','slrealtime','examples','slrt_ex_serialbaseboardbinarysplit'));
См. также