Буферы последовательного ввода и вывода
Описание демо-примера
Расположение
SimInTech\Demo\Цифровая обработка сигналов\Буферизация\Буферы последовательного ввода и вывода\Буферы последовательного ввода и вывода.prt
Описание
В данном проекте демонстрируется работа блоков подгруппы "Буферизация" библиотеки "Цифровая обработка сигналов", реализующих алгоритмы буферизации ввода\вывода.
В проекте показан процесс последовательного ввода данных, формирования из них вектора и последовательного вывода данных из полученного вектора.
Блок "Линейный источник" формирует передаваемые данные. Блоки "Меандр" и "Импульс по фронту" формируют синхроимпульсы с периодом в 1 секунду. Синхроимпульсы определяют моменты времени, в которые блок "Буфер последовательного ввода данных" начнет считывать входные данные и записывать их в вектор, а блок "Буфер последовательного вывода данных" – считывать данные из созданного вектора. Размер буфера равен "4".
Каждую секунду модельного времени блок "Буфер последовательного ввода данных" считывает значение входного сигнал и последовательно записывает его в выходной вектор данных, начиная с первого элемента. Таким образом, на выходе блока формируется вектор размерностью "4". Блок "Буфер последовательного вывода данных" считывает данный вектор и последовательно выводит его значения.
Через 4 секунды модельного времени блок "Буфер последовательного ввода данных" записывает значение в последний элемент вектора и формирует сигнал о заполнении буфера. Этот сигнал поступает на вход сброса блока "Буфер последовательного вывода данных", и тот начинает считывать значения элементов вектора с начала. Через 7 секунд модельного времени данный блок считывает последний элемент вектора и формирует сигнал о выводе последнего элемента.

