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

 
 
 
Reply to this topicStart new topic
> программирование синтезаторов частоты
vrt90
сообщение May 4 2008, 15:31
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 1-05-07
Пользователь №: 27 434



Доброго времени суток
Недавно приобрёл по случаю несколько микросхем синтезаторов частоты TSA5512, LMX1501, LC72131, LC7218, UMA1014. Было желание рассчитать синтезатор на диапазон 140 -160 МГц, приспособить к нему PIC16F628 или PIC12F629 (потому что они есть и есть скромный опыт написания программ к ним), НО ПОИСК НЕ РУЛИТ... В Инете не нашел расчет коэффициентов деления для них (по крайней мере на родном русском), длятого чтобы написать к ним программу. На LM7001 вроде есть русскоязычная информация, но низковата верхняя частота и велик шаг перестройки. На другие синтезаторы даташиты нашел (не хочу застрять в английском). Может кто подкинет ссылочку на подробное описание их программирования, или какие примеры применения. Заранее спасибо
Желающим помочь - даташиты
Прикрепленные файлы
Прикрепленный файл  LC72131_2.PDF ( 402.66 килобайт ) Кол-во скачиваний: 95
Прикрепленный файл  LMX1501_1_.pdf ( 563.22 килобайт ) Кол-во скачиваний: 89
 
Go to the top of the page
 
+Quote Post
*antzol*
сообщение May 4 2008, 16:44
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 6-11-07
Пользователь №: 32 085



А почему не выразить коэффициенты из формул в даташитах? Для этого они там и даны. smile.gif
Вот хотя бы для LMX1501A
Fvco = [P*B+A]*(Fosc/R)
Например, нужен ГУН на 150МГц, есть опорник на 10МГц, шаг перестройки ГУНа 100кГц.
У LMX1501A предделитель на 64 => P=64
R = 10МГц / 100кГц = 100
N = 150МГц / 100кГц = 1500
1500/64=23,43 => B=23
A = N - P*B = 1500 - 64*23 = 28
Вот и всё...

ЗЫ. На сайте Analog Device есть программа ADIsimPLL. Она рассчитывает и коэффициенты, и элементы ФНЧ.
Go to the top of the page
 
+Quote Post
vrt90
сообщение May 5 2008, 15:22
Сообщение #3





Группа: Участник
Сообщений: 12
Регистрация: 1-05-07
Пользователь №: 27 434



Цитата(*antzol* @ May 4 2008, 22:44) *
А почему не выразить коэффициенты из формул в даташитах? Для этого они там и даны. smile.gif
Вот хотя бы для LMX1501A
Fvco = [P*B+A]*(Fosc/R)
Например, нужен ГУН на 150МГц, есть опорник на 10МГц, шаг перестройки ГУНа 100кГц.
У LMX1501A предделитель на 64 => P=64
R = 10МГц / 100кГц = 100
N = 150МГц / 100кГц = 1500
1500/64=23,43 => B=23
A = N - P*B = 1500 - 64*23 = 28
Вот и всё...

ЗЫ. На сайте Analog Device есть программа ADIsimPLL. Она рассчитывает и коэффициенты, и элементы ФНЧ.

Собственно говоря, меня интересовал формат и способ отправки этих коэффициентов (например, столько-то байт на ДПКД, затем столько-то байт на ДФКД, далее адрес устройства и т.д), какие временнЫе отношения нужно закладывать (сколько милисекунд единица или ноль)
Спасибо за отзыв
Go to the top of the page
 
+Quote Post
*antzol*
сообщение May 5 2008, 17:12
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 6-11-07
Пользователь №: 32 085



Сам сталкивался только с LMX2306 и LMX2316, но они управляются так же как и LMX1501A:
1) передаются 20 бит команды установки режимов
2) потом 21 бит значения коэффициента деления частоты опорного генератора
3) и последнее - 21 бит - значение коэффициента деления частоты ГУН
Для унификации подпрограмм передачи в команде установки режимов я передавал тоже 21 бит (добавлял вперед 0).

Программно реализовывал на асме. Вот кусок кода:

; Определение портов
out_port equ PORTB ; Порт для вывода команд на синтезаторы
out_tris equ TRISB
clk equ 2 ; синхронизация по битам
dat equ 1 ; данные
le1 equ 0 ; синхронизация по командам синтезатора гетеродина

; какой-то код...

osc_del
; Передача значения коэффициента деления частоты опорного генератора
;-----------------------------------------------------------------------------
movlw b'0000000'
movwf part1
movlw b'0010100'
movwf part2
movlw b'0000000'
movwf part3
call wr_comand_1
;----------------------------------------------------


;тут еще что-нибудь...

; Подпрограммы для работы с LMX
;===============================================================================
====

wr_comand_1
; Подпрограмма передачи команды на синтезатор гетеродина
;----------------------------------------------------------------------------------
bcf out_port, le1
nop
movf part1, W
movwf part
call wr_part
movf part2, W
movwf part
call wr_part
movf part3, W
movwf part
call wr_part
nop
bsf out_port, le1
return
;----------------------------------------------------------------------------------

wr_part
; Подпрограмма передачи одной из 3-ех 7-разрядных частей команды для LMX2316
;------------------------------------------------------------------------------
movlw h'07'
movwf count
wr_loop
btfsc part, 6
bsf out_port, dat
nop
bsf out_port, clk
nop
bcf out_port, clk
nop
bcf out_port, dat
rlf part, W
rlf part, F
decfsz count, F
goto wr_loop
return
;------------------------------------------------------------------------------

А временные нормы есть в даташите. Этот код был для контроллера с кварцем 5МГц, никаких задержек между командами не было.

P.S. Не нашел тегов для кода, так что надеюсь, выглядит читаемо.

Сообщение отредактировал *antzol* - May 5 2008, 17:16
Go to the top of the page
 
+Quote Post
vrt90
сообщение May 6 2008, 16:20
Сообщение #5





Группа: Участник
Сообщений: 12
Регистрация: 1-05-07
Пользователь №: 27 434



Цитата(*antzol* @ May 5 2008, 23:12) *
Сам сталкивался только с LMX2306 и LMX2316, но они управляются так же как и LMX1501A:
1) передаются 20 бит команды установки режимов
2) потом 21 бит значения коэффициента деления частоты опорного генератора
3) и последнее - 21 бит - значение коэффициента деления частоты ГУН
Для унификации подпрограмм передачи в команде установки режимов я передавал тоже 21 бит (добавлял вперед 0).

Программно реализовывал на асме. Вот кусок кода:

; Определение портов
out_port equ PORTB ; Порт для вывода команд на синтезаторы
out_tris equ TRISB
clk equ 2 ; синхронизация по битам
dat equ 1 ; данные
le1 equ 0 ; синхронизация по командам синтезатора гетеродина

; какой-то код...

osc_del
; Передача значения коэффициента деления частоты опорного генератора
;-----------------------------------------------------------------------------
movlw b'0000000'
movwf part1
movlw b'0010100'
movwf part2
movlw b'0000000'
movwf part3
call wr_comand_1
;----------------------------------------------------
;тут еще что-нибудь...

; Подпрограммы для работы с LMX
;===============================================================================
====

wr_comand_1
; Подпрограмма передачи команды на синтезатор гетеродина
;----------------------------------------------------------------------------------
bcf out_port, le1
nop
movf part1, W
movwf part
call wr_part
movf part2, W
movwf part
call wr_part
movf part3, W
movwf part
call wr_part
nop
bsf out_port, le1
return
;----------------------------------------------------------------------------------

wr_part
; Подпрограмма передачи одной из 3-ех 7-разрядных частей команды для LMX2316
;------------------------------------------------------------------------------
movlw h'07'
movwf count
wr_loop
btfsc part, 6
bsf out_port, dat
nop
bsf out_port, clk
nop
bcf out_port, clk
nop
bcf out_port, dat
rlf part, W
rlf part, F
decfsz count, F
goto wr_loop
return
;------------------------------------------------------------------------------

А временные нормы есть в даташите. Этот код был для контроллера с кварцем 5МГц, никаких задержек между командами не было.

P.S. Не нашел тегов для кода, так что надеюсь, выглядит читаемо.

Спасибо за помощь, уже есть зацепка, буду разбираться
На это уйдёт время (основная работа выматывает), как только будет результат обязательно отпишусь
С наступающим днём РАДИО, слава Богу есть такие же как и я больные на голову smile.gif
Go to the top of the page
 
+Quote Post
*antzol*
сообщение May 6 2008, 17:59
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 6-11-07
Пользователь №: 32 085



Спасибо. smile.gif
Вас тоже с наступающим.
Go to the top of the page
 
+Quote Post
anaconda
сообщение Jul 6 2008, 08:56
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 18-11-07
Пользователь №: 32 418



Кто может привести 21-битные(по битам) последовательности для LMX2306? Кварц - 7.200МГц, шаг 100Кгц, VCO - 96Мгц. Несколько дней с ними мучаюсь, результат один и тотже - на 2-ой ноге LMX +5V.
Заранее спасибо.
Go to the top of the page
 
+Quote Post
SergM
сообщение Jul 6 2008, 12:01
Сообщение #8


Местный
***

Группа: Модераторы
Сообщений: 392
Регистрация: 23-06-04
Из: Харьков
Пользователь №: 151



Цитата(anaconda @ Jul 6 2008, 11:56) *
Кто может привести 21-битные(по битам) последовательности для LMX2306? Кварц - 7.200МГц, шаг 100Кгц, VCO - 96Мгц. Несколько дней с ними мучаюсь, результат один и тотже - на 2-ой ноге LMX +5V.
Заранее спасибо.
У National Semiconductor на этот счет есть замечательный инстумент - программа "PLL Code Loader and Driver Software (Codeloader, 841KB)":
Цитата
National is proud to present this software for programming all of National's RF wireless products. This is the software that can be used to program a PLL via the parallel port of a computer. Aside from this function, it is also a useful tool in addressing questions concerning how to program the part, because it shows the bits that are actually sent. This can also be useful in determining counter values and prescalers.
C ее помощью необходимое содержимое регистров получить не просто, а очень просто:

Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение


Там-же, на сайте www.national.com после регистрации, можно посчитать параметры фильтра, позабавляться с моделированием работы кольца, полюбоваться красивыми графиками... wink.gif
Go to the top of the page
 
+Quote Post
anaconda
сообщение Jul 6 2008, 12:09
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 18-11-07
Пользователь №: 32 418



Да спасибо, программку я уже обнаружил. А что значит Phase Detector Polarity. Когда плюс - со 2-ой ноги LMX выходти 0V, когда минус - выходит 5V. Какая последовательность загрузки последовательностей(F,R,N)?

Сообщение отредактировал anaconda - Jul 6 2008, 12:12
Go to the top of the page
 
+Quote Post
anaconda
сообщение Jul 10 2008, 17:56
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 18-11-07
Пользователь №: 32 418



Микросхему запрограммировал, а ГУН не работает. Со 2-ой ноги LMX постоянно 0V. Если запрограммировать 14 ногу LMX на выдачу N Divider, частота прыгает около частоты сравнения, 80-120KHz(шаг 100KHz). Почему скачет, а не стоит на месте. Может малый уровень сигнала на входе RF IN(6-ая нога)???

Сообщение отредактировал anaconda - Jul 10 2008, 17:57
Go to the top of the page
 
+Quote Post
*antzol*
сообщение Jul 10 2008, 18:13
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 6-11-07
Пользователь №: 32 085



А ФНЧ после фазового детектора рассчитан?
Go to the top of the page
 
+Quote Post
anaconda
сообщение Jul 15 2008, 18:12
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 18-11-07
Пользователь №: 32 418



ФНЧ рассчитал, результата нет. На 14 ноге LMX 20-40КГц(шаг 10КГц), на варикапе 0V. В чем еще может быть проблема???
Go to the top of the page
 
+Quote Post
anaconda
сообщение Jul 16 2008, 19:24
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 18-11-07
Пользователь №: 32 418



Может кто-нибудь посоветует, что делать???
Go to the top of the page
 
+Quote Post
anaconda
сообщение Jul 18 2008, 19:47
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 18-11-07
Пользователь №: 32 418



Что, никто не поможет? Может быть есть схема ГУНа 100% рабочая для этого синтезатора?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 10:49
Рейтинг@Mail.ru


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