Перейти к содержанию
    

не понял, смотрите в сигналтапе? выходы ff_rx никуда не подключены? тогда синтезатор выкинул все

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да сигнал тапом. Empty то в 1 стоит.

Пробовал и так, без изменений. Так же вроде не должен выкинуть?

post-71932-1438947087_thumb.png

Изменено пользователем Unfog

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Даташит не дочитал, пошел сюда.

Все зашевелилось, DMA заработало.

Я то все думал о каких tx_ena и rx_ena все время говорят.

 

Спасибо за правильный вопрос =)

Думаю еще вернусь с вопросами по SGMII, но позже.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет!! Хочу состыковать Cyclone IV(DE0nano)+Nios2+Ethernet+rtl8201cl. Кто-нибудь реализовывал? Ресурс где почитать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет!! Хочу состыковать Cyclone IV(DE0nano)+Nios2+Ethernet+rtl8201cl. Кто-нибудь реализовывал? Ресурс где почитать?

Если DE0Nano+Nios2+Ethernet то тут http://acvarif.info/prvhdl/prvhdl20.html С rtl8201cl по ходу можно разобраться по аналогии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если DE0Nano+Nios2+Ethernet то тут http://acvarif.info/prvhdl/prvhdl20.html С rtl8201cl по ходу можно разобраться по аналогии.

Спасибо!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

Наткнулся на проблему с TSE при использовании внешних FIFO.

Имеется NIOS II, к которому через внешние FIFO и mSGDMA подключен TSE. NIOS II работает под управлением Linux со встроенным драйвером. Проблема заключается в том, что на передачу обрезаются первые два байта пакета. Я понимаю, что это связано с выравниванием заголовков, поэтому отключаю опцию "Align packet headers to 32-bit boundary". После данной манипуляции обрезаются первые два байта во входящих сообщениях, в то время как исходящие сообщения отсылаются корректно. То есть всё стало наоборот. Со встроенным в TSE буферами FIFO всё работает правильно. Куда копать? Не могу понять аппаратура это косячит или драйвер. Поставил вывод отсылаемого пакета в консоль в драйвере и ничего криминального не вижу.

 

Ещё хотел бы уточнить, что ширина шины от процессора до FIFO через DMA 32 бита, а после FIFO она урезается до 8 бит через автоматический адаптер Qsys.

Изменено пользователем wapster

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кажется сам нашел ответ.

TSE обрезает на передачу первые два байта, потому что в исходящих пакетах в драйвере Linux не предусмотрено выравнивание. Обрезка первых двух байтов выключается программно с помощью регистра tx_cmd_stat. Программное управление этим регистром работает только в случае со встроенным FIFO. С внешним обрезка байтов на приём и передачу выключается одной галкой в Qsys. Таким образом получается, что входящий трафик обрабатывается корректно, а исходящий режется.

Вопрос теперь как правильно переписать драйвер. Или же ещё в голову приходит навертеть какой-нибудь аппаратный блок, который будет заниматься выравниванием.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...