4 votos

la comprensión de cómo PIC GPIO de trabajo

Estoy tratando de entender un poco cómo el pin IO obras. Me tomó como un ejemplo de este PIC. La imagen de los pines son como este :

enter image description here

¿Qué significa el símbolo en color amarillo significa? Qué significa que la Q toma el valor de D sólo en la caída de borde de reloj?

Creo entender cómo la red de conexión de trabajo. si D=1, que después de la D se transfiere a la Q vamos a tener Q=1 y Q'=0 (Q' es P-bar, es más fácil de wright). Así que en la push-pull, la puerta de la P-MOS es 0 y la puerta de la N-MOS es 0 por lo que hemos VDD en el pin I/O. Si D=0, Q=0, por lo Q'=1 y la puerta de la P-MOS y N-MOS de 1, por lo que la han VSS en el pin I/O. También entendí más o menos cómo la parte inferior (de entrada) de las obras. Pero hay muchas cosas que no entiendo :

¿Cuál es la purpous azul de las conexiones?

¿Qué es exactamente el bus de datos? Pensé que los datos se escriben en la LATA de registro y rojo en la PORTA de registro.

¿Cómo es exactamente lo que el D-pestillos de poner los valores correctos en el puerto de e/S?

1voto

AitorTheRed Puntos 241

¿Qué significa el símbolo en color amarillo significa? Qué significa que la Q lleva el el valor de D sólo en la caída de borde de reloj?

Dado su nivel de pregunta, yo no creo que importe.

Las señales de reloj no están específicamente definidos en la presente hoja de datos, aunque se puede inferir que se derivan del sistema interno de reloj de conducción al estado de la CPU de la máquina. Ellos muestran un flanco de bajada, que no digo que mucho, salvo que es probablemente baja va edge-triggered, pero creo que usted puede simplemente ignorar ese detalle a la hora de escribir código.

(Siempre he encontrado estos diagramas para ser más preciso que el texto. Si el texto y los diagramas de acuerdo (y a veces lo hacen de acuerdo), entonces el diagrama de siempre (en mi experiencia) ha sido correcta y el texto estaba mal. Así que realmente creo que tienden a mantener los diagramas precisos.)

Si usted es el examen externo de los pines de los puertos con un osciloscopio y también mirar el reloj bordes (si selecciona un pin de modo que permite que usted para ver), entonces usted puede ser capaz de asociar este borde con lo que se ve en el alcance. Y que pueden ser importantes para usted si usted se preocupa por saber más acerca de I/O pin de salida de la fase de retrasos en los ciclos de reloj.

¿Qué es exactamente el bus de datos?

Es un bus interno, dentro de la CPU. Buses internos de obtener nombres como RBUS o QBUS. Que significan algo para un diseñador. En su caso, usted puede simplemente asumir que es de 8 bits de ancho de bus de datos que es válida en el flanco de bajada de los CLK entradas que ver con su color amarillo-marcado "low-va borde" símbolo.

Digamos que tiene una instrucción que escribe a PORTA, o PORTB, o PORTC, etc. No es un poco-la modificación de la instrucción, pero uno que es escribir todo un valor de 8 bits a un puerto. A continuación, estos datos serán colocados en el bus de datos y, a continuación, uno de WR LATA, WR LATB, o WR LATC se activará por la conducción de HI-LO en el fin de mantener el valor en el puerto seguro.

El diagrama sólo muestra que sólo uno de los bits de datos del bus de datos. Se supone que mentalmente entender que este esquema se aplica 8 veces, una vez para cada válido PORTA pin. (Lo mismo sería cierto, también, para el PORTB y así sucesivamente.) Así que hay 8 D-flops para cada puerto. Y sólo uno de los WR LAT* líneas se activará (va por LO), dependiendo de la instrucción decodificación, al escribir un valor.

Tenga en cuenta que el \$Q\$ es realimentada a través de un tri-indica que el búfer de este bus de datos. Así que si el procesador desea leer el valor que se escribió por última vez este puerto latch (8 bits en total, pero como ya he apuntado sólo se ve uno de los D-flops aquí y no todos ellos), entonces NO se activa el WR LATA línea, en absoluto. En su lugar, deja WR LATA inactivo y en su lugar activa RD LATA, que permite que el tri-que indica búfer que impulsa el bus de datos con el valor de 8 D-flops para PORTA. De esta manera, el procesador puede leer el pestillo, en lugar de escribir en él.

¿Cómo es exactamente lo que el D-pestillos de poner los valores correctos en el puerto de e/S?

Hay cuatro casos que se derivan de las cuatro posibles combinaciones de esos dos D-flops:

$$\begin{split}\\\\\\\\DATA\quad\end{split}\begin{split} PMOS\quad\quad\\\\ TRIS\quad\quad\\ \begin{array}{c|cc} & 0 & 1 \\ \hline 0 & OFF & OFF\\ 1 & ON & OFF \end{array} \end{split}\quad\quad\quad\quad \begin{split} NMOS\quad\quad\\\\ TRIS\quad\quad\\ \begin{array}{c|cc} & 0 & 1 \\ \hline 0 & ON & OFF\\ 1 & OFF & OFF \end{array}\end{split} $$

La tabla anterior fue desarrollado por el examen de la O y Y puertas que conducen a la PMOS y NMOS vea más de cerca a la I/O pin pad. (El PMOS está activa si la entrada es BAJA. El NMOS está activo si su puerta es ALTO).

Como ahora se puede ver fácilmente, tanto PMOS y NMOS con discapacidad \$TRIS=1\$, independientemente del valor de los bits de datos que fue cerrada. Este debe ser el caso si el pin es actuar como una entrada. De lo contrario, uno de los PMOS o transistores NMOS sería conducir el pin de salida y este completo lío con el pin como entrada.

Con el PMOS y NMOS transistores de FUERA, ahora es posible leer el pin, ya sea como datos (a través de la "TTL búfer de entrada") o bien como analógica, sin pasar por el TTL de entrada en el búfer y se va directamente a la entrada del ADC o LVD módulo.

Además, ahora se puede ver que si \$TRIS=0\$, entonces el uno o el otro de la OAP o transistores NMOS se activa, dependiendo del valor de los bits de datos que fue cerrada. Si los datos es un "0" entonces el NMOS estará activo. Si los datos es un "1", entonces el PMOS estará activo.

En ningún de los casos, tanto el PMOS y NMOS estar activo al mismo tiempo.

0voto

Spehro Pefhany Puntos 90994

Para responder a tu pregunta sobre el azul de las conexiones en primer lugar, el registro TRIS tiene un '1' para la salida TRI-dijo (ni el P u N canal del transistor está encendido). Por tanto para estar apagado, el P-puerta del canal necesita un 1 y la N-puerta del canal necesita un 0. La lógica de la Y y O puertas determinar que cuando el TRIS flip-flop es el 1 que existe una condición. Cuando es 0, las puertas a la vez reflejar la /P de salida de el registro de datos (la parte superior de flip-flop)- ya que los transistores que forman un inversor que significa que el pin de salida refleja el registro de datos del estado.

Los flip-flops son el borde activa en el flanco de bajada por lo que el flip-flops tomar el bus de datos de valor en el flanco descendente de sus respectivos relojes.

Las señales de control y bus de datos de las señales son controlados por la CPU de la lógica de control, mientras que la ejecución de la TRISA y puerto/seguro escribir instrucciones. El valor correcto aparece en el bus de datos, el borde de reloj se produce y el pestillo está escrito. Esto generalmente se lleva a cabo al final de la T4 del ciclo (última parte del ciclo de una instrucción). Ver la gama media manual de referencia, por ejemplo:

enter image description here

Puesto que se lee estaca lugar mucho antes en el ciclo de una instrucción (final de la Q1 ciclo), si vas a escribir y luego leer el registro del puerto inmediatamente después de los cambios, es posible que no haya tenido tiempo para cambiar su estado. Esto puede causar pequeños errores si usted no escribe exclusivamente a la LATA de registro en lugar de PORTA. Y salida de carga pueden tener efectos similares, incluso para los más favorables de temporización, dependiendo de lo que esté conectado a la clavija. Esto se conoce como la "lectura-modificación-escritura".

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X