exponenta event banner

Чтение FIFO

Считывание простых потоков данных

  • Библиотека:
  • Симулинк в реальном времени/ RS232

  • FIFO Read block

Описание

Блок считывания FIFO является стороной считывания пары чтения/записи FIFO. Этот блок используется для анализа простых потоков данных. Блок функционирует в двух режимах, которые устанавливаются с помощью флажка Читать как разделитель (Read to delimiter).

  • Если установлен флажок Читать в разделитель, блок считывает только элементы, если указанный разделитель был записан в блок записи FIFO. Если разделитель найден, блок возвращает элементы до и включая разделитель в выходном векторе. Если разделитель не найден, блок возвращает вектор нулевой длины, определяемый типом данных. (При наличии вектора нулевой длины модель может выполнить определенную операцию или проигнорировать вариант.)

  • Если снять флажок Читать в разделитель (Read to delimiter), блок возвращает элементы между минимальным размером чтения и меньшим числом элементов в данный момент в FIFO и максимальным размером чтения.

    При выполнении ASCII-чтения установите флажок Читать как разделитель. При выполнении двоичных операций чтения снимите этот флажок.

Ниже приведены некоторые примеры настройки блока чтения FIFO:

  • Сторона передачи подпрограммы обслуживания прерываний - если причиной прерывания не является пустой аппаратный FIFO на UART, максимальный входной порт получает значение 0. Если аппаратный FIFO пуст, он получает размер аппаратного FIFO. Минимальный входной порт получает постоянное значение 1.

  • Сторона приема подпрограммы обслуживания прерываний - В типичном случае с данными ASCII минимальный и максимальный входные порты отключены. Флажок Read to delimiter parameter установлен, а параметр Delimiter имеет значение возврата каретки или подачи строки. Значение параметра Maximum read size является большим (по порядку размера FIFO), а значение параметра Minimum read size равно 1. В этой форме драйвер действует как неблокирующая строка чтения.

    Альтернативная конфигурация на стороне приема для двоичных блоков данных фиксированной длины имеет значения параметров Максимальный размер считывания и Минимальный размер считывания, установленные как фиксированная длина блока. Параметр Read to delimiter не выбран.

Для сложных потоков данных рекомендуется использовать двоичные блоки чтения FIFO HDRS и чтения FIFO. Инструкции по использованию этих блоков см. в разделе RS-232 Блоки чтения FIFO.

Порты

Вход

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

Подключается к программному FIFO, содержащему данные, считанные с последовательного порта.

Максимальное количество байт, возвращаемых из блока.

Зависимость

Чтобы сделать этот порт видимым, установите параметры Max и Min read size ports.

Минимальное количество байт, возвращаемых из блока.

Зависимость

Чтобы сделать этот порт видимым, установите параметры Max и Min read size ports.

Продукция

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

Вектор, содержащий проанализированные данные, считанные из FIFO.

Зависимость

Чтобы определить тип данных этого вектора, задайте параметр Output vector type.

Типы данных: int8 | uint8 | int16 | uint16 | int32 | uint32

Передает значение порта MAX через к блоку, который считывает ENA порт.

Зависимость

Чтобы сделать этот порт видимым, установите параметры Max и Min read size ports и Enable passthrough.

Параметры

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

Укажите максимальное количество символов для возвращаемого блока. Результирующий размер вектора на единицу больше этого максимального количества символов. Этот блок указывает количество символов, возвращаемых с помощью дополнительного элемента:

  • Нуль-терминатор для 8-разрядных типов данных

  • Число символов для 16-разрядных и 32-разрядных типов данных

Введите достаточно большое число. Если это число слишком мало, блок не может ничего вернуть. Например, если ввести значение 10, но при выполнении FIFO содержит 11 символы плюс терминатор null, блок не возвращает символы. Если FIFO содержит 5, блок возвращает 5 символы плюс нуль-терминатор.

При выборе параметров Max и Min read size ports блок интерпретирует значение, введенное для порта MAX как максимальное количество возвращаемых символов. Фактическое максимальное количество возвращаемых символов меньше значения порта MAX и максимальный размер считывания в параметрах блока. Используйте это значение в двоичном режиме, если не установлен флажок Читать как разделитель.

Программное использование

Параметр блока: maxsize

Введите наименьший размер чтения в байтах. Перед возвратом элементов FIFO должен содержать по крайней мере это количество элементов.

При выборе параметров Max и Min read size ports значение порта MIN заменяет это значение.

Программное использование

Параметр блока: minsize

Установите этот флажок, чтобы включить возврат наборов элементов, которые заканчиваются значением «Разделитель». Этот параметр используется при работе с элементами на основе символов.

Программное использование

Параметр блока: usedelimiter

Введите десятичное значение для 8-разрядного входного конца. Этот параметр определяет значение, на котором завершается операция чтения FIFO. Это значение работает с параметром Read to delimiter. По умолчанию этот блок ищет возврат каретки. Он возвращает символы только при их обнаружении. Для справки десятичное значение возврата каретки равно 13 и линейная подача 10.

Программное использование

Параметр блока: delimiter

8-разрядные типы данных создают в выходном векторе символьный вектор с нулевым окончанием. Для 16-разрядных и 32-разрядных типов данных первый элемент содержит ожидаемое количество элементов в остальной части выходного вектора.

Программное использование

Параметр блока: outputtype

При установке этого флажка:

  • Значение из входного порта MAX - максимальное количество символов, удаляемых из FIFO. Если это число превышает значение параметра Maximum read size, блок игнорирует значение из максимального входного порта. В качестве максимального количества символов, удаляемых из FIFO, используется значение «Максимальный размер чтения».

  • Значение из входного порта MIN - минимальное количество символов, которое должно содержаться в FIFO перед возвратом элементов. Это значение заменяет значение, установленное параметром Минимальный размер считывания.

Эта настройка делает входные порты MAX и MIN видимым.

Программное использование

Параметр блока: enable

Установите этот флажок, чтобы передать значение входного порта MAX через в выходной порт ENA.

Зависимость

Вызывает выходной порт ENA чтобы стать видимым.

Программное использование

Параметр блока: enableout

Введите время базовой выборки или кратное времени базовой выборки. -1 означает, что время выборки наследуется.

Программное использование

sampletime

Примеры модели

Представлен в R2020b