|
|
  |
ATmega8 + lmx2326, управляющее слово |
|
|
|
Apr 9 2009, 20:54
|

Профессионал
    
Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634

|
Цитата(Павлик @ Apr 9 2009, 21:17)  Чта за вывод AUX не понятно , в распиновке мс его нету , схему включение я приложил , можно ткнуть на нее. Вывод 14 - Fo/Ld - можно подключить у выходам любого из делителей. Multiplexed Output of the RF Programmable or Reference Dividers and Lock Detect. CMOS output. (See Table 4.)F[3] F[4] F[5] Fo/LD Output State 0 0 0 TRI-STATE 0 0 1 R Divider Output (fr) 0 1 0 N Divider Output (fp)0 1 1 Serial Data Output 1 0 0 Digital Lock Detect (See 1.3.2 LOCK DETECT OUTPUT Section) 1 0 1 n Channel Open Drain Lock Detect (See 1.3.2 LOCK DETECT OUTPUT Section) 1 1 0 Active HIGH 1 1 1 Active LOW
Сообщение отредактировал Genadi Zawidowski - Apr 9 2009, 20:55
|
|
|
|
|
Jan 3 2013, 20:36
|

Профессионал
    
Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634

|
Цитата(ASDFG123 @ Jan 3 2013, 20:28)  ДД. Как правильно посылать биты на LMX2326 ? допустим N counter 10 00000 000100000000 это правильно, для делителя 256 ? с1 с2 впереди при передаче задом наперед. 01 00 010 000000000000 это выход Fo/ld на N counter ? в каком порядке надо все это записывать, надо ли записывать R counter? и для чего режим с1 с2 [1,1] ? в самом начале темы еще был вопрос, аппаратный SPI в авр передает токо байтами, и как себя ведет LMX если передать ей 24 бит и только потом LE =1 ?
пока разбираюсь только с прескаллером, но хочу сделать генератор/частотомер приборчик. c2, c1 - это всегда последние два бита в передаче. Кладите в регистр SPI передатчика, передающего старшим битом вперёд значения (не переворачивая ничего!) - старшие раньше, потом младшие - и передавайте. Всё там нормально. Да, воспринимаются последние перед подъёмом LE биты. т.е., дополняете первыми нулями до 24 бит. SPI в MODE3, если что.
Сообщение отредактировал Genadi Zawidowski - Jan 3 2013, 20:41
|
|
|
|
|
Jan 5 2013, 15:22
|
Частый гость
 
Группа: Участник
Сообщений: 165
Регистрация: 2-01-13
Пользователь №: 75 042

|
Спасибо Цитата(Genadi Zawidowski @ Jan 4 2013, 02:36)  SPI в MODE3 третий режим это же CLOСK=1 и смена данных при падении уровня? с даташитом чет не совпадает. режим 0  режим 3  а вот даташит а для того чтобы запустить прескалер надо, сначала загрузить фукциональный блок, затем N счетчик, и все ? п.с Genadi Zawidowski вы DDS синтезаторами типа AD9959 не занимались ?
Сообщение отредактировал ASDFG123 - Jan 5 2013, 15:24
Эскизы прикрепленных изображений
|
|
|
|
|
Jan 6 2013, 00:29
|

Профессионал
    
Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634

|
AD9959 не занимался. В даташите видно, что данные защёлкиваются по нарастающему фронту. В том устройстве, что у меня есть, на SPI может быть только MODE3 и MODE2. Соберите макет и попробуйте с разными SPI MODE, если 3-й не нравится, расскажете...
Скажу честно, отдельно прескалер от всего я не проверял... Если Вам хочется просто предделитель сделать - программируйте все регистры (там, в даташите, написано о приостановке счёта N после пограммирования R, если не ошибаюсь). Короче, в даташите ВСЁ написано. Исходники программ я выкладывал, последовательности проверенны.
Сообщение отредактировал Genadi Zawidowski - Jan 6 2013, 00:38
|
|
|
|
|
Nov 11 2013, 15:23
|
Группа: Новичок
Сообщений: 4
Регистрация: 9-10-13
Пользователь №: 78 656

|
Товарищи, день добрый! Стараюсь победить LMX2347. Инициализация, вроде, проходит успешно. Но частота скачет в пределах 2кГц, деление происходит непонятно. учитывая что подаю сигнал с кварцевого резонатора, он очень стабильный (и то то другое контролирую ч3-63/1 поверенным). Вот как у меня странно делится частота (в качетве примера, коэф. деления брал любые): 1. подаю 25.000.00 Гц. В=3,A=3 --> N=99. Т.е. 25.000.00/100=25.000. У меня почему-то 18.000.00 2. подаю 25.000.00 Гц. В=7,А=3 --> N=227. Т.е. 25.000.00/227=11013. У меня почему-то 7.712.00 2. подаю 25.000.00 Гц. В=11,А=3 --> N=355. Т.е. 25.000.00/355=7042. У меня почему-то 4.908.00 Ну и так далее. Т.е. микросхема реагирует на конфигурацию, выключается, включается, меняется коэфф. деления, но где-то ошибка. Код инициализации. CODE /*настройка микросхемы lmx_2347 Порядок настройки: 1. Запись в регистр "N". NB_CNTR [9:0]=0000000011, NA_CNTR[4:0]=00011, PD[1:0]=00, ADDR=0. Коэфф. деления N=32*B+A, B>=A. В=3,A=3 --> N=99 2. Запись в регистр "R". R_OPT[2:0]=000, LD_OUT[1:0]=11, PD_POL=1, CP_TRI=1, R_CNTR[9:0]=0000000000, ADDR=1*/ void lmx_2322_tune(void) { /*1. Запись в регистр "N"*/ char i; lmx_cfgL=0b00000000;//последние 2 бита lmx_cfgM=0b11000110;//следующие 8 бит lmx_cfgH=0b00000000;//первые 8 бит, начиная с MSB //LMX_LE=1; Delay10TCYx(1);//задержка 240нс LMX_LE=0; LMX_CLK=0; Delay10TCYx(1); Delay1TCY(); for(i=7;i>=0;i--) { LMX_DATA=(lmx_cfgH>>i)&0b00000001; //Delay1TCY(); LMX_CLK=1; Delay10TCYx(1);//задержка 240нс LMX_CLK=0; Delay10TCYx(1);//задержка 240нс }
for(i=7;i>=0;i--) { LMX_DATA=(lmx_cfgM>>i)&0b00000001; //Delay1TCY(); LMX_CLK=1; Delay10TCYx(1);//задержка 240нс LMX_CLK=0; Delay10TCYx(1);//задержка 240нс }
for(i=7;i!=5;i--) { LMX_DATA=(lmx_cfgL>>i)&0b00000001; //Delay1TCY(); LMX_CLK=1; Delay10TCYx(1);//задержка 240нс LMX_CLK=0; Delay10TCYx(1);//задержка 240нс }
Delay10TCYx(1);//задержка 240нс Delay10TCYx(1);//задержка 240нс LMX_LE=1; Delay10TCYx(1);//задержка 240нс LMX_LE=0;
/* 2. Запись в регистр "R"*/ lmx_cfgL=0b01000000; lmx_cfgM=0b00000000; lmx_cfgH=0b00011110; Delay10TCYx(1);//задержка 240нс LMX_LE=0; LMX_CLK=0; Delay1TCY(); for(i=7;i>=0;i--) { LMX_DATA=(lmx_cfgH>>i)&0b00000001; LMX_CLK=1; Delay10TCYx(1);//задержка 240нс LMX_CLK=0; Delay10TCYx(1);//задержка 240нс }
for(i=7;i>=0;i--) { LMX_DATA=(lmx_cfgM>>i)&0b00000001; LMX_CLK=1; Delay10TCYx(1);//задержка 240нс LMX_CLK=0; Delay10TCYx(1);//задержка 240нс }
for(i=7;i!=5;i--) { LMX_DATA=(lmx_cfgL>>i)&0b00000001; LMX_CLK=1; Delay10TCYx(1);//задержка 240нс LMX_CLK=0; Delay10TCYx(1);//задержка 240нс } Delay10TCYx(1);//задержка 240нс LMX_LE=1; } Схема, по которой включаю (сделал переходную платку для макета). Частоту подаю на вход Fin.
Сообщение отредактировал IgorKossak - Nov 11 2013, 21:43
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|