В этом примере это проиллюстрировано как к:
Сгенерируйте ядра IP для периферийных интерфейсов с помощью HDL Workflow Advisor
Создайте исходный проект, чтобы запустить аудио алгоритм и аудиовход доступа и вывод на плате ZYBO
Чтобы запустить этот пример, необходимо было установить следующее программное и аппаратное обеспечение и настроить:
Пакет поддержки HDL Coder для платформы Xilinx Zynq
Пакет поддержки Embedded Coder для платформы Xilinx Zynq
Xilinx Vivado 2017.4
Макетная плата Digilent® Zybo Zynq™ со вспомогательным набор
Чтобы установить плату ZYBO, отошлите к разделу "Set up the Zybo board" в Задавании и Регистре Пользовательский Совет и Исходный проект для статьи Zynq Workflow.
В этом примере вы создадите исходный проект, который получает аудиовход от платы ZYBO, выполняет некоторую обработку на нем и передает обработанные аудиоданные из платы ZYBO. Чтобы выполнить обработку аудиоданных на плате ZYBO, после 2 протоколов необходимы.
I2C, чтобы сконфигурировать чип аудиокодека SSM2603 на плате ZYBO.
I2S, чтобы передать оцифрованные аудиоданные потоком между чипом кодека и zynq матрицей.
Вышеупомянутая фигура является схемой высокоуровневой архитектуры, которая показывает, как исходный проект используется IP Алгоритма фильтрации на плате ZYBO. Этот пример подобен исходному проекту аудиосистемы для Zedboard за исключением того, что плата ZYBO использует чип аудиокодека SSM2603, где, когда Zedboard использует чип аудиокодека ADAU1761. Отдых рабочих параметров - то же самое как исходный проект Аудиосистемы для Zedboard. Для получения дополнительной информации обратитесь к Авторской разработке исходного проекта для аудиосистемы на примере платы Zynq.
Следующие шаги используются, чтобы создать исходный проект, описанный выше:
Сгенерируйте Ядра IP для периферийных интерфейсов
Создайте пользовательский исходный проект аудиокодека в Vivado
Создайте файл определения исходного проекта
Проверьте исходный проект
В этом примере,
IP I2C разрабатывается с помощью stateflow блоки & устаревший код VHDL для буфера с тремя состояниями.
I2S IP разрабатывается путем моделирования его в Simulink.
Для создания IP I2C, чтобы сконфигурировать Аудиокодек SSM2603, пошлите к Генерации Ядра IP Контроллера I2C IP Сконфигурировать статью Audio Codec Chip.
Разработайте модель в Simulink с функцией MATLAB, которая реализует протокол I2S.
modelname = 'hdlcoder_I2S_ssm2603';
open_system(modelname);
Тестирование и шаги генерации ядра IP - то же самое как модель Zedboard I2S. Поскольку генерация I2S IP обратитесь к Авторской разработке исходного проекта для аудиосистемы на примере платы Zynq.
I2C, I2S и дюйм/с FIFO включены в пользовательский исходный проект. Чтобы создать пользовательский исходный проект, отошлите к разделу "Create and export a custom reference design using Xilinx Vivado" в Задавании и Регистре Пользовательский Совет и Исходный проект для примера Рабочего процесса Zynq.
Ключевые пункты, которые будут отмечены при создании этого пользовательского исходного проекта:
Мы должны понять теорию работы чипа аудиокодека на плате ZYBO.
FIFOs установлены в значения по умолчанию для своей настройки.
Для ядер IP, сгенерированных с помощью HDL Workflow Advisor, IPCORE_CLK и AXI4_Lite_ACLK должны быть соединены с тем же источником часов.
При проверке блочной конструкции в Vivado не должно быть никаких критических предупреждений за исключением неподключенных портов.
В этом исходном проекте аудиокодек сконфигурирован, чтобы действовать в Привилегированном режиме.
Следующие сигналы, запущенные между исходным проектом на Zynq Soc и аудиокодеком на плате ZYBO:
Bit_clock является продуктом частоты дискретизации, количеством битов на канал и количеством каналов. Это управляется аудиокодеком в привилегированном режиме. В этом примере Частота дискретизации составляет 48 кГц, Никакие из каналов не равняются 2, Количество битов на канал равняется 24.
Serial_data_in является аналого-цифровыми конвертированными аудиоданными от кодека.
Serial_data_out является данными о цифровом аудио, собирающимися в кодек быть преобразованными в аналоговую форму.
I2C_CLK и I2C_DATA являются стандартными сигналами I2C
MUTEN является Аппаратным бесшумным контактом, соединенным с аудиокодеком SSM2603.
MCLK является сигналом часов на 12.288 МГц, требуемым кодеком.
Пользовательский исходный проект аудиокодека, созданный для этого примера, показывают ниже:
Следующий код описывает содержимое файла определения исходного проекта платы ZYBO plugin_rd.m для вышеупомянутого исходного проекта. Для получения дополнительной информации о том, как задать и указать пользовательскую плату, относитесь, чтобы Задать и Указать Пользовательский Совет и Исходный проект для примера Рабочего процесса Zynq.
Перейдите к папке ZYBO с помощью следующей команды:
cd ([matlabroot '/toolbox/hdlcoder/hdlcoderdemos/customboards/ZYBO']);
Все файлы, которые требуются для исходного проекта, такого как файлы ядра IP, файлы XDC, plugin_rd файл и т.д., должны быть добавлены к пути MATLAB в папке ZYBO с помощью иерархии, показанной ниже. Сгенерированные файлы ядра IP пользователя должны быть в +vivado папке. plugin_rd.m, tcl файлы и xdc файлы должен быть в +vivado_audio_filter_2017_2 папке.
Чтобы проверить исходный проект, сгенерировать ядро IP Аудиофильтра из модели и интегрировать его с исходным проектом аудиокодека, относятся к Выполнению аудиофильтра на живом аудиовходе с помощью примера платы Zynq.