¿Qué significa FCY / F_CY?

3

He encontrado muchas ecuaciones en las hojas de datos de microchip que se basan en este valor y estoy buscando un lugar central para buscar definiciones.

F_OSC = frecuencia del oscilador

T_CY = 1 / F_CY = tiempo para ejecutar una instrucción de ensamblaje?

    
pregunta tarabyte

3 respuestas

4

Microchip tiene un glosario aquí . "FOSC" aparece en la lista, así como "TCY" ("El tiempo para completar una instrucción").

    
respondido por el Allen Moore
5

Esto se parece a una convención utilizada por un fabricante particular de microcontroladores. Fcy o sus variantes se refieren a la frecuencia del reloj de instrucciones. "F" significa frecuencia, y "cy" significa ciclo, o ciclo de instrucción.

Tcy también se refiere al período de cada ciclo de instrucción, con "T" que significa tiempo. En este caso Tcy = 1 / Fcy.

Fosc se refiere a la frecuencia bruta del oscilador que controla el micro. A menudo, esto se divide por algún número entero, como 2 o 4 antes de convertirse en la frecuencia de reloj de instrucción.

En un antiguo PIC 16 como el 16F877, por ejemplo, la frecuencia de reloj máxima era de 20 MHz, y tomó 4 ciclos de reloj para hacer un ciclo de instrucción. Si conectó un 16F877 a un cristal de 20 MHz, Fosc = 20 MHz, Fcy = 5 MHz y Tcy = 200 ns.

    
respondido por el Olin Lathrop
2

Diferentes fabricantes utilizan diferentes convenciones en sus hojas de datos. Hace que sea difícil hacer una respuesta generalizada, ¡pero aquí va!

La frecuencia (en Hz) y el tiempo (en segundos) se relacionan entre sí como usted mencionó:

T=1/F

En un microcontrolador, la frecuencia básica del oscilador es la base de todos los otros relojes posibles. Esta frecuencia se suele dar como F_osc o F_clk . La duración de cada ciclo de reloj se da como T_osc o T_clk .

Dependiendo del microcontrolador, a veces una instrucción toma múltiples ciclos de reloj. Por ejemplo, la serie PIC18 de Microchip (y posiblemente otras, pero no las he usado) usa cuatro ciclos de reloj para cada ciclo de instrucción. El ciclo de instrucción tiempo / frecuencia se conoce como T_inst y F_inst . En este caso, si F_osc = 1MHz, entonces F_inst sería 250kHz (un cuarto de la velocidad). T_osc = 1 microsegundo, y T_inst = 4 us.

T_inst y F_inst también pueden denominarse T_cy y F_cy .

Entonces, el resto de los relojes se derivan de estos. Si está configurando un temporizador, por ejemplo, la hoja de datos indicará si se basa en F_osc , F_inst , o alguna otra base de tiempo.

Algunos uC realizan una instrucción por ciclo de reloj, por lo que no es necesario diferenciar entre el tiempo de ciclo del oscilador y el tiempo de ciclo de instrucción. En este caso, también se usaría F_cy .

Espero que esto ayude!

edit: solo para confundir las cosas, permítanme agregar: un ciclo de instrucción no es necesariamente la cantidad de tiempo que lleva completar una instrucción. Nuevamente, use el PIC18 como ejemplo: la mayoría de las instrucciones toman un solo ciclo de instrucciones, aunque algunas pueden tomar dos.

    
respondido por el bitsmack

Lea otras preguntas en las etiquetas

Comentarios Recientes

Es una técnica de referencia cruzada. La guía de ideas grupales para getpys tiene la siguiente sección: Sección de técnicas relacionadas: Ejemplos Ejemplos \ doc \ xlsx \ es \ ELAS | csv | backupxlsx | escritura | hoja de datos | peru2dosClientTools | rancpSimpleIfParticular - (useprefix ext | comando writeabout | savestats peru2dosClientTools \ krnmd0 | Soporte de recuperación del motor peruano), Replay RecoRUSE; ¿Es compatible con otras palabras de consulta? ¿Con qué aplicaciones debería funcionar? ACANT... Lees verder