ΣSigmaStudio English

Master Control Port Runtime Sequential Write (ADAU145x)

Блок Master Control Port Runtime Sequential Write обеспечивает связь с внешними устройствами во время обработки звука. Обычно этот блок используется для передачи данных на внешнее устройство, такое как конвертер или кодек. Связь по шине главного управляющего порта (I2C или SPI) происходит один раз за внешний триггер. Данные, передаваемые между ведущим устройством и устройством, определяются в файле последовательности SigmaStudio, который может быть создан с помощью окна последовательности SigmaStudio.

Master Control Port Runtime Sequential Write (ADAU145x)

Входные пины

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Trigger decimal - controlНарастающий фронт сигнала триггера инициирует последовательную запись

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

NameFormat [int/dec] - [control/audio]Function Description
Pin 0: Write Statusdecimal - controlВыдает 1, пока выполняется последовательная запись, в противном случае выдает 0

Конфигурация

Нажмите на Конфигурация для настройки параметров.

Конфигурация I2C

Конфигурация I2C

GUI Control

GUI Control NameDefault ValueRangeFunction Description
Bitrate400 kHz 20 kHZ - 400 kHZСкорость I2C
Device Address00 – 127Адрес ведомого устройства I2C
Sub-Address Bytes21-4 Длина субадреса
Sequence file--Последовательность записи/чтения устройства для выполнения во время загрузки. Этот файл может быть определен и сохранен из окна последовательности SigmaStudio.

Конфигурация SPI

Конфигурация SPI

GUI Control

GUI Control NameDefault ValueRangeFunction Description
Bitrate100 kHz 100 kHZ - 100000 kHZСкорость SPI
SS_M Pin00Выбор ведомого устройства SPI
MP Slave Select ChannelDisabled (Enabled by click on radio button)0 – 7Канал выбора ведомого устройства SPI
Sub-Address Bytes21-4 Длина субадреса
Command Length11-4 Длина команды в байтах
Write Instruction00-255Значение инструкции для операции записи (0x0 для аудиоустройств ADI, обычно 0x2 для eeprom/flash)
Write-Enable instruction60 - 255Значение инструкции для операции разрешения записи устройства (игнорируется для Master Control Port I/O Boot)

Шаги по настройке

  1. Перетащите блок в схему.
  2. Откройте окно свойств управляющего порта, нажав на изображение Шаги по настройке, и настройте все необходимые свойства.
  3. Убедитесь, что поля 'Sub-Address Bytes:' и 'Device Address' заполнены правильно.
  4. Выберите «Sequence File», который определяет желаемую связь с устройством.
  5. Нажмите «OK». Данные управляющего порта будут встроены в программу DSP. Этот шаг необходим каждый раз при изменении файла последовательности.
  6. Подключите сигнал триггера к входному пину.
  7. Добавьте несколько экземпляров для настройки нескольких ведомых устройств во время выполнения.

Поддержка нескольких ведомых устройств

Несколько внешних устройств могут быть настроены путем создания нескольких экземпляров модуля Runtime Sequential Write и выбора соответствующих пинов выбора ведомого устройства в параметрах конфигурации, как описано ниже.

Поддержка различных SPI Slave Select

Если устройство, которое нужно запрограммировать, выбрано через MP0 (пин /SS_M), настройка в элементах управления регистрами не требуется. В противном случае многоцелевой пин должен быть настроен для работы в качестве выбора ведомого устройства в окне регистров. (Hardware Configuration → ICx - ADAU145x Register Controls → MULTIPURPOSE/AUXADC)

Поддержка различных SPI Slave Select

  1. Slave Select Channel → 'Slave Select Channel x'
  2. MPx pin mode → 'Slave Select for Master SPI port'
  3. MPx pin function → 'Multipurpose function'



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

'Slave Select' в окне конфигурации 'Slave Select Channel' в окне управления регистрами
0 Slave Select Channel 0
1 Slave Select Channel 1
2 Slave Select Channel 2
3 Slave Select Channel 3
4 Slave Select Channel 4
5 Slave Select Channel 5

Создание файла последовательности для SPI/I2C ведомого устройства, не поддерживаемого SigmaStudio

Используйте следующий файл и отредактируйте его для вашего ведомого устройства.

ADAU1361.xml
 version="1.0" standalone="no"?>
 IC="ADAU1361" IC_Address="112" Address_byte_length="2">
  >2017-03-16T05:12:14.2859851Z>
  >3.14.1.1593>
   modetype="Mode 0">
     instr="writeXbytes" len="3" addr="16384" ParamName="Reg1" DspName="IC 1">0F>
     instr="writeXbytes" len="8" addr="16386" ParamName="Reg2" DspName="IC 1">00 FD 00 0C 20 01>
     instr="delay" ParamName="IC 1.Delay" DspName="IC 1">00 64>
     instr="writeXbytes" len="3" addr="16405" ParamName="IC 1.Serial Port Control Registers.Serial Port Control 0" DspName="IC 1">00>
  >
>

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

  • Отредактируйте поля IC, IC_Address и Address_byte_length в xml. Обратите внимание, что IC_Address должен быть 8-битным адресом I2C в десятичном формате. Address_byte_length относится к длине адресного пространства внешней ИС в байтах.
 IC="ADAU1361" IC_Address="112" Address_byte_length="2">
  • Добавьте ваши записи в регистры, как показано ниже.
 instr="writeXbytes" len="8" addr="16386" ParamName="Reg2" DspName="IC 1">00 FD 00 0C 20 01>
Please match all the fields as follows. 
      instr => "writeXBytes" 
      len => Data Length in bytes+ Address_byte_length
      addr => Register Address in decimal (not hexadecimal)
      Then the value part should have the register values in Hexadecimal. A space should separate each data as shown in the example.   In this example len => 6 (data length)  + 2 (Address_byte_length) = 8
  • Вы можете добавить задержки, как показано ниже.
 instr="delay" ParamName="IC 1.Delay" DspName="IC 1">00 64>

Задержка указывается в миллисекундах (в шестнадцатеричном формате)

Поддерживаемые ИС

  1. ADAU145x

Master Control Port Runtime Sequential Write (ADAU145x) в SigmaStudio: настройка и параметры

Master Control Port Runtime Sequential Write — это функциональный блок в среде разработки SigmaStudio, предназначенный для процессоров семейства ADAU145x от Analog Devices. Его основная задача — обеспечить связь главного управляющего порта DSP с внешними устройствами, такими как аудиокодеки или конвертеры, непосредственно во время обработки звукового сигнала. Блок позволяет выполнять запись данных по шинам I2C или SPI, инициируемую по внешнему триггеру, что делает его ключевым инструментом для динамического управления периферией в реальном времени. Принцип работы блока основан на однократной передаче данных за один внешний триггер. Последовательность операций записи и чтения задается в специальном файле последовательности, который создается и редактируется в окне последовательности SigmaStudio. Этот файл определяет протокол обмена и состав данных, передаваемых между ведущим устройством (процессором ADAU145x) и ведомым. Сигнал нарастающего фронта на входном пине Trigger запускает процесс, а выходной пин Write Status сигнализирует о его завершении, выдавая логическую единицу на время выполнения записи. Настройка блока в проекте SigmaStudio включает конфигурирование интерфейса. Для режима I2C задаются такие параметры, как битрейт (от 20 до 400 кГц), адрес ведомого устройства (0–127) и длина субадреса (1–4 байта). При использовании SPI необходимо указать битрейт (до 100000 кГц), выбрать пин и канал для сигнала выбора ведомого (Slave Select), а также определить длину команды и значения инструкций записи.