Содержание
Master Control Port Runtime Sequential Write (ADAU145x)
Блок Master Control Port Runtime Sequential Write обеспечивает связь с внешними устройствами во время обработки звука. Обычно этот блок используется для передачи данных на внешнее устройство, такое как конвертер или кодек. Связь по шине главного управляющего порта (I2C или SPI) происходит один раз за внешний триггер. Данные, передаваемые между ведущим устройством и устройством, определяются в файле последовательности SigmaStudio, который может быть создан с помощью окна последовательности SigmaStudio.
Входные пины
| Name | Format [int/dec] - [control/audio] | Function Description |
|---|---|---|
| Pin 0: Trigger | decimal - control | Нарастающий фронт сигнала триггера инициирует последовательную запись |
Выходные пины
| Name | Format [int/dec] - [control/audio] | Function Description |
|---|---|---|
| Pin 0: Write Status | decimal - control | Выдает 1, пока выполняется последовательная запись, в противном случае выдает 0 |
Конфигурация
Нажмите на
для настройки параметров.
Конфигурация I2C
GUI Control
| GUI Control Name | Default Value | Range | Function Description |
|---|---|---|---|
| Bitrate | 400 kHz | 20 kHZ - 400 kHZ | Скорость I2C |
| Device Address | 0 | 0 – 127 | Адрес ведомого устройства I2C |
| Sub-Address Bytes | 2 | 1-4 | Длина субадреса |
| Sequence file | - | - | Последовательность записи/чтения устройства для выполнения во время загрузки. Этот файл может быть определен и сохранен из окна последовательности SigmaStudio. |
Конфигурация SPI
GUI Control
| GUI Control Name | Default Value | Range | Function Description |
|---|---|---|---|
| Bitrate | 100 kHz | 100 kHZ - 100000 kHZ | Скорость SPI |
| SS_M Pin | 0 | 0 | Выбор ведомого устройства SPI |
| MP Slave Select Channel | Disabled (Enabled by click on radio button) | 0 – 7 | Канал выбора ведомого устройства SPI |
| Sub-Address Bytes | 2 | 1-4 | Длина субадреса |
| Command Length | 1 | 1-4 | Длина команды в байтах |
| Write Instruction | 0 | 0-255 | Значение инструкции для операции записи (0x0 для аудиоустройств ADI, обычно 0x2 для eeprom/flash) |
| Write-Enable instruction | 6 | 0 - 255 | Значение инструкции для операции разрешения записи устройства (игнорируется для Master Control Port I/O Boot) |
Шаги по настройке
- Перетащите блок в схему.
- Откройте окно свойств управляющего порта, нажав на изображение
, и настройте все необходимые свойства. - Убедитесь, что поля 'Sub-Address Bytes:' и 'Device Address' заполнены правильно.
- Выберите «Sequence File», который определяет желаемую связь с устройством.
- Нажмите «OK». Данные управляющего порта будут встроены в программу DSP. Этот шаг необходим каждый раз при изменении файла последовательности.
- Подключите сигнал триггера к входному пину.
- Добавьте несколько экземпляров для настройки нескольких ведомых устройств во время выполнения.
Поддержка нескольких ведомых устройств
Несколько внешних устройств могут быть настроены путем создания нескольких экземпляров модуля Runtime Sequential Write и выбора соответствующих пинов выбора ведомого устройства в параметрах конфигурации, как описано ниже.
Поддержка различных SPI Slave Select
Если устройство, которое нужно запрограммировать, выбрано через MP0 (пин /SS_M), настройка в элементах управления регистрами не требуется. В противном случае многоцелевой пин должен быть настроен для работы в качестве выбора ведомого устройства в окне регистров. (Hardware Configuration → ICx - ADAU145x Register Controls → MULTIPURPOSE/AUXADC)
- Slave Select Channel → 'Slave Select Channel x'
- MPx pin mode → 'Slave Select for Master SPI port'
- 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>
Задержка указывается в миллисекундах (в шестнадцатеричном формате)
Поддерживаемые ИС
- ADAU145x