zona restrita







Projeto TVDSoC

Resumo

O surgimento do Sistema Brasileiro de Televisão Digital (SBTVD) incentivou a criação, com tecnologia nacional, de um terminal de acesso (TA, também denominado Set-Top Box em inglês) para recepção de Televisão Digital e comunicação com o usuário. Para a implementação o TA foi dividido em módulos principais e depois integrá-lo em uma única pastilha de silício, pois fazendo isso o desempenho d o processo de decodificação tende a aumentar e o custo de produção e as dimensões do produto tendem a diminuir. Vários destes módulos, sendo um deles o decodificador de vídeo, são desenvolvidos no Laboratório de Processamento de Sinais e Imagens (LaPSI). O desenvolvimento de um circuito integrado complexo inicia com a validação de um protótipo em FPGA com toda a lógica que o chip deve implementar. O FPGA é programável, permitindo várias tentativas para chegar ao sistema digital funcional, pois o tempo e o custo de fabricação de um circuito integrado não permitem o projeto por tentativa. A validação do protótipo do decodificador de vídeo é uma etapa importante do processo de desenvolvimento. O sistema tão complexo como o decodificador de vídeo exige um projeto por etapas. Cada parte é projetada e depurada individualmente com o suporte de um ambiente multi- nível. Foi implementado, pelo LaPSI, um software de referência chamado PRH.264 que lê o bitstream de vídeo (sinal que contém as informações de vídeo codificadas), mostra o vídeo da forma que ele deve ser exibido no televisor e exibe as configurações e os parâmetros do vídeo exibido. Para a verificação do decodificador, devem ser gerados bitstreams de vídeo codificado a partir de dados brutos de luminância e crominância (gerados pela câmera de filmagem). Para codificação foi utilizado o programa JM [1] (H.264/14496-10 AVC REFERENCE SOFTWARE), desenvolvido pela Joint Video Team. Os outros testes foram feitos a partir de bitstreams transmitidos por emissoras de televisão. Foi desenvolvido no LaPSI o programa ControleTuner, o qual captura esses bitstreams através de um demodulador USB que capta o sinal da televisão digital. Os bitstreams gerados ou capturados devem ser enviados ao protótipo na placa com FPGA para testes. Neste trabalho foi melhorada a interconexão entre o ControleTuner e o software PRH.264, bem como a interconexão entre o ControleTuner e a placa com FPGA. O ControleTuner, em sua versão final, é capaz de efetuar a sequência de passos para concluir cada teste de forma bastante autônoma, e com indicações para o usuário, reduzindo os erros de operação.

O Sistema Operacional escolhido para esse projeto foi o Linux, devido a sua grande disponibilidade de drivers e a sua compatibilidade tanto com o LEON3 quanto com o GINGA, que será utilizado futuramente. A Aeroflex Gaisler dispõe de todos os compiladores, scripts e bibliotecas necessários para construir um Kernel de Linux adaptável para o FPGA alvo do projeto. A estrutura que a Gaisler fornece é composta por quatro blocos, que foram configurados de acordo com arquitetura do FPGA. Desse modo, é possível fornecer as utilidades necessárias para o protótipo, por exemplo, drivers para periféricos (controle-remoto, mouse, teclado...). Portanto, a vantagem de um sistema operacional consolidado, é que ele permite uma compatibilidade com aplicações externas e a parametrização para ajustar-se às demandas de desempenho. Os blocos fornecidos pela Gaisler, citados anteriormente, são chamados de Build Root Distribution, Cross-compilation Toolchain, Linux Build e Loader. A Buildtoot Distribution é um conjunto de Makefiles e Patches que facilitam a criação de um Linux embarcado. A Cross-compilation Toolchain, contida no Build Root, é um compilador capaz de criar um código executável para uma plataforma diferente da que está sendo utilizada para fazer a compilação. Por exemplo, no caso desse projeto, utiliza-se um PC comum com Linux para compilar uma imagem que rodará em um microprocessador. O Linuxbuild consiste em uma interface gráfica composta por conjuntos de scripts de Makefiles necessários para configurar algumas das ferramentas do Linux para as quais a Aeroflex Gaisler provê suporte. O Loader é responsável por criar uma imagem .ram compatível com o sistema. Atualmente, o processo está em fase de instalação de drivers para I2C e ffmpeg e a habilitação de utilidades como Ethernet e NFS (Network File System). O futuro desse projeto consiste em unir a comunicação I2C com as utilidades desse sistema operacional a fim de se obter informações dos componentes da placa através do conceito de Internet das Coisas. O intuito é que se possa implementar, de alguma forma, esse conceito no projeto da TV Digital, de modo a torná-la cada vez mais interativa.