Содержание
Таблица косвенного доступа к параметрам (IPAT) (ADAU146X, ADAU145X, ADAU144X)
Адрес конкретного параметра может изменяться при вставке или удалении новых модулей из схемы. В некоторых случаях для конкретного параметра требуется фиксированный адрес независимо от изменений в схеме, чтобы избежать необходимости перекомпиляции (и, следовательно, повторной валидации) кода микроконтроллера. «Таблица косвенного доступа к параметрам» предоставляет механизм для поддержания фиксированного адреса для выбранного набора параметров в рамках схемы.
Эта функция доступна при щелчке правой кнопкой мыши по ИС (IC), как показано ниже. Эта опция становится доступной после первой компиляции схемы. Функция поддерживается в SigmaStudio версии 3.13 или выше. В настоящее время она поддерживается для семейств процессоров SigmaDSP ADAU144x, ADAU145x и ADAU146x.
Эта функция позволяет коду микроконтроллера (uC) не создаваться одновременно с образом DSP (память программ / память параметров). Вместо этого пользователи могут разрабатывать свой код uC независимо от используемых программ/параметров DSP. Такой образ DSP может быть позже размещен отдельно в известном месте в EEPROM (или flash), чтобы он был загружен uC. Это позволит осуществлять независимую загрузку схемы DSP без необходимости влиять на код uC, который работает с нестатическими изменениями во время выполнения.
Элементы управления GUI
| Имя элемента управления GUI | Значение по умолчанию | Диапазон | Описание функции |
|---|---|---|---|
| Table Length | 5 | 5 - 1000 | Количество параметров в таблице |
| Indirect Address | NA | NA | Косвенный адрес для доступа к параметру. Этот адрес поддерживается как фиксированное значение независимо от любых изменений в схеме. |
| Module | NA | NA | Перечисляет модули в схеме |
| Parameter | NA | NA | Перечисляет параметры для выбранного модуля. |
| Param Address | NA | NA | Фактический адрес параметра в схеме. Он может измениться при изменениях в схеме |
| Format | 8.24/5.23 | 8.24/5.23/32.0/28.0 | Формат с фиксированной точкой параметра |
| Value | 0 | Изменения зависят от формата | Значение для записи параметра / Значение, считанное с целевого устройства |
| Enable Read | false | true/false | Включить чтение для конкретного параметра. |
| Start Address | Первый косвенный адрес | Диапазон косвенных адресов | Начальный адрес для косвенного доступа к параметрам |
| Number of Loads | 1 | Table Length | Количество последовательных загрузок, выполняемых с «Start Address» |
| Update | NA | NA | Обновляет косвенный параметр и записывает его на целевое устройство |
| Write | NA | NA | Обновляет один косвенный параметр и записывает этот параметр на целевое устройство |
| Defragment | NA | NA | Дефрагментирует таблицу, переупорядочивая ее |
| Page | 1 | 1-100 | Опция смены страницы |
Использование
Таблица косвенного доступа к параметрам может быть настроена с помощью следующих шагов.
- Щелкните правой кнопкой мыши по целевому DSP на вкладке «Конфигурация оборудования» (Hardware Configuration) и выберите `Advanced Framework Configurations`. Убедитесь, что опции `Enable 'Indirect Parameter Access Table' and 'Fixed SafeLoad Address'` и `Indirect Parameter Access Table to Handle the multiple memory pages` отмечены флажками.


- Выполните компоновку (Link) и компиляцию схемы. Это создаст сопоставление между параметрами и адресами памяти DSP.
- Выберите опцию 'Indirect Parameter Access Table' из контекстного меню ИС в окне «Конфигурация оборудования» (Hardware Configuration).
- Обновите таблицу, выбрав модуль, параметр и формат в окне.
- Чтобы включить чтение для конкретного параметра, установите флажок 'Enable Read', соответствующий параметру.
- Выполните компоновку и компиляцию снова, чтобы сгенерировать код и данные, включающие 'Indirect Parameter Access table'.
- Обратите внимание, что любое изменение в таблице требует перекомпиляции.
- Дополнительные параметры схемы (например, из недавно добавленного модуля) будут доступны в таблице косвенного доступа к параметрам после перекомпиляции.
Запись параметра
Выполните следующие шаги, чтобы инициировать загрузку с помощью опции Write в GUI SigmaStudio.
- Обновите столбец 'Values' в окне 'Indirect Parameter Access Table'.
- Нажмите кнопку Write для инициирования загрузки
Выполните следующие шаги, чтобы инициировать загрузку с помощью опции Update в GUI SigmaStudio.
- Обновите столбец 'Values' в окне 'Indirect Parameter Access Table'.
- Измените 'Start Address' на косвенный адрес загружаемого параметра.
- Измените 'Number of Loads and Triggers' на количество последовательных загрузок, которые необходимо выполнить.
- Нажмите Update для инициирования загрузки.
Запись (write) или обновление (update) приведет к подсветке соответствующих полей значений зеленым цветом.
Выполните следующие шаги, чтобы инициировать загрузку с внешнего микроконтроллера.
- Запишите значение по косвенному адресу параметра.
- Запишите косвенный адрес в регистр 'start_address'.
- Запишите количество параметров в регистр 'num_of_loads_and_trigger'.
(например):
Предположим, у нас есть следующая таблица косвенных параметров.
Чтобы записать 5 коэффициентов фильтра с микроконтроллера.
- Запишите значения коэффициентов фильтра по адресам с 24585 по 24589 с микроконтроллера.
- Запишите значение 24585 (косвенный адрес коэффициентов фильтра) в регистр 'start_address'. (Адрес регистра 'start_address' можно найти в экспортируемых файлах)
- Запишите значение 5 (количество коэффициентов) в регистр 'num_of_loads'. (Эта операция инициирует копирование значений параметров с косвенного адреса на фактический адрес параметра)
Чтение параметра
Обратите внимание, что чтение будет работать только в том случае, если флажок 'Enable Read' установлен для конкретного параметра перед компиляцией. Значения параметров копируются с фактического адреса на косвенный адрес (фиксированный адрес) после обработки каждого сэмпла. Таким образом, считанное значение параметра имеет максимальную задержку в 1 сэмпл.
Выполните следующие шаги, чтобы инициировать чтение с помощью GUI SigmaStudio.
- Убедитесь, что Enable Read установлен.
- Нажмите кнопку Read, соответствующую параметру.
Выполните следующие шаги, чтобы инициировать чтение с внешнего микроконтроллера.
- Считайте значение с косвенного адреса параметра.
Примечание: Запись не будет работать для параметра, когда чтение включено. Чтобы реализовать и запись, и чтение одного и того же параметра, следует использовать два отдельных косвенных адреса, как показано ниже.
Здесь один и тот же параметр 'gain' из модуля 'Single1' сопоставлен с двумя косвенными адресами: 24585 и 24586. Косвенный адрес 24585 можно использовать для чтения параметра усиления, а 24586 — для записи параметра.
Экспортируемые файлы
Адреса регистров 'start_address' и 'num_of_loads' можно найти в экспортируемых файлах. Таблица косвенного доступа к параметрам размещается после данных SafeLoad. Экспортируемый файл также содержит все определенные косвенные адреса.
Параметры контекстного меню
Параметры могут быть добавлены в таблицу косвенного доступа к параметрам путем щелчка правой кнопкой мыши по модулям после компиляции.