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

 
 
 
Reply to this topicStart new topic
> AD9856, способ подачи входных данных, помогите разобраться
Anton75
сообщение Apr 19 2013, 07:57
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 13-05-05
Из: Санкт-Петербург
Пользователь №: 4 982



Никак не разберусь с диаграммами подачи входных данных. Например, 12-bit input mode, Classic burst timing (в даташите на стр.18 рисунок 24)
Из рисунка видно, что сигнал TxENABLE переходит в состояние логической единицы и в нем сохраняется постоянно. Ниже нарисованы меняющиеся данные I и Q.
Неясно, каким образом микросхема "понимает", когда на вход подано I, а когда Q. Ведь никакого синхронизирующего сигнала для этого нет, кроме, возможно, тактовой частоты.
Значит ли это, что я обязан менять I и Q с частотой следования тактов? Первый фронт тактового импульса после поднятия TxENABLE запишет данные в I, второй - в Q, и так далее?

Задача - получить обычную амплитудную модуляцию. Для этого мне нужно, чтобы I менялось в соответствии с моими данными (довольно медленными - звуковая частота), а Q всегда было равно нулю.
Подскажите, как этого лучше добиться? Думаю, лучше всего здесь подходит Continuous Mode и Alternate TxENABLE timing (рис.25)?

Сообщение отредактировал Anton75 - Apr 19 2013, 07:59
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
dm.pogrebnoy
сообщение Apr 19 2013, 20:41
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



Емнип, после подъема TxEnable нужно выдавать на каждом такте компоненты с чередованием и дальше придерживатся этого порядка, до следующего подъема TxEnable, т.е. придерживаться временной диаграммы 24, как она нарисована. Впринципе оба варианта имеют свои достоинства и недостатки, но второй вариант выглядит более наглядным.


--------------------
Go to the top of the page
 
+Quote Post
Anton75
сообщение Apr 22 2013, 06:09
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 13-05-05
Из: Санкт-Петербург
Пользователь №: 4 982



Внезапно осознал, что для получения простой АМ необязательно разделять I и Q, можно давать одно и то же мгновенное значение огибающей сразу в оба канала, это приведет к выигрышу в уровне выходного сигнала, поскольку максимальное значение sin(x)+cos(x) больше единицы. Однако, с вопросом разделения данных хочется разобраться.

Цитата(dm.pogrebnoy @ Apr 20 2013, 00:41) *
выдавать на каждом такте компоненты с чередованием


Т.е. на первый такт после подъема TxENABLE выдаю I, на второй Q, и так далее?

Цитата(dm.pogrebnoy @ Apr 20 2013, 00:41) *
придерживаться временной диаграммы 24, как она нарисована


В том то и дело, что тактовый сигнал там не нарисован, потому и возник вопрос. Не вспомните, по фронту или по срезу тактового сигнала происходит запись? А если я использую внутренний умножитель частоты, то к тактам не привязаться?
Go to the top of the page
 
+Quote Post
shf_05
сообщение Apr 22 2013, 17:10
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



точно привязываться к тактовым сигналам не надо - в даташите пишут примерно по середине времени пока на входах висит I или Q компонента данных идет захват во внутренние регистры. см стр. 16 последний абзац и стр.17 первый абзац.
я сверхточно (точнее чем 0,01 от data valifd time) ничего не синхронизировал- и в том и в др. способе все работало без проблем, гланое данные подавать примерно в одно и то же время и заранее, тогда внутренняя схема синхронизации будет защелкивать данные куда надо.
я использовал ПЛИС, с нее данные висели на входах 9856, если напрямую к контроллеру, то имхо - только через дополгнительные D триггеры получится, т.е. прямо на шину данных не повесить.
Go to the top of the page
 
+Quote Post
Anton75
сообщение Apr 23 2013, 09:03
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 13-05-05
Из: Санкт-Петербург
Пользователь №: 4 982



Цитата(shf_05 @ Apr 22 2013, 21:10) *
точно привязываться к тактовым сигналам не надо - в даташите пишут примерно по середине времени пока на входах висит I или Q компонента данных идет захват во внутренние регистры. см стр. 16 последний абзац и стр.17 первый абзац.
я сверхточно (точнее чем 0,01 от data valifd time) ничего не синхронизировал- и в том и в др. способе все работало без проблем, гланое данные подавать примерно в одно и то же время и заранее, тогда внутренняя схема синхронизации будет защелкивать данные куда надо.
я использовал ПЛИС, с нее данные висели на входах 9856, если напрямую к контроллеру, то имхо - только через дополгнительные D триггеры получится, т.е. прямо на шину данных не повесить.


А почему не повесить? Контроллер не одновременно все биты изменяет при записи в порт?
Т. е. AD9856 сама как-то определяет, что данные изменились, и записывает новоые данные после каждого изменения? Не очень понимаю, как это может работать. А если, например, после записи Q0 нужно записать точно такое же значение в I1, как быть? Данные не изменятся, как микросхема "поймет", что надо снова записать то же самое?
Сейчас в режиме Burst Mode и 12-битных входных слов управляю сигналами вручную: выставляю на шине данных определенное значение и поднимаю TxENABLE (т.е. записываю значение в I), и смотрю сигнал на выходе. Амплитуда увеличивается при изменении данных от 0 до 2048, а от 2048 до 4096 почему-то начинает падать.

Go to the top of the page
 
+Quote Post
shf_05
сообщение Apr 23 2013, 17:04
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



если ваш контроллер более ни к чему не подключен или ему не "в напряг " выставить на внешнюю шину данные на N-ый промежуток времени без ушерба остальной обвязке платы, то можно и без всяких триггеров, но я все равно их применял, дабы оградить микросхемку от шумов шины данных.

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

посмотрите диаграммы ведь есть и для того и для другого метода записи данных!

ну наверно 12 бит это со знаком, само число то 11бит будет? - больше 2048 выходит это "переполнение типа"?
Go to the top of the page
 
+Quote Post

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

 


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


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