Шаблон программно определяемого радио (SDR) обеспечивает имитационную модель для исходного проекта SoC, доступного от Пакета Поддержки Communications Toolbox™ для Радио Xilinx® Zynq®-Based. Используйте этот шаблон, чтобы моделировать полный исходный проект и анализировать эффекты внутренней и внешней возможности соединения на и алгоритма SDR, такие как поведение памяти и поведение ввода-вывода Радиочастоты (RF).
Чтобы начать с моделью SoC Blockset™ для разработки системы SDR, выполните шаги, чтобы Создать Модель SoC Используя Шаблон SoC Blockset.
Communications Toolbox
Пакет поддержки SoC Blockset для устройств Xilinx
Этот шаблон моделирует приемопередатчик SDR, состоявший из блоков передатчика и получателя AD9361. Приемопередатчик соединяет канал РФ с FPGA, который реализует получатель и алгоритм передатчика. Алгоритм FPGA включает Тестовый Исходный блок, который генерирует сигнал синусоиды и управляет им к передатчику. Алгоритм FPGA также включает алгоритм Tx, реализованный, когда простая передача соединяет проводом, и алгоритм Rx, реализованный как блок усиления. Регистр конфигурации srcSel моделируется в FPGA, чтобы выбрать источник данных для алгоритма Rx. Процессор пишет регистр srcSel, чтобы выбрать или тестовый источник из FPGA или данные РФ из приемопередатчика. Этот регистр моделируется с помощью блока Register Channel. Данные из алгоритма FPGA передаются процессору через блок Memory Channel.
Используйте этот шаблон в качестве руководства и замените Алгоритм Rx и Алгоритм Tx в FPGA и Алгоритм Процессора в процессоре с вашей собственной функциональностью. Параметр Channel Type памяти устанавливается на AXI4-Stream to software via DMA
, который моделирует передачу данных прямого доступа к памяти (DMA) через разделяемую внешнюю память.
Процессор считывает вычисленные данные из памяти и выполняет дополнительное вычисление (реализованный в шаблоне как провод передачи). Можно просмотреть результаты симуляции путем двойного клика по блоку Vector Scope в приемнике испытательного стенда.
В MATLAB®, на вкладке Project Shortcuts , нажимают Open FPGA sample model. Затем откройте Обертку Алгоритма Приемопередатчика FPGA. Заметьте три области, подсвеченные в зеленом. Эти области представляют пользовательский код и расположены в блоке Receiver Algorithm в блоке Transmitter Algorithm и Тестовом Исходном блоке.
Модель FPGA включает следующие разделы для вас, чтобы изменить (подсвеченный в зеленом):
Протестируйте Исходный блок – Этот блок генерирует сигнал синусоиды на 10 кГц и управляет им к алгоритму передатчика. Измените тестовый источник к своим потребностям или замените его на альтернативный исходный блок.
Подсистема Алгоритма получателя – В зеленым подсвеченной подсистеме по имени Алгоритм Rx, существует блок, маркировал Algorithm. Алгоритм берет данные I/Q в качестве ввода и вывода с допустимым сигналом. Замените этот блок на свой собственный алгоритм Rx.
Алгоритм передатчика – В зеленым подсвеченной подсистеме по имени Алгоритм Tx, алгоритм имеет вход из тестового источника и двух выходных сигналов: один в РФ образовывает канал и одна к FPGA. Замените этот блок на свой собственный алгоритм Tx.
Чтобы включить сопоставимое поведение симуляции, во вкладке Project Shortcuts, нажимают Open FPGA frame model и повторяют этот шаг.
В MATLAB, на вкладке Project Shortcuts , нажимают Open processor model. Подсистема, подсвеченная в синем, представляет пользовательский код для алгоритма процессора. Откройте обертку Алгоритма Процессора и замените внутренний блок Processor Algorithm (также подсвеченный в синем) с вашим желаемым алгоритмом.
Топ-модель шаблона также включает канал регистра, чтобы связаться между процессором и моделью FPGA. Используйте канал регистра, чтобы сконфигурировать режим FPGA, l или считать и проверять регистры состояния. Блок Register Channel в шаблоне включает один регистр. Чтобы добавить дополнительные регистры, необходимо изменить параметры блоков канала регистра, алгоритм FPGA и алгоритм процессора:
Добавьте, что регистры к каналу регистра – Дважды кликают блок Register Channel, чтобы открыть маску блока и добавить дополнительные регистры по мере необходимости. Добавление регистров создает дополнительные порты на блоке Register Channel. Для получения дополнительной информации смотрите Канал Регистра.
Добавьте, что порты к модели процессора – Перешли к модели Processor Algorithm Wrapper. Чтобы перейти к модели процессора, нажмите Open Processor model на вкладке Project Shortcuts. Дважды кликните Обертку Алгоритма Процессора, чтобы изменить его.
Для регистров записи добавьте выходной порт в модуль и добавьте логику, чтобы управлять значением к добавленному выходному порту. Для регистров чтения добавьте входной порт и логику, чтобы обработать информацию, возвращенную в регистр чтения. От топ-модели соедините порт проводом к блоку Register Channel.
Добавьте, что порты к модели FPGA – Перешли к модели FPGA Algorithm Wrapper. Чтобы перейти к основанной на FPGA/кадре модели обработки, нажмите Open FPGA sample model на вкладке Project Shortcuts. Дважды кликните Обертку Алгоритма FPGA, чтобы изменить его.
Для регистров записи добавьте входной порт в модуль и логику, чтобы обработать информацию, возвращенную в регистр чтения. Для регистров чтения добавьте выходной порт и логику, чтобы управлять значением к добавленному выходному порту.
Для эквивалентного поведения при использовании Simulink® основанный на выборке вариант повторите этот шаг для основанной на выборке модели обработки в обертке FPGA.
От топ-модели соедините новый порт проводом к блоку Register Channel.