СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №9/2013
ИНЖЕНЕРНЫЕ РЕШЕНИЯ 50 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 9 2013 Низкочастотный генератор на основе синтезатора частоты AD9833 Часть 2. Программные средства и результаты испытаний Во второй части статьи описываются программные средства и результаты испытаний низкочастотного генератора. Приведена тестовая программа для микроконтроллера C8051F330, который, в свою очередь, программирует DDS для вывода сигнала нужной частоты. Алексей Кузьминов (г. Москва) В первой части статьи (СоЭл № 8, 2013, С. 58–65) приведены аппарат- ные средства генератора – принципи- альные схемы и разводка печатной пла- ты генератора и платы подключённо- го к нему графического дисплея марки MI6448, сконструированного с приме- нением светодиодов на органической основе (OLED). Во второй части подробно описы- ваются программные средства, при- менённые в генераторе, и результаты его испытаний. Результаты работы генератора иллюстрируются осциллограмма- ми и спектрами, снятыми аналого- вым и цифровым осциллографами, а также спектрами, рассчитанными программой спектрального анализа сигнала генератора, подключённо- го к линейному входу звуковой кар- ты компьютера. П РОГРАММНЫЕ СРЕДСТВА Программные средства для микро- контроллера (МК), входящего в состав генератора, условно можно разделить на два типа. Первый – это программи- рование дисплея, ввод нужной часто- ты с помощью кнопок и расчёт необ- ходимой кодовой последовательности, предназначенной для программиро- вания синтезатора частоты. Второй – непосредственное программирование синтезатора. Первый тип программного обеспе- чения (ПО), по мнению автора, име- ет довольно широкий спектр прило- жений, необязательно использующий именно DDS. Помимо этого к генера- тору можно подключить и другие дис- плеи, например, ЖКИ или светоди- одные «восьмерки». Для ввода часто- ты также необязательно использовать кнопки. Кроме того, данный тип ПО не совсем соответствует затронутой в статье теме, которая больше тяготе- ет к практической электронике. В настоящее время многие произво- дители программируемых микросхем и микроконтроллеров предоставляют разработчикам ПО, которое макси- мально автоматизировано и позволяет, особенно не вдаваясь в детали, быстро запрограммировать синтезатор или МК и, тем самым, оперативно оценить его работоспособность. Компания Analog Devices предлага- ет бесплатное ПОDevice Configuration Assistant, позволяющее оперативно получить коды загрузки в DDS, чтобы моментально заставить его работать. Эта программа предназначена, в том числе, и для программирования микро- схемы AD9833. Компания Silicon Laboratories также стала предоставлять бесплатное ПО, которое позволяет максимально авто- матизировать процесс программиро- вания МК (в основном это касается функций его инициализации). Это про- грамма Config2, которая, в том числе, предназначена и для микроконтролле- ра C8051F330. Последней версией про- граммы Config2 является 4.11 (2013 г.). С использованием упомянутого выше ПО будет получена работоспособная программа, позволяющая проверить функционирование генератора в тесто- вом режиме. Итак, заходим на интернет-страницу http://www.analog.comи ищем AD9833. В появившемся дополнительном меню выбираем «Visit the AD9833 DDS Device Configuration Assistant». На экран выво- дится следующая форма (см. рис. 19). Прежде всего нажимаем нижнюю из двух радиокнопок, расположенных в правом верхнем углу экранной формы (на рис. 19 отмечена красным овалом), чтобы отключить расчёт фильтров (нам потребуются только коды, загружаемые в DDS). Далее заполняем поле «MCLK» нашей тактовой частотой «20.971520» (отмечено оваломфиолетового цвета), затем заполняем поле «Desired FREQ0» требуемой частотой выходного сигна- ла DDS, т.е. 1 кГц, или «0.001» МГц. Это «нулевой» регистр частоты, который нам и нужен. Второй регистр частоты, который нам не требуется (FREQ1), заполняем нулями. На рисунке 19 оба поля отмечены фиолетовым овалом. Поля для обоих фазовых регистров «Desired PHASE0» и «Desired PHASE1» оставляем нулевыми (для нас началь- ная фаза сигнала DDS не важна). Далее в середине экранной формы в большом прямоугольнике, отмеченном слева как «Control register:», находим поле дели- теля на 2 «DIV2» и выбираем «Divide by 1», т.е. непосредственное тактиро- вание DDS частотой 20,971520 МГц. После этого в поле «Codewords:» выби- раем «FREQ0 LSB & MSB». Это означа- ет, что нам требуются значения млад- шего и старшего байта нулевого реги- стра частоты «FREQ0». Таким образом, всё, что нам требует- ся, введено, и осталось только нажать голубую кнопку «Update», расположен- ную в правом нижнем углу. После нажа- тия этой кнопки в окне «Init. Sequence:» (последовательность инициализации) получаем 8 шестнадцатиразрядных (двухбайтовых) слов: 2108 7200 4000 8000 8000 C000 E000 2008. Первое слово 2108 – это началь- ная инициализация DDS, следующие 2 слова 7200 4000 – значение нулево- го частотного регистра (FREQ0), при котором DDS генерирует синусои- ду частотой 1 кГц; следующие слова 8000 8000 C000 E000 определяют зна- чения второго частотного регистра и значения обоих фазовых регистров, и последнее слово 2008 определяет запуск DDS. Таким образом, в данной кодовой последовательности инфор- мационными и изменяемыми (если требуется изменить частоту) являются только два слова 7200 4000, загружае- мые в нулевой частотный регистр. Так, например, если вместо частоты 1 кГц © СТА-ПРЕСС
RkJQdWJsaXNoZXIy MTQ4NjUy