|
ATmega8 + lmx2326, управляющее слово |
|
|
|
Feb 20 2009, 08:53
|

Местный
  
Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716

|
Нужно для себя сделать универсальный синтезатор 100 MHz - 2 GHz , почитал доку на 2326 полоса 0,1 МГц- 2,8ГГц . Надеюсь хватит с запасом по верхней частоте . Возникла проблема с пересчетом для данного pll lmx2326 . Глянул ДШ на нее но не совсем понятно К примеру есть формула пересчета fvco = [(P x  + A] x fosc/R // частота ГУНа считается по формуле B: Preset divide ratio of binary 13-bit programmable counter (3 to 8191) \\ что выставляется здесь A: Preset divide ratio of binary 5-bit swallow counter (0 £ A £ 31; A £ B for LMX2326) \\ что выставляется здесь fosc: Частота опорного генератора к примеру 10 МГц R: Preset divide ratio of binary 14-bit programmable reference counter (3 to 16383) предделитель утановки частоты P: Preset modulus of dual modulus prescaler // LMX2326; P = 32 Частота гуна = [(32x8191)+31] x 10000000/3 = 262 143 x 3333333.3 = 873 810 000 Это получается унас частота ГУНа , но почему то линнейного пересчета вкурить не могу .  . Буду рад пинку в нужную сторону
|
|
|
|
|
 |
Ответов
|
Feb 20 2009, 16:25
|

Местный
  
Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716

|
>>Выбираете шаг перестройки. Это будет Fref. Рассчитываете R: R = Fosc / Fref. К примеру у меня опорник ( Fosc) будет 10,240 МГц (как делают многие), шаг сетки (Fref) 5 кГц считаем 10240 / 5 = 2048 DEC -> 0x800 hex R = 0x800 >>Находите коэф. деления N нужной вам частоты: N = Fvco / Fref. Нужно получить частоту ГУНа (Fvco) 100 МГц 100000 / 5 = 20000 dec -> 0x4E20 hex >>5 младших бит получившегося числа будет А. Следующие 13 будут B. 0x4E20 = 0b 0100 1110 001 0 0000 B A A = 0 0000 B = 010 0111 0001 = 625 dec = 0x271 >>P = 2^5 = 32, те самые 5 бит A. Все число N = P * B + A P = 32 N = 32 * 625 + 0 = 20000 dec = 0x4E20 С этим понятно , теперь идем к выводу информации в LMX2316/26 R = 0x800 его мы заносим в 14-BIT PROGRAMMABLE REFERENCE DIVIDER RATIO (R COUNTER) Посылка первый 21 бит биты 1 2 - контрольные биты = 0 , биты 1 2 3 4 5 6 7 8 9 10 11 12 13 14 = R COUNTER = в данном случае 0х800 , биты 15 16 17 18 должны быть 0 в нормальном режиме , бит 19 MSB не понятно 0 или 1 писать в него . Затем посылка следующих 21 бит биты 1 2 - контрольные биты = 0 , биты 1 2 3 4 5 = А и тоже = 0 , биты 6 7 8 9 10 11 12 13 14 15 16 17 18 = числу В = 0 0010 0111 0001 (добавляем 2 нуля в старшие разряды ) бит 19 MSB не понятно 0 или 1 писать в него . В принципе вот такой расчет вывел из предложения выше , спасибо за подсказку , теперь надо проверить это на железе , и остается вопрос правильно ли все я понял и MSB не понятно 0 или 1 писать в него ? . CODE out_lmx: mov r29, r19 rcall out_byte mov r29, r20 rcall out_byte mov r29, r21 rcall out_byte nop nop nop sbi PORTB,CE sbi PORTB,CE nop nop cbi PORTB,CE cbi PORTB,CE nop nop ret
out_byte: ldi r28, 8 otb: clc rol r29 brcc dat_0 sbi PORTB,DAT rjmp pulse
dat_0: cbi PORTB,DAT pulse: nop nop sbi PORTB,CLOCK nop nop cbi PORTB,CLOCK nop nop dec r28 brne otb ret Вот так вот получилось в плане вывода .
Сообщение отредактировал Павлик - Feb 20 2009, 16:37
|
|
|
|
|
Feb 20 2009, 18:58
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(=GM= @ Feb 20 2009, 19:44)  Учтите, выводить нужно 21 бит, а не 24 как у вас, а СЕ=0 должно стоять перед началом вывода бит. Не обязательно. Защелкнутся последние 21 бит. Запись происходит по фронту CE, где будет срез - абсолютно не важно(картина 1.4). Я гружу LMX2332 обоими способами. Цитата(Павлик @ Feb 20 2009, 18:25)  бит 19 MSB не понятно 0 или 1 писать в него . Раздел 1.3.2. Если я правильно его понял - зависит от того, по каким критериям вы хотите оценивать факт захвата. Цитата(Павлик @ Feb 20 2009, 18:25)  бит 19 MSB не понятно 0 или 1 писать в него . А это зависит от вашей реализации захвата: будете использовать быстрый захват - записываете 1, ждете захвата, записываете 0. Не будете - записываете 0 сразу. Раздел 1.3.4. И не забудьте прописать регистр F. P.S. Я работал с LMX2332 и PMB2306. По вашему LMX2326 могу подсказать только то, что можно прочесть в даташите. Да, и выводить можно сразу три байта в одном цикле: CODE LoadSynth: LDI R20,19 LoadCycle: off(SYNTH_CLK)
SBRC R18,3 ; if(Value & (1L << 18) on(SYNTH_DATA) SBRS R18,3 ; else off(SYNTH_DATA)
on(SYNTH_CLK) LSL R16 ROL R17 ; Value <<= 1; ROL R18 DEC R20 BRNE LoadCycle
on(SYNTH_LOAD) off(SYNTH_LOAD) RET
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Feb 20 2009, 23:40
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(Сергей Борщ @ Feb 20 2009, 18:58)  Не обязательно. Защелкнутся последние 21 бит. Запись происходит по фронту CE, где будет срез - абсолютно не важно(картина 1.4) Скорее всего можно выдвигать 24 бита, хотя я вот недавно столкнулся с цапом с последовательным вводом, где перезапись идёт либо по приходу 16 бит, либо по фронту LE. Вы-то сами почему в своей программе выдвигаете 19 бит, а не 21? Считаете, что всё равно запишется куда надо (:-)?
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
Сообщений в этой теме
Павлик ATmega8 + lmx2326 Feb 20 2009, 08:53 _Pasha Цитата(Павлик @ Feb 20 2009, 11:53) Буду ... Feb 20 2009, 09:40 Сергей Борщ Выбираете шаг перестройки. Это будет Fref. Рассчит... Feb 20 2009, 11:09 =GM= Цитата(Павлик @ Feb 20 2009, 08:53) Часто... Feb 20 2009, 12:29    Сергей Борщ Цитата(=GM= @ Feb 21 2009, 01:40) Вы-то с... Feb 21 2009, 08:55 Павлик Понял насчет количества бит , спасибо .
Сейчас по... Feb 20 2009, 19:29 Павлик Да все должно работать , смотрел схему и пробовал ... Feb 21 2009, 06:53 Павлик Для LMX2306 получилось так , приедет образец 2326... Feb 21 2009, 18:50 Павлик Вернусь опять к своей теме , возник очень интерест... Mar 28 2009, 15:09 Genadi Zawidowski Вот тут есть пример работы (с исходниками) - http:... Mar 28 2009, 15:29 Павлик Все это хорошо , но 2306 и 2316 и у меня прекрасно... Mar 28 2009, 15:37 Genadi Zawidowski Цитата(Павлик @ Mar 28 2009, 18:37) Все э... Mar 28 2009, 15:45 Павлик LMX2316/26; P = 32 вот же оно , если 2316 работае... Mar 28 2009, 15:50 Genadi Zawidowski Да, codeloader только при английской локали работа... Mar 28 2009, 15:58 Павлик Скачал версию которая 16,1мб , работает , но нужны... Mar 28 2009, 17:36 Genadi Zawidowski Цитата(Павлик @ Mar 28 2009, 20:36) Скача... Mar 28 2009, 20:34  Сергей Борщ Цитата(Genadi Zawidowski @ Mar 28 2009, 22... Mar 29 2009, 01:05   Genadi Zawidowski Цитата(Сергей Борщ @ Mar 29 2009, 04:05) ... Mar 29 2009, 08:45    Сергей Борщ Цитата(Genadi Zawidowski @ Mar 29 2009, 11... Mar 29 2009, 14:39     Genadi Zawidowski Цитата(Сергей Борщ @ Mar 29 2009, 18:39) ... Mar 29 2009, 18:33 Павлик Программа работает нормально , все расчитал по фор... Mar 31 2009, 04:22 Павлик В общем купил еще пару экземпляров , ведут себя вс... Apr 8 2009, 20:43 Сергей Борщ Цитата(Павлик @ Apr 8 2009, 23:43) Меняю ... Apr 9 2009, 07:48 Павлик Вот собственно код вывода данных в синтез , как я ... Apr 9 2009, 16:40 Genadi Zawidowski Цитата(Павлик @ Apr 9 2009, 20:40)
Проб... Apr 9 2009, 17:10 Сергей Борщ Цитата(Павлик @ Apr 9 2009, 19:40) Вот со... Apr 9 2009, 22:06 Павлик Чта за вывод AUX не понятно , в распиновке мс его ... Apr 9 2009, 17:17 Genadi Zawidowski Цитата(Павлик @ Apr 9 2009, 21:17) Чта за... Apr 9 2009, 20:54 Павлик Через емкость подана , 39пф стоит у меня , ставил ... Apr 10 2009, 04:47 Genadi Zawidowski Цитата(Павлик @ Apr 10 2009, 08:47) Через... Apr 10 2009, 07:03 Павлик Получил еще пару новых микросхем другой партии.
В... Apr 10 2009, 07:24 Pat Доброго здоровья всем.
Проблема с LMX2306
Рассчи... Jun 9 2010, 15:22  Pat Ура заработало (С) Матроскин
Только расскажешь о ... Jun 9 2010, 19:49 ASDFG123 ДД. Как правильно посылать биты на LMX2326 ? допус... Jan 3 2013, 16:28 Genadi Zawidowski Цитата(ASDFG123 @ Jan 3 2013, 20:28) ДД. ... Jan 3 2013, 20:36  ASDFG123 Спасибо
Цитата(Genadi Zawidowski @ Jan 4 2013... Jan 5 2013, 15:22   Genadi Zawidowski Цитата(ASDFG123 @ Jan 5 2013, 19:22) Спас... Jan 15 2013, 20:31 Genadi Zawidowski AD9959 не занимался.
В даташите видно, что данные ... Jan 6 2013, 00:29 ASDFG123 на работу устроился, приходится там чужими косякам... Feb 24 2013, 13:12 -VenoM- Товарищи, день добрый! Стараюсь победить LMX23... Nov 11 2013, 15:23 Genadi Zawidowski 1) есть в даташите параметр - минимальная частота ... Nov 17 2013, 01:05 -VenoM- Цитата(Genadi Zawidowski @ Nov 17 2013, 04... Nov 18 2013, 10:23 -VenoM- в общем, 25МГц микросхема кушает только так. Пробл... Nov 18 2013, 16:54 Genadi Zawidowski А кто сказал, что на этом выходе (LD) будет меандр... Nov 19 2013, 23:08 -VenoM- Цитата(Genadi Zawidowski @ Nov 20 2013, 02... Nov 21 2013, 12:28
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|