Vous êtes sur la page 1sur 9

comm.

HDLCRCGenerator objeto del sistema - del paquete: comunicacin


Generar los bits CRC de cdigo y aadir a los datos de entrada

Descripcin
Este hardware de usar generador de CRC objeto Sistema, al igual que el objeto del sistema generador de CRC, genera el cdigo de redundancia cclica (CRC) bits. Sin embargo, el objeto del sistema est optimizado para la generacin de cdigo HDL. En lugar de procesado de cuadro, el objeto del sistema procesa los datos en el modo de transmisin. Las seales de control se aaden al tanto de entrada como de salida para la sincronizacin de datos fcil.

Construccin
H = comm.HDLCRCGenerator crea un cdigo de redundancia cclica (CRC) objeto sistema generador, H. Este objeto genera bits CRC de acuerdo con un polinomio

del

generador especificado y anexa ellos a los datos de entrada.


H = comm.HDLCRCGenerator (nombre, valor) crea CRC objeto del sistema generador, H, con opciones adicionales especificadas por uno o ms nombre, los argumentos de valor par, donde nombre es un nombre de la propiedad y el valor es el valor correspondiente. El nombre debe aparecer dentro de un solo citas (''). Puede

especificar varios argumentos de nombre y valor de par en cualquier orden, como


nombre1, valor1, ..., Antwerpen, ValueN. H = comm.HDLCRCGenerator ( POLY , nombre, valor) crea un generador de CRC objeto System, H, con la propiedad polinmica establecida en POLY, y las otras

propiedades especificadas ajustado a los valores especificados.

Los argumentos de entrada


POLY

Establece la propiedad polinmica a poli en la construccin de objetos del sistema

Propiedades
Polinomio

Especifique el polinomio generador como un vector fila binaria, con coeficientes en orden descendente de los poderes. Si se establece esta propiedad en un vector binario, su longitud debe ser igual al grado del polinomio ms 1. El valor predeterminado es [1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1]. El valor con el que la suma de comprobacin CRC es que se XORed justo antes de ser aadido a los datos de entrada. Esta

FinalXORValue

propiedad se puede especificar como un nmero binario, escalar tipo de precisin doble o simple de datos o un vector. La longitud del vector es el grado del polinomio generador que se especifica en la propiedad polinmica. Cuando se especifica Valor XOR final como un escalar, el objeto se expande el valor a un vector fila de longitud igual al grado del polinomio generador. El valor predeterminado es 0.
InitialState

Se especificarn las condiciones iniciales del registro de desplazamiento como un binario, escalar tipo de precisin doble o individual de datos o un vector. La longitud del vector es el grado del polinomio generador que se especifica en la propiedad polinmica. Cuando se especifica las condiciones iniciales como un escalar, el objeto se expande el valor a un vector fila de longitud igual al grado del polinomio generador. El valor predeterminado es 0. Una cantidad lgico que especifica si la salida de suma de comprobacin CRC debe ser volteado en torno a su centro despus de los datos de entrada es completamente a travs del registro de desplazamiento. El valor predeterminado es falso. Una cantidad lgico que especifica si los datos de entrada debe ser volteado sobre una base byte a byte antes de entrar en el registro de desplazamiento. El valor predeterminado es falso.

ReflectCRCChecksum

ReflectInput

Mtodos
clonar IsLocked liberar reajustar paso Crear un objeto del sistema con HDLCRCGenerator mismos valores de propiedad Estado de bloqueo (lgica) Permitir valor de la propiedad y el cambio de entrada de caractersticas Restablecer los estados de objeto generador CRC Generar sumas de comprobacin CRC de mensaje de entrada basado en seales de control y las sumas de comprobacin anexa al mensaje de salida

Ejemplos
Codificar la seal utilizando un generador de CRC.
Usando% polinomio de forma predeterminada con una longitud de CRC de 16 Hgen = comm.HDLCRCGenerator; % De ejecucin CRC Generador de 6 pasos numSteps = 6; Seales de control de% de todos los 6 pasos startin lgica = ([1 0 0 0 0 0]);

endin lgica = ([0 1 0 0 0 0]); validIn lgica = ([1 1 0 0 0 0]); 32% datos de bits para ser codificado, en dos columnas 16 por 1 msg = randi ([0 1], 16,2); Aleatorios% de entrada a HDLCRCGenerator mientras se est procesando el msg Randin = randi ([0, 1], 16, numSteps-2); DATAIN = [msg Randin]; % De ejecucin CRC Generador de 6 pasos Los datos de salida:% DATAOUT % Las seales de salida de control: startOut, endOut, validOut para i = 1: numSteps [DATAOUT (:, i), startOut (i), endOut (i), validOut (i)] = etapa (Hgen, ... DataIn (:, i), startin (i), endin (i), validIn (i)); final

Algoritmos
Diagrama de temporizacin
Cronograma de la Convencin del generador

Retardo inicial
El HDL CRC objeto System Generator introduce una latencia en la salida. Esta latencia puede ser calculado con la ecuacin siguiente:
initialdelay = (CRC longitud / anchura de datos de entrada) + 2

General de la CRC Generator - Generar los bits CRC segn polinomio generador y aadir a los datos de entrada marcos
Biblioteca
CRC sublibrary de correccin de errores y deteccin de

Descripcin

El bloque generador de CRC general genera el cdigo de redundancia cclica (CRC) bits para cada cuadro de entrada de datos y anexa al bastidor. Este bloque acepta un vector binario columna seal de entrada. Se especifica el polinomio generador para el algoritmo CRC utilizando el parmetro polinomio generador. Este bloque es general en el sentido de que el grado del polinomio no necesita ser una potencia de dos. Usted representa el polinomio en una de las siguientes maneras:

Como un vector fila binario que contiene los coeficientes en orden descendente de los poderes. Por ejemplo, [1 1 0 1] representa el polinomio x 3 + x 2 + 1. Como un vector fila entero que contiene los poderes de trminos no nulos en el polinomio, en orden descendente. Por ejemplo, [3 2 0] representa el polinomio x 3 + x 2 + 1.

Se especifica el estado inicial del registro de desplazamiento interno por el parmetro inicial estados. El parmetro estados inicial es o bien un escalar o un vector fila binaria de longitud igual al grado del polinomio generador. Un valor escalar se expandi a un vector fila de longitud igual al grado del polinomio generador. Por ejemplo, el estado inicial de [0] se expandi a un vector fila de ceros. Se especifica el nmero de sumas de comprobacin de que el bloque calcula para cada cuadro de entrada por las sumas de comprobacin por los parmetros del marco. Las sumas de comprobacin por valor de marco uniforme que dividir el tamao del cuadro de entrada. Si el valor de las sumas de comprobacin por trama es k, el bloque hace lo siguiente:

1. 2. 3. 4. 5.

Divide cada cuadro de entrada en subtramas k de igual tamao Prefijos el vector estados inicial a cada una de las subtramas k Se aplica el algoritmo CRC para cada subtrama aumentada Anexa las sumas de comprobacin resultante al final de cada subtrama Salidas concatenados subtramas

Si el tamao de la trama de entrada es m, y el grado del polinomio generador es r, el marco de salida tiene un tamao m + k * r. Este bloque apoya los tipos de datos dobles y boolean. El bloque hereda el tipo de datos de salida de la seal de entrada.

Ejemplo
Supongamos que el tamao del marco de entrada es 10, el grado del polinomio generador es 3, los estados iniciales es [0], y las sumas de comprobacin por trama es 2. El bloque se divide cada fotograma de entrada en dos subtramas de tamao 5 y agrega una suma de comprobacin del tamao de 3 a cada subtrama, como se muestra a continuacin. Los estados iniciales no se muestran en este ejemplo, dado un estado inicial de [0] no afecta a la salida del algoritmo CRC. La trama de salida a continuacin, tiene un tamao de 5 + 3 + 5 + 3 = 16.

Ejemplo de codificacin de comprobacin de redundancia cclica


Este ejemplo aclara el funcionamiento del bloque generador CRC general mediante la comparacin de los bits CRC generados desde el bloque de biblioteca con los generados a partir de primitivos bloques de Simulink. El modelo se encuentra en: matlabroot /
ayuda / toolbox / commblks / examples / doc_crcgen.

Para un mensaje de entrada se conoce con una longitud de 6 bits, el modelo genera bits CRC para un polinomio generador, la caja registradora. , Y un determinado estado inicial de

Usted puede experimentar con diferentes estados iniciales, cambiando el valor de los estados iniciales antes de ejecutar la simulacin. Para todos los valores, la comparacin (generado bits de CRC de la librera de bloques con los que se generan desde los primitivos bloques de Simulink) es cierto. Uso de la Convencin General de bloque generador le permite especificar fcilmente el polinomio generador (especialmente para los polinomios de orden superior).

Atributos de seal
El General de CRC bloque generador tiene un puerto de entrada y un puerto de salida. Ambos puertos soportan seales binarias vector columna.

Cuadro de dilogo

Generador de polinomio Una fila binario o integer vector que especifica el polinomio generador, en orden descendente de los poderes. Los estados iniciales Binaria escalar o un vector fila binaria de longitud igual al grado del polinomio generador, que especifica el estado inicial del registro de desplazamiento interno. De verificacin por imagen Nmero entero positivo que especifica el nmero de sumas de comprobacin del bloque calcula para cada cuadro de entrada.

Algoritmo
Para obtener una descripcin del algoritmo CRC, aplicado por este bloque, consulte los cdigos de comprobacin de redundancia cclica en la Gua Sistema de Comunicaciones de Caja de herramientas del usuario.

Esquema de la aplicacin de la Convencin

El circuito anterior divide el polinomio , Y devuelve el resto .

por

Los circuitos alimenta a los smbolos de entrada en el registro de desplazamiento de uno en uno, en orden decreciente de ndice. Cuando el ltimo smbolo ( ) Se abre camino fuera del registro (que se logra aumentando el mensaje con ceros r), el registro contiene los coeficientes del polinomio resto . Este polinomio resto corresponde a la suma de comprobacin que se anexa al mensaje original, que luego se transmite. Si bien funcionalmente correcto, este circuito es lento debido a que maneja los smbolos de entrada de uno en uno, y utiliza una operacin XOR para cada smbolo de entrada. Una implementacin ms eficiente sera manejar smbolos N de entrada en cada paso del proceso. Por ejemplo, cuando se calcul una K CRC de longitud, donde K <8, proceso N = K bits en cada paso. Si K 8, proceso N = 8 bits en cada paso. Para este algoritmo ms rpido, puede utilizar una tabla de bsqueda de la ventaja que almacena el efecto que cada posible longitud-N en la secuencia de entrada tiene el valor de salida CRC. Esta aplicacin utiliza slo una operacin XOR para procesar una subsecuencia de longitud N de la secuencia de smbolos de entrada aumentada. Si hay sobrantes bits al final de la secuencia que no se puede conformar en una secuencia de longitud N, esta aplicacin se encarga de los bits individualmente, utilizando el algoritmo lento se ha descrito anteriormente.

Referencias
[1] Sklar, Bernard, Comunicaciones Digitales: Fundamentos y Aplicaciones. Englewood Cliffs, NJ, Prentice-Hall, 1988. [2] de mimbre, Stephen B., Sistemas de control de errores para la comunicacin digital y almacenamiento, Upper Saddle River, NJ, Prentice Hall, 1995.

Par de bloques
General de la CRC Detector de Sndrome de

Vea tambin
CRC-N del generador , CRC-N Detector de Sndrome de

Vous aimerez peut-être aussi