Цифровой генератор сигнала с перестраиваемой частотой, реализуемый на базе инструментального комплекта Spartan-3E Starter Kit фирмы Xilinx

№ 11’2006
PDF версия
Настоящая статья открывает серию публикаций о наиболее интересными проектами, которые не только позволяют на практике познакомиться с возможностями инструментального модуля Xilinx Spartan#3E Starter Board, но и могут быть использованы в качестве шаблонов или прототипов в процессе разработки аналогичных устройств. В данной статье рассматривается проект цифрового генератора сигнала прямоугольной формы с перестраиваемой частотой.

Настоящая статья открывает серию публикаций о наиболее интересными проектами, которые не только позволяют на практике познакомиться с возможностями инструментального модуля Xilinx Spartan#3E Starter Board, но и могут быть использованы в качестве шаблонов или прототипов в процессе разработки аналогичных устройств. В данной статье рассматривается проект цифрового генератора сигнала прямоугольной формы с перестраиваемой частотой.

Впредыдущем номере журнала [1] были представлены характеристики и архитектура нового инструментального комплекта Spartan-3E Starter Kit, выпускаемого фирмой Xilinx®. Для аппаратного модуля Xilinx Spartan-3E Starter Board™, который является основным компонентом этого комплекта, разработан ряд типовых проектов, выполненных на основе микропроцессорных ядер семейств PicoBlaze™ [1–7] и MicroBlaze™ [1, 8–10]. Данные проекты наглядно демонстрируют возможности практического применения указанных ядер в составе устройств различного назначения. Каждый представленный проект может быть непосредственно загружен в ПЛИС семейства Spartan-3E инструментального модуля, реализуя законченное устройство. Кроме того, оригинальные решения, реализованные в этих проектах, могут применяться разработчиками в собственных системах. С полным списком проектов, предназначенных для инструментального комплекта Spartan-3E Starter Kit, можно ознакомиться, открыв Web-страницу http://www.xilinx.com/products/boards/s3estarter/reference_designs.htm.

Структура архива проекта цифрового генератора сигнала с перестраиваемой частотой, предназначенного для реализации на базе инструментального комплекта Spartan#3E Starter Kit

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

  • модуль исходного описания аппаратной части устройств на языке VHDL frequency_generator.vhd;
  • исходный текст микропроцессорной программы на языке ассемблера fg_ctrl.psm;
  • файл описания содержимого программной памяти на языке VHDL fg_ctrl.vhd;
  • файл временных и топологических ограничений frequency_generator.ucf, соответствующий архитектуре инструментального модуля Xilinx Spartan-3E Starter Board;
  • файл конфигурационной последовательности frequency_generator.bit, реализующей соответствующее устройство, предназначенный для непосредственной загрузки в ПЛИС;
  • командный файл install_frequency_generator. bat, предназначенный для непосредственной загрузки в кристалл конфигурационной последовательности, реализующей цифровой генератор и осуществляемой автоматически в пакетном режиме;
  • описание проекта frequency_generator_v100.pdf, выполненное в формате PDF.

Следует обратить внимание на то, что файл, содержащий исходное описание на языке VHDL исполнительного модуля микропроцессорного ядра семейства PicoBlaze, не входит в состав указанного архива. Поэтому для работы с проектом цифрового генератора сигнала с перестраиваемой частотой необходимо заранее скачать архив исходных файлов микропроцессорного ядра PicoBlaze, который предназначен для применения в проектах, реализуемых на основе ПЛИС семейств Spartan-3, Virtex-II, Virtex-IIPRO и Virtex-4 [7]. При создании новых проектов, выполняемых на основе рассматриваемого цифрового генератора сигнала с перестраиваемой частотой, необходимо включить в их состав файл VHDL-описания микропроцессорного ядра kcpsm3.vhd.

Основные характеристики и функциональная схема цифрового генератора сигнала с перестраиваемой частотой

В основе проекта цифрового генератора сигнала прямоугольной формы с перестраиваемой частотой лежит использование технологии прямого цифрового синтеза Direct Digital Synthesis (DDS) с учетом архитектурных особенностей ПЛИС семейства Spartan-3Е. Применение этой технологии обеспечивает высокую разрешающую способность при выборе частоты вырабатываемого сигнала, а также сверхбыстрое переключение на новое значение частоты. Номинальный диапазон изменения частоты выходного сигнала составляет от 1 Гц до 100 Мгц. Установка требуемого значения частоты выходного сигнала осуществляется вручную с помощью инкрементного (инкрементального, пошагового) энкодера с совмещенным кнопочным переключателем [1] и жидкокристаллического дисплея, используемого для визуального контроля.

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

  • блок синхронизации;
  • синтезатор частоты;
  • устройство управления;
  • микропроцессорный блок;
  • жидкокристаллический дисплей;
  • блок светодиодных индикаторов.
Рис. 1. Функциональная схема цифрового генератора сигнала с перестраиваемой частотой

Блок синхронизации предназначен для формирования внутреннего тактового сигнала для элементов синтезатора частоты. Более подробная функциональная схема, поясняющая структуру блока синхронизации и синтезатора частоты, приведена на рис. 2. Блок синхронизации выполнен на основе цифрового модуля управления синхронизацией Digital Clock Manager (DCM) ПЛИС XC3S500E. В качестве источника внешнего (по отношению к ПЛИС) сигнала синхронизации используется кварцевый генератор с частотой 50 МГц, установленный на отладочной плате Xilinx Spartan-3E Starter Board. Формируемый кварцевым генератором тактовый сигнал через глобальный буфер подается на вход первого цифрового блока управления синхронизацией DCM1. Этот модуль задействован в проекте цифрового генератора в режиме четырехкратного умножения частоты входного сигнала синхронизации и формирует на выходе тактовый сигнал с частотой 200 МГц, который далее подается на соответствующие входы синтезатора частоты.

Рис. 2. Функциональная схема блока синхронизации и синтезатора частоты цифрового генератора сигнала с перестраиваемой частотой

Основным элементом синтезатора частоты, выполненного по технологии прямого цифрового синтеза, является аккумулятор фазы. Тактирование аккумулятора фазы сигналом с частотой 200 МГц обеспечивает разрешающую способность по времени 5 нс. Значение частоты изменения старшего значащего разряда сигнала на выходе аккумулятора фазы FMSB определяется 32-разрядным кодом N, который вычисляется в микропроцессорном блоке в соответствии с выражением (1) и подается на один из входов аккумулятора.

При этом значение кода N выбирается таким образом, чтобы частота FMSB находилась в диапазоне от 6,25 до 12,5 МГц. Далее старший значащий разряд сигнала с выхода аккумулятора фазы поступает на вход второго цифрового модуля управления синхронизацией DCM2. Этот модуль конфигурируется для работы в режиме юстировки (выравнивания) частоты. Данный режим функционирования блока DCM к моменту разработки проекта не входил в число стандартных поддерживаемых возможностей ПЛИС семейства Spartan-3E. Использование этого режима работы обеспечивает не только шестнадцатикратное умножение частоты входного сигнала, но и существенное снижение ее нестабильности. Выходной сигнал модуля управления синхронизацией DCM2 подается на вход 32-разрядного счетчика, выходы которого подключены к входам мультиплексора, осуществляющего выбор необходимого значения делителя частоты. Код делителя D, устанавливаемый на управляющих входах мультиплексора, вычисляется в микропроцессорном блоке, исходя из требуемого значения частоты выходного сигнала, которое определяется соотношением (2).

Сформированный выходной сигнал поступает на высокочастотный разъем типа SMA J17 инструментального модуля и контакт IO12 разъема J4.

Устройство управления предназначено для выбора значения частоты формируемого сигнала. Оно включает в себя инкрементный энкодер с совмещенным кнопочным переключателем и соответствующий интерфейсный модуль сопряжения с микропроцессорным блоком. Устройство управления функционирует в двух режимах: режиме установки текущего изменяемого десятичного разряда значения частоты и режиме выбора значения зафиксированного текущего разряда. Переключение между ними осуществляется с помощью кнопочного переключателя, совмещенного с инкрементным энкодером. Выбор разряда значения частоты выходного сигнала и его изменение выполняется с помощью жидкокристаллического дисплея. В режиме установки текущего изменяемого десятичного разряда значения частоты поворот вала энкодера вправо или влево на один шаг приводит к перемещению курсора в верхней строке жидкокристаллического дисплея на одну позицию в соответствующем направлении. В режиме выбора значения текущего разряда при повороте вала энкодера вправо или влево на один шаг числовое значение в этом разряде соответственно увеличивается или уменьшается на единицу. При этом немедленно автоматически изменяется частота формируемого сигнала на выходе генератора.

Блок светодиодных индикаторов используется для визуального контроля текущего режима работы устройства управления. В его состав входят два из восьми индикаторов, установленных на отладочной плате Xilinx Spartan-3E Starter Board. Режим установки текущего изменяемого десятичного разряда значения частоты отображается с помощью светодиодного индикатора LD0. Режиму выбора значения зафиксированного текущего разряда соответствует включенное состояние светодиодного индикатора LD1.

Микропроцессорный блок выполняет следующие функции:

  • декодирование сигналов, поступающих с выхода устройства управления;
  • вычисление кодовых значений N и D, управляющих работой соответствующих элементов синтезатора частоты;
  • формирование информационных и управляющих сигналов, соответствующих интерфейсу жидкокристаллического дисплея;
  • управление работой блока светодиодных индикаторов.

Структурная схема микропроцессорного блока показана на рис. 3. В ее состав входят:

  • исполнительный модуль микропроцессорного ядра семейства PicoBlaze, предназначенного для реализации в ПЛИС серий Spartan-3, Virtex-II, Virtex-IIPRO и Virtex-4 [7];
  • память микропрограмм;
  • входные и выходные порты ввода/вывода.
Рис. 3. Структурная схема микропроцессорного блока цифрового генератора сигнала с перестраиваемой частотой

Жидкокристаллический дисплей используется для отображения информации о частоте формируемого сигнала и управляющих кодах N и D для синтезатора частоты. Значение частоты выходного сигнала цифрового генератора выводится в верхней строке ЖК-дисплея. Эта строка дисплея является интерактивной. Числовые значения, представленные в ней, (и, соответственно, частота выходного сигнала) могут изменяться пользователем в любое время с помощью инкрементного энкодера устройства управления. Значения управляющих кодов N иD для синтезатора частоты отображаются в нижней строке ЖК-дисплея.

Описание основных функциональных блоков цифрового генератора сигнала с перестраиваемой частотой на языке VHDL, реализуемых на основе ресурсов ПЛИС семейства Spartan-3E, рассматривается в следующем разделе.

VHDL-описание основных блоков аппаратной части цифрового генератора сигнала с перестраиваемой частотой

Аппаратная часть цифрового генератора сигнала описывается в форме объекта frequency_generator. Этот объект может применяться как автономно, так и в виде модуля, входящего в состав более сложной разрабатываемой системы. В настоящей статье рассматривается вариант автономного применения данного объекта.

Описание объекта frequency_generator имеет стандартную структуру исходного модуля, выполненного с использованием языка VHDL [11–13]. В ней можно выделить три части. В первой части VHDL-описания указаны ссылки на используемые стандартные библиотеки и пакеты. Здесь же присутствует ссылка на используемую библиотеку Unisim Library фирмы Xilinx и пакет vcomponents этой библиотеки. Содержимое этой части VHDL-описания выглядит следующим образом.

Вторая часть содержит описание внешнего интерфейса объекта frequency_generator, представляющего цифровой генератор. Это описание имеет следующий вид:

В приведенных выражениях используется следующая система обозначений интерфейсных цепей объекта frequency_generator. Идентификаторы clk и sma_out описывают соответственно вход тактового сигнала и выход цифрового генератора сигнала. Вектор lcd_d представляет шину данных интерфейса ЖК-дисплея, а идентификаторы lcd_rs, lcd_rw, lcd_e — сигналы управления этого интерфейса. Идентификаторы rotary_a, rotary_b и rotary_press соответствуют входам сигналов, поступающих от устройства управления. Векторы led и simple представляют соответственно выходы, предназначенные для сопряжения с блоком светодиодных индикаторов, и выходные сигналы в контрольных точках. Идентификаторы strataflash_oe, strataflash_ce strataflash_we описывают выходы сигналов управления интерфейса параллельной Flash-памяти серии StrataFlash® Memory фирмы Intel®.

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

Далее следует блок VHDL-кода, содержащий выражения декларации внутренних сигналов. В начале этого блока приведены объявления сигналов, используемых для сопряжения исполнительного модуля микропроцессорного ядра PicoBlaze с программной памятью и портами ввода/вывода.

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

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

После блока декларации внутренних сигналов следует потоковое описание микропроцессорного блока, рассмотренного в предыдущем разделе. В начале этого описания приведены операторы определения значений управляющих сигналов интерфейса параллельной Flash-памяти серии StrataFlashMemory фирмы Intel, установленной на отладочной плате Xilinx Spartan-3E Starter Board. Flash-память и жидкокристаллический дисплей подключены к ПЛИС XC3S500E через общие проводники шины данных. Для предотвращения конфликта сигналов на этих линиях шины данных необходимо перевести информационные входы/выходы микросхемы Flash-памяти, не используемой в данном проекте, в состояние «выключено». С этой целью на управляющие входы этой микросхемы подаются соответствующие значения сигналов, которые переключают входы/выходы данных Flash-памяти в третье состояние (состояние высокого импеданса). Далее следуют операторы создания экземпляров компонентов исполнительного модуля микропроцессорного ядра и программной памяти.

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

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

Сигналы интерфейса управления жидкокристаллическим дисплеем описываются следующими выражениями.

VHDL-описание устройства управления цифрового генератора сигнала содержит группу операторов, которые осуществляют декодирование сигналов, поступающих от инкрементного энкодера.

Описание блока синхронизации и цифрового синтезатора частоты на языке VHDL выполнено в соответствии с функциональной схемой, приведенной на рис. 2. Оно включает в себя выражения создания двух экземпляров модуля управления синхронизацией DCM, глобальных буферных элементов, а также поведенческое описание аккумулятора фазы, 32-разрядного счетчика и селектора-мультиплексора выходного сигнала.

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

При использовании VHDL-описания аппаратной части цифрового генератора сигнала или отдельных его блоков следует помнить, что модуль управления синхронизацией DCM, используемый для шестнадцатикратного умножения частоты, функционирует в нестандартном режиме. Поэтому для формирования конфигурационной последовательности разрабатываемого проекта нужно использовать следующую строку параметров для программы Bitgen, входящей в состав САПР серии Xilinx ISE™ (Integrated Synthesis Environment/Integrated Software Environment).

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

Рис. 4. Диалоговая панель параметров процесса генерации конфигурационной последовательности цифрового генератора в САПР серии Xilinx ISE

Окончание следует

Литература

  1. Новый инструментальный комплект Spartan-3E Starter Kit для практического освоения методов проектирования встраиваемых микропроцессорных систем на основе ПЛИС семейств FPGA фирмы Xilinx // Компоненты и технологии. 2003. № 10.
  2. Зотов В. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. М.: Горячая линия — Телеком. 2006.
  3. Зотов В. PicoBlaze — семейство восьмиразрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 4.
  4. Зотов В. Система команд микропроцессорного ядра PicoBlaze, реализуемого на основе ПЛИС семейств Spartan-II, Spartan-IIE, Virtex, Virtex-E // Компоненты и технологии. 2003. № 5.
  5. Зотов В. Особенности микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах, реализуемых на основе ПЛИС семейства Virtex-II // Компоненты и технологии. 2003. № 6.
  6. Зотов В. Особенности микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах, реализуемых на основе ПЛИС семейства CoolRunner-II // Компоненты и технологии. 2003. № 7.
  7. Зотов В. Особенности микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах, реализуемых на основе ПЛИС семейств Spartan-3, Virtex-II и Virtex-IIPRO // Компоненты и технологии. 2005. №№ 5–6.
  8. Зотов В. MicroBlaze — семейство тридцатидвухразрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 9.
  9. Зотов В. Система команд микропроцессорного ядра MicroBlaze // Компоненты и технологии. 2004. №№ 1–3.
  10. Зотов В. Организация памяти микропроцессорного ядра MicroBlaze // Компоненты и технологии. 2004. № 5.
  11. Бибило П. Н. Основы языка VHDL. М.: Солон-Р, 2000.
  12. Бибило П. Н. Синтез логических схем с использованием языка VHDL. М.: Солон-Р. 2002.
  13. Уэйкерли Дж. Ф. Проектирование цифровых устройств. Т. 1. М.: Постмаркет. 2002.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *