pregunta de bajo nivel ATA / ATAPI

0

Estoy tratando de averiguar qué está sucediendo exactamente en el bus ATA / ATAPI justo después del encendido. De qué Entiendo - el host debe enviar el comando RESET, luego después de algún tiempo predeterminado enviar consulta para identificar Dispositivos en el bus. Pero en realidad, no se ve. muy parecido a eso He conectado analizador lógico, y Por lo que veo hay volando algunos comandos READ antes de que ocurra cualquier ESCRIBIR (enviar un comando). ¿Por qué?

Alguien sabe / entiende lo que debería ser el real secuencia de eventos?

Reportar esta publicación

    
pregunta user41224

1 respuesta

1

Antes de que haya problemas con los comandos de la capa de aplicación (por ejemplo, IDENTIFICAR), hay una secuencia de eventos en la capa PHY que debe realizarse. Por lo tanto, si está viendo el bus con un analizador lógico, es probable que vea que se lleva a cabo el proceso de configuración de PHY. Suponiendo que hay un disco presente, la secuencia es esencialmente:

            HOST                    DEVICE

STATE:      HR_RESET                DR_RESET
SIGNAL:                     ---> (COMRESET)
STATE:      HR_AwaitCOMINIT         DR_COMINIT
SIGNAL:           (COMINIT) <---
STATE:      HR_COMWAKE              DR_AwaitCOMWAKE
SIGNAL:                     ---> (COMWAKE)
STATE:      HR_AwaitCOMWAKE         DR_COMWAKE
SIGNAL:           (COMWAKE) <---
STATE:      HR_AwaitAlign           DR_SendALIGN
SIGNAL:             (ALIGN) <---
STATE:      HR_SendAlign            DR_SendALIGN
SIGNAL:                     ---> (ALIGN)
STATE:      HR_Ready                DR_Ready

(Me salté un montón de estados opcionales, de error y transitorios). Todo es parte del host / dispositivo que negocia la conexión antes de que se ejecute cualquier comando.

Cuando dices "Veo que están volando algunos comandos READ", ¿qué quieres decir con un 'comando READ'?

Fuentes:

respondido por el Ryan Johnson

Lea otras preguntas en las etiquetas