Suponiendo que la Raspberry Pi es solo un consumidor de datos, su GPIO se configuraría como una entrada, y si habilita o no una resistencia de recuperación dependerá de si está integrado en el controlador o no. No puedo pensar en una razón por la cual la Raspberry Pi haya impulsado activamente la línea de datos. Me gustaría adivinar que necesita habilitar el pull-up en la Raspberry Pi, porque de lo contrario, ¿qué sentido tiene tener una interfaz de colector abierta en el controlador? Es posible que deba utilizar una resistencia de pull-up externa si el pull-up interno es demasiado débil; el tutorial que menciono a continuación sugiere 2.2k Ohms, mientras que los pull-ups internos en el Pi son probablemente gt; 30k.
Me pregunto si realmente será capaz de obtener un muestreo determinista de la señal en la Raspberry Pi lo suficientemente frecuente y sin embargo, mediante el sondeo del GPIO, para decodificar los datos en serie (probablemente) provenientes del controlador. No estoy familiarizado con el protocolo del controlador N64, por lo que es difícil de decir.
Encontré esta referencia en Internet, que podría ser útil para usted :
Para entender cómo interactuar con un controlador N64, primero se debe
comprender el protocolo que utiliza un N64 genuino para interactuar con el
controlador. Todos los datos se transmiten en un solo cable semidúplex (el
cable de señal enchufado en el pin 25 arriba). Cuando este cable está inactivo, es
Alto (de ahí la resistencia pull-up). Si se detecta un flanco descendente,
significa que los bits están siendo transmitidos. Los bits se transmiten en 4μs.
intervalos Para un 0, el cable es bajo para 3μs y alto para 1μs. Para un 1,
el cable es bajo para 1μs y alto para 3μs. Para leer un poco, tu
debe simplemente esperar a que caiga un borde, y luego leer el cable 2μs después de
El borde que cae. Si el cable es alto, el valor es 1, si es bajo,
el valor es un 0. Todas las transmisiones terminan con un bit 1 que no es
seguido de un flanco descendente, llamado bit de señal.
Parece una codificación de modulación de ancho de pulso en serie. Soy escéptico de que uno pueda decodificar esto fácilmente con una Raspberry Pi. Sería, por otro lado, trivial para decodificar con un microcontrolador, por ejemplo. utilizando interrupciones de cambio de pin y / o temporizadores de hardware / interrupciones de captura de entrada.
Actualizar
Ya que se trata de un bus bidireccional, nunca debe configurar el GPIO a una salida ALTA. Cuando desea que la salida sea ALTA, simplemente colóquela en una entrada con el pull-up habilitado (o tal vez no con el pull-up). Cuando desee una salida BAJA, configure el GPIO en una salida baja. Sin embargo, una vez más, dudo que puedas acertar con un Pi dado el O / S en el camino.