|
Генератор на PIC16F84A и AD9850
Для загрузки данных в микросхеме AD9850 предусмотрены параллельный и последовательный интерфейсы. В последнем случае данные (слово длиной 40 бит) вводят через ее вход D7. Каждый бит данных сопровождают импульсом положительной полярности на входе синхронизации W_CLK. После загрузки управляющего слова по импульсу положительной полярности на входе FQ_UD происходит замена параметров генерации новыми. Назначение бит управляющего слова приведено в табл. 1. Принципиальная схема генератора изображена на рис. 2. Управляет синтезатором DD2 микроконтроллер DD1. Он опрашивает клавиатуру SB1_SB16, выводит информацию на ЖК индикатор HG1, вычисляет значение кода частоты и передает его по последовательному интерфейсу в синтезатор DD2. Звукоизлучатель HA1 служит для подтверждения нажатия кнопок клавиатуры. Микросхема AD9850 (DD2) использована в стандартном включении [2]. На выходе ее ЦАПа включен фильтр Z1. После фильтра сигнал синусоидальной формы подается на гнездо XW2 и на вход компаратора микросхемы DD2 (вывод 16). С выхода последнего сигнал прямоугольной формы поступает на гнездо XW1. В качестве тактового генератора для DDS применен кварцевый генератор G1. Подстроечным резистором R7 регулируют контрастность изображения на индикаторе HG1. После сброса микроконтроллера производится настройка ЖК индикатора HG1 на режим обмена по шине 4 бита, что необходимо для уменьшения числа линий ввода/вывода, требуемых для записи информации. Управляют генератором с помощью клавиатуры, состоящей из кнопок SB1-SB16. Поскольку все линии порта B, являющиеся входными, подключены к источнику питания через резисторы, необходимости во внешних резисторах, "подтягивающих" порты RB5-RB7 к линии питания, нет. Резисторы R1-R4 защищают выходы микроконтроллера от перегрузки при случайном нажатии нескольких кнопок одновременно. Требуемую частоту устанавливают с клавиатуры. Для этого, нажимая на кнопки с соответствующими цифрами, вводят нужное значение (в герцах) и нажимают кнопку "*". Если частота не превышает максимально допустимой, на индикаторе на короткое время появляется сообщение "OK" и генератор переходит в рабочий режим, а если превышает, - сообщение "Error". В этом случае нужно нажать кнопку "C" ("Сброс") и заново набрать правильное значение. Точно так же поступают и при ошибке в процессе ввода частоты. Двукратное нажатие этой кнопки переводит прибор в рабочий режим с установленным ранее значением частоты. В рабочем режиме в крайнем правом знакоместе индикатора мигает символ звездочки. Если текущее значение частоты введено с внешнего блока управления (например, с компьютера), то чтобы вернуться к частоте, отображаемой на индикаторе, достаточно нажать кнопку "*". Кнопки "U" (Up - вверх) и "D" (Down - вниз) позволяют ступенчато изменять выходную частоту генератора, соответственно увеличивая или уменьшая значение десятичного разряда на единицу. Требуемый десятичный разряд выбирают, перемещая курсор кнопками "L" (Left - влево) и "R" (Right - вправо). При нажатии кнопки "*" значение частоты и позиция курсора сохраняются в энергонезависимой памяти микроконтроллера, благодаря чему при следующем включении питания прерванный режим работы автоматически восстанавливается. Поскольку вычислительные способности микроконтроллера ограничены, значение выходной частоты выставляется с точностью порядка 1 Гц, что достаточно для большинства случаев. Чтобы в полной мере реализовать возможности синтезатора, им можно управлять с помощью ПК. Для этого генератор необходимо доработать, дополнив его узлом, схема которого показана на рис. 3. ПК (или иное управляющее устройство) подключают к розетке XS1. При низком логическом уровне на адресных входах A мультиплексоры микросхемы DD3 подключают входы управления синтезатором к микроконтроллеру DD1, а при высоком - к внешнему устройству. Сигналы управления поступают через контакт "ENABLE" розетки XS1. Резистор R19 обеспечивает низкий логический уровень на адресных входах DD3 при неподключенном устройстве управления. Генератор собран и испытан на макетной плате. Если не удастся приобрести плату под корпус SSOP для микросхемы DD2, можно использовать для подключения ее выводов к соответствующим контактным площадкам короткие (длиной 10_15 мм) отрезки луженого провода диаметром 0,2 мм. Выводы 1, 2, 5, 10, 19, 24, 26, 27, 28 соединяют с общим проводом одним отрезком большей длины. ЖК индикатор HG1 - ITM1601 (16-символьный однострочный с встроенным контроллером). HA1 - любой пьезоэлектрический излучатель звука с встроенным генератором, рассчитанный на напряжение 5 В. В качестве тактового генератора (G1) можно использовать микросборку кварцевого генератора на частоту до 125 МГц, допустимо применение подобного узла с кварцевой стабилизацией и на дискретных элементах. Управляющая программа микроконтроллера зависит от частоты тактового генератора. При программировании микроконтроллера в конфигурационном слове устанавливают следующие значения бит: тип генератора (OSC) - RC, сторожевой таймер (WDT) - выключен, задержка после включения питания (PWRTE) - разрешена. Литература 1. Ридико Л. DDS: прямой цифровой синтез частоты. - Компоненты и технологии, 2001, ј 7, с.50-54. 2. AD9850, Complete DDS Synthesizer. - http://www.analog.com
Все материалы, находящиеся на этом сайте, являются авторскими.
|