Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SATA2->3(xilinx)
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
tolik1
Реализовали SATA2 на плате ML506 все заработало.
Решили перейти на SATA3. Взяли плату KC705. на FMC одели мезонин 4-Port SFP/SFP+ and SATA I/II/III FMC Module фирмы HiTech Global.
САПР - Vivado. Используем стандартный шаблон настройки трансивера для SATA3. И начались проблемы..
Линк поднимается (устанавливается соединение по ООВ) через раз. Ошибки при передаче данных(контрольная сумма). Читаем форум XILINX -
там пишут странные вещи про настройки трансивера.
Кто нибудь сделал SATS3 на KINTEX?
dm.pogrebnoy
А рекомендации, которые там давали, выполнили?
tolik1
Цитата(dm.pogrebnoy @ May 25 2015, 16:23) *
А рекомендации, которые там давали, выполнили?

ДА.
perfik
Цитата(dm.pogrebnoy @ May 25 2015, 15:23) *
А рекомендации, которые там давали, выполнили?

А можно поинтересоваться о каких рекомендациях идет речь?
Встречал эти документы:

http://www.xilinx.com/support/answers/53364.html#solution
http://www.xilinx.com/support/answers/63869.html
http://www.xilinx.com/Attachment/edoc_k7_g...OB_diagrams.pdf

Там где речь идёт об electrical Idle не совсем понятно что в алгоритме для sata 2 и 3 значит "incoming data Valid". Какие данные можно считать валидными?
Что ещё рекомендуете посмотреть по данной теме?

На данный момент девайс мне отвечает COMINIT и COMWAKE, где то проскакивает ALIGN и совсем не могу дождаться SYNC
За любые полезные рекомендации буду очень благодарен!
dm.pogrebnoy
Как на счет сбросов? Пользуетесь FSM которые идут с ядром или сами писали?
perfik
Сначала сам написал, потом нашел где то на форуме информацию о том, что из-за этого могут быть проблемы. Задействовал тот который идет с ядром. Но ситуация не изменилась.

И на выходе RXELECIDLE почти всегда высокий уровень
dm.pogrebnoy
Цитата(perfik @ Jun 3 2015, 11:15) *
Сначала сам написал, потом нашел где то на форуме информацию о том, что из-за этого могут быть проблемы. Задействовал тот который идет с ядром. Но ситуация не изменилась.

И на выходе RXELECIDLE почти всегда высокий уровень


Судя по даташиту на высокий уровень rxelecidle вообще не нужно обращать внимания, только его переход из высокого в низкое состояние + следить за валидность данных. А для этого много разных флагов задействуется.
Lixlex
Не буду создавать новую тему, спрошу здесь.
Имеется плата Z7 MiniITX на XC7Z100. В режиме SATA gen2. все работает нормально. Перенастраиваю GTX в режим SATA gen1 - получаю следующий эффект:
Линк поднимается на некоторое время. Успеваю даже принять Device to Host Register. Через какое-то время получаю rxelecidle на пару тактов, rxcdrlock падает и соответственно следующего ALIGN от девайса больше не получаю.

Как себя должен вести rxcdrlock? У меня он в "иголках" но на форумах Xilinx пишут, что это вроде как нормально...
Как определить причину, почему пропадает rxcdrlock?
starley
Цитата(Lixlex @ Feb 14 2017, 20:38) *
Не буду создавать новую тему, спрошу здесь.
Имеется плата Z7 MiniITX на XC7Z100. В режиме SATA gen2. все работает нормально. Перенастраиваю GTX в режим SATA gen1 - получаю следующий эффект:
Линк поднимается на некоторое время. Успеваю даже принять Device to Host Register. Через какое-то время получаю rxelecidle на пару тактов, rxcdrlock падает и соответственно следующего ALIGN от девайса больше не получаю.

Как себя должен вести rxcdrlock? У меня он в "иголках" но на форумах Xilinx пишут, что это вроде как нормально...
Как определить причину, почему пропадает rxcdrlock?

Приемную часть трансивера корректно сбрасываете после появления rxelecidle?
alexadmin
Когда-то занимался запуском SATA на Kintex7 - были примерно похожие проблемы. SATA2 работал (да и SATA3), SATA1 так и не взлетел. Списал на настройки трансивера /которые можно крутить до бесконечности/, благо что сильной потребности в том режиме не было.
Lixlex
Цитата(alexadmin @ Feb 16 2017, 13:30) *
Когда-то занимался запуском SATA на Kintex7 - были примерно похожие проблемы. SATA2 работал (да и SATA3), SATA1 так и не взлетел. Списал на настройки трансивера /которые можно крутить до бесконечности/, благо что сильной потребности в том режиме не было.


Моя проблема оказалась в тактировании oob-части трансивера. Потребовалось завести более медленный клок на CLKRSVD[0]
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.