Está en la página 1de 12

Actualizacin del firmware de control de

un modulador DVB-T2 para equipos de


baja potencia

Migracin del firmware de control de un modulador DVB-T2 de una plataforma de


equipos de media potencia a una plataforma de baja potencia.
Implementacin de nuevas funcionalidades en el firmware de control.
Test de pruebas del funcionamiento del modulador en la plataforma de baja potencia
introduciendo las seales necesarias.

Alumno: Pablo Berdullas Tom


Empresa: Sistemas Audiovisuales Itelsis S.L.
Tutora: Sandra Figueira
Fecha: 01/06/2015 - 24/07/2015

ndice
1. Introduccin.
2. Software.
2.1

Implementacin cdigo en MPLAB.

3. Pruebas con programas.


3.1

Total Phase Data Center.

3.2

WinMerge.

3.3

Itelsis Transmitter Optimizer.

3.4

Hyper Terminal.

4. Montaje del equipo e introduccin de seales.


5. Pruebas de funcionamiento.
5.1

Enensys T2Gateway.

1. Introduccin
El objetivo principal de esta prctica es la migracin del firmware de control de un
modulador DVB-T2 de una plataforma de equipos de media potencia a una plataforma
de baja potencia. A partir de una versin del cdigo que se me ha facilitado, se ha
hecho una implementacin de nuevas funcionalidades (fuentes IP, factores de
correccin LPD/NPLD, comunicacin DVB-T2 serie), de las adaptaciones necesarias
para el estndar DVB-T2 y para equipos de baja potencia. Todo esta parte software se
ha realizado en el MPLAB en lenguaje de programacin C.
Todo esto implementado se ha comprobado, durante las modificaciones en el
cdigo mediante programas como el Hyper Terminal, Total Phase Data Center, el
propio MPLAB en modo debug, etc. Cuando todo lo hecho funcionaba, se pasa a
montar todo el equipo con el modulador y el MTRx e introducir dos seales ASI y una
IP en el modulador. A partir de ah, conectando la salida al HD Explorer, se han
realizado distintas pruebas para comprobar la correcta funcionalidad del equipo.

2. Software
La parte principal de la prctica es la actualizacin del firmware de control del
modulador. Esto se hace en lenguaje de programacin C en el entorno de trabajo
MPLAB y se parte de un proyecto dado. A partir de l, hay que realizar distintas
modificaciones e implementaciones de nuevas funcionalidades. En el siguiente subapartado se comenta un poco ms en detalle lo elaborado en el proyecto.

2.1 Implementacin en MPLAB.


La realizacin del proyecto se hace en el entorno MPLAB que permite elaborar
cdigo en lenguaje C y comprobar su validez. Tiene un compilador, usado el mplabc30, para traducir el lenguaje C a lenguaje mquina y saber si existe algn error en el
cdigo hecho. A partir de un proyecto sin errores de compilacin, se conecta el
ordenador mediante usb al programador (REAL ICE) y ste se conecta a nuestro equipo
para grabar el programa o para, en modo depuracin, ir paso a paso por el cdigo para
resolver algn problema dado.

A continuacin se comentan las partes modificadas o implementadas en los


distintos ficheros del proyecto:
-

ModCommom.c: se aade en la funcin InitIP la parte del IGMP versin 3 y


de las fuentes IP. Adems se modifica el mapa de registros, ya que algunos
cambiaron de la antigua versin a la actual.

Mod3Management.c: en la funcin Process_IP se actualiza tambin el mapa


de registros y se implementan las nuevas funcionalidades dichas
anteriormente.
En la funcin ManManageModulator3 se realiza la parte donde se levantan
los flags del Host para hacer alguna modificacin, ya que antes haba solo un
flag pero ahora necesitamos cuatro.

Parameters.c: aqu simplemente se tuvo que incluir un memcpy en la funcin


PAR_GetStructures y otro en PAR_SetStructures para resolver un
problema de guardado en memoria. Dicho problema era cuando se apagaba el
equipo y se volva a encender no guardaba los valores de la correccin, con
esto ha quedado resuelto.

Scr_lib.c: se introduce en la librera las funciones de las cuatro fuentes


(ScrModSourceX), la de incrementar fuente IP (ScrModIncIpSource)
porque la llaman las funciones de las cuatro fuentes y tambin se inserta la
funcin para el tipo de registro (ScrMdRecordTypeIGMP). Se actualiza la
funcin ScrMdIGMP para la versin 3 de IGMP.

ScreenData.h: se incorporan todas las pantallas necesarias para observar y


editar en el lcd las nuevas partes introducidas.

Variables.h: se aade a la estructura de la memoria todas las partes necesarias


para todo lo nuevo incluido. Esto es, los flags del host ahora necesarios, el
nmero de fuentes, el tipo de registro, las cuatro fuentes...

Labels.h: se define la variable C08_VARIANT que es para DVB-T2 en Espaa de


5W.

Usb.c: en la funcin USB_RunCommand se implementa la comunicacin usb


para DVB-T2. Con esto se puede comunicar el equipo mediante usb al
ordenador y esto se prueba con el programa (Itelsis Transmitter Optimizer)
que permite escribir y cargar del modulador los valores de correccin, como ya
se explica ms adelante.

Uart_TIM.c: se incorporan las modificaciones necesarias para la comunicacin


UART del equipo. Todo esto se puede cargar despus en un TIM y configurar
mediante pantalla remota en la direccin 192.168.2.107 de la red local, pero
se prueba simplemente con un conversor y con la Hyper Terminal, como se
explica en el siguiente apartado.
Aqu las funciones que se introducen son las necesarias para configurar el
IGMP versin 3 (UAR_RxCt7), las cuatro fuentes IP (UAR_RxCt8,
UAR_RxCt9, UAR_RxCu0, UAR_RxCu1) y el acceso a registros de mdulos
internos por I2C (UAR_TxReg). Tambin se aade en la funcin
UAR_TxBnw la parte para que se muestre el nmero de fuentes, IGMP y las
fuentes si se llama a dicha funcin.
Todo esto que se ha includo, se implementa tambin en el proceso de rutina
de la orden recibida (UAR_ProcCom) para que todo funcione correctamente.

Cada vez que se realiza alguna modificacin de stas se comprueba su total


funcionalidad. Por ejemplo, se observa si al aadir una fuente IP se guarda
correctamente en memoria. Cuando se aaden las pantallas, se comprueba que todas
ellas aparecen en el lcd y se pueden editar, y otras muchas comprobaciones que se han
realizado.
Para todas estas verificaciones, un programa de gran ayuda es el Total Phase Data
Center, ya que en l se observa todo lo que sale del musyc hacia el modulador. De
ste, y otros programas para hacer pruebas, se habla con ms detalle en el prximo
apartado.

3. Pruebas con programas


3.1 Total Phase Data Center
Este programa se utiliza mucho durante toda la prctica porque es muy til.
Cada vez que se modifica algo en el cdigo, con esto, se puede observar lo que se
enva al modulador, por lo que se sabe inmediatamente si se est haciendo, algo
implementado, bien o mal. Para utilizarlo tenemos que conectar un Beagle al
ordenador y este al bus que va de la fuente al Musyc.
En la captura del programa se puede observar todas las opciones que tiene y en
qu lugar salen los datos que se quieren ver.

Figura 1. Ejemplo Total Phase Data Center

3.2 WinMerge
Simplemente nombrar la utilizacin de este programa que sirve para comparar
dos cdigos o proyectos entre s. Es muy til, porque en nuestro caso, como se parta de un
proyecto, muchas veces era rpido, necesario y til comparar el cdigo con el antiguo. Se
usaba para contrastar, ya fuera porque algo no funcionaba, o porque se necesitaba saber que
se haba cambiado con respecto a alguna versin anterior.
Se muestra un ejemplo de la utilizacin, equiparando una parte de la estructura de la
memoria inicial con la que se tiene al finalizar.

Figura 2. Ejemplo WinMerge

3.3 Itelsis Transmitter Optimizer


Este programa se usa para la parte de comunicacin usb con el equipo.
Permite escribir y cargar del modulador distintos valores de correccin, tanto lineales
como no lineales.
Se puede definir unos filtros de correccin, LPD o NLPD, y enviarlos al modulador y
que este guarde dicha configuracin. Tambin, el paso inverso, coger del modulador
los valores que tiene. Otras opciones que puede configurar en el modulador son
activar el CFR, dar un valor de factor de cresta y tambin existe la opcin de ir
actualizando el filtro en tiempo real.

Figura 3. Correccin LPD

3.4 Hyper Terminal


Las pruebas realizadas con este programa fueron varias, pero todas se centran
en lo mismo, cambiar algn parmetro de configuracin de forma remota. Es decir, se
cambia en el Musyc el modo de operacin, de local a remoto, y despus se inserta en
el Hyper Terminal los comandos a probar.
Para poder hacer estas pruebas, se tiene un conversor conectado al ordenador por
usb y dicho conversor conectado en un puerto serie de nuestro equipo.
Las pruebas se realizan de casi todos los comandos existentes, pero se centran,
principalmente, en los comandos que antes se han implementado en el proyecto. Estos
comandos son para configurar IGMP versin 3 (CT7), las cuatro fuentes IP (CT8,
CT9, CU0, CU1) y el acceso a registros de mdulos internos por I2C (REG). Se
verifica que se configura bien el IGMP versin 3, que se pueda habilitar/deshabilitar las
fuentes y cambiar la direccin de dichas fuentes. Otra prueba importante es el acceso
a registros de mdulos internos. Aqu se escribe y lee en los registros, se comprueba
que escribe y guarda en el registro correspondiente lo que se introduce y que lee
correctamente todos los registros.
A continuacin, se presentan unos ejemplos de comandos de configuracin de los
introducidos en el Hyper Terminal.

Figura 4. Ejemplos comandos

4. Montaje del equipo e introduccin de seales.


Una vez realizado todas las pruebas con los programas anteriores, y haber corregido
todos los problemas surgidos, se conecta todo el equipo conjunto: fuente, MTRx, modulador y
el HD Explorer a la salida. ste sirve para poder decodificar la seal que le llega del equipo y
para ver los valores de configuracin de dicha seal.
El equipo para funcionar correctamente necesita una seal de 10MHz y otra de 1PPS.
Adems, se conectan dos seales de televisin (ASI1 y ASI2) y una seal IP. Todo esto se
interconecta entre s para poder realizar las pruebas necesarias para comprobar si el equipo
trabaja bien o no.
A continuacin se explica cmo estn conectados entre s todos los elementos del
equipo y todas las seales:

Figura 5. Conexin del equipo


Como se puede observar en el esquema, el Musyc est conectado por un bus a la
fuente, y sta, conectada mediante otro bus al MTRx y al Modulador. La seal de 10MHz est a
la entrada de la fuente y cada una de las salidas de la fuente lleva esta seal de 10MHz al MTRx
y al Modulador. En el Modulador tambin se conecta las seales de 1PPS, ASI1, ASI2 e IP. La
salida del Modulador va al MTRx y de este se lleva al HD Explorer. Con todas estas conexiones
hechas, se pasa a las pruebas de funcionamiento del equipo, tal y como se ver en el siguiente
apartado de la memoria.

5. Pruebas de funcionamiento.
Hechas las conexiones tal y como se dice en el apartado anterior, ya se est en
condiciones de realizar pruebas para verificar el correcto comportamiento del equipo.
Las pruebas que se han realizado estn explicadas en el documento
Verificacion_Transmisor_DVB-T2. Son diferentes comprobaciones como por ejemplo:
verificaciones de sincronismo, de parmetros de configuracin, conmutacin de entradas y
otras muchas.
Todos estos ensayos se controlan y se modifican mediante el programa Enensys
T2Gateway que est en la direccin 192.168.2.224 de la red local. Modificando valores en
dicho programa y variando parmetros tambin en el Musyc se pueden hacer todas las
pruebas y comprobar que todo funciona correctamente. Para saber concretamente qu
pruebas, cmo se han hecho y qu resultado se ha obtenido de ellas, se puede consultar el
documento Verificacin_Transmisor_DVB-T2 ya que est actualizado con las pruebas hechas y
los resultados obtenidos.

5.1. Enensys T2Gateway.


A continuacin se muestran unas capturas del programa que sirve para
modificar todos los parmetros de configuracin. Este programa tambin permite
cargar configuraciones dadas y aplicarlas al equipo. Sobre estas configuraciones se
pueden hacer modificaciones para observar cmo afecta cada cambio a la salida del
equipo. Todas estas pruebas estn explicadas en el documento dicho anteriormente.
A continuacin se puede observar unas capturas del programa:

Figura 6. Configuracin trama T2

Figura 7. Ajustes PLP