Методические указания к лабораторным работам "Исследование работы ВЧ ЦАП в радиопередающем устройстве", "Исследование петли ФАПЧ цифрового синтезатора частоты", "Исследование синтезатора частоты косвенного синтеза на ИМС TSA6057" и "Исследование прямого цифрового синтезатора частоты на ИМС AD9832", страница 9

Опишем теперь порядок загрузки регистров и записи команд синтезатора AD9832. Протокол обмена данными, принятый в синтезаторе, предусматривает передачу данных и команд 16-битными словами D15…D0 (рис. 4.3), в которых предусмотрены:

- биты для передачи команд С3…С0 (это команды пересылки данных в регистры синтезатора);

- биты А3…А0 адреса регистра фазы или частоты, в который отправляют данные (табл. 4.1);

- биты данных о частоте или фазе  MSB…LSB (8 бит);

- команды для установки значений битов SYNC, SELSRC (их значение см. выше);

- команды для установки значений битов SLEEP, RESET, CLR.

SLEEP = 1 - режим пониженного энергопотребления микросхемы, выходной сигнал отсутствует («спящий» режим); SLEEP = 0 – обычный рабочий режим.

RESET = 1 – сброс аккумулятора фазы, на выходе синтезатора присутствует ток, равный половине полного значения токовой шкалы; RESET = 0 – обычный рабочий режим.

CLR = 1 – сброс битов SYNC, SELSRC в ноль. Бит CLR после установки пользователем в 1 автоматически возвращается в 0 (в отличие от битов SLEEP и RESET).

Рис. 4.3

Рис. 4.4

Таблица 4.1


Из рис. 4.3, в частности, видно, что передать в какой-либо регистр частоты или фазы можно за один цикл обращения к ИМС синтезатора только 8 бит данных. Поэтому 32-х битные регистры частоты FREQ0 REG и FREQ1 REG разделены на 4 байта, а 12-битные регистры фазы PHASE0 REG…PHASE3 REG –на 2 байта, как это показано на рис. 4.4. Адреса каждого из этих байтов приведены в табл. 4.1.

Список команд, управляющих загрузкой данных в регистры частоты и фазы, приведен в табл. 4.2. Из этой таблицы ясно, что данные через последовательный порт синтезатора поступают порциями в один байт, а в регистры частоты или фазы загружаются двухбайтными словами, поскольку байт, переданный первым, дожидается следующего байта в промежуточном 16-битном регистре DEFER REGISTER, который можно увидеть на рис. 4.2.

Таким образом, чтобы загрузить 12-разрядный регистр фазового сдвига PHASEi REG, достаточно одной пересылки из промежуточного регистра DEFER REGISTER, а для загрузки регистра частоты необходимо две таких пересылки.

Приведем пример последовательности команд для установления частоты синтезатора. Пусть необходимо в качестве рабочего регистра выбрать FREQ1 регистр и установить частоту OUT = 1,1234567 МГц при тактовой частоте MCLK  = 25 МГц. Выбор рабочего регистра частоты пусть производится программным способом (SELSRC = 1).

1) Выводим синтезатор из спящего режима, устанавливаем бит SELSRC = 1 (как это сделать – см. рис. 4.3). На входе FSELECT нужно установить логический 0.

2) Указываем в качестве рабочего регистра FREQ1 REG, для чего отправляем в синтезатор команду D15…D0 = 0101 1 00000000000, см. табл. 4.2 и рис. 4.3. 

3) Находим содержание байтов 8H MSBs…8L LSBs (рис.4.4), используя встроенный калькулятор Windows:

FREQ = (OUT / MCLK )* 232 » 19300839110 = 1011100000010001001100000111;

8H MSBs = 00001011;   8L MSBs = 10000001;

8H LSBs = 00010011;    8L LSBs = 00000111.

4) Записываем 8 бит частоты в DEFER REGISTER, начиная с самого старшего байта 8H MSBs (что не обязательно). Для этого записываем команду D15…D0 = 0011 0111 00001011, см. табл. 4.1, 4.2 и рис. 4.3.

5) Записываем еще 8 бит частоты (это 8L MSBs)  и отправляем вместе 8H MSBs и 8L MSBs в регистр FREQ1 REG с помощью команды D15…D0 = 0010 0110 10000001.

6) Аналогично загружаем 8 бит частоты (теперь это 8H LSBs) в DEFER REGISTER: D15…D0 = 0011 0100 00010011.

7) Дописываем последние 8 бит частоты (это 8L LSBs)  и отправляем вместе 8H LSBs и 8L LSBs в регистр FREQ1 REG с помощью команды D15…D0 = 0010 0110 00000111.

После этой записи на выходе ИМС появляется колебание с требуемой частотой.

Таблица 4.2