|
|
  |
AD9856, способ подачи входных данных, помогите разобраться |
|
|
|
Apr 19 2013, 07:57
|
Местный
  
Группа: Свой
Сообщений: 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
Эскизы прикрепленных изображений
|
|
|
|
|
Apr 22 2013, 06:09
|
Местный
  
Группа: Свой
Сообщений: 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, как она нарисована В том то и дело, что тактовый сигнал там не нарисован, потому и возник вопрос. Не вспомните, по фронту или по срезу тактового сигнала происходит запись? А если я использую внутренний умножитель частоты, то к тактам не привязаться?
|
|
|
|
|
Apr 23 2013, 09:03
|
Местный
  
Группа: Свой
Сообщений: 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 почему-то начинает падать.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|