Полная версия этой страницы:
SATA2->3(xilinx)
tolik1
May 25 2015, 07:42
Реализовали 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
May 25 2015, 12:23
А рекомендации, которые там давали, выполнили?
tolik1
May 26 2015, 10:55
Цитата(dm.pogrebnoy @ May 25 2015, 16:23)

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

А рекомендации, которые там давали, выполнили?
А можно поинтересоваться о каких рекомендациях идет речь?
Встречал эти документы:
http://www.xilinx.com/support/answers/53364.html#solutionhttp://www.xilinx.com/support/answers/63869.htmlhttp://www.xilinx.com/Attachment/edoc_k7_g...OB_diagrams.pdfТам где речь идёт об electrical Idle не совсем понятно что в алгоритме для sata 2 и 3 значит "incoming data Valid". Какие данные можно считать валидными?
Что ещё рекомендуете посмотреть по данной теме?
На данный момент девайс мне отвечает COMINIT и COMWAKE, где то проскакивает ALIGN и совсем не могу дождаться SYNC
За любые полезные рекомендации буду очень благодарен!
dm.pogrebnoy
Jun 3 2015, 07:23
Как на счет сбросов? Пользуетесь FSM которые идут с ядром или сами писали?
Сначала сам написал, потом нашел где то на форуме информацию о том, что из-за этого могут быть проблемы. Задействовал тот который идет с ядром. Но ситуация не изменилась.
И на выходе RXELECIDLE почти всегда высокий уровень
dm.pogrebnoy
Jun 3 2015, 10:48
Цитата(perfik @ Jun 3 2015, 11:15)

Сначала сам написал, потом нашел где то на форуме информацию о том, что из-за этого могут быть проблемы. Задействовал тот который идет с ядром. Но ситуация не изменилась.
И на выходе RXELECIDLE почти всегда высокий уровень
Судя по даташиту на высокий уровень rxelecidle вообще не нужно обращать внимания, только его переход из высокого в низкое состояние + следить за валидность данных. А для этого много разных флагов задействуется.
Lixlex
Feb 14 2017, 17:38
Не буду создавать новую тему, спрошу здесь.
Имеется плата Z7 MiniITX на XC7Z100. В режиме SATA gen2. все работает нормально. Перенастраиваю GTX в режим SATA gen1 - получаю следующий эффект:
Линк поднимается на некоторое время. Успеваю даже принять Device to Host Register. Через какое-то время получаю rxelecidle на пару тактов, rxcdrlock падает и соответственно следующего ALIGN от девайса больше не получаю.
Как себя должен вести rxcdrlock? У меня он в "иголках" но на форумах Xilinx пишут, что это вроде как нормально...
Как определить причину, почему пропадает rxcdrlock?
starley
Feb 15 2017, 20:13
Цитата(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
Feb 16 2017, 10:30
Когда-то занимался запуском SATA на Kintex7 - были примерно похожие проблемы. SATA2 работал (да и SATA3), SATA1 так и не взлетел. Списал на настройки трансивера /которые можно крутить до бесконечности/, благо что сильной потребности в том режиме не было.
Цитата(alexadmin @ Feb 16 2017, 13:30)

Когда-то занимался запуском SATA на Kintex7 - были примерно похожие проблемы. SATA2 работал (да и SATA3), SATA1 так и не взлетел. Списал на настройки трансивера /которые можно крутить до бесконечности/, благо что сильной потребности в том режиме не было.
Моя проблема оказалась в тактировании oob-части трансивера. Потребовалось завести более медленный клок на CLKRSVD[0]
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.