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

 
 
> Управление синтезатором с мк
novice2008
сообщение Jan 30 2008, 17:43
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 30-01-08
Пользователь №: 34 596



Здравствуйте. Помогите, плиз, разобраться с временными диаграммами DDS АD9854 в параллельном режиме записи регистров.



В какой последовательности надо выставлять адрес, данные, WR? Запись происходит по переднему или заднему фронту WR? Черточка над WR означает, что запись происходит при выставлении низкого уровня сигнала?

P.S. Может кто-нибудь подскажет где можно посмотреть пример программы управления синтезатором с мк, желательно AVR.

Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Baser
сообщение Jan 30 2008, 20:32
Сообщение #2


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(novice2008 @ Jan 30 2008, 19:43) *
В какой последовательности надо выставлять адрес, данные, WR? Запись происходит по переднему или заднему фронту WR? Черточка над WR означает, что запись происходит при выставлении низкого уровня сигнала?

Все делать нужно именно так, как показано на диаграмме smile.gif
ВременнЫе параметры приводятся крайне допустимые. Мин. или мах. надо смотреть по смыслу.
Последовательность действий:
1. Выставить на порт 6 линий адреса А0-А5;
2. Выставить на порт (другой) 8 линий данных D0-D7;
3. Не раньше, чем через tasu=8ns после адреса опустить сигнал записи WR. При этом внутри синтезатора защелкнется адрес;
4. Не раньше, чем через tdsu=3ns после данных поднять сигнал записи WR. При этом внутри синтезатора защелкнуться данные;
Вот и все, цикл записи одного байта по одному адресу закончен. Далее можно точно также записать все остальное.
Еще обратите внимание на минимальные времена сигналов. Меньше (более быстро) нельзя, больше можно, хоть раз в час smile.gif

А пример программы - это просто несколько строк записей в порты AVR.
Go to the top of the page
 
+Quote Post
novice2008
сообщение Jan 30 2008, 21:35
Сообщение #3





Группа: Новичок
Сообщений: 3
Регистрация: 30-01-08
Пользователь №: 34 596



Baser, большое спасибо за подробный ответ!

Если предположить, что PA0-PA5 это линии адреса, PD0-PD7 - линии данных, PA6 - сигнал записи WR, программа будет выглядеть таким образом?
Код
sbi PORTA, 6

ldi r16, <адрес>
out PORTA, r16

<задержка >= tasu = 8нс>

cbi PORTA, 6

ldi r16, <данные>
out PORTD, r16

<задержка >= tdsu = 3нс>

sbi PORTA, 6
Go to the top of the page
 
+Quote Post
Baser
сообщение Jan 30 2008, 22:22
Сообщение #4


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(novice2008 @ Jan 30 2008, 23:35) *
Если предположить, что PA0-PA5 это линии адреса, PD0-PD7 - линии данных, PA6 - сигнал записи WR, программа будет выглядеть таким образом?

Немного не так, нужно не забыть, что у вас WR находится на том же порту, что и адрес. При записи линию PA6 нужно маскИровать.

Код
sbi   PORTA, 6

in    r16, PORTA
andi  r16, 0xc0
ori   r16, <адрес>
out   PORTA, r16

cbi   PORTA, 6

ldi   r16, <данные>
out   PORTD, r16

sbi   PORTA, 6


И о задержках можно не беспокоиться, поскольку 8 ns это тактовая у процессора должна быть 125 MHz smile.gif
Go to the top of the page
 
+Quote Post
novice2008
сообщение Feb 1 2008, 07:08
Сообщение #5





Группа: Новичок
Сообщений: 3
Регистрация: 30-01-08
Пользователь №: 34 596



Спасибо!
Go to the top of the page
 
+Quote Post



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

 


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


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