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

 
 
 
Reply to this topicStart new topic
> Подключение кодека ADV202 к CycloneII, Работа с ПЛИС CycloneII и ADV202
Alezi
сообщение Dec 3 2008, 09:00
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 8-07-08
Из: Хабаровск
Пользователь №: 38 795



Работа ли кто нибудь с кодеком ADV202? Пытаюсь подключить его к ПЛИС Cyclone II (плата DE2). Вопрос вот какой, при обращении к ADV как к памяти, записываю значения в регистры PLL (их 2 по адресам 0xE и 0xF). Запись и чтение проходит успешно. Далее в мануале требуется выждать 20 мкс и записать в регистр 0xD значение 0x8A, потом считать значения в регистрах по умолчанию (0x5, 0x6, 0x8, 0x9). При этом значения не совпадают с требуемыми.
Подаю внешнюю частоту 27МГц, подаю ресет "1". Сигналы ACK, IRQ пока не использую.
В чем может быть проблема "недефолтовых" значений в этих регистрах? Подскажите пожалуйста? help.gif
Go to the top of the page
 
+Quote Post
Alex11
сообщение Dec 3 2008, 21:38
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Вы забыли маленькую операцию - перед перезагрузкой в него нужно софт залить. Без этого он ничего не делает. Там 32К данных. А так - деталь глючная, но работать в некоторых режимах можно. Но лучше ADV212.
Go to the top of the page
 
+Quote Post
Alezi
сообщение Dec 3 2008, 23:20
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 8-07-08
Из: Хабаровск
Пользователь №: 38 795



Цитата(Alex11 @ Dec 4 2008, 00:38) *
Вы забыли маленькую операцию - перед перезагрузкой в него нужно софт залить. Без этого он ничего не делает.

Просто в документации к кодеку написано следующее:
1. Write to PLL_HI and PLL_LO the values specified in Table I.
2. Wait for 20 мкс to allow PLL to settle.
3. Initiate a reboot to no boot mode by writing 0x008A to the BOOT register (address 0xD).
4. Check that the reset values from Registers 5, 6, 8, 9, E, and F are correct.
В регистры E и F пишу соответственно 0x8, 0x4. Далее жду 20мкс и пишу 0x008A по адресу 0xD. При чтении регистров 5, 6, 8, 9, получаю 0x0, 0x0, 0x5, 0x9, а должен (по той же документации) 0x0, 0xF, 0x5, 0x9.
Необходимо ли все же лить прошивку?
Еще такой вопрос, но уже по NIOSII, как организовать задержку программно (20мкс), пока использую scanf, чтобы определять задержку с клавиатуры нажатием кнопки. Как таковой библиотеки не нашел....
Go to the top of the page
 
+Quote Post
Alex11
сообщение Dec 4 2008, 09:37
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Там две разные прошивки - одна для енкодера, другая для декодера. Посмотрите Programming Guide - там нарисована последовательность инициализации.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th June 2025 - 17:12
Рейтинг@Mail.ru


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