ΣSigmaStudio English

Это старая версия документа!


DSP Readback


DSP Readback Блок DSP Readback позволяет считывать значения обратно с DSP в любой точке вашей принципиальной схемы.

Число, отображаемое на экране, представляет собой значение данных, отправленных обратно с DSP, с учетом всех блоков слева от блока Readback. Каждый раз, когда вы нажимаете Read, это значение обновляется последними данными с DSP. Отображая выходное значение любого блока в любом желаемом формате, Readback широко используется для отладки. Readback также можно использовать для хранения значений, к которым микроконтроллер может обращаться через управляющий порт.

Значения могут считываться в шестнадцатеричном или десятичном формате. Для последнего необходимо указать, в каком формате должно отображаться число. По умолчанию для SigmaDSP первого поколения (включая AD1940, AD1941, ADAU1701, ADAU1702, ADAU1401) используется формат 5.19: 5 бит для целой части, 19 для десятичной. Любые изменения этого формата приведут к сдвигу десятичного значения отображаемого числа.

SigmaDSP второго поколения, такие как ADAU1761, ADAU1781 и ADAU1442, могут считывать значения с полной точностью 28 бит (5.23).

SigmaDSP третьего поколения, такие как ADAU1452, ADAU1466 и ADAU1467, могут считывать значения с полной точностью 32 бита (8.24).

См. здесь дополнительную информацию о числовых форматах, используемых в SigmaDSP.

Пример схемы с использованием этого блока см. в примере Basic DSP.

Некоторые примеры использования этого модуля для проверки пикового или среднеквадратичного уровня сигнала см. в этом FAQ на форуме EngineerZone: Monitoring average and instantaneous signal levels

Настройка непрерывного обратного чтения

Ячейка DSP Readback может быть настроена на многократное считывание данных с целевого DSP через регулярные промежутки времени. Чтобы включить этот режим, щелкните правой кнопкой мыши по ячейке и выберите Start Continuous Read.

Настройка непрерывного обратного чтения

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

Настройка непрерывного обратного чтенияНастройка непрерывного обратного чтения

Когда режим непрерывного чтения активен, вы можете изменить частоту обновления, щелкнув правой кнопкой мыши по ячейке и выбрав один из вариантов в списке. Выбор более низкой частоты обновления позволит вам иметь больше ячеек обратного чтения, работающих одновременно, и снизит вероятность ошибки недогрузки буфера (buffer underrun) на интерфейсе USB.

Настройка непрерывного обратного чтения

Доступ к значениям обратного чтения с микроконтроллера

Ниже предполагается, что у вас есть работающая платформа микроконтроллера с кодом интерфейса SigmaDSP на основе Interfacing SigmaDSP Processors with a Microcontroller.

Всегда рекомендуется обращаться к адресам параметров блоков из файла *PARAMS.h, экспортированного SigmaStudio. Это гарантирует, что по мере развития вашего проекта SigmaStudio системный контроллер всегда обращается к правильным регистрам устройства.

Блок Readback имеет один адрес только для чтения, который хранит значение со входного пина. Значение обновляется с каждой выборкой аудио. Вы можете прочитать значение и декодировать его в float:

double readback_val = SIGMA_READ_REGISTER_FLOAT(MOD_READBACK1_READBACKALGNEWSIGMA3001VALUE_ADDR);

Сохраните целочисленное представление:

int32_t readback_val = SIGMA_READ_REGISTER_INTEGER(MOD_READBACK1_READBACKALGNEWSIGMA3001VALUE_ADDR, 4);

Или просто выведите значение в последовательный порт; отлично подходит для отладки.

SIGMA_PRINT_REGISTER(MOD_READBACK1_READBACKALGNEWSIGMA3001VALUE_ADDR, 4);

Пример вывода: VALUE AT 0x35: 0x01 00 00 00

Процессоры SigmaDSP первого поколения, такие как ADAU1701, не выполняют обратное чтение с точностью 5.23. Для этих DSP значение от Readback должно быть сдвинуто по битам, чтобы учесть это.

Acessing Readback Values from a Microcontroller в SigmaStudio: настройка и параметры

Блок DSP Readback в среде SigmaStudio предназначен для считывания значений данных непосредственно с сигнального процессора ADAU в любой точке принципиальной схемы. Отображаемое на экране число представляет собой результат обработки сигнала с учетом всех блоков, расположенных слева от ячейки обратного чтения. Это делает инструмент незаменимым при отладке проектов: вы можете визуально контролировать выходное значение любого узла обработки в реальном времени, нажимая кнопку Read для обновления данных. Функциональность блока напрямую зависит от поколения процессора SigmaDSP. Для устройств первого поколения, включая ADAU1701 и ADAU1401, по умолчанию применяется формат 5.19, где 5 бит отведено под целую часть и 19 бит под дробную. Процессоры второго поколения, такие как ADAU1761 и ADAU1442, поддерживают полную точность 28 бит в формате 5.23. Старшие модели третьего поколения, например ADAU1452 и ADAU1467, работают с 32-битными значениями в формате 8.24. Изменение формата отображения приводит к сдвигу десятичного значения, поэтому при настройке важно точно указывать используемый тип данных. Помимо ручного опроса, ячейка DSP Readback поддерживает режим непрерывного чтения. Для его активации щелкните правой кнопкой мыши по блоку и выберите Start Continuous Read либо кликните по маленькому кружку в ячейке: синий цвет индикатора означает активный режим, оранжевый — отключенный. В этом режиме доступна настройка частоты обновления данных.