Показано с 1 по 10 из 10
  1. #1
    Без позывного
    Регистрация
    03.03.2006
    Возраст
    40
    Сообщений
    6
    Поблагодарили
    0
    Поблагодарил
    0

    Red face помогите изучить Ad9854

    пытаюсь по документации на Ad9854 изучить 5 программируемых режимов работы данного частотного синхронизатора и для начала возник такой вопрос:
    как правильно закодировать значение фазы? выделено под это дело 16 бит, причем 14 и 15 бит не используется, т.е. у меня осталось 14 разрядов...
    минимально значение фазы 0, максимальное 360? если так то, чтобы закодировать 360 градусов, в принципе, необходимо только 9 разрядов, т.е. 360=101101000 или все же можно вводить не только целое значение, а например 45,5 градусов?


  2. #2
    Standart Power Аватар для UA1ARN
    Регистрация
    14.02.2005
    Адрес
    Санкт-Петербург
    Возраст
    60
    Сообщений
    482
    Поблагодарили
    35
    Поблагодарил
    11
    посмотрите внимательней на структурную схему...
    младший значащий бит - это 1/2**14 от полного оборота.
    то есть, 270 градусов - это код 11000000000000.
    кроме того, советую обратить внимание - сдвиг фаз между синусным и косинусным выходами не управляется.
    если надо делать выход двух сигналов с программируемым сдвигом - надо ставить две Ad9852 или Ad9854 в засинхронизированном включении и двигать фазу одного из них.

  3. #3
    Без позывного
    Регистрация
    03.03.2006
    Возраст
    40
    Сообщений
    6
    Поблагодарили
    0
    Поблагодарил
    0
    спасибо, теперь стало ясно по какой формуле необходимо кодировать значение фазы
    т.е. будет так: если необходимо закодировать 270 градусов, то необходимо (270/360)*16384=12288 перевожу в 2 с/с и получаю 11000000000000
    где 16384 - это 2 в 14-ой степени (2**14)
    ещё все же хотелось бы уточнить: если значение вводится нецелое, например 45,5 то необходимо округлить значение? {(45,5/360)*16384}

  4. #4
    Standart Power Аватар для UA1ARN
    Регистрация
    14.02.2005
    Адрес
    Санкт-Петербург
    Возраст
    60
    Сообщений
    482
    Поблагодарили
    35
    Поблагодарил
    11
    Обычно такие вычисления делаются целочисленной арифметикой.

    Если сдвиг фаз задается в целых градусах
    code = deltafi * 16384 / 360

    Так Вам надо с точностью до одной десятой градуса? Ничего округлять не надо!
    Есди сдвиг фаз задается в десятых долях градуса - в Вашем случае 455 -
    code = deltafi * 16384 / 3600

    Естественно, надо следить за отсутствием переполнения промежуточного результата. Например, в Win32 API есть функция MulDiv. Для микропроцессоров, где приходится писать такую арифметику самому, обычно алгоритмы умножения и деления согласовываются по результатам - то что получилось после умножения - результат размером как оба сомножителя - можно прямо подать на деление как делимое.

    Здесь принцип такой же, как и с расчетом FTW. Если захотите частоту с точностью до мегагерца расчитать - берем формулу:
    FTW = freq * (2 ^ 48) / 200 - это для 200 мегагерц тактовой.
    Если с точностью до герца -
    FTW = freq * (2 ^ 48) / 200000000 - тоже для 200 мегагерц тактовой.

    Естественно, частота на выходе и тактовая частота меряются в одинаковых единицах.

    Да, поделюсь трюком - когда достаточно точности 32-битного FTW, расчеты делаем с 2^32, а при выдаче FTW младшие 16 бит пишем нулями. По идее, должно повышать качество спектра.

  5. #5
    Без позывного
    Регистрация
    03.03.2006
    Возраст
    40
    Сообщений
    6
    Поблагодарили
    0
    Поблагодарил
    0
    Геннадий, простите за назойливость, но формулу
    Цитата Сообщение от Геннадий Завидовский
    Так Вам надо с точностью до одной десятой градуса? Ничего округлять не надо!
    Есди сдвиг фаз задается в десятых долях градуса - в Вашем случае 455 -
    code = deltafi * 16384 / 3600
    я не совсем поняла...

    вообще, я мало что понимаю в этом AD9854 и пытаюсь разобраться в принципах его работы, что как кодировать, чтобы написать приложение,с помощью которого в зависимости от выбранного режима пользователь будет вводить те или иные данные... но для меня это все темный лес

    и я Вам буду очень признательна, если Вы мне поможите с этим...

  6. #6
    Standart Power Аватар для UA1ARN
    Регистрация
    14.02.2005
    Адрес
    Санкт-Петербург
    Возраст
    60
    Сообщений
    482
    Поблагодарили
    35
    Поблагодарил
    11
    Извините, что сразу углубился в дебри - по вопросу, относящемуся к одному из блоков я подумал, что с остальным у Вас все хорошо...
    Ну если пользователь... тогда, введенные пользователем данные преобразовать к тому формату что надо... хоть с плавающей точкой, хоть как - и выдавать в микросхему. Для чего программа пишется - для аналог девайсовской эвалюэйшин боард? Дайте адрес, вышлю исходники одной из многочисленных программ для управления DDS, которые мне пришлось написать...
    Навыки программирования пользовательских приложений есть? под какой операционкой работать будет? Что за аппаратура? Учебная работа?

  7. #7
    Без позывного
    Регистрация
    03.03.2006
    Возраст
    40
    Сообщений
    6
    Поблагодарили
    0
    Поблагодарил
    0
    Геннадий, шлите информацию на SunnyVa@Rambler.ru... или свяжитесь со мной по icq...
    я пытаюсь со всем этим разобраться для дипломной работы: т.е. моя задача написать приложение, с помощью которого можно будет управлять AD9854... С самим программированием этого пользовательского приложения, думаю у меня проблем не будет - моя сейчас главная проблема - это изучить AD9854... (Интерфейс будет написан с использованием Measurement Studio компании National Instruments)

  8. #8
    Standart Power Аватар для UA1ARN
    Регистрация
    14.02.2005
    Адрес
    Санкт-Петербург
    Возраст
    60
    Сообщений
    482
    Поблагодарили
    35
    Поблагодарил
    11
    Письмо вернулось... рамблеру не нравится мой рабочий адрес...

    ----- Transcript of session follows -----
    ... while talking to imx1.rambler.ru.:
    >>> DATA
    <<< 450 <Genadi.Zawidowski@xxxxxxxxxxxxxx.com>: Sender address rejected: unverified address: host mail1.xxxxxxxxxxxxxxxxxxxx.com[62.181.55.66] said: 451 4.7.1 Greylisting in action, please come back in 00:05:00 (in reply to RCPT TO command) <SunnyVa@Rambler.ru>... Deferred: 450 <Genadi.Zawidowski@XXXXXXXXXX.com>: Sender address rejected: unverified address: host mail1.XXXXXXXXXXX.com[62.181.55.66] said: 451 4.7.1 Greylisting in action, please come back in 00:05:00 (in reply to RCPT TO command)
    Warning: message still undelivered after 4 hours
    Will keep trying until message is 2 weeks old

  9. #9
    Без позывного
    Регистрация
    03.03.2006
    Возраст
    40
    Сообщений
    6
    Поблагодарили
    0
    Поблагодарил
    0
    Геннадий, попробуйте выслать на адрес SunnyVa@probkistars.com или SunnyVa@mylen.ru

  10. #10
    Без позывного
    Регистрация
    03.03.2006
    Возраст
    40
    Сообщений
    6
    Поблагодарили
    0
    Поблагодарил
    0
    нет, мне пришло от Вас письмо... спасибо огромное... сегодня вечером обязательно все просмотрю...
    Цитата Сообщение от SunnyVa
    Геннадий, попробуйте выслать на адрес SunnyVa@probkistars.com или SunnyVa@mylen.ru

Похожие темы

  1. Dds Ad9854
    от Leper в разделе Общие вопросы
    Ответов: 4
    Последнее сообщение: 20.08.2004, 21:07

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Похоже, что вы используете блокировщик рекламы :(
Форум QRZ.RU существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×
Рейтинг@Mail.ru
eXTReMe Tracker


Похоже, что вы используете блокировщик рекламы :(
Форум QRZ.RU существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×