СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №9/2013

ИНЖЕНЕРНЫЕ РЕШЕНИЯ 54 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 9 2013 и обратное: если записать в перемен- нуюU.US какое-либо 2-байтовое число, то переменная U.UB [0] автоматически получит значение старшего байта этого числа, а U.UB [1] – младшего байта. Такое совмещение, во-первых, требует всего двух байт памяти (а не 4) и, во-вторых, отпадает надобность в процедуре раз- бивки. Подпрограмма вывода 2-байтово- го числа по интерфейсу SPI, благода- ря совмещению, значительно упро- щается и выглядит следующим обра- зом (см. листинг 1). Таким образом, с учётом всех пре- дыдущих подпрограмм, основная про- грамма (main) приобретает следующий вид: метода – возможность визуально оце- нить чистоту сигнала и, в некоторой степени, – его форму во всём рабочем диапазоне частот и амплитуд. Недо- статок – низкая информативность, т.к. визуальная оценка осциллограм- мы достаточно субъективна. 2. Звуковая карта компьютера и про- грамма, рассчитывающая спектральную плотность входного сигнала, подклю- чённого к линейному входу звуковой карты. Преимущества – возможность вычисления спектра по большому количеству реализаций, позволяющая получить достаточно высокую точ- ность и подробность всех спектраль- ных составляющих входного сигнала. Недостаток – узкий частотный и ампли- тудный диапазон, невысокая точность измерения частоты на пике спектраль- ной плотности. Диапазон частот, в кото- ром такой способ позволяет адекватно оценить спектр, приблизительно от 30–40 Гц до 18–19 кГц. Вне этого диа- пазона звуковая карта даёт неадекват- ные показания. Амплитудный диапазон, состоящий из одной амплитуды 0,3 В, определяется звуковой картой. 3. Цифровой осциллограф, позволяю- щий наблюдать как сам сигнал, так и его спектр. Преимущества – работа во всём рабочем диапазоне частот и амплитуд входного сигнала, возможность оценки спектра и относительно точное измере- ние частоты пика спектральной плот- ности. Недостатки – осциллограмма имеет «цифровой» вид и не позволяет визуально оценить чистоту входного сигнала (как с помощью аналогового осциллографа). Спектр не очень под- робный, т.к. он получен по одной реали- зации и адекватно отображается толь- ко в линейном масштабе (хотя осцилло- графи способен воспроизводить спектр в логарифмическом масштабе, такое отображение мало информативно). На рисунке 21 приведена типичная осциллограмма выходного сигнала генератора. В диапазоне частот от 10 Гц до 100 кГц и диапазоне амплитуд от 0,3 до 10 В все наблюдаемые осциллограм- мы практически ничем не отличались. Как можно заметить, синусоида являет- ся гладкой и на ней отсутствуют какие- либо «цифровые» искажения. На рисунке 22 приведены спектры сигнала генератора, подключённо- го к линейному входу звуковой карты компьютера и рассчитанные програм- мой SpecLab по 65536 реализациям. Можно заметить, что вторая гармони- ка имеет частоту в 2 раза выше частоты Рис. 21. Фотография осциллограммы сигнала генератора (частота F = 1 кГц, амплитуда А = ~ 0,3 В), снятого с экрана аналогового осциллографа (С1-112) Рис. 22. Снимок экрана компьютера при работе программы SpecLab. Результаты вычисления спектральной плотности сигнала генератора частотой F = 1 кГц, амплитудой А = 0,3 В в логарифмическом масштабе (–140…0 дБ) в диапазоне частот: а – (0…5) кГц, б – (0,8...2,1) кГц; в – в линейном масштабе (0…0,3 В) в диапазоне частот (0,8…2,1) кГц void main (void) { Init_Device(); outspi16(0x2108); outspi16(0x7200);// - 1 kHz outspi16(0x4000); // outspi16(0x4400);// - 50 kHz // outspi16(0x4027); outspi16(0xC000); outspi16(0xE000); outspi16(0x2008); while (1); // loop forever Эта программа выводит в синтеза- тор коды для генерации частоты 1 кГц. Если закомментировать нижеследую- щие строки: outspi16(0x2108); outspi16(0x7200); // - 1 kHz и убрать комментарии (//) перед строками: // outspi16(0x4400);// - 50 kHz // outspi16(0x4027); то программа будет выводить коды для генерации частоты 50 кГц. Полученнуюпрограмму необходимо оттранслировать и запрограммировать в МК. Для трансляции и получения фай- ла программы в *.hex-формате понадо- бится файл *.bat, содержимое которого приведено в листинге 2. Естественно, потребуетсяи самтранс- ляторC51.exe (авториспользовал транс- ляторKeil C-51 v.6.14), сборщик bl51.exe и преобразователь кодов из объектно- го в *.hex-формат oh51.exe (все из одно- го пакета). Как уже упоминалось, программи- рование МК осуществляется с помо- щью USB-DEBUG-адаптера производ- ства Silicon Labs, подключённого к пла- те генератора по схеме, приведённой на рисунке 3 (СоЭл № 8, 2013, С. 61). Хотя полный текст программы при- ведён на интернет-странице журнала, по мнению автора, проще (и надёжнее) воспользоваться программой Config2. exe, которую можно бесплатно ска- чать с интернет-страницы Silicon Labs (http://www.silabs.com ). И СПЫТАНИЯ ГЕНЕРАТОРА Для проверки работы генератора использовались три различных метода. 1. Визуальное наблюдение сигнала генератора на обычном аналоговом осциллографе в диапазоне частот от 10 Гц до 100 кГц и диапазоне ампли- туд от 0,3 до 10 В. Преимущество этого а) б) в) © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy