Розробка генератору сигналів з програмним керуванням

аттестационная работа

2.1 Цифрові методи синтезу синусоїдальної напруги

Низькочастотний генератор синусоїдальної напруги є одним з найбільш поширених приладів у вимірювальній лабораторії. Генератори промислового виробництва мають великі габарити і вага, а до того ж, чималу вартість. Крім того, аналогові генератори володіють цілим рядом недоліків: недостатньою точністю установки і стабільністю частоти і амплітуди, відносно великим коефіцієнтом гармонік.

Існують цифрові методи синтезу синусоїдальної напруги. Найочевиднішим з них є метод, який схематично показаний на малюнку:

Рис. 2.1 _ Методи синтезу синусоїдальної напруги.

Із задаючого кварцевого генератора G сигнал поступає на дільника частоти із змінним коефіцієнтом ділення DIV. Коефіцієнт ділення задається зовнішньою схемою управління, наприклад, мікропроцесором. З виходу дільника частоти сигнал поступає на двійковий лічильник CT. Цей лічильник формує адреса для постійного пристрою ROM, що запамятовує, містить таблицю функції sin. До виходів ROM підключений цифро-аналоговий перетворювач DAC, який формує синусоїдальну напругу. Після фільтрації за допомогою фільтру нижніх частот LPF воно поступає на вихід генератора. Такий метод синтезу володіє рядом недоліків. По-перше, крок перебудови залежить від частоти. Для отримання прийнятної точності установки частоти вверху робочого діапазону потрібно вибирати частоту опорного генератора дуже великої. По-друге, при зміні вихідної частоти міняється і частота дискретизації, яка повязана з вихідною частотою співвідношенням:

fclk = fx2A,

де fclk - частота дискретизації;

f - вихідна частота

A - розрядність адреса ROM.

Цей факт утрудняє побудова аналогового LPF, оскільки її частота зрізу має бути змінній.

Набагато логічніше для формування синусоїдального сигналу подавати на входи DAC миттєві значення функції sin з постійною частотою дискретизації. Безпосереднє обчислення значень функції sin утруднене, оскільки закон, по якому вона змінюється не лінійний і безпосередньо важко реалізовується. Набагато простіше обчислювати миттєві значення фази (аргумент функциі sin), яка змінюється лінійно, а потім перетворювати її в значення функції за допомогою перекодіровочной таблиці в ROM. Оскільки фаза змінюється лінійно, її обчислення зводиться до збільшення в кожному такті деякої добавки до поточного значення фази. Величина приросту фази визначає частоту сигналу:

f = Phase x fclk / 2р

Цей метод синтезу називають методом накопичення фази. Схематично реалізація цього методу показана на малюнку:

Рис. 2.2 _ Метод накопичення фази.

Є регістр фази Rg2, вміст якого в кожному такті збільшується на величину приросту фази. Величина приросту фази зберігається в регістрі Rg1. У кожному такті до вмісту регістра Rg2 за допомогою суматора SM додається вміст регістра Rg1. Таким чином, відбувається лінійне збільшення (накопичення) миттєвої фази. Збільшення фази не може відбуватися необмежено, оскільки будь-який реальний цифровий пристрій має кінцеву розрядність і, відповідно, обмежений діапазон представлення чисел. Наприклад, якщо накопичувач фази має розрядність 24 бита, то код фази може набувати значень в діапазоні від 0 до 2 в ступені 24 мінус одиниця. При формуванні синусоїдального сигналу має сенс обчислювати фазу тільки в діапазоні від нуля до двох пі. За межами цього діапазону синусоїда періодично повторюється. Тоді частота сигналу (f) і крок її перебудови (дельта f) відповідно рівні:

f = Phase x fclk / 224,

де 0 < fclk < 224

Значення миттєвої фази перетвориться в миттєве значення синусоїдального сигналу с допомогою перекодіровочной таблиці, що зберігається в ROM. Код миттєвої фази використовується як адреса ROM, а вихідним кодом ROM є миттєве значення синусоїдального сигналу. Цей код подається на вхід DAC. Немає необхідності використовувати все 24 біта миттєвого значення фази, тому що в помилці значень вихідного сигналу домінує складова помилки квантування DAC. Максимальне необхідне число розрядів адреси ROM - це число розрядів застосованого DAC плюс два. При подальшому збільшенні обєму ROM якість сигналу практично не поліпшується [1]. На виході DAC формується синусоїдальний сигнал, який після низькочастотної фільтрації поступає на вихід генератора.

Такий принцип формування синусоїдального сигналу застосовується в DDS (Direct Digital Synthesizer), наприклад, Ad7008 фірми Analog Devices. Проте, мікросхеми DDS відносно дорогі. З появою швидкодіючих мікроконтролерів стало можливим реалізувати всю цифрову частину такого генератора сигналів програмно. Прицьому вартість генератора, при цілком прийнятних параметрах, виходить дуже низькою.

Делись добром ;)