ΣSigmaStudio English

Буферный вентиль


Буферный вентиль — это логический блок, который принимает любой входной сигнал и сравнивает его значение с 0. Если входной сигнал равен нулю, выходной сигнал будет нулевым. Если входной сигнал не равен нулю, на выходе будет «1» в позиции бита, указанной в раскрывающемся списке. Это противоположный результат по сравнению с блоком Zero Comparator. Этот блок не является аудиобуфером; он реализует логику буфера, которая действует как двойная инверсия.Буферный вентиль

Входные пины

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Inputany - anyВходной сигнал для сравнения с 0

Выходные пины

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Outputint - controlВыходной сигнал 0 или 1 в указанной позиции бита

Элементы управления GUI

GUI Control NameDefault ValueRangeFunction Description
Output Bit Designation28[28.0 Bit26]Задает позицию бита выходного флага «1». 28.0 — значение по умолчанию, которое представляет 1LSB.

Информация о параметрах DSP

GUI Control NameCompiler NameFunction Description
Output Bit DesignationBufferAlg1output1Фактическое значение, записываемое в DSP на основе выбранного пункта в раскрывающемся меню для указания позиции бита выходного флага «1».

Описание алгоритма

В следующей таблице показано, каким будет выходное значение данных для заданных входных значений, в зависимости от выбора в раскрывающемся списке.

Input Pin ValueDrop Down DisplayOutput Pin Value
0Any Selection0x00 0x00 0x00 0x00
Any non-zero Value280x00 0x00 0x00 0x01
Any non-zero ValueBit: 10x00 0x00 0x00 0x02
Any non-zero ValueBit: 20x00 0x00 0x00 0x04
Any non-zero ValueBit: 30x00 0x00 0x00 0x08
Any non-zero Value5.230x00 0x80 0x00 0x00
Any non-zero ValueBit: 240x01 0x00 0x00 0x00
Any non-zero ValueBit: 250x02 0x00 0x00 0x00
Any non-zero ValueBit: 260x04 0x00 0x00 0x00

Пример

На следующем изображении схемы показаны и блок Buffer, и блок Zero Comparator для ненулевого и нулевого входных сигналов. Результаты работы алгоритма фиксируются в ячейке DSP Readback.

Пример

Детали алгоритма

Путь в ToolboxBasic DSP - Logic - Invert - Buffer
Поддерживаемые ядраADAU144x
ADAU176x
ADAU178x
ADAU170x
AD1940
Поддержка «Grow Algorithm»да — см. Информацию о расширении алгоритма
Поддержка «Add Algorithm»да — см. Информацию о добавлении алгоритма
На основе подпрограммы/цикланет
Program RAM4*
Data RAM1*
Parameter RAM1*

Информация о расширении алгоритма

ОписаниеПри расширении алгоритма Buffer добавляется новая пара входных/выходных пинов к элементу управления. Поведение алгоритма остается прежним, а выбор в раскрывающемся меню применяется ко всем сравнениям входных сигналов.Информация о расширении алгоритма
Повтор Program RAM4 на каждое расширение
Повтор Data RAM1 на каждое расширение
Повтор Parameter RAM0

Информация о добавлении алгоритма

ОписаниеПри добавлении алгоритма Buffer новый элемент управления размещается вертикально. Выбор во вновь добавленном раскрывающемся меню применяется к вновь добавленной паре вход/выход.Информация о добавлении алгоритма
Повтор Program RAM4 на каждое добавление
Повтор Data RAM2 на каждое добавление
Повтор Parameter RAM1 на каждое добавление

Buffer Gate в SigmaStudio: настройка и параметры

Buffer Gate (буферный вентиль) — это логический блок в среде SigmaStudio, предназначенный для процессоров семейства ADAU (SigmaDSP) от Analog Devices. В отличие от аудиобуфера, данный элемент реализует логику сравнения: он принимает любой входной сигнал и проверяет его значение относительно нуля. Если сигнал на входе равен нулю, выход также будет нулевым; если значение отлично от нуля, на выходе формируется «1» в позиции бита, заданной пользователем. По сути, блок работает как двойная инверсия и является противоположностью Zero Comparator. Алгоритм относится к разделу Basic DSP — Logic — Invert и поддерживается ядрами ADAU144x, ADAU176x, ADAU178x, ADAU170x и AD1940. Входной пин принимает сигнал в любом формате (int/dec, control/audio), а выходной формирует управляющий сигнал int. Ключевой параметр настройки — Output Bit Designation, который определяет позицию бита для выходной «1». По умолчанию установлено значение 28.0, представляющее 1LSB, однако вы можете выбрать любой другой бит из выпадающего списка — от Bit: 1 до Bit: 26. При работе в сигнальной цепочке важно понимать, как значение на выходе зависит от входного сигнала. Для нулевого входа выход всегда будет 0x00 независимо от выбранного бита. Для любого ненулевого значения выходной код соответствует выбранной позиции: например, при выборе «28» выход составит 0x00 0x00 0x00 0x01, а при выборе Bit: 26 — 0x04 0x00 0x00 0x00. Это позволяет использовать блок для преобразования аналоговых или цифровых событий в дискретные флаги, которые удобно считывать через DSP Readback.