A communication device, such as a cable modem, having a programmable media access controller (MAC) supported by a programmable CRC engine. The CRC engine computes CRC values for data written to it by the programmable MAC or other software process, thereby relieving processing circuitry of these computationally burdensome functions. The programmable nature of the CRC engine permits compliance with a wide variety standards, including evolving standards such as DOCSIS, without requiring expensive hardware upgrades. In one embodiment of the invention, the CRC engine may be initialized by the programmable MAC with an initial vector prior to CRC computations. The programmable MAC or other software then locates the data bytes (e.g., data frame header data) for which a CRC is to be computed. This information is written to a data register of the CRC engine and a CRC operation is performed. Based on the results, the programmable MAC may determine whether the CRC operation indicates valid data. For example, the CRC value may be compared to value communicating a frame header for purposes of validating received data frames. The CRC engine may advantageously utilize one or more polynomials as determined by the programmable MAC. Further, the CRC engine of the disclosed embodiment may receive data of varying sizes such that write processes may be optimized.

Un dispositivo di comunicazione, quale un modem di cavo, avendo mezzi programmabili accede al regolatore (MAC) sostenuto da un motore programmabile di CRC. Il motore di CRC computa i valori di CRC per i dati redatti esso tramite il MAC programmabile o l'altro processo del software, quindi alleviante procedendo i circuiti di queste funzioni informaticamente pesanti. La natura programmabile del motore di CRC consente la conformità ai campioni larghi di varietà, compreso i campioni d'evoluzione quale DOCSIS, senza richiedere gli aggiornamenti costosi dei fissaggi. In un metodo di realizzazione dell'invenzione, il motore di CRC può essere inizializzato dal MAC programmabile con un vettore iniziale prima dei calcoli di CRC. Il MAC programmabile o l'altro software allora individua i byte di dati (per esempio, i dati incorniciano i dati dell'intestazione) per cui un CRC deve essere computato. Queste informazioni sono redatte ad un registro di dati del motore di CRC e un funzionamento di CRC è realizzato. Sulla base dei risultati, il MAC programmabile può determinare se il funzionamento di CRC indichi i dati validi. Per esempio, il valore di CRC può essere confrontato a valore che comunica un'intestazione della struttura allo scopo la convalidazione delle strutture ricevute di dati. Il motore di CRC può utilizzare vantaggiosamente uno o più polinomi come determinati dal MAC programmabile. Più ulteriormente, il motore di CRC dell'incorporamento rilevato può ricevere i dati dei formati di variazione tali che scriva i processi può essere ottimizzato.

 
Web www.patentalert.com

< (none)

< Decoder buffer for streaming video receiver and method of operation

> Method and device for assessing the quality of service on transmission channels in a digital transmission system

> (none)

~ 00084