Estoy usando un transceptor Xilinx 7-Series GTXE2 configurado como host SATA PHY. Este transceptor interactúa con un controlador de host SATA y un dispositivo SATA Gen1.
Durante la inicialización, puedo ver COMRESET, COMINIT y COMWAKE desde el host y el dispositivo. Han sido capturados en RXDATA/TXDATA. TX/RXELECIDLE se anulan correctamente. El controlador de host puede recibir y responder a la secuencia OOB completa.
Después de eso, el host envía D10.2
a 1,5 Gbps para iniciar la negociación de velocidad. El dispositivo está respondiendo con
primitivas, que se envían a 1,5 Gbps.
Sin embargo, desde RXDATA, solo puedo ver D27.3 D10.2 D10.2 K28.5
los símbolos que aparecen para un solo ciclo de reloj, que es 20'haaaaa, seguido de 20'h5f0e4. Después de eso, estoy viendo 20'h55555, seguido de 20'h5f0e4. El carácter D27.3
y K28.5
parecía ser correcto. D10.2
parecía haber sido intercambiado o desplazado. Porque el transceptor GTXE2 no puede decodificar
, la negociación de velocidad falló.
He configurado RXCDR_CFG
en (72'h0380008BFF40100008). El FPGA está conectado a un dispositivo Gen1.
Implementé una señal de control para liberar RXCDRHOLD
cuando encuentro 20'haaaaa seguido de 20'h5f0e4 en el flujo de datos. Después de soltar la hold
señal, se convierte en 20'h55555 y 20'h5f0e4. Si no lo libero RXCDRHOLD
, veo basura en RXDATA
. Entonces parece que la liberación RXCDRHOLD
solo mejora parte de la
caracteres. K28.5
y D27.3
tenía razón. D10.2
es un poco intercambiado o desplazado.
Me encontré con otra publicación, en la que el autor puede haber experimentado problemas similares. Modificó RXCDR_CFG
: Configuración de un transceptor GTXE2 de la serie 7 para Serial-ATA (Gen1/2/3)
Me preguntaba si alguien ha experimentado este problema con los transceptores Xilinx 7-Series GTXE2.
Volví a pensar en tu problema de inversión. El problema es que usted, su PCB o su dispositivo cambiaron los cables RX+ y RX- por la entrada del transceptor.
Su GTXE2 está configurado para un bus de 20 bits y sin codificación 8B/10B, por lo que la inversión directa de cada bit visto en su medición se debe a la polaridad incorrecta en los pines de entrada. Puede habilitar la inversión de polaridad ( RXPOLARITY
) para RX en el transceptor. La opción se usa para intercambiar los pines, porque los diseñadores de PCB pueden intercambiar los cables para reducir los saltos y las vías.
También debe buscar en el esquema de sus tableros si hay una pista para los cables intercambiados.
RXPOLARITY
. Es un transceptor genérico.RXPOLARITY
parámetro y tu esquema? ¿Supongo que no?
Martín Zabel
RDXDATA
,RXELECIDLE
,RXCDRHOLD
yRXCOMWAKEDET
.Paebbels
Paebbels
RXCDRHOLD
? Debe esperar hasta que finalice la fase de negociación OOB completa, porque las ráfagas OOB se llenan consunita
sunita
sunita