Servidor de EPG (Eletronic Program Guide) para TV Digital implementado em FPGA

Tamanho: px
Começar a partir da página:

Download "Servidor de EPG (Eletronic Program Guide) para TV Digital implementado em FPGA"

Transcrição

1 UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO DAVI MOREIRA NEVES JOSIAS BORTOLOTTO BIASIBETTI Servidor de EPG (Eletronic Program Guide) para TV Digital implementado em FPGA Trabalho de Conclusão de Curso Prof. Edson Pedro Ferlin Orientador Curitiba, Dezembro de 2010.

2 UNIVERSIDADE POSITIVO Reitor: Prof. José Pio Martins Pró-Reitor de Graduação: Prof. Renato Casagrande Diretor Acadêmico: Prof. Marcos José Tozzi Coordenador do Curso de Engenharia da Computação: Prof. Edson Pedro Ferlin 2

3 3 Agradecimentos Primeiramente a Deus por nos dar saúde e ajudar nos momentos difíceis passados desde que ingressamos na Universidade. Aos nossos familiares que suportaram nossa ausência em diversos momentos e muitas vezes quando estávamos juntos foram compreensíveis com nosso stress devido a atividades relacionadas a faculdade. A todos os nossos sinceros agradecimentos.

4 4 SUMÁRIO LISTA DE ABREVIATURAS E SIGLAS... 6 LISTA DE FIGURAS... 7 LISTA DE TABELAS... 8 RESUMO... 9 ABSTRACT INTRODUÇÃO Revisão Bibliográfica PLANEJAMENTO Composição dos Custos ESPECIFICAÇÃO DO SISTEMA Características do Sistema Requisitos do Sistema Arquitetura do Sistema Testes de Validação do Sistema DESENVOLVIMENTO DO SISTEMA Hardware Módulo Embarcado Módulo de Serialização Módulo DVB-ASI Conexão dos módulos (Barramento ISA)... 27

5 5 4.2 SOFTWARE Análise de Requisitos Desenvolvimento Firmware Protocolo de Comunicação IMPLEMENTAÇÃO RESULTADOS CONCLUSÃO Trabalhos Futuros REFERÊNCIAS ANEXO A ANEXO B ANEXO C ANEXO D ANEXO E ANEXO F ANEXO G ANEXO H ANEXO I

6 6 LISTA DE ABREVIATURAS E SIGLAS BNC British Naval Conector (Conector Britânico Naval) DVBASI Digital Video Broadcast ( Transmissão de Vídeo Digital) EIT Event Information Table (Tabela de Informações de Evento) Hz Hertz ISA Industrial Standard Architecture (Arquitetura de padrão industrial) PLL Phase-Locked Loop (Fase de Loop Fechado) FPGA Field Programmable Gate Array (Matriz de Campos Programáveis) SO Sistema Operacional VHDL Hardware Description Language (Linguagem de descrição de hardware) XML Extensible Markup Language ( Linguagem de Marcação Extensível) IEEE Institute of Electrical and Electronic Engineers (Instituto de Engenheiros Elétricos e Eletrônicos ) ABNT Associação Brasileira de Normas Técnicas GPIO General Purpose Input/Output (Entradas e saídas de proposito geral)

7 7 LISTA DE FIGURAS Figura 3.1: Visão geral da transmissão da TV Digital (FONTE:???) Figura 3.2: Diagrama em Blocos do Projeto Figura 4.1: Diagrama em blocos do Hardware Figura 4.2: Módulo Embarcado TS Figura 4.3: PLL e Porta And desenvolvidas no Modulo de serialização Figura 4.4: Bloco Controlador de Memória Figura 4.5: Simulação Controlador de Memória Figura 4.6:Bloco de Memória Figura 4.7: Simulação Funcionamento bloco de memória Figura4.8: BlocoControlador EPG DataMuX Figura 4.9: Gerador de Pacotes Vazios Figura 4.10: Simulação Gerador de Pacotes Nulos Figura 4.11: Bloco Driver DVBASI Figura 4.12: Simulação Driver DVB ASI Figura 4.13: Bloco Barramento ISA 8 bits Figura 4.14: Diagrama Básico do Gerador de Pacotes Figura 4.15: Tela Principal interface WEB Figura 4.16: Diagrama de Classes interface WEB Figura 4.17: Diagrama de Classes Biblioteca Principal Geração MPEG2TS Figura 4.18: Diagrama de Classes Biblioteca Principal Geração MPEG2TS (Cont.) 32 Figura 4.19: Fluxograma do Firmware (Módulo Embarcado) Figura 4.20: Layout do protocolo de comunicação Figura 5.1: Visão Geral da Implementação (1- Interface WEB de configuração. 2- Módulo Embarcado. 3- Módulo de Serialização. 4 Módulo DVB-ASI. 5 Dispositivo analisador de MPEG utilizado para testes) Figura 6.1: Pacote de dados Figura 6.2: Análise dos pacotes Figura 6.3: Taxa de transmissão dos pacotes de dados Figura 6.4: Taxa de transmissão dos pacotes de dados com preenchimento Figura 6.5: Forma de onda do sinal serializado... 39

8 8 LISTA DE TABELAS Tabela 2.1: Cronograma simplificado Tabela 2.2: Composição dos Custos Tabela 2.3: Resumo da Composição dos Custos Tabela 4.1: Funções dos pinos do Conector Tabela 4.2: Disposição dos bits nos registradores Tabela 4.3: Parâmetros controlados pelo TS Tabela 4.4: Endereço de memória base 7 e 8 bits... 22

9 9 RESUMO Há alguns anos difundiu-se em uma escala considerável a TV digital brasileira. De forma genérica um sistema de TV digital é dividido em três partes: um difusor, responsável, por prover a programação a ser transmitida e suportar a interações com os telespectadores, um receptor que recebe e exibe o conteúdo ao telespectador e permite a interação com o meio de difusão que é composto por canal de difusão e canal de retorno. Para transmitir o sinal digital de TV são necessários diversos equipamentos tais como multiplexador, servidor EPG (Electronic Program Guide), servidor de pacotes de áudio, servidor de pacotes de vídeo entre outros. Este projeto tem por objetivo implementar um servidor EPG, que é apenas uma parte de todo o processo de geração e transmissão do sinal digital. O equipamento desenvolvido tenha a finalidade de gerar pacotes MPEG2 Transport Stream contendo informações básicas sobre determinado programa tais como: horário de transmissão horário do término, classificação entre outros. Esses pacotes são disponibilizados em uma saída DVB ASI (Digital Video Broadcast - ASI) que os converte em sinal digital e torna disponível a uma possível conexão com um multiplexador de sinal digital. O equipamento desenvolvido utiliza tecnologia de lógica programável com dispositivo FPGA (Field Programmable Gate Array) Stratix II da Altera e trabalha em conjunto com um KIT que possui um processador ARM e faz o controle do fluxo e armazenamento das informações, neste projeto o KIT ARM recebe o nome Módulo Embarcado. O projeto utiliza a tecnologia de FPGA devido à importante característica de ser configurável, além disso, há neste componente, diversas outras vantagens tais como: baixo consumo de energia, alto desempenho. Outro motivo que deve ser considerado e que levou a utilização de FPGA foi o fato de tornar possível a criação e diversos componentes dentro de um único encapsulamento, o que traz uma possibilidade testes e homologação muito maior, além de possibilitar a redução no tamanho do equipamento. Palavras-Chave: Televisão Digital, Electronic Program Guide, Pacotes de vídeo.

10 10 ABSTRACT A few years spread to a considerable scale digital TV in Brazil. To transmit this signal are needed different equipment such as multiplexer, EPG server (Electronic Program Guide), audio packets server, video packages server among others. This project has as its main objective depicting the phases of a project for an EPG server that is only part of the whole process of generating and transmitting the digital signal. The developed equipment generates MPEG2 Transport Stream packets containing basic information about a particular program such as: hours of transmission time of termination, among other classification. These packages are available in a DVB ASI output which makes them available to a possible connection to a digital signal multiplexer. The equipment will be developed using FPGA technology from Altera and worked together with a module, purchased commercially, has named embedded system. We chose to develop the design using FPGA due to the important characteristic that has been reconfigurable, moreover, there is this component, several other advantages such as low power consumption, high performance. Another important reason that results to the use of FPGA is that it makes possible the creation and several components within a single package, which brings a chance to test much larger and approval, and could reduce the size of the equipament. Keywords: Digital TV, Electronic Program Guide, Video Packages.

11 11 1 INTRODUÇÃO O servidor de EPG (Electronic Program Guide) é um sistema responsável pela geração de informações adicionais inseridas no sistema de multiplexação de dados da televisão digital. Dentre estas informações estão: classificação, horário de exibição do programa, duração, gênero em que o programa se enquadra entre outros. Servidores de EPG necessitam de um hardware que gere uma saída em tempo real codificada, aonde os dados inseridos se alteram ao longo do tempo baseando-se nas informações do guia de programação. O guia de programação consiste em uma estrutura de dados que pode conter diversas redes, que na pratica são as redes de TV transmitidas, em cada rede podem existir diversos serviços, que seriam os segmentos de cada emissora que estão espalhados pelo país dentro de cada um dos serviços são definidos eventos (programas) e respectivas durações. Cada evento transporta diversas informações chamadas descritores, dentre elas: título classificação de idade do evento, gênero, idioma entre outros. O sistema desenvolvido é capaz de receber as informações do guia de programação por meio de uma interface com usuário que, neste caso, será um operador de TV digital. A interface é constituída de campos onde serão inseridos os descritores, os eventos (data e hora de inicio, hora do fim, duração entre outros). Os dados são codificados por meio de um algoritmo executado no Módulo Embarcado, e transmitidos para o Módulo de Serialização que tem uma saída com a informação no padrão MPEG2 Transport Stream (MPEG2 TS). O algoritmo foi desenvolvido baseando-se nas estruturas definidas pelas normas ABNT (Associação Brasileira de Normas Técnicas). A operação consiste em receber os dados inseridos na interface web, hospedada no Módulo Embarcado, montar os pacotes e, com o uso do barramento ISA (Industrial Standard Architecture) de 8bits enviá-los para o Módulo de Serialização. O Módulo Embarcado, adquirido comercialmente por questões de otimização e custo de desenvolvimento, é composto por um processador ARM utilizando para funcionamento o sistema operacional (SO) Linux distribuição Lenny. Dentro deste SO é processado o algoritmo de transmissão dos pacotes para o Módulo de Serialização. O Módulo de Serialização é onde serão armazenados os pacotes tem como um de seus principais componente a FPGA Stratix II da altera, é responsável pelo controle do fluxo de dados e o envio destes ao módulo DVB ASI (Digital Video Broadcast Asynchronous interface) (Fischer, 2008). O Módulo DVB ASI é responsável por receber os pacotes MPEG2 TS enviados pelo Módulo de Serialização converte-los para o padrão digital de vídeo. Sua saída é composta por dois conectores no BNC (British Naval Conector), que permitem altas taxas de transmissão de dados. Para homologação do projeto estas saídas são conectadas a um analisador de MPEG da marca DIGICAST comercialmente adquirido.

12 Revisão Bibliográfica O reconhecimento dos documentos técnicos, já editados, referentes ao tema do projeto demandou diversas etapas de trabalho. A busca foi dividida em dois grupos de documentos, primeiro as normas que definem o sistema de TV digital no Brasil, depois textos de auxilio para facilitar a compreensão das normas. Dentre as normas pesquisadas está a ABNT NBR15603 (ABNT, 2008), que descreve o sistema de informação da TV digital brasileira. Entre as definições descritas está a estruturas de dados das informações contidas nas tabelas de informações dos eventos (Event Information Table-EIT) bem como os próprios eventos e seus descritores. A ABNT NBR15603 (ABNT, 2008) faz várias citações às normas ETSI EN (ETSI, 2006) e ISO (ISO, 2000) as quais descrevem com mais detalhes algumas partes do sistema brasileiro de TV digital. Dentre os textos de auxilio há também o livro Digital Vídeo and Broadcasting Technology (FISCHER, 2008) que descreve com detalhe o sistema de codificação de MPEG2 Transport Stream e auxiliou para um melhor entendimento das normas usadas.

13 13 2 PLANEJAMENTO O projeto esta distribuído em diversas etapas, na Tabela 2.1 é exibido um resumo do cronograma de execução. Tabela 2.1: Cronograma simplificado Atividades Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez Entrega das propostas do TCC para avaliação pelo colegiado Entrega das especificações técnicas do TCC aprovado Entrega da etapa de projeto do TCC (no formato de monografia). Normas ABNT Linguagem VHDL Plataforma de Desenvolvimento Altera Plataforma do Sistema Embarcado Barramento de Comunicação Protocolo de Comunicação Porta DVB-ASI Entrega da monografia completa Hardware FPGA Desenvolvimento Codificação da FPGA Codificação do drive de dispositivo para comunicação dos módulos Codificação da Aplicação de Edição do Guia de Programação Confecção Prototipagem do Hardware Ajustes Finais no Projeto Entrega do artigo técnico completo Ajustes na Documentação Entrega da documentação completa Apresentaçãoaberta ao público Entrega Completa Do Projeto com A documentação em CD 2.1 Composição dos Custos No que diz respeito a software como o projeto envolve e utiliza diversos recursos da Altera foi utilizado o software Quartus II 9.1. Para a documentação foi utilizado o Microsoft Office instalado no sistema operacional Microsoft Windows 7. Como plataforma de desenvolvimento para a interface web do sistema foi utilizado o Visual Studio 2008, para auxiliar o controle de execução foi utilizado o Microsoft Project. No que diz respeito a Hardware foram utilizados os seguintes itens: KIT TS-7800, Osciloscópio, Nios II. A Tabela 2.2 apresenta os custos do Projeto.

14 14 Tabela 2.2: Composição dos Custos Orientador: Professor Edson Pedro Ferlin Mão-de-obra (RH) Gastos com Softwares Descrição Valor por Hora Total de Horas Trabalhadas Valor Total Direta R$ 30, R$ ,00 Do Professor Orientador R$ 63, R$ ,00 Do Coordenador do Curso R$ 109,00 80 R$ 8.720,00 Descrição Valor total da Mão-de-obra gasta com o projeto Valor do Software no Mercado Depreciação em meses R$ ,00 Horas Mês Valor por Hora Total de Horas Trabalhadas Valor Total Windows 7 Professional R$ 2.000, R$ 0, R$ 166,67 Visual Studio 2008 R$ 3.000, R$ 1, R$ 170,45 Quartus II 9.1 R$ 1.980, R$ 0,75 70 R$ 52,50 Project R$ 2.000, R$ 0, R$ 83,33 Valor total gasto com Softwares R$ 472,95 Gastos com Equipamentos e Insumos Gastos com Espaço físico Descrição Valor do Equipamento no Mercado Depreciação em meses Horas Mês Valor por Hora Total de Horas Trabalhadas Valor Total KIT embarcado TS-7800 R$ 830, R$ 0, R$ 69,17 Nios II Development Kit, Cyclone II Edition R$ 3.100, R$ 1, R$ 258,33 Notebook R$ 4.900, R$ 1, R$ 408,33 Fonte de alimentação simples R$ 670, R$ 0, R$ 55,83 Fonte de alimentação simétrica R$ 1.380, R$ 0, R$ 52,27 Multimetro Digital R$ 41, R$ 0, R$ 18,64 Simulador Proteus 7.1 ou superior R$ 3.000, R$ 1,14 50 R$ 56,82 Valor total gasto com equipamentos e Insumos R$ 850,23 Valor do espaço em m 2 Quantidade de m2 Quantidade de Meses Valor Total R$ 7,00 7,00 8 R$ 392,00 Valor total gasto com espaço R$ 392,00 Gastos com Documentação e Gastos Extras Valor Mensal Quantidade de Meses Valor Total R$ 19,00 8 R$ 152,00 R$ 100,00 1 R$ 100,00 Valor total gasto com Documentação e Gastos Extras R$ 252,00 Descrição Sub-total Percentual de Impostos Valor Total Impostos R$ 392,00 35,70% R$ 609,64 Impostos Impostos R$ ,18 35,70% R$ ,24 Tabela 2.3: Resumo da Composição dos Custos. Resumo de Gastos com o Projeto Descrição Total (R$) Mão-de-obra ,00 Licenças de Software e desenvolvimento 529,77 Equipamentos e Insumos 793,41 Espaço físico 392,00 Documentação e gastos extras 252,00 Custo estimado para Produção do Protótipo 1.000,00 Impostos Módulo Embarcado 392,00 TOTAL ,18

15 15 3 ESPECIFICAÇÃO DO SISTEMA O Servidor de EPG é um sistema para a geração de pacotes MPEG2 Transport Stream contendo as seções de informações de eventos (conteúdo da EIT). Uma interface simplificada permite acesso do usuário ao sistema tornando possível a inserção dos dados como: classificação, início, término e gênero do programa a ser exibido. Um algoritmo tratará os dados inseridos pelo usuário, baseando-se nas estruturas definidas pelas normas, monta os pacotes inserindo cada uma das informações alimentadas pelo operador de TV digital e armazenará no Módulo de Serialização. A saída de dados do Módulo de Serialização será constituída de uma porta serial no padrão DVB-ASI, controlada por meio de uma lógica implementada em um dispositivo FPGA altera. O Módulo de Serialização receberá os dados do Módulo Embarcado e os disponibilizará na saída DVB-ASI. Esses dados terão a maior constância possível, pode haver delay de transmissão e quebra de pacotes apenas na comunicação entre os módulos, Embarcado e de Serialização. Isso significa que ao enviar os dados para o Módulo de Serialização o algoritmo executado no Módulo Embarcado envia no inicio da transmissão um bit indicando que é o início de um pacote, ao gerar outro pacote o sistema reenvia esse bit indicando o inicio que os dados que estão sendo gerados pertencem a um novo pacote. Para a geração dos pacotes MPEG2 Transport Stream, foram usados apenas alguns dos descritores disponíveis na norma uma vez que apenas um dos descritores de eventos é obrigatório. Os descritores selecionados são os de classificação indicativa, de conteúdo, de componente de áudio, e há também o descritor de eventos curtos. A escolha de apenas alguns se deve às restrições de memória do Módulo de Serialização. Com o desenvolvimento bem sucedido desse equipamento é possível após melhorias e customizações inserir um Servidor de EPG no mercado nacional, uma vez que atualmente recorre-se a produtos importados que possuem alto custo financeiro que pode chegar a U$ ,00. Para ilustrar de forma mais clara a imagem da Figura 3.1, traz uma visão gerar de como é o funcionamento da TV digital. O conteúdo deste projeto refere se apenas a uma pequena parte destacada em vermelho, todos os outros itens da imagem seriam necessários para que os dados do servidor EPG chegasse ao equipamento de TV.

16 Figura 3.1: Visão geral da transmissão da TV Digital (FONTE: 16

17 17 O projeto constitui-se de interface que permite a entrada do conteúdo do pacote, o hardware foi implementado em FPGA utilizando lógica programável. Além disso, o sistema está pronto para suportar 48 horas de programação para cinco canais convertendo esses dados para o formato digital. A parte destacada na Figura 3.1 pode ser analisada observando-se a Figura 4.1 do capítulo de desenvolvimento do sistema. 3.1 Características do Sistema As principais características funcionais do sistema são: Software para a entrada de parâmetros para geração de dados; Geração de pacotes do EPG no padrão MPEG2 Transport Stream; Pacotes com no máximo dois dias de programação; Comunicação ISA 8bits entre Módulo Embarcado e de Serialização; Comunicação com 10 bits entre Módulo de Serialização e DVB ASI; Armazenamento de dados para até dois dias de programação; Pacotes MPEG2 de 188 bytes; Saídas no padrão DVB-ASI. (Fischer, 2008) 3.2 Requisitos do Sistema Os requisitos necessários para o funcionamento do sistema são: Alimentação VAC; Cabo com terminais do tipo BNC; Conexão ethernet 10/100/1000Mb; Cabo de rede ethernet com terminais RJ45; Cabo flat com 8vias para comunicação ISA; Cabo flat com 10 vias para comunicação entre Módulo de Serialização e DVBASI. 3.3 Arquitetura do Sistema O hardware do Servidor de EPG apresentado na Figura é constituído por dois blocos principais (Módulo Embarcado e Módulo de Serialização). O primeiro é o Módulo Embarcado que possui em seu hardware processador ARM9, memória flash para armazenamento do sistema operacional, portas de entrada e saída serial e de rede, bem como um barramento para comunicação de dados. O segundo bloco é o Módulo de Serialização, o qual possui um banco de memória capaz de armazenar um dado tempo de conteúdo do guia de programação. A comunicação externa é controlada pelo controlador de entrada e saída que é feita por meio de um barramento de comunicação. O controlador EPG é o responsável por manipular os dados e enviar os mesmo em partes para o Módulo DVB-ASI que faz a serialização. A Figura 3.2 apresenta o digrama simplificado do hardware do projeto.

18 18 Módulo Embarcado Módulo de Serialização Módulo DVB-ASI Computer Figura 3.2: Diagrama em Blocos do Projeto 3.4 Testes de Validação do Sistema A avaliação do sistema ocorre utilizando-se testes isolados que verificam as funcionalidades de cada um dos módulos pontualmente. O hardware é dividido em três blocos sendo esses, o Módulo Embarcado, Módulo de Serialização e Módulo DVB ASI. O Módulo Embarcado por ser uma plataforma comercial não necessita de testes, foram realizados testes apenas no barramento que faz a comunicação entre os módulos, Embarcado, de Serialização e DVB ASI. A FPGA teve sua lógica desenvolvida por meio de uma ferramenta de modelagem e síntese, portanto os testes e validações foram feitos por meio do simulador do Quartus II. A saída de dados seriais DVB-ASI é testada por um hardware externo, adquirido comercialmente, que faz a aquisição da saída a qual é transferida para um computador host onde, com auxilio de analisadores de arquivos hexadecimais ou do padrão EIT, é possível constatar a integridade dos dados inseridos pelo operador de TV digital, na interface de configuração.

19 19 4 DESENVOLVIMENTO DO SISTEMA Este capítulo descreve o sistema do servidor de EPG sob duas visões que se complementam e caminham juntas. 4.1 Hardware O projeto do hardware foi dividido em três blocos, Figura( Módulo Embarcado, Módulo de Serialização e Módulo DVB-ASI, como mostrados na Figura 4.1 Módulo de Testes Figura 4.1: Diagrama em blocos do Hardware

20 Módulo Embarcado O KIT TS-7800 foi adquirido da empresa System Technologies para servir como Módulo Embarcado. A escolha deste Módulo Embarcado foi baseada nas características do projeto que exigiam que o KIT possuísse um sistema operacional, interface de rede ethernet, memórias SD (Segurança Digital), portabilidade, por se tratar de um módulo relativamente pequeno, e um ambiente de desenvolvimento que permitisse depurar a aplicação WEB dentro do módulo. O Módulo Embarcado é composto de um processador ARM 9 operando a 500MHz e possui um baixo custo comercial quando analisado o quesito custo beneficio e também possui porta serial, interface de rede 10/100/1000 Mbit/s, barramento PC/104 (padrão ISA BUS). Por possuir o sistema operacional a plataforma Linux na sua distribuição Debian Lenny o Módulo Embarcado facilita o desenvolvimento das aplicações necessárias para este projeto. As características padrões do TS-7800 são: CPU ARM9 500MHz; Conector barramento PC/104; 128MBytes DDR-RAM; 512MBytes NAND Flash (17MB/s); 2 slots para cartão SD (1 micro-sd, 1 full-sd); 2 portas SATA; 2 portas USB Mbit/s; 1 Conexão ethernet, 10/100/1000; 5 Canais ADC 10-bit; 10 Portas seriais, 2 RS-485 opcionais; 110 Conexões GPIO (86 no Conector PC/104); Baixa potencia consumida (4W a 5V); Inicialização do Linux em menos de 2 segundos; Kernel 2.6 e Distribuição Lenny; Eclipse IDE out-of-the-box. O controlador principal dos periféricos de entrada e saída do Módulo Embarcado é constituído por um dispositivo FPGA proporcionando um barramento PCI interno de 50MHz. Na Figura 4.2 tem-se a foto da placa do Módulo Embarcado TS FPGA Figura 4.2: Módulo Embarcado TS-7800

21 21 A conexão entre os Módulos Embarcado e de Serialização ocorre por meio do barramento PC/104, que está disposto em quatro linhas de barramento, que estão rotuladas como A,B,C e D. A disposição dos pinos por ser vista Figura no ANEXO A. A configuração do conector PC/104 pode ter um ajuste fino. Este ajuste pode ser feito por meio de um par de pinos para obter quatro funções diferentes que são mostradas na Tabela 4.1. Tabela 4.1: Funções dos pinos do Conector Numero da Função Descrição 0 GPIO 1 ISA 2 Reservado 3 Reservado Após definir a função dos pares de pinos é possível escrever os bits nos registradores que correspondem às linhas do barramento em questão. A Tabela 4.2 mostra a posição dos bits em cada registrador do barramento. Cada linha representa o endereço da linha do barramento e cada célula nas colunas representam o valor do endereço do pino do barramento. Por exemplo, para definir as funções dos pinos B19 e B20, a indica que se deve usar os bits [19:18] do registrador de endereço 0xE Tabela 4.2: Disposição dos bits nos registradores Coluna registradores endereços \/ bits-> A B C D 0xE xE xE xE800003C Os detalhes sobre as conexões dos pinos estão descritas no ANEXO B. O Módulo Embarcado (TS-7800) prove um controle sobre alguns parâmetros do barramento PC/104, por meio de um registrador de endereço localizado em 0xE800000C, que são definidos na Tabela 4.3. Tabela 4.3: Parâmetros controlados pelo TS-7800 bit(s) 5-0 ISA strobe length 9-6 ISA setup length Função 10 Honor ISA 0WS/ENDX signal (1=true) 11 TS special ISA pinout enable (1=true) 12 ISA oscillator select 0 high-jitter approximation of Mhz

22 22 1 clean 25Mhz A ISA strobelength e a ISA setup length definem o número de períodos extras de 10ns. A ISA strobelength é a quantidade de tempo adicional para os sinais ISA_IOR, ISA_IOW, ISA_MEMR e ISA_MEMW. O mínimo que pode ser definido é 20ns. Ao ligar o sistema o valor padrão é definido 40, o que representa um strobelength de 420ns. Caso seja configurado para usar o sinal Honor ISA WS/ENDX o periférico ignora o tempo do strobe e finaliza a transação do barramento, fazendo com que o barramento aceite a conexão com dispositivos mais rápidos do que o padrão ISA aceita. O valor padrão para o setup length é 14, isso representa um tempo de 160ns. Ha um tempo de 20ns que é inserido no final do strobe para que o processo de leitura e escrita seja válido. A duração de um ciclo padrão do barramento é definida com setup (160ns), strobe (420ns) e hold (20ns) o que da um total de 500ns (2MHz). Isso é um mecanismo bem conservador para hardwares atuais, porem faz com que o barramento seja muito mais rápido. Para acessar os periféricos do barramento PC/104 é necessário adicionar o endereço base da Tabela para o deslocamento do periférico para obter um endereço de memória e acessar o periférico. Por exemplo, para ISA de 8bits 0x100 endereço E/S, adicione 0xEE de 0x100 para obter 0xEE000100, como mostrado na Tabela 4.4. Tabela 4.4: Endereço de memória base 7 e 8 bits Memória E/S 8-bit 0xEC xEE bit 0xED xEF Obs.: O módulo utiliza uma fonte de alimentação de 5V DC e 1A para trabalhar na frequência nominal de 500MHz. Tensões superiores 6V DC podem danificar o equipamento portanto devem ser evitadas Módulo de Serialização. O Módulo de Serialização foi implementado dentro do Kit de desenvolvimento FPGA Stratix II da Altera. Usando a linguagem VHDL foram desenvolvidos: o Ajuste do clock para 27 MHz, uma porta And, um controlador de memória, uma memória com capacidade para palavras de oito bits, um multiplexador de dados, um gerador de pacotes vazios, um Driver DVB ASI e um controlador ISA. Nesta seção serão descrito os blocos de controle Módulo de Serialização, será exibida uma descrição o bloco gerado no Quartus II, a imagem da simulação, bem como o código de implementado em VHDL. PLL- (Phase locked loop)-o clock fornecido pelos padrões de confecção do KIT Altera Stratix II, que foi utilizado para construir o Módulo de Serialização, é de 50 MHz. Para possibilitar a sincronização e troca de dados com o módulo DVB ASI, que possui clock de 27MHz foi desenvolvida utilizando-se da megafunction ALTPLL da Altera. Este componente que é responsável por receber o clock de 50 MHz e internamente mantendo em um loop reinjetando-o até reduzir o clock a 27MHz. Quando esse valor é atingido um flag de locked é ativado e por meio de uma porta And o sistema verifica se o Driver DVB ASI está com sinal de leitura habilitado como visto na Figura 4.4. Com o resultado desta operação ativa-se o sinal de Enable do DataMux descrito na Figura 4.9. (ETSI, 2006)

23 23 Figura 4.3: PLL e Porta And desenvolvidas no Modulo de serialização Controlador de Memória- A memória implementada, dentro do dispositivo FPGA, permite que seja realizada leitura e gravação em paralelo, apesar deste recurso não ser amplamente utilizado neste projeto, o controlador de memória foi projetado com um clock para escrita e outro para leitura que facilitou o interfaceamento com o Módulo Embarcado. A Figura 4.5 mostra sinteticamente o bloco do controlador de memória com os sinais de entradas situados à esquerda e os de saída à direita. Memory Controller read_ena write_ena data_in[7..0] read_clk write_clk rst data_ram_in[7..0] can_read data_ram_out[7..0] write_ram read_ram wr_addr[15..0] rd_addr[15..0] data_out[7..0] inst4 Figura 4.4: Bloco Controlador de Memória Escrita: O controlador verifica a ocorrência de um evento de clock de escrita e se o mesmo encontra-se em nível logico alto. Se isto confirmado, o dado que está sendo inserido no controlador por meio do barramento data_ram_in é escrito na memória por meio do barramento data_ram_out. A cada ciclo um endereço de referencia é incrementado armazenando o último endereço gravado eliminado possibilidades de erros na leitura. Estas ações são descritas nos código VHDL abaixo: if (write_ena = '1') then -- rotina de escrita write_ram<= '1'; wr_addr<= wr_addr_ref; data_ram_out<= data_in; wr_addr_ref<= wr_addr_ref + 1; --incrementar o enderço de memória addr_ref<= wr_addr_ref; --armazena a referencia do ultimo endereço gravado. Leitura: Paralelamente ao processo de escrita pode ser iniciada a rotina de leitura que fará a leitura de todos os endereços gravados. Isso ocorre disponibilizando-os no barramento data_out, até o endereço de leitura ser igual ao endereço de referencia, armazenado na rotina de escrita. Ao atingir este ponto a leitura é reiniciada a partir da posição 0 da memória. Essas operações estõa

24 24 descritas no código VHDL abaixo: if (read_ena = '1') then-- rotina de leitura rd_addr<= rd_addr_ref; rd_addr_ref<= rd_addr_ref + 1; read_ram<= '1'; data_out<= data_ram_in; Na Figura 4.5 é apresentada uma simulação da temporização do controlador de memória. Figura 4.5: Simulação Controlador de Memória Memória A memória tem capacidade de 64k palavras e permite leitura e escrita simultânea. Gerada a partir do Megacore do Quartus II é um ponto crucial do projeto. Caso não fosse possível realizar gravação e leitura de modo simultâneo seria necessário utilizar um mesmo clock para ambas as operações o que dificultaria o trabalho com essa implementação. Desta forma foi possível usar os clocks do Módulo Embarcado e Módulo de Serialização de forma independente para os processos de leitura e escrita. A Figura 4.7 mostra o bloco de memória utilizado contendo as entradas situadas à esquerda e a única saída à direita. Logo a seguir é exibida, na Figura 4.8, uma simulação da temporização e operação da memória. data[7..0] w raddress[15..0] w ren rdaddress[15..0] rden lpm_ram_dp Word(s) RAM q[7..0] w rclock rdclock Block Type: AUTO inst6 Figura 4.6:Bloco de Memória

25 25 Figura 4.7: Simulação Funcionamento bloco de memória Controlador EPG-DataMux O controlador EPG-DataMux tem como principal funcionalidade controlar a taxa de transmissão dos pacotes, com base no evento de clock verifica se o pacote a ser gerado deve ser vazio ou com dados válidos. Esse controle é necessário para que não ocorram problemas durante a leitura ou escrita dos dados, caso contrário podem ocorrer diferenças entre as taxas de transmissão do streaming de dados da EIT (Event Information Table) e um streaming de vídeo que podem causar distorção da informação. A Figura 4.8 apresenta o bloco do DataMux gerado no Quartus II com entradas dispostas do lado esquerdo e saídas do lado direito. DataMux clk rst enable mem_data[7..0] pcknull_data[7..0] clk_out is_v alid mem_rdena pcknull_ena data[7..0] rdy _to_read Parameter Value Type inst3 rate 5 Signed Integer Figura4.8: BlocoControlador EPG DataMuX As operações executadas pelo DataMux estão descritas no código VHDL abaixo: IF (byte_count /= 187) THEN mem_rdena <= '1'; ELSE mem_rdena <= '0'; END IF; IF ((mem_data = " ") OR byte_count > 0) THEN data <= mem_data; is_valid <= '1'; byte_count <= byte_count + 1; END IF; ELSE CASE (byte_count) IS WHEN 187 => mem_rdena <= '1'; pcknull_ena <= '0'; WHEN OTHERS => pcknull_ena <= '1'; END CASE; IF (byte_count /= 187) THEN pcknull_ena <= '1'; ELSE pcknull_ena <= '0'; END IF; IF ((pcknull_data = " ") OR byte_count > 0) THEN data <= pcknull_data; is_valid <= '1'; byte_count <= byte_count + 1;

26 26 NTSPG Gerador de Pacotes Vazios Responsável por gerar os pacotes vazios que fazem a redução da taxa de transmissão. Sua habilitação ocorre como o sinal lenght ligado a PKTSZ para definir o tamanho do pacote, o pcknull_ena do DataMux ligado a entrada BRATE (Byte Rate). A Figura 4.9 apresenta o bloco NTSPG gerado no Quartus II com entradas à esquerda e saíds à direita. NTSPG RESET CLOCK PKTSZ BRATE BCLK DVALID PSYNC DATA[7..0] inst1 Figura 4.9: Gerador de Pacotes Vazios As operações realizadas pelo NTSPG estão descritas no código VHDL abaixo: IF BRATE = '1' THEN BCLK <= '1'; IF pointer <= 187 THEN DVALID <= '1'; ELSE DVALID <= '0'; END IF; IF pointer = 0 THEN PSYNC <= '1'; ELSE PSYNC <= '0'; END IF; DATA <= nulltsp(conv_integer(pointer)); A Figura 4.11 mostra uma simulação de temporização e funcionamento do Gerador de Pacotes Nulos. Figura 4.10: Simulação Gerador de Pacotes Nulos Driver DVB ASI O módulo DVB ASI utiliza 15 ciclos de clocks para ativação de latches internos, por esse motivo foi desenvolvido em VHDL um dispositivo ao qual foi dado o nome Driver DVB ASI. O driver DVB ASI aguarda o fim destes ciclos para habilitar a transmissão dos Pacotes de dados. O driver DVB ASI também é responsável por analisar os 10 bits disponibilizados pelo Módulo de Serialização, o dado é disponibilizado na saída ts_data_out apenas quando for válido. Para isso são verificados os dois bits mais significativos, quando iguais a zero o dado contido na entrada data ts_data_in é válido e, consequentemente disponibilizado, caso contrário é descartado. A Figura 4.12 ilustra o bloco do Driver DVB ASI.

27 27 DVBASIDriv er clk_in is_v alid rst_in ts_data_in[7..0] ready clk_out rst_out ts_data_out[9..0] inst5 Figura 4.11: Bloco Driver DVBASI O código abaixo desenvolvido em VHDL demonstra o principio de funcionamento do dispositivode controle do DBV ASI: IF (enable = '0' AND count /= 15) THEN count <= count + 1; ready <= '0'; ELSE ready <= '1'; enable <= '1'; END IF; A Figura 4.13 demosntra uma simulação de funcionamento do Driver DVB ASI. Figura 4.12: Simulação Driver DVB ASI Módulo DVB-ASI Módulo conectado ao Módulo de Serialização recebe as informações em um barramento de 10 bits, dos quais 8bits, fazem a conversão para o padrão DVB-ASI. O Módulo DVB ASI possui uma característica muito importante que é o fato de necessitar que, após sua habilitação, transcorram 15 ciclos de clock utilizados para ativar latchs e outros periféricos, só após esse período torna-se estável e passa a disponibilizar os dados serializados. O diagrama esquemático é dado pelo ANEXO H. Os valores de componentes utilizados são sugeridos no guia de referência, disponibilizado pelo fabricante, do LMH0340, principal componente do módulo e podem ser consultados no ANEXO C Conexão dos módulos (Barramento ISA) A integração entre o Módulo Embarcado e o Módulo de Serialização é feita usando o barramento ISA 8 bits disponível no Módulo Embarcado. Como o módulo de Serialização foi desenvolvido dentro do de um dispositivo FPGA tornou-se necessário criar um bloco que controla a comunicação entre esses módulos. Como o módulo

28 28 embarcado possui barramento ISA 8 bits foi desenvolvido um protocolo de comunicação para barramento ISA de 8 bits cujo código VHDL pode ser visto no ANEXO D. A Figura 4.14 mostra o bloco gerado no Qartus II para este dispositivo com entradas à esquerda e saídas à direita. ISA8Slav e AEN IOR IOW ADDRESS[7..0] DATA[7..0] PORT_DATA_OUT[7..0] WRITE_ENA WRITE_CLK inst7 Figura 4.13: Bloco Barramento ISA 8 bits 4.2 SOFTWARE Neste capítulo são descritos os método de desenvolvimento, características e funcionamento da parte relacionada a software do sistema desenvolvido Análise de Requisitos Para que a interface web de configuração possa gerar as informações para o pacote MPEG de forma adequada, devem ser informados todos necessários como classificação: gênero, início, fim do programa, identificação da rede, multiplexador e serviço. Para isso a interface de usuário possui campos para receber todos esses parâmetros. É necessário utilizar uma estação de trabalho com DOT.NET Framework instalado. O software é de fácil utilização, com rotinas otimizadas para evitar que seja necessário utilizar um computador com configurações elevadas para o funcionamento Desenvolvimento Usando o ambiente de desenvolvimento do Visual Studio 2010 e as linguagens de programação C# e ASP.NET desenvolvemos uma aplicação para a entrada dos dados do guia de programação. O software foi dividido em três blocos, conforme o diagrama da Figura Interface ASP.NET Biblioteca de Auxílio Biblioteca Principal Figura 4.14: Diagrama Básico do Gerador de Pacotes O primeiro bloco do diagrama representa a interface desenvolvida para receber a entrada dos dados, e foi desenvolvido utilizando-se ASP.NET AJAX e C#. Na Figura 4.16 tem-se a tela principal da aplicação.

29 29 Figura 4.15: Tela Principal interface WEB A inclusão de dados na aplicação deve ter a seguinte ordem, rede, multiplexador, serviço, eventos e descritores. Caso exista uma rede diversos multiplexadores podem ser criados e assim sucessivamente, porém quando não houver nenhuma rede não é possível criar um multiplexador já que este é dependente da mesma, o mesmo se aplica aos outros itens lembrando que podem existir diversas redes com seus respectivos dependentes (Multiplex, Services). Os dados estão relacionados entre si, obedecendo aos requisitos da especificação do padrão de televisão digital para a criação do guia de programação. Cada evento cadastrado está relacionado a uma data e hora de inicio, duração e possui um conjunto de descritores que os definem. Os eventos devem ser únicos em uma data e hora específica para determinada rede, multiplexador e serviço. O diagrama de classe da Figura 4.17 mostra como os dados estão relacionados. Figura 4.16: Diagrama de Classes interface WEB

30 A classe EPG da biblioteca auxiliar tem a função de manipular os dados cadastrados, e possibilita que os dados possam ser carregados ou armazenados no padrão XML. Esta mesma classe possui a função de codificar os dados para o padrão MPEG2TS, o qual é usado para a transmissão. O XML gerado pode ser visto no ANEXO E. A codificação dos dados para o padrão MPEG2TS é feita usando a biblioteca principal, que possui toda a lógica de codificação. O método SaveTS implementado pela classe EPG faz uso da classe principal e codifica os dados, como se pode observar no ANEXO F. A biblioteca principal foi programada com toda a lógica de codificação do padrão MPEG2TS, fazendo com que os dados cadastrados e armazenados no XML sejam convertidos para o padrão descrito pelas normas de transmissão de vídeo digital. As Figuras 4.18 e 4.19 trazem o digrama de classes da biblioteca principal para geração do MPEG2TS. 30

31 Figura 4.17: Diagrama de Classes Biblioteca Principal Geração MPEG2TS 31

32 32 Figura 4.18: Diagrama de Classes Biblioteca Principal Geração MPEG2TS (Cont.) A classe Mux responsável por receber os objetos EIT gerados inserindo os o um a um e armazenando em um vetor de objetos EIT. Quando todos os objetos EIT estiverem inseridos no MUX é chamado o método start iniciando a codificação. O Mux por sua vez insere cada EIT no Encoder<T>. O T representa um tipo genérico utilizado para representar objeto do tipo EIT. Com isso o Encoder<EIT> extrai os dados do objeto em um vetor de bytes seguindo os padrões DVB e os insere em pacotes de dados nos padrões MPEG2TS. O Código desenvolvido em C#, que realiza a operação descrita, encontra-se no ANEXO G. A transmissão dos dados para a FPGA é feita por outro serviço, desenvolvido em C usando a plataforma de desenvolvimento do Kit embarcado, que é baseado na IDE Eclipse adaptada para o uso da programação em nesta linguagem. O bloco de código abaixo é usado para transmitir os dados armazenados no arquivo de transmissão que são gerados no software descrito acima cujo código encontra-se no ANEXO G. /* Carrega o arquivo no barramento */ intload_device(unsignedlongio_loc, FILE *bitstream) { int data; POKE_ISA(CONFIG_REG, 0xFF); /* Habilita a escrita na memória da FPGA. */ while ((data = fgetc(bitstream))!= EOF) { POKE_ISA(DATA_REG, data); //Envia o dado para o barramento

33 33 } POKE_ISA(CONFIG_REG, 0xFD); //Coloca o clock em nível lógico alto. } POKE_ISA(CONFIG_REG, 0xFE); /* Desabilita a escrita na memória da FPGA. */ /* Esta etapa é necessário para dasabilitar a escrita e gravar o último dado enviado */ POKE_ISA(CONFIG_REG, 0xFD); //Coloca o clock em nível lógico alto. return 0; As demais classes herdam boa parte dos métodos das classes EPG e MUX, a seguir um breve resumo do funcionamento de cada uma delas: Standard Descriptor: Classe base para as classes de descritores, apenas prove informações básicas comuns a todos os descritores. ShortEventDescriptor: Classe que representa a estrutura de dados do descritor de evento curto. ContentDescriptor: Classe que representa a estrutura do descritor de conteúdo. ExtendEventDescriptor: Classe que representa a estrutura de dados do descritor de evento estendido. ParentalRating: Classe que representa a estrutura de dados do descritos de classificação de conteúdo. PSIBase: Classe base para a tabela EIT que prove as informações básicas para a tabela EIT. EIT: Classe responsável pela codificação da EIT, retornando uma estrutura de dados com as informações da tabela EIT e seu descritores associados. Packet: Classe que representa a estrutura de dados de um pacote MPEG2, usado pelo Mux e Demux para a multiplexação ou demutiplexação dos dados MPEG2. Demux: Classe responsável pela demultiplexação dos dados e pelo envio dos pacotes ao decodificador correto. Decoder<T>: Classe genérica responsável pela decodificação dos dados MPEG2. O tipo T pode ser uma tabela do padrão MPEG2, que no caso deste sistema apenas utilizamos a EIT. Mux: Classe responsável pela multiplexação dos dados e pelo retorno dos pacotes codificados no padrão MPEG2. Encoder<T>: Classe genérica responsável pela codificação dos dados MPEG2. O tipo T pode ser uma tabela do padrão MPEG2, que no caso deste sistema apenas utilizamos a EIT. As demais classes são utilizadas como apoio nas operações e não possuem operações especificas. 4.3 Firmware O firmware (Software do Módulo Embarcado) responsável pelo controle do fluxo de dados no barramento ISA foi desenvolvido na linguagem VHDL utilizando a IDE Quartus II versão 9.1 da Altera. Sua principal função é ativar o device do Módulo Embarcado para enviar ou receber dados e esta operação é feita baseando-se no endereço de controle 0x3E0. A Figura 4.20 apresenta o fluxo básico do seu funcionamento.

34 34 Inicio Le o endereço enviado pelo sistema embarcado Verifica se o endereço enviado é = 0x3E0 Não Mantém a entrada e saída do barramento desabilitada Sim Habilita entrada e saída do barramento ISA 8 bits Aguarda evento de IOW( escrita) Não Habilitação de saída = 1 Sim Disponibiliza o dado na saída Fim Figura 4.19: Fluxograma do Firmware (Módulo Embarcado) 4.4 Protocolo de Comunicação Os 2 primeiros bytes enviados definem o endereço de memória inicial onde serão armazenados os dados no Módulo de Serialização. Os 2 bytes seguintes, que estão reservados para uso futuro, definem a configuração do Módulo de Serialização. A partir do sexto byte são enviados, de dois em dois bytes, os dados que serão armazenados na memória do Módulo de Serialização. Endereço Configuração Dados 2 bytes 2 bytes N Bytes Figura 4.20: Layout do protocolo de comunicação

35 35 5 IMPLEMENTAÇÃO O servidor EPG desenvolvido está dividido em três módulos que trabalham em conjunto. Uma Interface WEB hospedada no Módulo Embarcado recebe o conteúdo a ser inserido nos pacotes e armazena-os em um arquivo XML. Em seguida esses dados são convertidos para o formato MPEG2TS e transmitidos ao módulo de serialização onde os pacotes são gerados e, de forma serializada, enviados ao módulo DVB ASI que faz a conversão dos dados para o formato digital. Como o Módulo Embarcado e o de Serialização trabalham em frequências diferentes de 27MHz e 50MHz, respectivamente. Desta forma, foi desenvolvido um circuito controlador de clock para adequar o clock do Módulo Embarcado ao Módulo de Serialização. Devido ao fato de este projeto trabalhar apenas com cinco canais a capacidade da FPGA Stratix II acabou sendo subutilizada o que resultou em uma utilização de 2% de unidades lógicas e 1 % de memória. Diversos dispositivos do Módulo Embarcado e do Módulo de Serialização foram utilizados para comunicação do projeto. Entre os módulos utilizou-se o barramento PC104, a comunicação do computador do operador com o Módulo Embarcado foi feita pela conexão Ethernet, entre o Módulo de Serialização e o DVB-ASI fez-se uso de um conector de alto desempenho de transmissão conhecido como BNC (British Naval Connector). A Figura 5.1 mostra uma visão geral do projeto implementado.

36 36 Figura 5.1: Visão Geral da Implementação (1- Interface WEB de configuração. 2- Módulo Embarcado. 3- Módulo de Serialização. 4 Módulo DVB-ASI. 5 Dispositivo analisador de MPEG utilizado para testes) 5 c o m o o s d a d o s e s t ã o r e l a c i o n a d o s

37 37 6 RESULTADOS O sistema foi analisado sob a ótica dos três módulos (Módulo Embarcado, Módulo de Serialização, Módulo DVB-ASI) Módulo Embarcado: Inicialmente tem-se uma interface de entrada de dados para o sistema que fornece um parser XML capaz de codificar os dados, previamente inseridos pelo operador do sistema. É gerado um arquivo que contém os pacotes do guia de programação no formato MPEG2, sem um controle na taxa de transmissão do stream que é feita pelo Módulo de Serialização. Os pacotes produzidos na saída deste módulo possuem um tamanho fixo de 188 bytes e não incluem os pacotes de stuffing, que tem a finalidade de preencher o stream com dados vazios para o controle da taxa de transmissão. A Figura 6.1 representa um pacote de dados codificado em MPEG2. Figura 6.1: Pacote de dados

38 38 A Figura 6.2 representa os dados do mesmo pacote sendo analisados utilizando-se o software Stream Guru. Figura 6.2: Análise dos pacotes A taxa de transmissão de um arquivo MPEG2 puro, sem os pacotes de preenchimento vazios, ou stuffing packets, é muito mais baixa se comparada a um stream de transmissão completo. A Figura 6.3 nos mostra a taxa de transmissão deste arquivo MPEG2 gerado. Figura 6.3: Taxa de transmissão dos pacotes de dados Nessa figura tem-se que a taxa de transmissão do arquivo gerado é em torno de 5 Mbps e permite comparar a taxa deste stream gerado, com a taxa gerada pelo stream de saída do sistema. Módulo de Serialização: Recebe os pacotes do Módulo Embarcado e armazena em memória, fazendo a serialização dos dados ou seja, inserindo ao stream os pacotes de preenchimento (stuffing packets) para o controle da taxa do stream. Isto resulta em um stream de dados com uma taxa bem mais elevada. A Figura 5.4 mostra a taxa do stream de saída do sistema.

39 39 Figura 6.4: Taxa de transmissão dos pacotes de dados com preenchimento Analisando as Figuras 6.3 e 6.4 pode-se observar que a taxa dos dados do stream, depois da inserção dos pacotes de preenchimento, aumenta aproximadamente 10 vezes comparado com os dados sem os pacotes de preenchimento. Porém, isto é necessário para que se mantenha um fluxo constante de dados na saída do módulo DVB-ASI. Desta forma esses dados são ignorados quando inseridos na entrada de um multiplexador do sistema de televisão digital. Módulo DVB-ASI: Recebe o stream de dados do Módulo de Serialização produzindo uma saída serial digital. Os dados são transmitidos no canal físico a uma taxa de 216 Mbps nominal, porém a taxa atingida pelo sistema desenvolvido chegou ao máximo de 184 Mbps. Isso se dá devido a problemas de sincronização entre os blocos lógicos implementados no dispositivo FPGA. A análise do canal de transmissão DVB-ASI na saída do sistema produz uma forma de onda mostrada na Figura 6.5. Pode-se observar que são geradas formas de onda, onde ocorre um jitter de saída que é típico neste tipo de sistema de transmissão. Figura 6.5: Forma de onda do sinal serializado Neste canal de transmissão o sistema pode atingir uma taxa de 3Gbps, porem isso é limitado pelo padrão DVB-ASI que aceita taxas de no máximo 216 Mbps para transmissões dentro das normas estabelecidas pelo IEEE(Institute of Electrical and Electronics Engineers). Para trabalhar com cinco canais foram utilizado 25% da memória da FPGA e menos de 1% das unidades lógicas.

40 40 7 CONCLUSÃO O Servidor de EPG que foi proposto e desenvolvido é um equipamento capaz de receber informações do guia de programação, codificar e transmitir os dados nos padrões definidos pelas normas de televisão digital brasileira. Esse sistema prove uma interface com o usuário que recebe os dados do guia de programação. Um algoritmo de programação desenvolvido faz a codificação dos dados para o padrão MPEG2 Transport Stream que é serializado por meio de um sistema utilizando uma lógica de hardware implementada em uma FPGA capaz de inserir pacotes de preenchimento, ou seja, pacotes vazios no stream de dados para a manutenção da taxa de transmissão. Por fim, o sistema disponibiliza os dados em uma saída no padrão DVB-ASI fazendo a transmissão da informação. No que tange o projeto do servidor de guia de programação eletrônico, objeto de estudo da monografia, pode-se concluir que o sistema funcionou dentro dos resultados esperados serializando pacotes com 188 bytes, permitindo a gravação dos mesmos para análise e homologação do sistema, comunicação adequada entre os módulos através do padrão ISA 8 bits. O sistema trabalha com um limite de cinco canais de programação com até 48 horas de eventos de programação por canais. Os dados podem ser inseridos pelo operador diretamente no equipamento por meio de uma interface WEB sem que haja a necessidade de softwares instalados localmente no computador do operador. Com esse sistema foi possível atingir uma taxa de transmissão de 184 Mbps, o que indica 85% de eficiência da taxa de transmissão nominal do canal de comunicação, cujo à velocidade máxima é de 216 Mbps conforme o padrão DVB-ASI. Os problemas com perda de eficiência na transmissão são atribuídos ao alto sincronismo exigido entre os clocks internos dos blocos lógicos implementados no dispositivo FPGA. A não sincronização perfeita entre todos os blocos do Módulo de Serialização faz com que haja uma perda de 15% na taxa de transmissão. Entretanto, a saída do sistema é limitada a pacotes de 188 bytes e ao modo de transmissão em rajada. Isso faz com que o sistema envie 188 bytes e posteriormente um stuffing byte, ou seja, um byte de preenchimento indicando o fim do pacote. Os resultados obtidos nos permitem concluir que é completamente viável o desenvolvimento de um equipamento para a geração de um guia de programação para a Televisão Digital Brasileira. Não há necessidade de utilizar necessariamente Stratix II para implementar este projeto, o principal requisito é que a FPGA a ser utilizada possua memória de no mínimo 500KBytes.

41 Trabalhos Futuros No desenvolvimento deste trabalho observou-se que o sistema implementado pode ser melhorado, buscando viabilizar o projeto comercialmente ou mesmo agregando valor ao produto por meio de serviços embutidos ao produto. Com esse intuito podemos sugere-se as seguintes melhorias: Integrar ao projeto já desenvolvido um analisador de MPEG2 Transport Stream para inserir alguns dados no EPG automaticamente. Como o sistema necessita de um conjunto de informações como: rede, multiplex e serviço para a codificação dos dados, pode-se fazer um analisador baseado na entrada de um stream contendo as informações de programas de áudio e vídeo. Assim seria possível extrair os dados de rede, multiplex e serviço deste stream informando o mesmo automaticamente na interface WEB do sistema. Isso eliminaria a necessidade do operador inserir esses dados manualmente, diminuindo assim a possibilidade de erros. Criar um serviço provedor de informações de EPG que poderá prover os dados do guia de programação diretamente para os equipamentos. Esse serviço resultaria em um valor agregado ao produto. Comunicação do equipamento com provedores de informações existentes no mercado atualmente, estabelecendo-se padrões. Criar interfaces de entrada e saída MPEG2 Transport Stream para IPTV fazendo com que o sistema codifique os pacotes para esse padrão. Dessa forma, pode-se observar que existem inúmeras oportunidades para agregar valor ao projeto do Servidor de EPG, tornando esse um produto de valor agregado para o mercado nacional.

42 42 REFERÊNCIAS (ABNT, 2008) Associação Brasileira de Normas Técnicas (ABNT), ABNT NBR Televisão Digital Terrestre - Multiplexação e Serviços de Informação, Norma ABNT NBR 15603, Rio de Janeiro: ABNT, (ETSI, 2006) ETSI , European Telecommunications Standard Institute Version 1.7.1, ETSI EN Digital Video Broadcasting (DVB) Specification for Service Information (SI) in DVB systems, (IOS, 2000) International Organization for Standardization, ISO/IEC Information Technology-Generic Coding of Moving Pictures and Associated Audio Information: Systems, Second Edition, 2000 (FISCHER, 2008) Fischer, W. Digital Video and Audio Broadcasting Technology: A Practical Engineering Guide. 2 nd Edition. Local: Springer, (EC, 2001) PC/104 Embedded Consortium, PC/104 Specification, Version 2.4, August (SHANLEY, 1995) Tom Shanley, ISA System Architecture, 3rd Edition, MindShare, (CYPRESS, 2010) Cypress Semiconductor Corporation, Single-channel HOTLink II Transceiver, San Jose, Revised March 24, 2005, Disponível em: < acessado em jun./2010.

43 43 ANEXO A <Pinagem de comunicação módulo embarcado> (Texto Explicativo) D C A B O conector PC/104 pode ser usado com diferentes funcionalidades incluindo barramento ISA e modo GPIO (Genereal Purpose Input/Output). Para habilitar o barramento PC/104 para trabalhar com sinais de barramento ISA é necessário escrever os respectivos valores nos registradores a seguir: 0x55555 para o endereço 0xE800003C 0x55555 para o endereço 0xE x para o endereço 0xE x para o endereço 0xE

44 44 ANEXO B <Conectores PC 104> As conexões PC/104 são descritas nas tabelas a seguir. A coluna ISA traz o nome do sinal representado pelo pino. Conector de 64 pinos. Pin ISA pin ISA A1 IOCHK# B1 GND A2 D7 B2 RESET A3 D6 B3 +5V A4 D5 B4 IRQ9 A5 D4 B5 3.3V A6 D3 A7 D2 A8 D1 A9 D0 B6 DRQ2 B7 NC B8 ENDX# B9 8V_30V A10 IORDY B10 GND A11 AEN A12 A19 A13 A18 A14 A17 A15 A16 A16 A15 A17 A14 A18 A13 A19 A12 A20 A11 A21 A10 A22 A9 A23 A8 A24 A7 A25 A6 A26 A5 A27 A4 A28 A3 B11 MEMW# B12 MEMR# B13 IOW# B14 IOR# B15 DACK3# B16 DRQ3 B17 DACK1# B18 DRQ1 B19 RFRSH# B20 BCLK B21 IRQ7 B22 IRQ6 B23 IRQ5 B24 IRQ4 B25 IRQ3 B26 DACK2# B27 TC B28 BALE A29 A2 B29 +5V A30 A1 B30 OSC A31 A0 A32 GND B31 GND B32 ISA_B32 Conector de 40 pinos. Pin ISA pin ISA C0 GND C1 SBHE# C2 LA23 C3 LA22 C4 LA21 C5 LA20 C6 LA19 C7 LA18 D0 GND D1 MEM16# D2 IO16# D3 IRQ10 D4 IRQ11 D5 IRQ12 D6 IRQ15 D7 IRQ14 C8 LA17 D8 3.3V C9 MEMR# D9 DRQ0 C10 MEMW# D10 DACK5# C11 SD8 C12 SD9 C13 SD10 C14 SD11 C15 SD12 D11 DRQ5 D12 DACK6# D13 DRQ6 D14 DACK7# D15 DRQ7 C16 SD13 D16 +5V C17 SD14 C18 SD15 C19 GND D17 MASTER# D18 GND D19 GND

45 45 ANEXO C <Componentes módulo DVB ASI> O Quadro a seguir traz a relação de componentes utilizados na confecção do módulo DVB ASI. Componente Descrição Designação Quantidade Número de Referência CAP NP 0402 Cap,.1 uf, 16V, ceramic C YD333KAT2A 22uf 0805 Cap, 22 uf, 6.3V, ceramic C D226MAT2A 0,1uF Cap, 0.1 uf, 25V, ceramic C5, C6, C7, C9, C11, C12, C13, C14, C15, C16, C C104KAT2A 10uF Ceramic 0805 Cap, 10 uf, 6.3V, ceramic C8, C10 2 LT056D106MAT2X 4,7uF Cap, 4.7 uf, 6.3V, ceramic C1, C D475MAT2A LED LED, green, 30 ma, 0603 footprint D1 1 LTST-C190GKT LED BNC LED, red, 30 ma, 0603 footprint D2, D3 2 LTST-C190CKT Trompeter BNC edge launch connector used on LMH0344 EVK J1 1 QTE F-D- A J2 1 QTE F-D-A 5,6nH Inductor, 5.6 nh, L1 1 LQP15MN5N6B02D TST_CLK Header, 2-Pin P GPIO Header, 4-Pin P SMBUS Header, 5-Pin P Resistor, 75-ohms, R1, R2, R3, R4 4 RG1005P-750-B-T5 2,2K Resistor, 2.2 K ohms R7 1 CRCW04022K20FNKD 2,2K Resistor, 2.2 K ohms R9, R11, R12, R35, R36, R37 6 CRCW06032K20FKEA 0 Resistor, 0 ohms R5, R32, R33, R34 4 CRCW Z0EA 0 Resistor, 0 ohms, 0603 R10, R14, R16, R18 4 CRCW Z0EA 8,06K Resistor, 8.06K, 0603 R22 1 CRCW06038K06FKEA 0 Resistor, 0 ohms, 0603 R13, R15, R17 3 CRCW Z0EA 500 ohms Resistor, 0 ohms, 0402 R6 1 MCR01MZPJ000 Reset_Button SWITCH PB SPST MOM WITH PUSH PLATE SW1 1 EVQ-PLHSA15 LMH0040 LLP-48, SQA48A U1 1 M24C01-W IC SRL EEPROM 1KBIT 2.5V 8-SOIC U2 1 M24C01-WMN6T (1) Concluinte do Curso de Engenharia da Computação - dvi.neves@gmail.com (2) Concluinte do Curso de Engenharia da Computação - jbbiasibetti@hotmail.com (3)Professor Orientador ferlin@up.com.br

46 46 ANEXO D < Código barramento isa > O código abaixo desenvolvido em VHDL, descreve o funcionamento do barramento ISA de 8 bits. Neste código estão as instruções de habilitação e controle de transmissão deste barramento. ARCHITECTURE ISA8 OF ISA8Slave IS SIGNAL CONFIG_IO, DATA_IO, RESET_IO: STD_LOGIC; SIGNAL PORT_DATA_IN : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN -- AEN='0' precisa ser zero para ter certeza que não éuma ciclo de barramento DMA -- Liga o CONFIG_IO caso o endereço seja 0xE4 CONFIG_IO <= '1' WHEN ADDRESS = B" " AND AEN='0' ELSE '0'; -- Liga o RESET_IO caso o endereço seja 0xE5 RESET_IO <= '1' WHEN ADDRESS = B" " AND AEN='0' ELSE '0'; -- Liga o DATA_IO caso o endereço seja 0xE6 DATA_IO <= '1' WHEN ADDRESS = B" " AND AEN='0' ELSE '0'; ELSE ELSE -- I/O Porta de entrada - Apenas para usar buffers tri state PORT_DATA_IN <= " " WHEN ((ADDRESS = B" ") AND (IOR ='0')) ELSE " " WHEN ((ADDRESS = B" ") AND (IOR ='0') AND (WRITE_ENA = '1')) " " WHEN ((ADDRESS = B" ") AND (IOR ='0') AND (WRITE_ENA = '0')) "ZZZZZZZZ"; -- I/O Porta de saída - Salva os dados no registrador (DFFs) DATA <= PORT_DATA_IN; PROCESS (IOW) BEGIN -- Aguarda a borda positiva do clock do IOW IF(IOW'EVENT AND IOW='1') THEN -- Se for um sinal de CONFIG então podemos ter DATA igual: -- 0xFF -> Habilita a escrita na memória -- 0xFE -> Desabilita a escrita na memória -- 0xFD -> Define nível lógico alto no clock de escrita IF CONFIG_IO = '1' THEN CASE DATA IS WHEN " " => --0xFF PORT_DATA_OUT <= " "; WRITE_ENA <= '1'; WHEN " " => --0xFE WRITE_ENA <= '0'; WRITE_CLK <= '0'; PORT_DATA_OUT <= " "; WHEN " " => --0xFD WRITE_CLK <= '1'; WHEN OTHERS => NULL; END CASE; END IF; -- Se for um sinal de RESET então podemos ter DATA igual: -- 0xFF -> Reinicia todos os sinais para o estado inicial

47 47 END IF; END PROCESS; END ISA8; IF RESET_IO = '1' THEN CASE DATA IS WHEN " " => WRITE_CLK <= '0'; WRITE_ENA <= '0'; PORT_DATA_OUT <= " "; WHEN OTHERS => NULL; END CASE; END IF; -- Se for um sinal de DATA então: -- Salva o dado do barramento ISA no registrador IF (DATA_IO = '1' AND WRITE_ENA = '1') THEN PORT_DATA_OUT <= DATA; WRITE_CLK <= '0'; END IF; (1) Concluinte do Curso de Engenharia da Computação - dvi.neves@gmail.com (2) Concluinte do Curso de Engenharia da Computação - jbbiasibetti@hotmail.com (3)Professor Orientador ferlin@up.com.br

48 48 ANEXO E <XML de armazenamento dados WEB> Abaixo está o código XML por meio do qual são armazenados os dados inseridos na interface WEB. Esses dados são tratados e codificados no padrão MPEG. <?xml version="1.0" encoding="utf-8"?> <EPG xmlns:xsi=" xmlns:xsd=" <Networks> <Network id="4159" name="redeglobo"> <Multiplexers> <Multiplex id="4160" name="curitba"> <Services> <Service id="4250" name="globo News"> <Events> <Event id="1200" starttime=" t20:00:00" durariton=" t20:30:00"> <Descriptors> <Descriptor xsi:type="contentdescriptor" ID="96172d38-69fd-48f0-a77f-3d3b74b03429" nibble1="1" nibble2="1" /> <Descriptorxsi:type="ShortEventDescriptor" ID="b6dbfbe d-b907-f0cc96a23a20" languagecode="por" eventname="jornal" text="jornal Última Hora" /> </Descriptors> </Event> <Event id="1201" starttime=" t20:30:00" durariton=" t22:00:00"> <Descriptors> <Descriptorxsi:type="ContentDescriptor" ID="ec796e7c-8bf3-4ebf-8f48-e3b7a " nibble1="1" nibble2="7" /> <Descriptorxsi:type="ShortEventDescriptor" ID="3d4eb146-0f74-4fa5-b3cf-35467b46a44f" languagecode="por" eventname="histórico" text="a história da nossa civilização." /> </Descriptors> </Event> </Events> </Service> </Multiplex> </Multiplexers> </Network> </Networks> </EPG>

49 49 ANEXO F <Codificação padrão MPEG2TS> O código abaixo desenvolvido em C#, é responsável pela aquisição dos dados do arquivo XML e converte-los para o padrão MPEG2TS para posteriormente inseri-los na tabela EIT. Muxmux = newmux(output); foreach (Network net in _networks) { foreach (Multiplexmplexinnet.Multiplexers) { foreach (Serviceservinmplex.Services) { bytesectionnumber = 0; foreach (Eventevtinserv.Events) { EITeit = neweit(); eit.tableid = 0x4F; eit.sectionsyntaxindicator = true; eit.reservedfutureuse = true; eit.reservedheader = 0x03; eit.reserved = 0x03; eit.originalnetworkid = (ushort)net.id; eit.transportstreamid = (ushort)mplex.id; eit.serviceid = (ushort)serv.id; eit.versionnumber = 0x01; eit.currentnextindicator = true; eit.sectionnumber = sectionnumber; eit.lastsectionnumber = (byte)(serv.events.count - 1); eit.lasttableid = 0x4F; EventInfoevtInfo = neweventinfo(); evtinfo.eventid = (ushort)evt.id; evtinfo.freecamode = false; evtinfo.runningstatus = 4; byte[] b = BitConverter.GetBytes(evtInfo.CalculateMJD(evt.StartTime.Year, evt.starttime.month, evt.starttime.day)); byte[] result = newbyte[8]; result[3] = b[1]; result[4] = b[0]; result[5] = (byte)int.parse(evt.starttime.hour.tostring(), System.Globalization.NumberStyles.HexNumber); result[6] = (byte)int.parse(evt.starttime.minute.tostring(), System.Globalization.NumberStyles.HexNumber); result[7] = (byte)int.parse(evt.starttime.second.tostring(), System.Globalization.NumberStyles.HexNumber); evtinfo.starttime = BitHelper.GetLong(result, 40, 0); (1) Concluinte do Curso de Engenharia da Computação - dvi.neves@gmail.com (2) Concluinte do Curso de Engenharia da Computação - jbbiasibetti@hotmail.com (3)Professor Orientador ferlin@up.com.br

50 50 result = newbyte[4]; result[1] = (byte)int.parse(evt.endtime.hour.tostring(), System.Globalization.NumberStyles.HexNumber); result[2] = (byte)int.parse(evt.endtime.minute.tostring(), System.Globalization.NumberStyles.HexNumber); result[3] = (byte)int.parse(evt.endtime.second.tostring(), System.Globalization.NumberStyles.HexNumber); evtinfo.duration = BitHelper.GetInt(result, 24, 0); eit.events.add(evtinfo); foreach (Descriptordescinevt.Descriptors) { switch (desc.gettype().name) { case"contentdescriptor": JBB.MPEG2TS.Core.Tables.Descriptors.ContentDescriptorcDesc = newcore.tables.descriptors.contentdescriptor(); cdesc.descriptortag = 0x54; cdesc.contentnibblelevel1 = (byte)int.parse(((contentdescriptor)desc).nibble1.tostring(), System.Globalization.NumberStyles.HexNumber); cdesc.contentnibblelevel2 = (byte)int.parse(((contentdescriptor)desc).nibble2.tostring(), System.Globalization.NumberStyles.HexNumber); cdesc.usernibble1 = 0x00; cdesc.usernibble2 = 0x00; evtinfo.descriptors.add(cdesc); break; case"shorteventdescriptor": JBB.MPEG2TS.Core.Tables.Descriptors.ShortEventDescriptorsDesc = newcore.tables.descriptors.shorteventdescriptor(); sdesc.descriptortag = 0x4D; System.Text.Encodingascii = System.Text.Encoding.ASCII; Byte[] encodedbytes = ascii.getbytes(((shorteventdescriptor)desc).languagecode); byte[] buffer = newbyte[4]; buffer[3] = encodedbytes[2]; buffer[2] = encodedbytes[1]; buffer[1] = encodedbytes[0]; sdesc.iso639languagecode = BitHelper.GetInt(buffer, 24, 0); sdesc.eventname = ((ShortEventDescriptor)desc).EventName; sdesc.text = ((ShortEventDescriptor)desc).Text; evtinfo.descriptors.add(sdesc); break; } } mux.eit.add(eit); sectionnumber++; } } } } mux.start();

51 51 ANEXO G <Encoder e criação dos pacotes MPEG2TS> Este código foi desenvolvido em C# e é o responsável pelo empacotamento dos dados, que já foram convertidos para MPEG2TS, possibilitando a transmissão dos dados para o módulo de serialização. Encoder<EIT> encoder = newencoder<eit>(); foreach (vareitin _eit) { encoder.pushtable(eit); } foreach (var item inencoder.packets) { _output.writepacket(item.data); } Neste próximo bloco pode-se ver como o Encoder codifica os dados e cria os pacotes MPEG2TS: byte[] data = ((IPSIBase)table).Data; double temp = (double)data.length / 184; double r = Math.Truncate(temp); double f = temp - r; intamountofpackets = (f == 0.0)? (int)r : (int)r + 1; int index = 0; for (int i = 0; i <amountofpackets; i++) { Packetpacket = newpacket(packet.size._188); packet.pid = 0x12; packet.adaptationfieldcontrol = 0x01; packet.payloadunitstartinidicator = (i == 0)?true :false; packet.transportscramblingcontrol = 0x00; packet.transportpriority = false; packet.transporterrorindicator = false; packet.continuitycounter = _counter; (1) Concluinte do Curso de Engenharia da Computação - dvi.neves@gmail.com (2) Concluinte do Curso de Engenharia da Computação - jbbiasibetti@hotmail.com (3)Professor Orientador ferlin@up.com.br

52 52 byte[] buffer = null; intstartbufferindex = 0; if (i!= amountofpackets - 1) { buffer = newbyte[184]; if (packet.payloadunitstartinidicator) { startbufferindex = 1; buffer[0] = 0x00; } else startbufferindex = 0; Array.Copy(data, index, buffer, startbufferindex, (buffer.length - startbufferindex)); index += buffer.length - startbufferindex; } else { buffer = newbyte[184]; Packet.InitializeBuffer(buffer); if (packet.payloadunitstartinidicator) { startbufferindex = 1; buffer[0] = 0x00; } else startbufferindex = 0; Array.Copy(data, index, buffer, startbufferindex, (data.length - index)); } packet.payload = buffer; if (_counter == 15) _counter = 0x00; else _counter++; _packets.add(packet); ANexo H<Diagrama esquemático módulo DVB ASI> Formatado: Inglês (Estados Unidos) A seguir está a imagem do diagrama esquemático do Módulo DVB ASI, que foi projetado. Contudo, a sua confecção terceirizada devido a restrições de manufatura da placa impostas pelo LMH0340 principal componente utilizado para a confecção do módulo.

53 (1) Concluinte do Curso de Engenharia da Computação - dvi.neves@gmail.com (2) Concluinte do Curso de Engenharia da Computação - jbbiasibetti@hotmail.com (3)Professor Orientador ferlin@up.com.br 53

54 54 ANEXO H Servidor de EPG (Eletronic Program Guide) para TV Digital Implementado em FPGA Davi Moreira Neves (1), Josias Bortoloto Biasibetti(2), Edson Pedro Ferlin (3) Universidade Positivo Departamento de Engenharia da Computação Dezembro de 2010

55 55 RESUMO Neste trabalho é descrito o projeto de um servidor de guia de programação de TV digital implementado em FPGA. O sistema gera os pacotes de programação para o formato MPEG2 (Moving Picture Experts Group) e depois os disponibiliza em uma saída no padrão digital. Os testes consistem basicamente na geração dos pacotes de dados por meio de um software desenvolvido para codificação dos dados no padrão MPEG2 Transport Stream que é o passo inicial para a geração dos pacotes de dados. Nesses pacotes estão contidas informações como classificação, duração e gênero do programa a ser exibido. Os pacotes são disponibilizados em uma saída com padrão DVB (Digital Video Broadcasting) ASI (Asynchronous Serial Interface). Palavras-chaves: Televisão Digital, Electronic Program Guide, Pacotes de vídeo. ABSTRACT This work describes the design of a server guide digital TV programming implemented in FPGA. The system generates packages of programming to MPEG2 (Moving Picture Experts Group) and then makes them available in a digital pattern output. The tests are basically the generation of data packets through a software developed for data encryption standard in the MPEG2 Transport Stream which is the initial step for the generation of data packets. In these packages are contained information such as classification, gender and duration of the program to be displayed. Packages are available with output in a standard DVB (Digital Video Broadcasting) ASI (Asynchronous Serial Interface). Keywords: Digital TV, Electronic Program Guide, Video Packages. INTRODUÇÃO O servidor de EPG (Electronic Program Guide) é um sistema responsável pela geração de informações adicionais inseridas no sistema de multiplexação de dados da televisão digital. Dentre estas informações estão: classificação, horário de exibição do programa, duração, gênero em que o programa se enquadra entre outros. Os servidores de EPG necessitam de um hardware que gere uma saída em tempo real codificada, aonde os dados inseridos se alteram ao longo do tempo baseando-se nas informações do guia de programação. O guia de programação consiste em uma estrutura de dados que pode conter diversas redes, que na pratica são as redes de TV transmitidas, em cada rede podem existir diversos serviços, que seriam os segmentos de cada emissora que estão espalhados pelo país dentro de cada um dos serviços são definidos eventos (programas) e respectivas durações (IOS,2000). Cada evento transporta diversas informações chamadas descritores, dentre elas: título classificação de idade do evento, gênero, idioma entre outros. A Figura 1 mostra uma visão geral do servidor EPG.

56 56 Figura 1 Visão Geral do Projeto O sistema é composto por três módulos: Embarcado, Serialização e DVB (Digital Video Broadcasting) ASI (Asynchronous Serial Interface). Este servidor de EPG é capaz de receber as informações do guia de programação por meio de uma interface com usuário que, neste caso, é um operador de TV digital. A interface é constituída de campos onde serão inseridos os descritores, os eventos (data e hora de inicio, hora do fim, duração entre outros). Os dados são codificados por meio de um algoritmo executado no Módulo Embarcado, e transmitidos para o Módulo de Serialização que produz uma saída com a informação no padrão MPEG2 Transport Stream. O algoritmo do sistema baseia-se nas estruturas definidas pelas normas da Associação Brasileira de Normas Técnicas (ABNT, 2008). A operação consiste em receber os dados inseridos na interface web, hospedada no Módulo Embarcado montar os pacotes e, com o uso do barramento ISA de 8bits enviá-los para o Módulo de Serialização. O Módulo Embarcado constitui-se de um KIT adquirido comercialmente por questões de otimização e custo de desenvolvimento. O KIT é composto por um processador ARM utilizando para funcionamento o sistema operacional Linux distribuição Lenny. Além disso, há também memória flash para armazenamento do sistema operacional, portas de entrada e saída serial e rede bem como um barramento para comunicação de dados. Dentro do sistema operacional é processado o algoritmo de transmissão dos pacotes para o Módulo de Serialização. No Módulo de Serialização são armazenados os pacotes contendo as informações, e tem como um de seus principais componente a FPGA (Field programmable gate array) Stratix II da Altera ( onde está implementado um banco de memória capaz de armazenar até 48 horas de conteúdo do guia de programação. Esse módulo é responsável pelo controle do fluxo de dados e o envio destes ao Módulo DVB ASI. A comunicação externa é controlada pelo controlador de entrada e saída que é feita por meio de um barramento de comunicação. O controlador EPG é o responsável por manipular os dados e enviar os mesmo em partes para o Módulo DVB-ASI que faz a serialização convertendo para o formato digital. O servidor de EPG efetua a geração de pacotes MPEG2 TS contendo as seções de informações de eventos (conteúdo da EIT-Event Information Table). Uma interface simplificada permite o acesso do usuário ao sistema tornando possível a inserção dos dados. Um algoritmo trata os dados inseridos pelo usuário, baseando-se nas estruturas definidas pelas normas e monta os pacotes inserindo cada uma das informações alimentadas pelo operador de TV digital e armazena no Módulo de Serialização. A saída de dados do Módulo de Serialização é constituída de uma porta serial no padrão DVB-ASI, controlada por meio de uma lógica implementada em FPGA. O

57 57 Módulo de Serialização recebe os dados do Módulo Embarcado e os disponibiliza na saída DVB-ASI. Esses dados terão a maior constância possível, podendo haver atraso de transmissão e quebra de pacotes apenas na comunicação entre os módulos (Embarcado e de Serialização). Isto significa que ao enviar os dados para o módulo de serialização o algoritmo executado do módulo embarcado envia no inicio da transmissão um bit indicando que é o início de um pacote. A cada inicio de novo pacote esse bit de indicação é enviado novamente. Para a geração dos pacotes MPEG2 TS, foram usados apenas alguns dos descritores disponíveis na norma (IOS 2000) uma vez que apenas um dos descritores de eventos é obrigatório. Os descritores selecionados são os de classificação indicativa, de conteúdo, de componente de áudio, e há também o descritor de eventos curtos. A escolha de apenas alguns descritores se deve às restrições de memória implementada dentro do Módulo de Serialização. METODOLOGIA A geração dos pacotes começa na interface web hospedada no Módulo Embarcado, em que o operador entra com os parâmetros. Após este processo os dados são armazenados em um arquivo XML(Extensible Markup Language) que é lido por um algoritmo implementado em C#, que é responsável pela conversão dos dados para o padrão MPEG2TS. Após este processo os dados no formato MPEG2TS são empacotados utilizando-se de um novo algoritmo, também implementado em C#, quebra os pacotes em tamanhos adequados para transmissão por meio do barramento ISA de 8 bits ao módulo de serialização. Nesse módulo os pacotes são montados seguindo os padrões da tabela EIT (ETSI, 2006). O Módulo de serialização foi implementado em lógica programável utilizando se a linguagem VHDL (Very Hardware Description Language). Após montagem dos pacotes os dados são enviados ao Módulo DVB -ASI onde ocorre a conversão dos dados para o formato digital. IMPLEMENTAÇÃO O Servidor EPG desenvolvido opera em uma frequência de 27 MHz, é capaz de armazenar dois dias de programação. Foram implementados dois descritores com receio de sobrecarregar a operação do sistema, para tal utilizou-se o descritor de classificação, que é o único obrigatório, e o descritor de Gênero. É possível implementar vários outros que por uma questão de conveniência não estão no projeto. Dado o receio de sobrecarregar a FPGA, as rotinas descritas em VHDL foram bastante otimizadas, ao final da implementação o percentual Figura 2 Tela principal do software de entrada de dados

58 58 de utilização da FPGA ficou em 1%. Para a conexão entre Módulo Embarcado e Módulo de Serialização utilizou-se o barramento PC 104 do Kit Arm (EC, 2001) com barramento ISA 8 bits ( Shanley,1995) implementado na FPGA. Como os módulos possuem frequências de operação diferentes entre si (Embarcado 27MHZ, Serialização 50MHZ) foi implementado um circuito redutor de clock para manter o funcionamento em 27 MHz. RESULTADOS A taxa de transmissão dos dados chegou 180MB/s, o que indica 84% de eficiência da taxa de transmissão nominal do canal de comunicação. A transmissão dos dados ocupou pouco mais 1% da banda de transmissão do stream os dados de cinco canais com uma programação de eventos de seis horas de duração, atendendo as necessidades exigidas para sua comercialização no mercado atual. Como produto desse estudo, foi desenvolvido um equipamento para o sistema de televisão digital capaz de gerar um guia de programação eletrônico. O sistema desenvolvido atende aos requisitos descritos neste trabalho e produziu os resultados que veremos a seguir. Para uma análise dos resultados vamos analisar o sistema sob a ótica dos três módulos funcionais: Módulo Embarcado Módulo de Serialização Módulo DVB-ASI A princípio nosso trabalho produziu uma interface de entrada de dados para o sistema que fornece um parser XML capaz de codificar os dados, previamente inseridos pelo operador do sistema, a Figura 2 mostra a tela principal do software de entrada de dados. É gerado um arquivo que contém os pacotes do guia de programação no formato MPEG2, sem um controle na taxa de transmissão do stream que é feita pelo módulo de serialização. Os pacotes produzidos na saída deste módulo possuem um tamanho fixo de 188 bytes e não incluem os pacotes de stuffing, que tem a finalidade de preencher o stream com dados vazios para o controle da taxa de transmissão. A Figura 3 os dados do mesmo pacote sendo analisados utilizando-se o software Streamguru ( Figura 4 - Tela osciloscópio exibindo taxa de transmissão com preenchimento

59 59 Figura 3 - Análise dos pacotes A taxa de transmissão de um arquivo MPEG2 puro, sem os pacotes de preenchimento vazios, ou stuffing packets, é muito mais baixa se comparada a um stream de transmissão completo. Necessita-se observar que a taxa de transmissão do arquivo gerado é em torno de 5 Mbps e permite comparação da taxa deste stream gerado, com a taxa gerada pelo stream de saída do sistema. O Módulo de Serialização que recebe os pacotes do módulo embarcado e armazena em memória fazendo a serialização dos dados, ou seja, inserindo ao stream os pacotes de preenchimento (stuffing packets) para o controle da taxa do stream. Isto resulta em um stream de dados com uma taxa bem mais elevada. A Figura 4 mostra a taxa do stream de saída do sistema. Analisando a Figura 4 pode-se observar que a taxa dos dados do stream, depois da inserção dos pacotes de preenchimento, aumenta aproximadamente 10 vezes comparado com os dados sem os pacotes de preenchimento. Porém, isto é necessário para que se mantenha um fluxo constante de dados na saída do Módulo DVB-ASI. Desta forma esses dados são ignorados quando inseridos na entrada de um multiplexador do sistema de televisão digital. O Módulo DVB-ASI recebe o stream de dados do módulo de serialização produzindo uma saída serial digital. Os dados são transmitidos no canal físico a uma taxa de 216 Mbps nominal, porém a taxa atingida pelo sistema desenvolvido chegou ao máximo de 184 Mbps. Isso devido a problemas de sincronização entre os blocos lógicos programados no dispositivo FPGA. A análise do canal de transmissão DVB-ASI na saída do sistema produziu a forma de onda, visualizada na Figura 5. Pode-se observar que são geradas formas de onda, onde ocorre um jitter de saída que é típico neste tipo de sistema de transmissão. Figura 5 - Forma de Onda do sinal serializado Neste canal de transmissão o sistema pode atingir uma taxa de 3Gbps, porém isso é limitado pelo padrão DVB-ASI que aceita taxas de no máximo 216 Mbps para transmissões dentro das normas estabelecidas pelo IEEE(Institute of Electrical and Electronicas Engineers) (ETSI, 2006).

60 60 CONCLUSÕES O Servidor de EPG que foi proposto e desenvolvido é um equipamento capaz de receber informações do guia de programação, codificar e transmitir os dados nos padrões definidos pelas normas de televisão digital. Esse sistema prove uma interface com o usuário que recebe os dados do guia de programação. Um algoritmo faz a codificação dos dados para o padrão MPEG2TS que é serializado por meio de um sistema utilizando uma lógica de hardware implementada em uma FPGA capaz de inserir pacotes de preenchimento, ou seja, pacotes vazios no stream de dados para a manutenção da taxa de transmissão. Por fim o sistema disponibiliza os dados em uma saída no padrão DVB-ASI fazendo a transmissão da informação. No que tange o projeto do servidor de guia de programação eletrônico, objeto de estudo da monografia, pode-se concluir que o sistema funcionou dentro dos resultados esperados que consiste basicamente na transmissão dos pacotes gerados com baixíssimo índice de inconsistência na transmissão algo em torno de 15%. O sistema trabalha com um limite de cinco canais de programação com até 48 horas de eventos de programação por canal. Os dados podem ser inseridos pelo operador diretamente no equipamento por meio de uma interface WEB sem que haja a necessidade de softwares instalados localmente no computador do operador. A saída do sistema é limitada a pacotes de 188 bytes e ao modo de transmissão em rajada, que faz com que o sistema envie 188 bytes e, posteriormente, um stuffing byte, ou seja, um byte de preenchimento indicando o fim do pacote. Os resultados obtidos permitem concluir que é completamente viável o desenvolvimento de um equipamento para a geração de um guia de programação para a Televisão Brasileira.

61 61 REFERENCIAS (ABNT, 2008) Associação Brasileira de Normas Técnicas (ABNT), ABNT NBR Televisão Digital Terrestre - Multiplexação e Serviços de Informação, Norma ABNT NBR 15603, Rio de Janeiro: ABNT, (ETSI, 2006) European Telecommunications Standard Institute Version 1.7.1, ETSI EN Digital Video Broadcasting (DVB) Specification for Service Information (SI) in DVB systems) (IOS, 2000)International Organization for Standardization, ISO/IEC Information Technology-Generic Coding of Moving Pictures and Associated Audio Information: Systems, Second Edition, (Fischer, 2008) Fischer, W. Digital Video and Audio Broadcasting Technology: A Practical Engineering Guide. 2ndEdition. Local: Springer, (EC, 2001)PC/104 Embedded Consortium, PC/104 Specification, Version 2.4, August (Shanley, 1995) Shanley, T. ISA System Architecture, 3rd Edition, MindShare 1995.

62 62 ANEXO I Conexão do Painel Traseiro Todas as conexões do Servidor de EPG podem ser feitas pelo painel traseiro do equipamento. Conecte primeiro o cabo de Ethernet e posteriormente o cabo BNC a saída DVB-ASI. Por fim conecte o cabo de alimentação ao equipamento. É necessário configurar a placa de rede para acessar o Servidor de EPG. Abra as conexões de redes de seu sistema operacional e configure a interface de rede da seguinte forma: Defina o IP da interface de rede como e a sub-rede como , assim o host ficará acessível.

63 63 Utilizando a Interface WEB do Servidor EPG O Servidor de Guia de Programação Eletrônico fornece uma aplicação embarcada dedicada à configuração da grid de programação. Nesta aplicação é possível configurar as Redes, Multiplexadores e Serviços que estarão disponíveis no stream de dados MPEG2. É possível a definições dos eventos para um determinado serviço do stream de conteúdo, bem com os descritores dos eventos disponíveis. Este guia tem como objetivo auxiliar no entendimento de cadastro da estrutura da grid de programação do sistema de geração do Guia de Programação Eletrônico. Usando um navegador WEB acesse o endereço IP do servidor de EPG, assim obterá acesso à aplicação de configuração do Guia de Programação. Cadastrando Uma Network Para criar uma rede acesse o menu File-> New-> Network. Preencha com o identificador e o nome da Rede e clique em salvar.

64 64 Cadastrando um Multiplex Para criar um multiplexador acesse o menu File-> New-> Multiplex. Preencha com o identificador e o nome do Multiplexador, selecionar na combo Network a rede desejada e clique em salvar. Cadastrando um Service Para criar um serviço acesse o menu File-> New-> Service. Preencha com o identificador e o nome do Serviço, selecione na combo Network a rede desejada e na combo Multiplex o multiplexador desejado, após clique em salvar.

65 65 Vizualizando um Serviço Para visualizar um serviço clique no serviço desejado a esquerda da aplicação, com isso o sistema mostrará os dados do serviço bem como a lista de eventos disponível. Pode-se criar ou excluir um evento clicando nos botões do New/Delete no menu de eventos. Cadastrando um Evento Para criar um Evento clique em New na grid de eventos. Preencha com o identificador, hora de inicio e duração do Evento, após clique em salvar. Após o evento ser salvo é possível o cadastro dos descritores, conforme mostra a figura abaixo. Clique em New Descriptor e selecione o descritor desejado para cadastrar um novo descritor. Caso haja algum descritor cadastrado e seja necessário remove-lo, selecione o descritor na lista e clique em Delete.

66 66 Cadastrando um ShortEvent Descriptor Selecione o código de idioma desejado na combo Language Code, preencha o nome do evento com o nome desejado e o texto de descrição do evento, após clique em salvar. Cadastrando um Content Descriptor

67 Selecione o gênero desejado na combo Nibble Level 1 e um subgênero na combo Nibble Level 2, após clique em salvar. 67

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3 Tecnologia FPGA Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3.1. FPGA: Histórico, linguagens e blocos Muitos dos

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

Figura 01 Visão Geral da Placa

Figura 01 Visão Geral da Placa 1. Hardware O kit de FPGA é formado por periféricos que possibilitam sua interação com sinais de áudio, display gráfico e alfanumérico, comunicação serial e USB, codec de áudio, chaves para simulação e

Leia mais

DESENVOLVIMENTO DE UMA BIBLIOTECA PARA COMUNICAÇÃO COM A CAMADA FÍSICA USB PADRÃO ULPI

DESENVOLVIMENTO DE UMA BIBLIOTECA PARA COMUNICAÇÃO COM A CAMADA FÍSICA USB PADRÃO ULPI UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA DESENVOLVIMENTO DE UMA BIBLIOTECA PARA COMUNICAÇÃO COM A CAMADA FÍSICA USB PADRÃO ULPI PROPOSTA DE TRABALHO

Leia mais

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA 8 CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA A porta paralela, também conhecida por printer port ou Centronics e a porta serial (RS-232) são interfaces bastante comuns que, apesar de estarem praticamente

Leia mais

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Tecnologia PCI express. Introdução. Tecnologia PCI Express Tecnologia PCI express Introdução O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade

Leia mais

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO 28 CAPÍTULO 5 INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO Interfaces para periféricos de armazenamento: Periféricos de armazenamento,

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 SISTEMA DE INTERCONEXÃO (BARRAMENTOS) Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Componentes estruturais: Memória Principal Unidade de Processamento Central

Leia mais

INTRODUÇÃO BARRAMENTO PCI EXPRESS.

INTRODUÇÃO BARRAMENTO PCI EXPRESS. INTRODUÇÃO BARRAMENTO EXPRESS. O processador se comunica com os outros periféricos do micro através de um caminho de dados chamado barramento. Desde o lançamento do primeiro PC em 1981 até os dias de hoje,

Leia mais

Placas Adaptadoras e montagem de Redes

Placas Adaptadoras e montagem de Redes Placas Adaptadoras e montagem de Redes Objetivos da aula: 1 - Descrever a função da placa adaptadora de rede em uma rede. 2 - Descrever as opções de configuração para placas adaptadoras de rede. 3 - Listar

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

Arquitetura e Organização de Computadores I

Arquitetura e Organização de Computadores I Arquitetura e Organização de Computadores I Interrupções e Estrutura de Interconexão Prof. Material adaptado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Interrupções

Leia mais

FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO

FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO O Driver IGS possui um módulo de configuração que possibilita a comunicação com protocolos proprietários. Trata-se do Driver

Leia mais

Manual do usuário. Mobile Auto Download

Manual do usuário. Mobile Auto Download Manual do usuário Mobile Auto Download Mobile Auto Download Parabéns, você acaba de adquirir um produto com a qualidade e segurança Intelbras. Este manual serve como referência para a sua instalação e

Leia mais

Vitor Amadeu Souza. vitor@cerne-tec.com.br

Vitor Amadeu Souza. vitor@cerne-tec.com.br Introdução Vitor Amadeu Souza vitor@cerne-tec.com.br Veremos agora os passos para enviar uma string de caracteres pela USB. Porém antes veremos um tutorial referente a porta USB. Tutorial USB Sistema de

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

Placa Acessório Modem Impacta

Placa Acessório Modem Impacta manual do usuário Placa Acessório Modem Impacta Parabéns, você acaba de adquirir um produto com a qualidade e segurança Intelbras. A Placa Modem é um acessório que poderá ser utilizado em todas as centrais

Leia mais

Leitor MaxProx-Lista-PC

Leitor MaxProx-Lista-PC Leitor MaxProx-Lista-PC O leitor de cartões de proximidade MaxProx-Lista-PC é destinado aos Integradores de Controle de Acesso. Ele foi especialmente projetado para controle de acesso, para ser usado Stand

Leia mais

SCD 912. Dispositivo de comunicação e armazenamento. Apresentação. Dados Técnicos. Conexões

SCD 912. Dispositivo de comunicação e armazenamento. Apresentação. Dados Técnicos. Conexões Conv. USB-Serial Baudrate, stop bit e nro de dados programável. Baudrate de 1200 a 38400 bauds. Emula porta COM virtual. Led de indicação de operação como conversor USB-serial. Não possui linhas de controle

Leia mais

TRANSMITINDO CONHECIMENTO ON-LINE

TRANSMITINDO CONHECIMENTO ON-LINE TRANSMITINDO CONHECIMENTO ON-LINE POR MEIO WEB-RÁDIO E WEB-TV 1 BORGES, Caio C. A.; DEUS JÚNIOR, Getúlio A. de; CASTRO, Marcelo S. Escola de Engenharia Elétrica e de Computação, Universidade Federal de

Leia mais

Gerenciamento de Redes de Computadores. Pfsense Introdução e Instalação

Gerenciamento de Redes de Computadores. Pfsense Introdução e Instalação Pfsense Introdução e Instalação Introdução A utilização de um firewall em uma rede de computadores possui o objetivo básico de proteção relacionado a entrada e saída de dados. Introdução O pfsense é um

Leia mais

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

Introdução SUMÁRIO. 1. Introdução... 3. 2. Sobre este manual... 3 3. Componentes... 3 4. INSTALAÇÃO... 4. 5. Funcionalidade... 9

Introdução SUMÁRIO. 1. Introdução... 3. 2. Sobre este manual... 3 3. Componentes... 3 4. INSTALAÇÃO... 4. 5. Funcionalidade... 9 REMUX TS 9600-HD-RMX i SUMÁRIO Introdução 1. Introdução... 3 1.1 Apresentação... 3 2. Sobre este manual... 3 3. Componentes... 3 4. INSTALAÇÃO... 4 4.1 Instalação do driver usb... 4 4.2 Instalação da Máquina

Leia mais

1. CAPÍTULO COMPUTADORES

1. CAPÍTULO COMPUTADORES 1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

Curso de Instalação e Gestão de Redes Informáticas

Curso de Instalação e Gestão de Redes Informáticas ESCOLA PROFISSIONAL VASCONCELLOS LEBRE Curso de Instalação e Gestão de Redes Informáticas EQUIPAMENTOS PASSIVOS DE REDES Ficha de Trabalho nº2 José Vitor Nogueira Santos FT13-0832 Mealhada, 2009 1.Diga

Leia mais

Componentes de um Sistema de Computador

Componentes de um Sistema de Computador Componentes de um Sistema de Computador HARDWARE: unidade responsável pelo processamento dos dados, ou seja, o equipamento (parte física) SOFTWARE: Instruções que dizem o que o computador deve fazer (parte

Leia mais

R S Q 0 0 1 0 1 0 1 0 0 1 1 0 Tabela 17 - Tabela verdade NOR

R S Q 0 0 1 0 1 0 1 0 0 1 1 0 Tabela 17 - Tabela verdade NOR 19 Aula 4 Flip-Flop Flip-flops são circuitos que possuem a característica de manter os bits de saída independente de energia, podem ser considerados os princípios das memórias. Um dos circuitos sequenciais

Leia mais

Serial Paralela USB FireWire(IEEE1394)

Serial Paralela USB FireWire(IEEE1394) Serial Paralela USB FireWire(IEEE1394) histórico Tudo começou em 1980 quando a IBM estava desenvolvendo seu primeiro micro PC. Já haviam definido que o barramento ISA seria usado para permitir que o IBM

Leia mais

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração. O software de tarifação é uma solução destinada a rateio de custos de insumos em sistemas prediais, tais como shopping centers. O manual do sistema é dividido em dois volumes: 1) MANUAL DO INTEGRADOR Este

Leia mais

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Entrada e Saída. Prof. Leonardo Barreto Campos 1 Entrada e Saída Prof. Leonardo Barreto Campos 1 Sumário Introdução; Dispositivos Externos; E/S Programada; E/S Dirigida por Interrupção; Acesso Direto à Memória; Bibliografia. Prof. Leonardo Barreto Campos

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é

Leia mais

www.vwsolucoes.com Copyright 2013 VW Soluções

www.vwsolucoes.com Copyright 2013 VW Soluções 1 1. Especificação técnicas: Dimensões do módulo 4EA2SA v1.0: 100 mm x 56 mm Peso aproximado: xxx gramas (montada). Alimentação do circuito : 12 ou 24Vcc Tipo de comunicação: RS232 ou RS485 Tensão de referencia:

Leia mais

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2 MEMÓRIA CONCEITO Bit- 0 1 Essência de um sistema chamado BIESTÁVEL Ex: Lâmpada 0 apagada 1 acesa 0 e 1 únicos elementos do sistema de numeração de base 2 A que se destina a memória: Armazenamento das instruções

Leia mais

DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH

DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH UNIVERSIDADE FEDERAL DO PARANÁ DEPARTAMENTO DE ENGENHARIA ELÉTRICA DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH Projeto para a matéria TE130 Projeto de Circuitos Integrados Digitais, ministrada pelo

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 3 Software Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Barramento Sistemas Operacionais Interliga os dispositivos de E/S (I/O), memória principal

Leia mais

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger O controle da entrada e saída (E/S ou I/O, input/output) de dados dos dispositivos é uma das funções principais de um sistema operacional.

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

Desenvolvimento de Módulo Wireless para Acionamento de Cargas via Porta Paralela

Desenvolvimento de Módulo Wireless para Acionamento de Cargas via Porta Paralela Desenvolvimento de Módulo Wireless para Acionamento de Cargas via Porta Paralela Pedro H. M. Araújo 1, Renan P. Figueiredo 1, Douglas L. Dias 1, Sandro C. S. Jucá 1 1 Área da Telemática Instituto Federal

Leia mais

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

Leia mais

Arquitetura de Computadores Arquitetura de entrada e saída

Arquitetura de Computadores Arquitetura de entrada e saída Arquitetura de Entrada e Saída Arquitetura de Computadores Arquitetura de entrada e saída Barramento Meio de transmissão de dados entre a CPU, a memória principal e os dispositivos de entrada e saída.

Leia mais

Aula 04 A. Barramentos. Prof. Ricardo Palma

Aula 04 A. Barramentos. Prof. Ricardo Palma Aula 04 A Barramentos Prof. Ricardo Palma Definição Em ciência da computação barramento é um conjunto de linhas de comunicação que permitem a interligação entre dispositivos, como o CPU, a memória e outros

Leia mais

FIREWIRE. O logotipo padronizado: Suas principais vantagens:

FIREWIRE. O logotipo padronizado: Suas principais vantagens: FIREWIRE O barramento Firewire, também conhecido como IEEE 1394 ou como i.link, foi desenvolvido inicialmente pela Apple Computer em 1996, como um barramento serial de alta velocidade, e transfere um grande

Leia mais

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet. 1. Descrição Geral Este manual descreve as operações disponíveis no módulo VTWEB Client, cuja finalidade é gerenciar cadastros de funcionários, realização de pedidos e controle financeiro dos pedidos.

Leia mais

Entradas Digitais. PdP. Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006

Entradas Digitais. PdP. Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006 TUTORIAL Entradas Digitais Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br

Leia mais

Programação de Periféricos

Programação de Periféricos Programação de Periféricos Componentes Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Apresentação Raspberry pi Sistema Operacional embarcado Atividade Raspberry pi Sistema computacional

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA EEL5105 Circuitos e Técnicas Digitais Prof. Eduardo L. O. Batista

UNIVERSIDADE FEDERAL DE SANTA CATARINA EEL5105 Circuitos e Técnicas Digitais Prof. Eduardo L. O. Batista UNIVERSIDADE FEDERAL DE SANTA CATARINA EEL5105 Circuitos e Técnicas Digitais Prof. Eduardo L. O. Batista EXPERIMENTO 1 INTRODUÇÃO AO LABORATÓRIO A. Introdução O Quartus II é um software utilizado para

Leia mais

Arquitetura de Computadores. Tipos de Instruções

Arquitetura de Computadores. Tipos de Instruções Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada

Leia mais

5 Entrada e Saída de Dados:

5 Entrada e Saída de Dados: 5 Entrada e Saída de Dados: 5.1 - Arquitetura de Entrada e Saída: O sistema de entrada e saída de dados é o responsável pela ligação do sistema computacional com o mundo externo. Através de dispositivos

Leia mais

Manual de Instalação da Plataforma Scorpion. 1. Como conectar a Plataforma Scorpion com a Xilinx Starter-3E kit

Manual de Instalação da Plataforma Scorpion. 1. Como conectar a Plataforma Scorpion com a Xilinx Starter-3E kit Manual de Instalação da Plataforma Scorpion 1. Como conectar a Plataforma Scorpion com a Xilinx Starter-3E kit Para começar a ler este manual, é bom que você conheça os componentes desta conexão. Plataforma

Leia mais

Hardware de Computadores

Hardware de Computadores Placa Mãe Hardware de Computadores Introdução Placa-mãe, também denominada mainboard ou motherboard, é uma placa de circuito impresso eletrônico. É considerado o elemento mais importante de um computador,

Leia mais

Easy Lab. Manual do usuário Revisão 1.2 01/11/14. www.dma.ind.br. DMA Electronics 1

Easy Lab. Manual do usuário Revisão 1.2 01/11/14. www.dma.ind.br. DMA Electronics 1 Easy Lab Manual do usuário Revisão 1.2 01/11/14 www.dma.ind.br DMA Electronics 1 A DMA ELECTRONICS projeta e fabrica sistemas para aquisição e registro de dados com conexão a um computador do tipo PC.

Leia mais

DISPOSITIVOS DE REDES SEM FIO

DISPOSITIVOS DE REDES SEM FIO AULA PRÁTICA DISPOSITIVOS DE REDES SEM FIO Objetivo: Apresentar o modo de operação Ad Hoc de uma rede padrão IEEE 802.11g/b e implementá-la em laboratório. Verificar os fundamentos de associação/registro

Leia mais

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furbbr Resumo. Este artigo apresenta a especificação

Leia mais

MANUAL DE INSTALAÇÃO E PROGRAMAÇÃO CONVERSOR - IP / USB / SERIAL - 317 RV1

MANUAL DE INSTALAÇÃO E PROGRAMAÇÃO CONVERSOR - IP / USB / SERIAL - 317 RV1 MANUAL DE INSTALAÇÃO E PROGRAMAÇÃO CONVERSOR - IP / USB / SERIAL - 317 RV1 SÃO CAETANO DO SUL 06/06/2014 SUMÁRIO Descrição do Produto... 3 Características... 3 Configuração USB... 4 Configuração... 5 Página

Leia mais

A idéia hardware sugerida é colocar a placa entre o PC e o microcontrolador, conforme mostrado no esquema abaixo.

A idéia hardware sugerida é colocar a placa entre o PC e o microcontrolador, conforme mostrado no esquema abaixo. Circuito de gravação (AVR programmer) Introdução Nossa proposta, nesta parte do trabalho, é apresentar um circuito para gravação ISP (In-System- Programming) para microcontroladores AVR. Este circuito,

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

Implementação de um módulo Ethernet 10/100Mbps com interface Avalon para o processador Nios II da Altera

Implementação de um módulo Ethernet 10/100Mbps com interface Avalon para o processador Nios II da Altera Implementação de um módulo Ethernet 10/100Mbps com interface Avalon para o processador Nios II da Altera Ricardo Menotti Orientador: Prof. Dr. Eduardo Marques Instituto de Ciências Matemáticas e de Computação

Leia mais

Estruturas do Sistema de Computação

Estruturas do Sistema de Computação Estruturas do Sistema de Computação Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto Faculdade de Tecnologia de Americana Centro Paula Souza Estruturas do Sistema de

Leia mais

Microinformática Introdução ao hardware. Jeronimo Costa Penha SENAI - CFP/JIP

Microinformática Introdução ao hardware. Jeronimo Costa Penha SENAI - CFP/JIP Microinformática Introdução ao hardware Jeronimo Costa Penha SENAI - CFP/JIP Informática Informática é o termo usado para se descrever o conjunto das ciências da informação, estando incluídas neste grupo:

Leia mais

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc. Endereços IP Endereços IP IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.) precisam ter endereços. Graças

Leia mais

GUIA DE LABORATÓRIO DE SISTEMAS DIGITAIS PARA O CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO

GUIA DE LABORATÓRIO DE SISTEMAS DIGITAIS PARA O CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO GUIA DE LABORATÓRIO DE SISTEMAS DIGITAIS PARA O CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO Agosto/2004 V2 INTRODUÇÃO Este guia foi preparado para auxilio às aulas de laboratório para o curso de Engenharia

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Unidade Remota CANopen RUW-04. Guia de Instalação, Configuração e Operação. Idioma: Português. Documento: 10002081798 / 00

Unidade Remota CANopen RUW-04. Guia de Instalação, Configuração e Operação. Idioma: Português. Documento: 10002081798 / 00 Motors Automation Energy Transmission & Distribution Coatings Unidade Remota CANopen RUW-04 Guia de Instalação, Configuração e Operação Idioma: Português Documento: 10002081798 / 00 ÍNDICE 1 INSTRUÇÕES

Leia mais

Sistemas Computacionais II Professor Frederico Sauer

Sistemas Computacionais II Professor Frederico Sauer Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

Leia mais

Gerência de Memória RAM em Computadores com Mais de 4GB O sistema Windows x86 (32bits) não tem capacidade de reconhecer, fisicamente, mais que 3,X GB de RAM, a não ser que seja ativado, manualmente, o

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

Manual de utilização do módulo NSE METH-8RL/Exp

Manual de utilização do módulo NSE METH-8RL/Exp INSTALAÇÃO 1 - Baixe o arquivo Software Configurador Ethernet disponível para download em www.nse.com.br/downloads-manuais e descompacte-o em qualquer pasta de sua preferência. 2 - Conecte a fonte 12Vcc/1A

Leia mais

Liner. Manual do Usuário

Liner. Manual do Usuário Liner Manual do Usuário Parabéns, Você acaba de adquirir o Gravador Telefônico Digital Pctel Liner. Líder em seu segmento, disponibiliza a mais alta tecnologia em gravadores telefônicos digitais, convertendo

Leia mais

Serial ATA (SATA - Serial Advanced Technology Attachment)

Serial ATA (SATA - Serial Advanced Technology Attachment) Serial ATA (SATA - Serial Advanced Technology Attachment) Introdução Os computadores são constituídos por uma série de tecnologias que atuam em conjunto. Processadores, memórias, chips gráficos, entre

Leia mais

Desenvolvimento de uma Aplicação de Controle de Créditos Usando a Tecnologia MIFARE

Desenvolvimento de uma Aplicação de Controle de Créditos Usando a Tecnologia MIFARE Desenvolvimento de uma Aplicação de Controle de Créditos Usando a Tecnologia MIFARE Julho 2008 Davi, Marcelo, Murilo, Pablo, Rodrigo Resumo MIFARE é uma tecnologia de smart cards sem contato, especificada

Leia mais

Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com

Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com Protocolo é a linguagem usada pelos dispositivos de uma rede de modo que eles consigam se comunicar Objetivo Transmitir dados em uma rede A transmissão

Leia mais

4 Arquitetura básica de um analisador de elementos de redes

4 Arquitetura básica de um analisador de elementos de redes 4 Arquitetura básica de um analisador de elementos de redes Neste capítulo é apresentado o desenvolvimento de um dispositivo analisador de redes e de elementos de redes, utilizando tecnologia FPGA. Conforme

Leia mais

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase Curso Superior de Sistemas de Telecomunicações Unidade São José Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase Bases tecnológicas Dispositivos Lógicos Programáveis. Introdução à Tecnologia

Leia mais

FERRAMENTA DIDÁTICA PARA DISCIPLINA DE ELETRÔNICA DIGITAL

FERRAMENTA DIDÁTICA PARA DISCIPLINA DE ELETRÔNICA DIGITAL FERRAMENTA DIDÁTICA PARA DISCIPLINA DE ELETRÔNICA DIGITAL Diego S. Mageski diego.mageski@hotmail.com Bene R. Figueiredo bfigueiredo@ifes.edu.br Wagner T. da Costa wagnercosta@ifes.edu.br Instituto Federal

Leia mais

Quadro de consulta (solicitação do mestre)

Quadro de consulta (solicitação do mestre) Introdução ao protocolo MODBUS padrão RTU O Protocolo MODBUS foi criado no final dos anos 70 para comunicação entre controladores da MODICON. Por ser um dos primeiros protocolos com especificação aberta

Leia mais

Google Drive. Passos. Configurando o Google Drive

Google Drive. Passos. Configurando o Google Drive Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 2 - O NÍVEL DA MICROARQUITETURA 1. INTRODUÇÃO Este é o nível cuja função é implementar a camada ISA (Instruction Set Architeture). O seu projeto depende da arquitetura do conjunto das instruções

Leia mais

Sistemas Operacionais Gerência de Dispositivos

Sistemas Operacionais Gerência de Dispositivos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerência de Dispositivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A gerência

Leia mais

Profibus View - Software de Parametrização de Equipamentos Profibus PA

Profibus View - Software de Parametrização de Equipamentos Profibus PA MANUAL DO USUÁRIO Profibus View - Software de Parametrização de Equipamentos Profibus PA Profibus View P R V I E W P A M P www.smar.com.br Especificações e informações estão sujeitas a modificações sem

Leia mais

Anexo IV PLANILHA DESCRITIVA DE ESPECIFICAÇÕES TÉCNICAS

Anexo IV PLANILHA DESCRITIVA DE ESPECIFICAÇÕES TÉCNICAS Anexo IV PLANILHA DESCRITIVA DE ESPECIFICAÇÕES TÉCNICAS Requisito Descrição 6.1 - Produtos de Hardware 6.1.1. GRUPO 1 - IMPRESSORA TIPO I (MONOCROMÁTICA 20PPM - A4) 6.1.1.1. TECNOLOGIA DE IMPRESSÃO 6.1.1.1.1.

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 3.1 EXECUÇÃO DAS INSTRUÇÕES A UCP tem duas seções: Unidade de Controle Unidade Lógica e Aritmética Um programa se caracteriza por: uma série de instruções

Leia mais

Gerência de Entrada/Saída

Gerência de Entrada/Saída Gerência de Entrada/Saída Prof Clodoaldo Ap Moraes Lima 1 Princípios básicos de hardware Periférico é um dispositivo conectado a um computador de forma a possibilitar sua interação com o mundo externo

Leia mais

Universal Serial Bus USB

Universal Serial Bus USB Universal Serial Bus USB Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Microprocessadores II Copyright (c) Walter

Leia mais

Fundamentos de Hardware

Fundamentos de Hardware Fundamentos de Hardware Curso Técnico em Informática SUMÁRIO PLACAS DE EXPANSÃO... 3 PLACAS DE VÍDEO... 3 Conectores de Vídeo... 4 PLACAS DE SOM... 6 Canais de Áudio... 7 Resolução das Placas de Som...

Leia mais

Esclarecimento: Não, a operação de matching ocorre no lado cliente da solução, de forma distribuída.

Esclarecimento: Não, a operação de matching ocorre no lado cliente da solução, de forma distribuída. 1 Dúvida: - Em relação ao item 1.2 da Seção 2 - Requisitos funcionais, entendemos que a solução proposta poderá funcionar em uma arquitetura Web e que na parte cliente estará apenas o componente de captura

Leia mais

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Display de 7 Segmentos Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

Medidor Powersave V2 USB

Medidor Powersave V2 USB Medidor Powersave V2 USB O medidor é formado por uma caixa plástica contendo uma placa eletrônica, uma tomada macho, uma tomada fêmea, um conector H, um barramento lateral, um conector USB e leds indicativos.

Leia mais

Prof. Esp. Lucas Cruz

Prof. Esp. Lucas Cruz Prof. Esp. Lucas Cruz O hardware é qualquer tipo de equipamento eletrônico utilizado para processar dados e informações e tem como função principal receber dados de entrada, processar dados de um usuário

Leia mais

TUTORIAL INSTALAÇÃO DA ROTINA 2075 NO LINUX

TUTORIAL INSTALAÇÃO DA ROTINA 2075 NO LINUX Apresentação O departamento de varejo da PC Sistemas inovou seu produto de frente de caixa, permitindo seu funcionamento no sistema operacional do Linux com a distribuição Ubuntu. O cliente poderá usar

Leia mais

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

Leia mais

ENTRADA E SAÍDA DE DADOS

ENTRADA E SAÍDA DE DADOS ENTRADA E SAÍDA DE DADOS Os dispositivos de um computador compartilham uma única via de comunicação BARRAMENTO. BARRAMENTO Elétrica/Mecânica + Protocolo. GERENCIAMENTO DE E/S O controle da troca de dados

Leia mais

1.3 Conectando a rede de alimentação das válvulas solenóides

1.3 Conectando a rede de alimentação das válvulas solenóides 1.3 Conectando a rede de alimentação das válvulas solenóides CONTROLE DE FLUSHING AUTOMÁTICO LCF 12 Modo Periódico e Horário www.lubing.com.br (19) 3583-6929 DESCALVADO SP 1. Instalação O equipamento deve

Leia mais