Diseño de una arquitectura para FPGA para corrección de errores mediante códigos Bosechaudhuri- Hocquenguem (BCH) para aplicaciones de nanosatélites
Acceso a Texto completo
Abstract
La comunicación satelital implica la transmisión de datos a grandes distancias, además
de la exposición a la radiación y fenómenos climáticos. Por ello, es necesaria la
implementación de códigos que permitan no solo la detección sino también la corrección
de estos errores. De acuerdo con el Comité Consultivo para Sistemas de Datos Espaciales
(CCSDS por sus siglas en inglés) y la Cooperación Europea para Estandarización
Espacial (ECSS por sus siglas en inglés) se recomienda el código BCH (63, 56), el cual
tiene la capacidad de corregir 1 bit y detectar 2 en los 63 bits de la palabra de entrada.
El diseño de un decodificador BCH (63, 56) se basa en una máquina de estados
algorítmica con datapath (ASM-D) en el cual los estados ejecutan los bloques de cálculo
de síndrome, localización y corrección del error (búsqueda de Chien). Por otro lado, el
decodificador tiene la capacidad de reconocer cuando la palabra de entrada posee más de
2 bits errados; y por tanto, no es posible su decodificación. El primer bloque es el
encargado de obtener el síndrome y, a su vez, el peso de Hamming del mismo, lo cua les
relevante para conocer si la palabra contiene o no errores y la posición de estos.
En el presente trabajo se realizó el diseño del decodificador BCH (63, 56) por medio del
software Matlab y el lenguaje de descripción de hardware Verilog HDL, obteniéndose la
corrección de 1 bit errado y la detección de 2 bits errados. Esto se implementó en 9
estados de una ASM-D con la cual se obtuvo una frecuencia de operación máxima de
160. 54M Hz y 360 elementos lógicos, es decir, una utilización menor al 1% de los
elementos lógicos totales. Finalmente para la simulación se generó un Testbenchen
Verilog HDL, donde se colocaron distintas palabras de entradas para verificar el correcto
funcionamiento del decodificador.