реклама на сайте
подробности

 
 
> ATmega8 + lmx2326, управляющее слово
pavel-pervomaysk
сообщение Feb 20 2009, 08:53
Сообщение #1


Местный
***

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



Нужно для себя сделать универсальный синтезатор 100 MHz - 2 GHz , почитал доку на 2326 полоса 0,1 МГц- 2,8ГГц . Надеюсь хватит с запасом по верхней частоте .

Возникла проблема с пересчетом для данного pll lmx2326 . Глянул ДШ на нее но не совсем понятно

К примеру есть формула пересчета

fvco = [(P x cool.gif + 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 Это получается унас частота ГУНа , но почему то линнейного пересчета вкурить не могу . sad.gif .

Буду рад пинку в нужную сторону
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
pavel-pervomaysk
сообщение Feb 20 2009, 16:25
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
=GM=
сообщение Feb 20 2009, 17:44
Сообщение #3


Ambidexter
*****

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



Цитата(Павлик @ Feb 20 2009, 16:25) *
Вот так вот получилось в плане вывода

Учтите, выводить нужно 21 бит, а не 24 как у вас, а СЕ=0 должно стоять перед началом вывода бит. Ну и команда CLC в принципе не нужна.

Перед началом работы не забудьте проинициализировать все необходимые биты.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 20 2009, 18:58
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 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)
Go to the top of the page
 
+Quote Post
=GM=
сообщение Feb 20 2009, 23:40
Сообщение #5


Ambidexter
*****

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



Цитата(Сергей Борщ @ Feb 20 2009, 18:58) *
Не обязательно. Защелкнутся последние 21 бит. Запись происходит по фронту CE, где будет срез - абсолютно не важно(картина 1.4)

Скорее всего можно выдвигать 24 бита, хотя я вот недавно столкнулся с цапом с последовательным вводом, где перезапись идёт либо по приходу 16 бит, либо по фронту LE.

Вы-то сами почему в своей программе выдвигаете 19 бит, а не 21? Считаете, что всё равно запишется куда надо (:-)?


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Павлик   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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 14:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01447 секунд с 7
ELECTRONIX ©2004-2016