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

 
 
 
Reply to this topicStart new topic
> DMA и Avalon slave
DASM
сообщение Apr 7 2010, 14:25
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Есть Ethernet чип. У него определенное кол-во регистров, которые нужно грузить редко. Их хотелось бы видеть со стороны NIOS - что собсно уже и сделано и работает. Но вот когда хочется считать с него данные - хорошо бы DMA .
Подключил DMA - но увы, работать перестало. Причем со стороны NIOS (DMA не запускал еще). Толи вообще перестало работать (регистры грузится), толи как-то коряво (еще не разобрался).
Как правильно подключить такое устройство к DMA ?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Apr 7 2010, 15:18
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата
Есть Ethernet чип.

поподробнее плиз, что за чип? PHY или MAC+PHY? если первое - то TSE и вперед, примеры есть и в этом форуме; если второе - тоже несложно, только сделать устройству интерфейс Avalon-овский.
Go to the top of the page
 
+Quote Post
DASM
сообщение Apr 8 2010, 06:24
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



чип DP9000A - MAC + PHY. Выглядит вобщем-то как память, разве что только с двумя адресами - команда-данные. Сейчас висит как Avalon slave - все пашет. Но вот как только DMA на чтение с него вешаю ( в SOPC билдере) - так глючит .. Мож там тристейт бридж какой нужен ?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Apr 8 2010, 06:32
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(DASM @ Apr 8 2010, 13:39) *
чип DP9000A - MAC + PHY. Выглядит вобщем-то как память, разве что только с двумя адресами - команда-данные. Сейчас висит как Avalon slave - все пашет. Но вот как только DMA на чтение с него вешаю ( в SOPC билдере) - так глючит .. Мож там тристейт бридж какой нужен ?

как сконфигурирован DMA в SOPC-билдере? какие настройки?
Go to the top of the page
 
+Quote Post
DASM
сообщение Apr 8 2010, 06:36
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



13 бит length, burst off, from embedded blocks
Его read master - на этот самый DP9000 memory slave. write master - на SDRAM (она пока еще больше никем не пользуется)
control port - на data master cpu
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Apr 8 2010, 06:44
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



а memory to memory указали? или у вас не SGDMA? кстати, можно ссылку на даташит, что-то не гуглится?
Go to the top of the page
 
+Quote Post
DASM
сообщение Apr 8 2010, 06:50
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



нет, просто DMA

гм.. заработало.. работает ли сама DMA не знаю, щас буду выяснять, но во всяком случае прмому общению проца с DP9000A не мешается. Видимо переутомился вчера

ой... DM 9000A http://www.dacomwest.de/eng/e_etherics_mac_dm9000a.htm
Go to the top of the page
 
+Quote Post
DASM
сообщение Apr 8 2010, 08:58
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



мда, фигня какая-то.. DMA отрабатывает, заполняет сколько и где положено байт, но только всяким мусором =( В основном вида 0xff00ff00
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Apr 8 2010, 09:20
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(DASM @ Apr 8 2010, 16:13) *
мда, фигня какая-то.. DMA отрабатывает, заполняет сколько и где положено байт, но только всяким мусором =( В основном вида 0xff00ff00

не оттуда читает? сигналы на шине чипа есть?
Go to the top of the page
 
+Quote Post
DASM
сообщение Apr 8 2010, 09:22
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



щас буду глядеть =( Собсно какой бы я адрес не указывал - и чипа, и не чипа - всегда читает одну и туже фигню. (если адрес вообще есть в системе, если нету - то виснет все). Так что похоже что не читает он с чипа, раз этот адрес ни на что не влияет
alt_dma_rxchan_ioctl(rx, ALT_DMA_SET_MODE_16, NULL);
alt_dma_rxchan_ioctl(rx, ALT_DMA_RX_ONLY_ON, DM9000A_IF_0_BASE + 1);
Go to the top of the page
 
+Quote Post
DASM
сообщение Apr 8 2010, 13:07
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Усе заработало, надо было DM9000A_IF_0_BASE + 4
Go to the top of the page
 
+Quote Post

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

 


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


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