Шаблон SDR

Шаблон программно определяемого радио (SDR) обеспечивает имитационную модель для исходного проекта SoC, доступного от Пакета Поддержки Communications Toolbox™ для Радио Xilinx® Zynq®-Based. Используйте этот шаблон, чтобы симулировать полный исходный проект и анализировать эффекты внутренней и внешней возможности соединения на и алгоритма SDR, такие как поведение памяти и поведение ввода-вывода Радиочастоты (RF).

Чтобы начать с моделью SoC Blockset™ для разработки системы SDR, выполните шаги, чтобы Создать Модель SoC Используя Шаблон SoC Blockset.

Необходимые продукты

  • Communications Toolbox

  • Пакет поддержки SoC Blockset для устройств Xilinx

Обработайте структуру по шаблону

Этот шаблон моделирует приемопередатчик SDR, состоявший из блоков передатчика и приемника AD9361. Приемопередатчик соединяет канал RF с FPGA, который реализует приемник и алгоритм передатчика. Алгоритм FPGA включает блок Test Source, который генерирует сигнал синусоиды и управляет им к передатчику. Алгоритм FPGA также включает алгоритм Tx, реализованный, когда простая передача соединяет, и алгоритм Rx, реализованный как блок усиления. Регистр конфигурации srcSel моделируется в FPGA, чтобы выбрать источник данных для алгоритма Rx. Процессор пишет регистр srcSel, чтобы выбрать или тестовый источник из FPGA или данные RF из приемопередатчика. Этот регистр моделируется с помощью блока Register Channel. Данные из алгоритма FPGA передаются процессору через блок Memory Channel.

Используйте этот шаблон в качестве руководства и замените Алгоритм Rx и Алгоритм Tx в FPGA и Алгоритм Процессора в процессоре с вашей собственной функциональностью. Память параметр Channel Type установлена в AXI4-Stream to software via DMA, который моделирует передачу данных прямого доступа к памяти (DMA) через разделяемую внешнюю память.

Процессор считывает вычисленные данные из памяти и выполняет дополнительное вычисление (реализованный в шаблоне как провод передачи). Можно просмотреть результаты симуляции путем двойного клика по блоку Vector Scope в приемнике испытательного стенда.

Измените проект

Измените модель FPGA

В MATLAB®, на вкладке Project Shortcuts , нажимают Open FPGA sample model. Затем откройте FPGA Обертка Tx-Rx Alg. Заметьте три области, подсвеченные в зеленом. Эти области представляют пользовательский код и расположены в блоке Receiver Algorithm в блоке Transmitter Algorithm и Тестовом Исходном блоке.

Модель FPGA включает следующие разделы для вас, чтобы изменить (подсвеченный в зеленом):

  • Протестируйте Исходный блок – Этот блок генерирует сигнал синусоиды на 10 кГц и управляет им к алгоритму передатчика. Измените тестовый источник к своим потребностям или замените его на альтернативный исходный блок.

  • Подсистема Алгоритма приемника – В зеленым подсвеченной подсистеме под названием Rx Algorithm, существует блок, пометил Algorithm. Алгоритм берет данные I/Q в качестве ввода и вывода с допустимым сигналом. Замените этот блок на свой собственный алгоритм Rx.

  • Алгоритм передатчика – В зеленым подсвеченной подсистеме под названием Tx Algorithm, алгоритм имеет вход из тестового источника и двух выходных сигналов: один к RF образовывает канал и один к FPGA. Замените этот блок на свой собственный алгоритм Tx.

Чтобы включить сопоставимое поведение симуляции, во вкладке Project Shortcuts, нажимают Open FPGA frame model и повторяют этот шаг.

Измените модель процессора

В MATLAB, на вкладке Project Shortcuts , нажимают Open processor model. Подсистема, подсвеченная в синем, представляет пользовательский код для алгоритма процессора. Откройте Обертку Алгоритма Процессора и замените внутренний блок Processor Algorithm (также подсвеченный в синем) с вашим желаемым алгоритмом.

Измените канал регистра

Топ-модель шаблона также включает канал регистра, чтобы связаться между процессором и моделью FPGA. Используйте канал регистра, чтобы сконфигурировать модель FPGA или считать и проверять регистры состояния. Блок Register Channel в шаблоне включает один регистр. Чтобы добавить дополнительные регистры, необходимо изменить параметры блоков канала регистра, алгоритм FPGA и алгоритм процессора:

  1. Добавьте, что регистры к каналу регистра – Дважды кликают блок Register Channel, чтобы открыть маску блока и добавить дополнительные регистры по мере необходимости. Добавление регистров создает дополнительные порты на блоке Register Channel. Для получения дополнительной информации смотрите Register Channel.

  2. Добавьте, что порты к модели процессора – Перешли к модели Processor Algorithm Wrapper. Чтобы перейти к модели процессора, нажмите Open Processor model на вкладке Project Shortcuts. Дважды кликните Processor Algorithm Wrapper, чтобы изменить его.

    Для регистров записи добавьте выходной порт в модуль и добавьте логику, чтобы управлять значением к добавленному выходному порту. Для регистров чтения добавьте входной порт и логику, чтобы обработать информацию, возвращенную в регистр чтения. От топ-модели соедините порт с блоком Register Channel.

  3. Добавьте, что порты к модели FPGA – Перешли к модели FPGA Algorithm Wrapper. Чтобы перейти к основанной на FPGA/системе координат модели обработки, нажмите Open FPGA sample model на вкладке Project Shortcuts. Дважды кликните FPGA Algorithm Wrapper, чтобы изменить его.

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

    Для эквивалентного поведения при использовании Simulink® основанный на выборке вариант повторите этот шаг для основанной на выборке модели обработки в обертке FPGA.

  4. От топ-модели соедините новый порт с блоком Register Channel.