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

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

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

Transcrição

1 UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA UMA BIBLIOTECA PARA COMUNICAÇÃO COM A CAMADA FÍSICA USB PADRÃO ULPI TRABALHO DE GRADUAÇÃO Aluno: Marcelo Bezerra de Amorim (mba3@cin.ufpe.br) Orientador: Edna Natividade da Silva Barros (ensb@cin.ufpe.br) 25 de Junho de 2008

2 ASSINATURAS Este Trabalho de Graduação é resultado dos esforços do aluno Marcelo Bezerra de Amorim, sob a orientação da professora Edna Natividade da Silva Barros, sob o título de Uma Biblioteca para Comunicação com a Camada Física USB padrão ULPI. Todos abaixo estão de acordo com o conteúdo deste documento e os resultados deste Trabalho de Graduação. Marcelo Bezerra de Amorim Edna Natividade da Silva Barros ii

3 Aos meus pais. Se tens consciência de quem és, elogios não te farão melhor, críticas não te tornarão pior. Joana de Angelis iii

4 Agradecimentos Agradecer é o ato de demonstrar ou manifestar gratidão. É o ato de retribuir, de recompensar. Agradecer, portanto, não é fácil uma vez que não conseguimos expressar nossa total gratidão através de palavras e clichês baratos ou retribuir à altura aqueles que merecem. Inicialmente quero agradecer aos meus pais por tudo que sou e conquistei. Eles que nunca mediram esforços para que eu tivesse a melhor educação, eles que sempre me deram mais do que eu merecia, eles que deram o exemplo do que eu devo seguir e do que eu não devo seguir, eles que são acima de tudo humanos com seus defeitos e virtudes. Quero agradecer aos meus antepassados que não mais vivem nesse plano existencial e sempre me encheram de amor e paz. Agradeço aos Premos, os irmãos de sangue que eu não tive, mas cuja amizade tem tanto valor quanto o inestimável. Agradeço aos amigos que sempre estão comigo. Agradeço à Professora Edna Barros que sempre abriu e tem aberto muitas portas não só para mim, mas para aqueles com os quais convivo profissionalmente e que são, por que não, amigos. Agradeço ao doutorando e amigo Edson Barbosa que sempre contribuiu com sua paciência e vontade de ajudar. Agradeço aos que me criticam, pois me incentivam a dar o meu melhor. Como é bom saber que tenho sempre tanto a aprender! Enfim, sou grato todos os dias por tudo que sou, por ser um sonhador ávido e determinado e por sempre estar rodeado de boas pessoas. Certa vez um dos mestres do qual fui aluno explicou, de maneira simples, o sentido da vida: O sentido da vida é se relacionar. Pode parecer simplório demais, porém analisando profundamente percebemos que nunca evoluiremos se não convivermos com o próximo, se não aprendermos com o próximo, se não intervirmos na vida do próximo, pois idéias são os tijolos que constroem a consciência de nós mesmos, do mundo à nossa volta e dão sentido à nossa vida. iv

5 Resumo No mercado de circuitos integrados o aumento da quantidade de transistores por unidade de área dos chips têm resultado em uma maior complexidade nos novos projetos de semicondutores. Para suprir essa necessidade, os engenheiros necessitam aumentar sua produtividade. Ferramentas de síntese de alto nível, metodologias de desenvolvimento de IP-Cores e reuso de módulos têm sido extremamente considerados como formas de aumentar a produtividade dos engenheiros segundo estudos realizados pelo International Technology Roadmap for Semiconductors (ITRS). Este trabalho foca no desenvolvimento e nas vantagens de se ter uma biblioteca de IP-Cores desenvolvida com a finalidade de se comunicar com a interface física USB (USB-PHY). Por ser uma parte crítica da comunicação USB, tanto no lado Host quanto no lado dispositivo USB, mostra-se que grande parte do tempo de projeto de um sistema USB é desperdiçado no design de diferentes IP-Cores com a mesma finalidade, que é a de realizar operações pré-definidas de comunicação com a USB-PHY. Os testes realizados com os módulos da biblioteca atingiram seu objetivo de realizar comunicação com a USB-PHY e com pendrives USB. Os resultados obtidos comprovaram que o reuso de lógica no desenvolvimento de IP-Cores acelera bastante a produtividade no projeto de novos sistemas. Palavras chave: USB, PHY, ULPI, OHCI, FPGA, VHDL, RTL, IP-Core, Sistemas Embarcados. v

6 Índice 1. Introdução Objetivos Estrutura do Texto Sistemas Embarcados Métricas dos Projetos de Sistemas Embarcados Cenário dos Projetos de Sistemas Embarcados A Rede Brazil-IP Universal Serial Bus Sistema USB O IP-core USB Host Controller projetado no Brazil-IP Interface Elétrica USB Biblioteca de Comunicação com a Camada Física USB Padrão ULPI Objetivos da Biblioteca Requisitos Casos de Uso Módulos da Biblioteca Módulos Funcionais Write Reg Read Reg Chirp Sequence Control Send USB Packet Receive USB Packet Módulos Auxiliares PLL USB PHY MUX ULPI Write Reg MUX USB 3300 Interface Control Plataforma Testes e Resultados Testes e Resultados Write Reg Read Reg Teste de Loopback Chirp Sequence Control Send USB Packet Receive USB Packet Inicializar PHY ULPI Plataforma Completa Resultados GET_CONFIGURATION GET_DEVICE_DESCRIPTOR GET_CONFIGURATION_DESCRIPTOR vi

7 6. Considerações Finais Conclusões Trabalhos Futuros Referências Apêndice A Descrição dos Casos de Uso [UC 001] Escrever registrador imediato [UC 002] Ler de registrador imediato [UC 003] Inicializar USB-PHY ULPI [UC 004] Chirp Sequence [UC 005] Enviar pacote USB [UC 006] Receber pacote USB Apêndice B Máquinas de Estado dos Casos de Uso [ME 001] Write_Reg [ME 002] Read_Reg [ME 003] Chirp Sequence [ME 004] Send_USB_Packet [ME 005] Receive_USB_Packet Apêndice C Glossário vii

8 Índice de Figuras Figura 1.1: Camadas de um Sistema USB Figura 1.2: A PHY nos domínios do Host e do Dispositivo Figura 2.1: Percentual de reuso de projetos até Fonte: ITRS...9 Figura 2.2: Produtividade para novos projetos. Fonte: ITRS...9 Figura 2.3: Gap Produtividade x Capacidade de CI's. Fonte [10]...10 Figura 3.1: Topologia de um Sistema USB Figura 3.2: As quarto áres de implementação de um sistema USB Figura 3.3: Comunicação entre Client Software e Function através de Endpoints Figura 3.4: Endpoint Zero Figura 3.5: Pacotes Token (a), Data (b) e Handshake (c) Figura 3.6: Interconexão Host-Dispositivo Figura 3.7: Plataforma Brazil-IP USB Host Controller Figura 3.8: Módulos do HC Figura 3.9: Camadas OSI Figura 3.10: Interconexão entre o HC e a PHY Figura 4.1: Posição dos módulos numa implementação real Figura 4.2: Diagrama de casos de uso Figura 4.3: Como os módulos da biblioteca são utilizados Figura 4.4: Write Reg Figura 4.5: Read Reg Figura 4.6: Chirp Sequence Control Figura 4.7: Send USB Packet Figura 4.8: Receive USB Packet Figura 4.9: PLL USB PHY Figura 4.10: MUX ULPI Figura 4.11: Write Reg Mux Figura 4.12: USB 3300 Interface Figura 4.13: Control Figura 4.14: Plataforma Figura 5.1: Estrutura de testes para o Write Reg Figura 5.2: Escrita de um registrador Figura 5.3: Estrutura de testes para o Read Reg Figura 5.4: Leitura de um registrador Figura 5.5: Estrutura de testes loopback Figura 5.6: Teste de loopback Figura 5.7: Estrutura de testes do Chirp Sequence Control Figura 5.8: Sequência de um chirp sequence (escala de tempo não-real) Figura 5.9: Estrutura de testes do Send USB Packet Figura 5.10: Pacote SOF Figura 5.11: Pacote SETUP Figura 5.12: Pacote DATA Figura 5.13: Exemplo de um pacote enviado Figura 5.14: Exemplo de um pacote recebido Figura 5.15: Estrutura de testes para inicializar a PHY Figura 5.16: Sequência de inicialização da PHY Figura 5.17: Estrutura de testes completa Figura 5.18: Exemplo do processo completo viii

9 Figura 5.19: Dados de retorno do GET_CONFIGURATION Figura 5.20: Dados de retorno do GET_DEVICE_DESCRIPTOR Figura 5.21: Dados de retorno do GET_CONFIGURATION_DESCRIPTOR Figura B.1: Máquina de Estados Write_Reg Figura B.2: Máquina de Estados Read_Reg Figura B.3: Máquina de Estados Chirp Sequence (caso Full-speed) Figura B.4: Chirp Sequence (caso High-speed) Figura B.5: Máquina de Estados Send_USB_Packet Figura B.6: Máquina de Estados Receive_USB_Packet ix

10 Índice de Tabelas Tabela 4.1: Interface ULPI Tabela 4.2: Interface Write Reg Tabela 4.3: Interface Read Reg Tabela 4.4: Interface Chirp Sequence Control Tabela 4.5: Interface Send USB Packet Tabela 4.6: Interface Receive USB Packet Tabela 5.1: Resultados x

11 1. Introdução A demanda por novos sistemas computacionais se supera a cada ano. Dentre estes novos sistemas encontram-se, principalmente, sistemas embarcados. MP3-players, câmeras digitais, celulares, etc. são pequenos exemplos de sistemas embarcados, ou seja, sistemas que apresentam computadores embutidos com propósitos bem definidos. Grande parte destes sistemas apresenta uma interface de comunicação com outros sistemas e a maneira pela qual eles se comunicam é crucial. A interface USB (Universal Serial Bus) tem se revelado um padrão bem aceito graças a sua facilidade de uso, desempenho, robustez e versatilidade em interconectar diferentes dispositivos através de uma interface única. O padrão USB é um barramento serial de dados para interconectar dispositivos a um Host e foi concebido para que funcionasse com algumas particularidades como: interface padronizada, hot swapping, dispensar drivers específicos de fabricantes e servir como fonte de alimentação para dispositivos de baixa potência [1]. A interface USB é padronizada pelo USB Implementers Forum, ou USB-IF, que é um consórcio de diversas empresas mundialmente conhecidas como, por exemplo: Apple, Hewlett-Packard, Intel, Microsoft, etc. O projeto Brazil-IP tem como um de seus projetos em andamento um controlador USB Host ou USB Host Controller. O projeto Brazil-IP é um consórcio de laboratórios e universidades brasileiras formado com o intuito de criar centros de projetos capazes de produzir IP-Cores. O projeto tem como um de seus objetivos a formação de recursos humanos que atuem no desenvolvimento de sistemas digitais e IP-Cores, fomentando, desta forma, o desenvolvimento de circuitos integrados no Brasil [4]. Várias universidades brasileiras são participantes do Brazil-IP dentre as quais se destaca a Universidade Federal de Pernambuco. 1

12 O USB Host é formado tanto por software (HCD Host Controller Driver) como por hardware (HC Host Controller). O software provê informações ao Sistema Operacional e controla a parte de hardware. O hardware implementa o protocolo USB 2.0 e realiza as transações de dados USB. Um sistema USB se divide basicamente nas camadas mostradas na Figura 1.1 [9], onde o USB Host é compreendido pelas duas camadas do meio. Figura 1.1: Camadas de um Sistema USB O HC, por sua vez, se divide em vários submódulos com tarefas específicas. Um dos submódulos mais críticos é o ULPI Link [2] [3], que faz a comunicação com a camada física USB (USB-PHY) como descrito na especificação do protocolo USB 2.0 [1]. A PHY é geralmente um circuito integrado ou bloco funcional de um circuito que faz codificação e decodificação entre um domínio puramente digital e a modulação em um padrão elétrico. O ULPI Link segue o padrão ULPI que é a especificação da comunicação entre a USB-PHY e o HC ou entre a USB-PHY e um dispositivo. É importante salientar que a USB-PHY pode ser configurada e usada em modos diferentes de operação dependendo da aplicação específica, dado que a camada física encontra-se tanto no Host USB como no dispositivo USB. Desta forma o projetista tem a responsabilidade de implementar a temporização e rotinas necessárias para comunicação com a USB-PHY e um dispositivo ou com a USB-PHY e um USB Host [2] [3], como pode ser observado na Figura

13 Host PHY USB Bus PHY Device Figura 1.2: A PHY nos domínios do Host e do Dispositivo Devido a dificuldade em se projetar a interface com o módulo USB- PHY, percebeu-se a necessidade de se criar uma biblioteca para comunicação com a USB-PHY. A idéia principal é que a biblioteca suporte as funcionalidades básicas inerentes à USB-PHY tais como: escrever em registradores, ler de registradores, resetar dispositivo, inicializar a PHY, enviar pacotes, receber pacotes, etc. Assim qualquer projetista teria à sua disposição as rotinas básicas de comunicação com a USB-PHY, bastando apenas instanciar as funcionalidades necessárias ao projeto específico. Como estudo de caso, pendrives USB foram usados com o propósito de realizar comunicações padrões na plataforma de testes usada. Existem no mercado ferramentas que incluem bibliotecas específicas para comunicação com a USB-PHY. Estas ferramentas, porém, não agregam a visão de biblioteca de funcionalidades que podem ser instanciadas em novos projetos, como é de interesse do presente trabalho. Dentre estas ferramentas destacam-se: VinChip USB PHY Verification: Testbench voltado para o teste de interfaces físicas USB com o intuito de identificar erros previamente no projeto antes de se fabricar a PHY em silício [11]. Synopsys Verification IP USB On-The-Go: Testbench voltado para testar e verificar SoC s baseados no protocolo USB. Permite-se configurar o testbench como um Host ou dispositivo com as funcionalidades e na velocidade desejadas [12]

14 1.1 Objetivos A proposta apresentada nesta monografia consiste no desenvolvimento de uma biblioteca que suporta a comunicação com uma USB-PHY, tendo em vista acelerar o processo de desenvolvimento de sistemas USB. Este ganho será evidente, pois o projetista apenas terá que instanciar módulos que podem ser reutilizados em qualquer projeto de controladores USB. Os objetivos específicos da abordagem proposta incluem: Especificar uma biblioteca de módulos desenvolvidos em VHDL que implementam algumas das funcionalidades especificadas no lado Link do UTMI+ Low Pin Interface [3] voltada para o reuso de componentes; Validar a biblioteca através de um protótipo de um sistema digital em FPGA conectado a uma USB-PHY. Este sistema é constituído por um controle, módulos auxiliares e os módulos, da biblioteca proposta, necessários para comunicação com dispositivos USB conectados à PHY, validando, assim, o propósito da biblioteca. Como estudo de caso pendrives USB serão usados para realizar a comunicação pelo protocolo USB. 1.2 Estrutura do Texto Este trabalho está divido em seis capítulos e um apêndice. Neste primeiro capítulo encontra-se a introdução e os objetivos deste trabalho. O capítulo 2 esclarece o termo Sistemas Embarcados, apresenta fatos sobre o mercado destes, os desafios no desenvolvimento de Sistemas - 4 -

15 Embarcados e a iniciativa nacional dada pelo projeto Brazil-IP para o desenvolvimento de IP-Cores e sistemas digitais. O capítulo 3 descreverá um sistema USB e suas características; apresenta o IP-Core desenvolvido no contexto do Brazil-IP (O IP-Core USB Host Controller ), explica também o que vem a ser uma USB-PHY e os padrões de interface das USB-PHY s existentes. Posteriormente, no capítulo 4, é apresentada a biblioteca proposta para comunicações com USB-PHY s bem como os módulos que a compõe nesta primeira versão. O capítulo 5 apresenta os testes e os resultados obtidos da prototipação. O capítulo 6 apresenta algumas conclusões sobre este trabalho, analisando vantagens e desvantagens da biblioteca, e sugerindo trabalhos futuros para melhorar e dinamizar a integração com o sistema alvo além de agregar funcionalidades à biblioteca. Finalmente, o Apêndice A descreve detalhadamente os casos de uso, o Apêndice B descreve as máquinas de estado de cada módulo funcional da biblioteca e o Apêndice C provê um conjunto de definições para termos técnicos empregados nesta monografia

16 2. Sistemas Embarcados Não é novidade que sistemas computacionais como PC s, laptops, servidores, estações de trabalho, invadiram a vida das pessoas no mundo moderno. Eles estão em toda parte: nas escolas, nas empresas, em casa; milhões deles são fabricados e vendidos anualmente em todo o mundo. O que muitos não sabem é que uma outra classe de sistemas computacionais, com aplicações específicas, é fabricada e vendida anualmente na ordem dos bilhões. Estes sistemas encontram-se em produtos comuns como automóveis, celulares, máquinas de lavar e etc. A essa classe de sistemas computacionais deu-se a denominação de Sistemas Embarcados. Embarcados porque fazem parte de outros sistemas eletrônicos e/ou mecânicos, realizando uma ou mais funções específicas e normalmente sem a percepção de sua existência por parte do usuário [10]. Sistemas embarcados são encontrados em uma vasta gama de produtos eletrônicos como eletrônica de consumo (câmeras digitais, celulares), eletrodomésticos (microondas, DVD Players), automação de escritórios (impressoras, copiadoras), automóveis (sistemas de freio e suspensão) e etc. Tendo esta visão basta o leitor comparar a quantidade de sistemas embarcados com a quantidade de PC s em sua casa e será perceptível notar que a presença de sistemas embarcados é muito maior. Além do mais não há limites para seu emprego, a cada dia novos produtos são colocados no mercado possuindo um ou mais sistemas embarcados com o intuito de agregar valor junto ao cliente

17 2.1 Métricas dos Projetos de Sistemas Embarcados Além de ser implementado de forma a suportar a funcionalidade desejada, Sistemas Embarcados têm seus projetos otimizados considerando várias métricas como: redução de tamanho, redução de custos, aumento de confiabilidade e desempenho. O grande desafio passa a ser o projeto de um Sistema Embarcado que ao mesmo tempo otimize as diversas métricas envolvidas, pois muitas vezes as métricas são antagônicas, ou seja, a otimização de uma implica na piora de outra. Dentre as principais métricas usadas no projeto de Sistemas Embarcados pode-se citar [10]: Custo NRE (nonrecurring engineering cost): Custo do projeto do sistema até que ele esteja pronto para produção; Custo Unitário: Custo de se produzir cada cópia do produto excluindo o custo NRE; Desempenho: Tempo de execução do sistema; Potência: Potência consumida pelo sistema; Flexibilidade: Capacidade de mudar a funcionalidade do sistema sem implicar grandes custos de NRE; Time-to-Prototype: Tempo necessário para se construir uma versão do sistema que funcione e que não é necessariamente igual ao produto final, mas permite verificar a corretude do sistema; Time-to-Market: Tempo necessário para desenvolver o sistema até o ponto que ele está apto a ser vendido para o consumidor; Manutenibilidade: Capacidade de modificar o sistema depois de sua primeira versão, principalmente por projetistas que não o projetaram inicialmente; Corretude: Consciência de que a funcionalidade do sistema foi implementada corretamente; - 7 -

18 Segurança: Probabilidade do sistema não causar perdas materiais e/ou de pessoas. Isso tudo exige um profundo conhecimento do projetista. O projetista deve se sentir confortável em migrar de uma tecnologia para outra com o intuito de achar o equilíbrio ótimo entre as diversas métricas. 2.2 Cenário dos Projetos de Sistemas Embarcados O International Technology Roadmap for Semiconductors (ITRS) é um órgão que faz levantamentos periódicos dos requisitos tecnológicos da indústria de semicondutores [18]. O ITRS identifica os desafios e necessidades tecnológicas que a indústria enfrentará nos próximos 15 anos e é patrocinada por cinco órgãos das cinco regiões que mais produzem chips no mundo: European Semiconductor Industry (ESIA), Japan Electronics and Information Technology (JEITA), Korean Semiconductor Industry Association (KSIA), Taiwan Semiconductor Industry Association (TSIA) e United States Semiconductor Industry Assciation (SIA). O ITRS produz anualmente relatórios completos que dizem respeito ao mercado de semicondutores, onde Sistemas Embarcados e SoC s estão inseridos. O relatório de 2007 [19] diz que o número de transistores por área dobra a cada ciclo tecnológico aumentando também a complexidade dos projetos (referência à Lei de Moore que diz que o número de transistores por unidade de área dobra a cada 18 meses). O relatório defende ainda que aumentar a produtividade dos projetistas e o reuso de IP s são elementos chaves para que se mantenha a qualidade dos projetos, à medida que os processos tecnológicos avançam e à medida que a complexidade dos projetos aumenta. A Figura 2.1 mostra o percentual em crescimento de reuso de IP s em novos projetos de 2007 até 2022 (Normalizado para de 2007). A Figura 2.2 mostra o aumento necessário em produtividade para novos projetos entre - 8 -

19 2007 e 2022 (Normalizado para de 2007) (Dados obtidos do relatório ITRS [20]) % de reuso de projetos Figura 2.1: Percentual de reuso de projetos até Fonte: ITRS Produtividade para novos projetos Figura 2.2: Produtividade para novos projetos. Fonte: ITRS Entretanto apesar da produtividade dos projetistas ter aumentado bastante nas últimas décadas, esta não aumentou na mesma proporção em que a densidade de transistores por chip. Isso produziu um gap de - 9 -

20 produtividade como observado na Figura 2.3. O gráfico representa, numa escala logarítmica, a diferença entre a produtividade (transistores por mês que um engenheiro é capaz de produzir mensalmente) e o aumento da densidade de transistores por chip ao longo do tempo. Transistores lógicos por chip (Milhões) ,1 0,01 0,001 GAP ,1 0,01 Transistores/Projetista-mês (Milhares) Capacidade dos CI's Produtividade Figura 2.3: Gap Produtividade x Capacidade de CI s. Fonte [10] A realidade é ainda pior se for considerar que a produtividade não aumenta linearmente com o aumento do número de projetistas em um projeto, pois existe uma relação ótima entre número de projetistas e tamanho da equipe. Um grande número de projetistas pode tornar a gerência da equipe mais difícil reduzindo a eficiência da equipe como um todo. 2.3 A Rede Brazil-IP O Brazil-IP (Brazil Intelectual Property) é um consórcio de laboratórios e universidades brasileiras formado com o intuito de criar centros de projetos capazes de produzir IP Cores e sistemas digitais. Como missão de curto prazo o Brazil-IP procura aumentar a experiência nacional no desenvolvimento de

21 Circuitos Integrados (CI s) expondo estudantes das universidades participantes em práticas e projetos reais. Como objetivo de longo prazo o projeto visa o estabelecimento de Design Houses locais capazes de competir no mercado internacional de IP s [4]. O consórcio surgiu em 2001 e foi composto, inicialmente, por oito universidades brasileiras: USP, UFMG, UFCG, UFPE, UNB, UFRGS, PUCRS e UNICAMP, sendo financiado pelo Ministério de Ciência e Tecnologia (MCT). Desde o início do consórcio três chips foram produzidos em silício: decodificador MP3, decodificador MPEG4 e um microcontrolador Após produzir o microcontrolador 8051 a UFPE está finalizando o projeto de um controlador USB Host cujo ciclo de desenvolvimento deu origem a este trabalho

22 3. Universal Serial Bus A USB é um barramento serial de dados que suporta a troca de dados entre um computador host e uma vasta gama de periféricos simultaneamente acessíveis. Os periféricos dividem a largura de banda USB através de um protocolo escalonado pelo Host e baseado em Tokens. O barramento permite que periféricos sejam conectados, configurados, usados e desconectados enquanto outros periféricos estão em operação. A USB foi especificada para ser um padrão de extensão na arquitetura do PC focado em periféricos voltados para aplicações comerciais e pessoais. Sendo assim, alguns critérios foram aplicados para se definir a arquitetura da USB dentre os quais destacam-se: Facilidade de uso na expansão de periféricos; Baixo custo com alto desempenho; Suporte completo a dados de tempo real (voz, áudio e vídeo); Flexibilidade do protocolo em gerenciar transferência de dados mista (síncronas e assíncronas); Prover uma interface padrão capaz de se difundir rapidamente em produtos; Compatibilidade com versões anteriores do protocolo. Até o momento do presente trabalho a USB encontra-se na versão 2.0 e é capaz de atingir transferências de dados de até 480 Mbps, compreendendo as velocidades low-speed (1,5 Mbps), full-speed (12 Mbps) e high-speed (480 Mbps). Cada classe de dispositivos que possuam a interface USB se encaixa numa dessas três classificações de acordo com os requisitos de largura de banda, tempo de resposta e outros [1]. No momento a versão 3.0 está sendo

23 especificada e esperam-se taxas de transmissão 10x maiores do que os atuais 480 Mbps [13]. 3.1 Sistema USB Para facilitar o entendimento de um sistema USB genérico, especifiquemos três atores: Host: Computador host onde o controlador USB está instalado. Inclui tanto a plataforma de hardware como o sistema operacional em uso; Hub: Dispositivo USB que provê interfaces de conexão adicionais; Function: Dispositivos USB que expandem a capacidade do host adicionando funcionalidades como conexões ISDN, interfaces de I/O e etc. Num sistema USB Functions conectam-se a um único Host. Em uma visão lógica da topologia cada Function conecta-se diretamente ao Host. Entretanto, a topologia física é do tipo estrela extendida onde um Hub encontra-se no meio de cada estrela, fazendo com que a topologia de todo o sistema USB se pareça com uma árvore. Functions podem se conectar diretamente a um Host, que possui um Hub raiz (ou Root Hub), ou através dos vários Hubs não-raízes da hierarquia. Devido a restrições de tempo e desempenho, um sistema USB possui no máximo sete níveis onde o Host e o Root Hub ocupam o primeiro nível enquanto Functions e Hubs ocupam os outros níveis. Perceba que no nível sete apenas funções podem ocupá-la, pois um Hub no nível sete permitiria que um oitavo nível fosse criado, o que não é possível. Existem, num sistema USB, dispositivos compostos, que são a junção

24 de uma Function e um Hub. Sendo assim, um dispositivo composto ocupa dois níveis. Além do mais há um limite máximo de 127 dispositivos USB que podem ser conectados a um sistema USB. Toda esta estrutura pode ser observada na Figura 3.1. Host Root Hub Host: Camada 1 Hub Camada 2 Hub Function Function Camada 3 Hub Function Camada 4 Hub Camada 5 Hub Hub Camada 6 Function Composto Function Function Camada 7 Figura 3.1: Topologia de um Sistema USB Detalhando mais um sistema USB, são identificados dois subsistemas que são o Host e o dispositivo. O dispositivo ou USB Physical Device é uma peça de hardware na ponta final do cabo USB que implementa alguma Function. O Host, por sua vez, divide-se em três camadas: Client Software: Software executado no Host e que corresponde a uma Function. É geralmente disponibilizado por um SO ou pelo fabricante da Function; USB System Software: Software que suporta um sistema USB em um SO em particular. É disponibilizado pelo SO e independe de dispositivos ou do Client Software;

25 USB Host Controller: Sistema composto de Software e Hardware e que permite que dispositivos sejam conectados ao Host. A Figura 3.2 mostra em detalhes as várias camadas de um sistema USB demarcadas em cinza. As setas cinza indicam a comunicação lógica entre as camadas do Host e as camadas do USB Physical Device. As setas pretas indicam a comunicação real entre as camadas do Host, entre as camadas do dispositivo e entre Host e dispositivo. Host Client SW Physical Device Function USB System SW USB Logical Device USB Host Controller USB Bus Interface Figura 3.2: As quarto áres de implementação de um sistema USB O Host tem um papel fundamental em um sistema USB, pois controla todo o acesso à USB. É ele quem garante o acesso de dispositivos USB e quem monitora a topologia da USB. Para atingir a capacidade de ser uma interface padrão para as mais diferentes classes de dispositivos, as Functions devem apresentar uma mesma interface básica ao Host. Isso permite que o Host possa gerenciar os aspectos relevantes de cada dispositivo de uma maneira comum. Sendo assim, para ajudar o Host a identificar e configurar dispositivos USB, é necessário que os dispositivos contenham informações relacionadas à sua configuração dentro do sistema USB. Algumas dessas informações são comuns a todos dispositivos, enquanto outras informações são específicas a cada dispositivo

26 Para que haja a real comunicação entre Host e dispositivos são atribuídos endereços únicos a cada dispositivo no momento em que este é conectado, isso garante que cada pacote enviado pelo Host seja recebido por um único dispositivo. Existe, entretanto, uma abstração a mais para a comunicação com cada Function, que se chama Endpoint. Um Endpoint é uma porção unicamente identificável de um dispositivo USB e consiste na terminação de um fluxo de comunicação entre Host e dispositivo. Cada dispositivo é composto por uma coleção de Endpoints independentes. Ao contrário dos endereços de dispositivos, os Endpoints possuem seus próprios endereços determinados em tempo de projeto, ou seja, são pré-definidos. Outra característica dos Endpoints é que eles possuem uma direção de fluxo de dados constante, entrada ou saída de dados. Quando um Client Software deseja se comunicar com uma Function ele deve fazer isso através do Endpoint correto, pois cada Endpoint é definido para uma comunicação específica com a Function. A Figura 3.3 dá uma visão simples de como os Endpoints se relacionam num sistema USB. Endpoint 1 Client SW Endpoint 2... Endpoint N Function Figura 3.3: Comunicação entre Client Software e Function através de Endpoints Como explicado anteriormente, cada dispositivo USB deve apresentar uma interface comum para que o Host possa gerenciar dispositivos de uma maneira uniforme. Essa interface é um Endpoint especial, que todos os dispositivos devem apresentar e que se chama Endpoint Zero. É através deste Endpoint que a camada USB System Software do Host acessa a camada USB Logical Device da Função, obtém informações relevantes acerca do dispositivo e o configura, conforme pode ser visto na Figura

27 USB System SW Endpoint Zero USB Logical Device Figura 3.4: Endpoint Zero Dentro de toda essa lógica de comunicação são definidos quatro modos de transmissão: Control: Transmissão não-periódica usada para operações de comando, status e configuração do dispositivo; Isochronous: Transmissão periódica usada em transmissões onde o tempo é uma restrição na comunicação. Sendo assim transmissões isócronas têm largura de banda preferencial (prioridade) e fluxo de dados constante (reprodução de áudio e vídeo, por exemplo); Interrupt: Transmissão de baixa freqüência que devem ser servidas em um tempo limite; Bulk: Transmissão não-periódica para comunicação massiva de dados usando a banda disponível e com garantia de transmissão. Desta maneira, no momento em que um dispositivo e seus Endpoints são configurados, cada Endpoint passa a receber um tipo específico de transmissão, numa direção única e numa velocidade única. Isso facilita o gerenciamento das transmissões pelo Host. Basicamente o envio de pacotes USB envolve a transmissão de um pacote Token e, quando necessário, um pacote Data. O retorno é feito por um pacote de Handshake. A Figura 3.5 mostra estes três tipos básicos de pacotes

28 (a) LSb PID ADDR ENDP CRC5 8 bits 7 bits 4 bits 5 bits MSb (b) LSb PID DATA CRC16 8 bits bits 16 bits MSb (c) LSb PID 8 bits MSb Figura 3.5: Pacotes Token (a), Data (b) e Handshake (c) O pacote Token indica a direção da transmissão (campo PID) o dispositivo e seu respectivo Endpoint. Um campo CRC é usado para verificar se algum dado foi corrompido durante a transmissão. O pacote Data contém o controle do pacote de dados corrente (campo PID), os dados da transmissão em questão e um campo CRC para verificar se algum dado foi corrompido durante a transmissão. O pacote Handshake contém apenas o campo PID. Este campo indica se o pacote foi recebido, se não foi possível recebê-lo ou se não foi possível entender o pacote. 3.2 O IP-core USB Host Controller projetado no Brazil-IP Como citado na introdução deste trabalho, a equipe Brazil-IP atuante na Universidade Federal de Pernambuco, tem como um de seus projetos em andamento um controlador USB Host, ou USB Host Controller, que deu origem ao desenvolvimento do presente trabalho

29 Do ponto de vista da interconexão USB tanto o Host quanto o dispositivo possuem uma interface do barramento similar como é observado na Figura 3.6. USB Bus Interface Host USB Bus Interface Dispositivo Host Controller PHY USB Bus PHY Figura 3.6: Interconexão Host-Dispositivo Entretanto a interface do barramento no lado Host possui responsabilidades adicionais devido ao papel que o Host tem no sistema USB. Essas responsabilidades são implementadas pelo Host Controller, possuindo um Root Hub como parte integrante que provê pontos de conexão para o(s) dispositivo(s). O USB System Software usa o Host Controller para gerenciar transferências de dados entre o Host e dispositivos. O USB System Software em conjunto com o Host Controller faz a tradução entre a visão dos dados clientes e as transações USB que trafegam pelo barramento USB (encapsulamento e desencapsulamento de dados). O Host Controller é quem processa as requisições de transmissão de dados do Host e para o Host, além do mais é o Host Controller quem implementa o protocolo USB especificado no Universal Serial Bus Specification [1]. Como o Host Controller e o USB System Software estão em camadas diferentes, a interface entre estes é dependente da implementação do hardware do Host Controller. Isso permitiu que consórcios de empresas especificassem diferentes interfaces para o Host Controller as quais incluem: OHCI (Open Host Controller Interface): Padrão de interface aberto que suporta USB 1.1 (low- e full-speed). Padrão que faz maior uso do controlador, sendo mais eficiente;

30 EHCI (Enhanced Host Controller Interface): Padrão de interface que suporta USB 2.0 (high-speed); UHCI (Universal Host Controller Interface): Padrão de interface proprietário criado pela Intel para USB 1.0 (low- e full-speed); O USB Host Controller desenvolvido no Brazil-IP usa o OHCI [14] como padrão de interface e como padrão no nível de registrador por ser um padrão aberto e por ser um padrão que aloca mais responsabilidades ao hardware. Sua arquitetura é composta tanto por software como por hardware. O hardware, chamado Host Controller (HC), é um controlador que provê a interface elétrica e mecânica para a conexão de dispositivos, implementa o canal de dados para as transmissões USB, informa sobre o estado do sistema, serializa os dados a serem transmitidos e deserializa os dados recebidos, gera frames (onde os pacotes USB são enviados) em um determinado intervalo de tempo, manipula eventuais erros, processa as requisições de transmissão e recepção de dados e é quem diretamente se comunica com dispositivos USB. O software, chamado Host Controller Driver (HCD), é quem provê uma abstração para a camada acima garantindo acesso às funcionalidades do HC. A Figura 3.7 mostra uma visão geral da arquitetura do IP-Core USB Host Controller. O dispositivo USB se comunica com o HC através de uma interface física USB, ou USB-PHY, a ser explicado na próxima subseção. O bloco MEM é uma região de memória compartilhada entre o HC e o HCD especificada pelo OHCI [14]. Acima do HCD encontra-se o SO µclinux que provê as outras camadas do sistema USB. O HCD é um software implementado em C e executa, juntamente com o µclinux, em um processador NIOS II

31 µclinux HCD PHY HC MEM DEVICE Figura 3.7: Plataforma Brazil-IP USB Host Controller O HC é composto por módulos que implementam uma ou mais das funcionalidades descritas anteriormente. O HC é mais do que um caminho de dados e devido à sua complexidade e responsabilidades, possui alguns módulos de controle. A Figura 3.8 mostra em maiores detalhes os módulos do HC. Operational Registers USB State Controller ULPI Link Frame Manager Interrupt Trigger Memory Acccess Controller USB Transaction Manager Root Hub Figura 3.8: Módulos do HC Como pode ser observado, os módulos que implementam o sistema de controle do HC são o Operational Registers, USB State Controller, Interrup Trigger e Frame Manager; os módulos que implementam o caminho de dados são o Memory Access Control, USB Transaction Manager, Root Hub e ULPI Link

32 3.3 Interface Elétrica USB Como visto na Figura 3.6 o elemento de um USB Host Controller que permite a conexão do cabo USB tanto no lado Host como no lado Function é a interface física, ou USB-PHY. A USB-PHY é responsável pela serialização e deserialização dos dados USB transmitidos e recebidos respectivamente. Fazendo uma analogia com o modelo em camadas OSI a PHY encontra-se na Camada 1, pois provê uma terminação para conexão física, faz o controle do fluxo de dados e modula estes num padrão elétrico; tudo ao nível de bit [15]. A Figura 3.9 mostra o modelo em camadas OSI. Tx Aplicação Apresentação Sessão Transporte Rede Enlace Física Figura 3.9: Camadas OSI Rx Até então, com a USB 1.1 e suas baixas taxas de transmissão, a USB- PHY podia ser facilmente especificada usando uma HDL comum. Com o advento da USB 2.0, que elevou a taxa de transmissão a 480 Mbps, necessitouse de uma interface padronizada como um ASIC para a USB-PHY. Assim foi especificado, inicialmente o padrão UTMI (USB 2.0 Transceiver Macrocell Interface) que especifica um padrão da USB-PHY apenas para dispositivos USB 2.0 [16]. Depois uma interface foi especificada para abranger USB 2.0 Hosts e periféricos USB 2.0 On-the-Go (um tipo de dispositivo que pode funcionar como Host em certos contextos), que é o padrão UTMI+ (USB 2.0 Transceiver Macrocell Interface Plus) [2]. Por fim um último padrão foi definido visando reduzir a quantidade de sinais necessários para a comunicação do Host Controller com a USB-PHY que é o padrão ULPI (UTMI+ Low Pin Interface). Este padrão sintetiza os 54 sinais do UTMI+ em 12 sinais apenas

33 Basicamente o que todas essas interfaces da USB-PHY definem é a maneira como o HC deve se comunicar para realizar certas funções específicas como: enviar e receber pacotes USB, ativar o barramento USB, resetar dispositivos, descobrir a velocidade do dispositivo conectado, informar quando um dispositivo é desconectado dentre várias outras funcionalidades. A USB-PHY usada no projeto do USB Host Controller foi o SMSC USB3300 [6]. Esta é uma USB-PHY padrão ULPI que está conectada ao HC através do módulo ULPI Link. A Figura 3.10 ilustra esta ligação. CLK NXT HC ỤLPI Link DIR STP USB 3300 (PHY) USB Link DATA Figura 3.10: Interconexão entre o HC e a PHY Durante o desenvolvimento do projeto grande parte do esforço concentrou-se no desenvolvimento do ULPI Link de forma que ele implementasse de maneira correta as funcionalidades definidas na especificação ULPI e que ao mesmo tempo as restrições de tempo fossem satisfeitas [3]. Foi dessa necessidade que surgiu a idéia deste trabalho de graduação

34 4. Biblioteca de Comunicação com a Camada Física USB Padrão ULPI Como todas as funcionalidades da USB-PHY descritas na seção anterior são especificadas no padrão ULPI [3], poder-se-ia muito bem ter uma biblioteca em que as funcionalidades necessárias fossem instanciadas e usadas como módulos no projeto. Vislumbrou-se uma biblioteca que disponibilizasse todas as funcionalidades possíveis tanto para Hosts como para dispositivos e nos vários modos de operação possíveis. Isso daria uma grande flexibilidade ao projetista de um sistema USB, seja Host ou dispositivo, pois aceleraria bastante o tempo de desenvolvimento além de permitir que o projetista instanciasse apenas o conjunto mínimo necessário para seu projeto específico. A título de ilustração utilizemos o projeto USB Host Controller do Brazil-IP como exemplo. O HC foi desenvolvido com algumas características que o diferenciam de outros Host Controllers: Apresenta dois modos de transmissão (Bulk e Control); Funciona com dispositivos low-speed, full-speed e high-speed. Entretanto dispositivos high-speed trabalham como full-speed, pois o HC ainda não suporta taxas de transmissão high-speed; Apresenta interface de comunicação com a PHY-USB no padrão ULPI no modo síncrono. Caso existisse tal biblioteca no momento em que se estivesse desenvolvendo o HC, o projetista escolheria apenas os módulos que lhe fossem de interesse. Assim o ULPI Link se reduziria apenas a um controle que ativaria cada um dos módulos no momento apropriado, sem se preocupar com os detalhes de restrição de tempo e padrão de interface da PHY-USB. O modo como os módulos da biblioteca são ativados e os dados são passados,

35 ou seja, a interface dos módulos da biblioteca para o controle, é igual independentemente da comunicação com a PHY-USB ser ULPI ou UTMI+. A Figura 4.1 ilustra esta idéia. Interface Padrão M1 Host Controller M2 PHY ULPI USB Bus Mn Interface Dependente Interface Padrão M1 Host Controller M2 PHY UTMI+ USB Bus Mn Interface Dependente Figura 4.1: Posição dos módulos numa implementação real 4.1 Objetivos da Biblioteca Nesta primeira versão da biblioteca foram projetados os módulos necessários para inicializar a USB-PHY, resetar o dispositivo e realizar comunicações padrão com um dispositivo USB. As comunicações padrões realizadas são: GET_CONFIGURATION, GET_DEVICE_DESCRIPTOR e GET_CONFIGURATION_DESCRIPTOR a serem explicadas no capítulo 5 Testes e Resultados. Um módulo de controle foi concebido para sincronizar o funcionamento dos módulos da biblioteca e de módulos auxiliares, prover os

36 dados necessários para envio de pacotes e receber os dados de resposta da transação. O dispositivo utilizado foi um pendrive USB full-speed. As seções seguintes visam descrever estes módulos em detalhes, apresentar a plataforma de prototipação usada na validação, explicar os testes individuais e conjuntos dos módulos, e ao final mostrar os resultados. 4.2 Requisitos Esta seção lista os requisitos funcionais dos componentes da biblioteca. Todos são requisitos essenciais. [RF 001] Escrever em Registradores: A biblioteca deve prover a funcionalidade de se escrever em registradores da USB-PHY ULPI e garantir a escrita no caso em que a USB- PHY interrompa o processo. A tabela de registradores, seus endereços e seus propósitos encontram-se na especificação ULPI [3]. [RF 002] Ler de Registradores: A biblioteca deve prover a funcionalidade de ler os registradores da USB-PHY ULPI e garantir a leitura no caso em que a USB-PHY interrompa o processo. A tabela de registradores, seus endereços e seus propósitos encontram-se na especificação ULPI [3]. [RF 003] Inicializar a PHY: A biblioteca deve inicializar a USB-PHY ULPI para operar no modo síncrono e funcionar na velocidade full-speed

37 [RF 004] Resetar dispositivo: A biblioteca deve possibilitar que se ative o sinal reset do dispositivo de modo que o mesmo se encontre em seu estado inicial, quando está pronto para ser configurado pelo Host. [RF 005] Informar velocidade do dispositivo: A biblioteca deve ser capaz de informar se um dispositivo conectado é full-speed ou high-speed. Para detalhes a respeito deste requisito ver seção Hi-Speed Detection Handshake (Chirp) da especificação do ULPI [3]. [RF 006] Enviar Pacotes: A biblioteca deve enviar pacotes USB, sinalizar fim da transmissão e eventuais falhas. É responsabilidade do controle prover os bytes do pacote USB na ordem correta. [RF 007] Receber Pacotes: A biblioteca deve receber pacotes USB, decodificar e entregar os bytes recebidos na ordem em que chegam, sinalizar o fim do recebimento e eventuais falhas. É responsabilidade do controle interpretar os bytes do pacote USB. [RF 008] Clock de operação: O clock de operação dos módulos deve ser de 60 MHz. Este valor é padrão na especificação USB [1]

38 [RF 009] Interfaces ULPI: Os módulos que diretamente se comunicam com a USB-PHY ULPI devem prover, individualmente, uma interface ULPI própria para comunicação com a PHY e outra interface conveniente para o controle de acordo com sua funcionalidade. A especificação ULPI [3] define dois atores: PHY: É a USB-PHY; Link: Módulos em hardware que diretamente controlam a interface ULPI; A Tabela 4.1 descreve os sinais da interface ULPI: Sinal Direção Tamanho Descrição clk Saída 1 bit data Bidirecional 8 bits dir Saída 1 bit Clock da interface. Todos os sinais são síncronos com o clock Possui o valor 0x00 (Idle) enquanto não houver transmissões. Toda transmissão inicia-se por um padrão diferente de 0x00 em data. O sinal dir alto indica que data pertence à PHY. O sinal dir baixo indica que data pertence ao Link. A PHY tem o controle de dir para ativá-lo quando há dados a serem transmitidos e desativá-lo para permitir transferências do Link

39 stp Entrada 1 bit nxt Entrada 1 bit Tabela 4.1: Interface ULPI O link ativa stp por um ciclo de clock para interromper o fluxo corrente de dados. Se o Link estiver enviando dados, indica que o último byte foi enviado; se a PHY estiver enviando dados stp força o fim da transmissão e perde o controle do barramento para o Link. Quando o Link estiver enviando dados, nxt indica que o byte atual foi aceito pela PHY e coloca o próximo byte no próximo ciclo. Se a PHY estiver enviando dados para o Link nxt indica que um novo byte está disponível para o Link

40 4.3 Casos de Uso Os requisitos descritos na seção anterior foram implementados através dos casos de uso apresentados no diagrama da Figura 4.2. Figura 4.2: Diagrama de casos de uso

41 Descrição detalhada dos Casos de Uso no Apêndice A. Breve descrição dos Casos de Uso abaixo: [UC 001] Escrever registrador imediato Descreve como o caso de uso escreve em um registrador imediato do ULPI. O módulo Write Reg implementa este caso de uso. [UC 002] Ler de registrador imediato Descreve como o caso de uso lê de um registrador imediato do ULPI. O módulo Read Reg implementa este caso de uso. [UC 003] Inicializar USB-PHY ULPI Descreve como o caso de uso inicializa a PHY ULPI. Este caso de uso faz uso do [UC 001] para realizar seu fluxo, pois a inicialização da USB-PHY ULPI dá-se por escrita em registradores. Assim o módulo que realiza este caso de uso é o controle através do módulo Write Reg. [UC 004] Chirp Sequence Descreve como o caso de uso informa o controle se um dispositivo é full- ou high-speed ao mesmo tempo em que o reseta. Para detalhes do que os valores dos registradores setados significam favor consultar a seção Hi-Speed Detection Handshake (Chirp) da especificação ULPI [3]. O módulo Chirp Sequence Control implementa este caso de uso. [UC 005] Enviar Pacote USB Descreve como o caso de uso envia um pacote USB através da PHY ULPI. O módulo Send USB Packet implementa este caso de uso. [UC 006] Receber Pacote USB Descreve como o caso de uso recebe um pacote USB através da PHY ULPI. O módulo Receive USB Packet implementa este caso de uso

42 4.4 Módulos da Biblioteca Nesta seção serão apresentados os módulos funcionais da arquitetura proposta e os módulos auxiliares desta primeira versão. A utilização dos módulos funcionais consiste em instanciar cada um deles e interligá-los por meio dos módulos auxiliares. Cada módulo funcional possui uma interface ULPI que deve ser conectada a uma única interface ULPI através do módulo auxiliar MUX ULPI. Isso implica que o controle deve selecionar em tempo de execução qual módulo funcional fará uso da interface ULPI. Alguns módulos funcionais necessitam dos serviços de outros módulos funcionais que devem então ser interligados através de outro multiplexador, como o Write Reg MUX. Para interconectar o controle aos módulos funcionais, o controle deve apresentar interfaces apropriadas a cada módulo. A Figura 4.3 ilustra simplificadamente como os módulos funcionais (cinza) e módulos auxiliares (branco) são interconectados juntamente com o controle. ULPI Read Reg ULPI Write Reg MUX Write Reg ULPI Controle (HC) Chirp Sequene Control ULPI MUX ULPI ULPI Send USB Packet ULPI Receive USB Packet ULPI Figura 4.3: Como os módulos da biblioteca são utilizados

43 A descrição de cada interface e suas portas são explicadas nas subseções seguintes Módulos Funcionais É importante observar que cada módulo funcional possui sua própria interface ULPI que já foi explicada na seção 4.2 [RF 009] Write Reg Este módulo implementa o [UC 001]. É uma máquina de estados que garante a escrita do registrador caso a USB-PHY interrompa o processo de escrita. A Figura 4.4 mostra o módulo e suas interfaces. O módulo possui uma interface ULPI e outra para o controle que são as portas apresentadas na Tabela 4.2: Sinal Direção Tamanho Descrição Pstart Entrada 1 bit Paddress Entrada 8 bits Sinal ativado pelo controle por um ciclo de clock para se inicializar a escrita de um registrador. É necessário que o endereço e dado estejam disponíveis para o módulo. O endereço do registrador. Pdata Entrada 8 bits O dado a ser escrito. Tabela 4.2: Interface Write Reg

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

USB - Introdução. Meios Eletrônicos I 2011

USB - Introdução. Meios Eletrônicos I 2011 USB - Introdução Meios Eletrônicos I 2011 História USB: Universal Serial Bus Criado pela Intel em 1994, junto com outras empresas (Microsoft, HP, NEC, Apple) Facilita a conexão de dispositivos periféricos

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

Seminários S2i. Barramento USB. Teoria e Projetos. Guilherme Francisco Mallmann

Seminários S2i. Barramento USB. Teoria e Projetos. Guilherme Francisco Mallmann Seminários S2i Barramento USB Teoria e Projetos Guilherme Francisco Mallmann Apanhado Geral USB = Universal Serial Bus; 4 vias de comunicação; Vias: Vbus (+5V) Vermelho; D- Branco; D+ Verde; GND (referência)

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

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,

Leia mais

Redes de Computadores II

Redes de Computadores II Redes de Computadores II UDP Prof: Ricardo Luís R. Peres Tem como objetivo prover uma comunicação entre dois processos de uma mesma sessão que estejam rodando em computadores dentro da mesma rede ou não.

Leia mais

Topologia de rede Ligação Ponto-a-Ponto

Topologia de rede Ligação Ponto-a-Ponto TIPOS DE REDE Tipos de Redes Locais (LAN - Local Area Network), Redes Metropolitanas (MAN - Metropolitan Area Network) e Redes Remotas (WAN - Wide Area Network). Redes que ocupam um pequeno espaço geográfico

Leia mais

Experiência 05: CONFIGURAÇÃO BÁSICA DE UMA REDE. Objetivo Geral Criar uma rede ponto-a-ponto com crossover e utiizando switch.

Experiência 05: CONFIGURAÇÃO BÁSICA DE UMA REDE. Objetivo Geral Criar uma rede ponto-a-ponto com crossover e utiizando switch. ( ) Prova ( ) Prova Semestral ( ) Exercícios ( ) Prova Modular ( ) Segunda Chamada ( ) Exame Final ( ) Prática de Laboratório ( ) Aproveitamento Extraordinário de Estudos Nota: Disciplina: Turma: Aluno

Leia mais

USB Transacções Detecção de dispositivos Low-speed Detecção de dispositivos Full-speed Comunicação Diferencial Comunicação Diferencial Codificação NRZI Codificação NRZI (Non-Return Zero Inverted) O 0 s

Leia mais

Introdução sobre à porta USB

Introdução sobre à porta USB Introdução sobre à porta USB O USB (Universal Serial Bus) surgiu em 1995 com uma parceria entre várias companhias de alta tecnologia (Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC e Philips).

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

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 3-1. A CAMADA DE REDE (Parte 1) A camada de Rede está relacionada à transferência de pacotes da origem para o destino. No entanto, chegar ao destino pode envolver vários saltos em roteadores intermediários.

Leia mais

Redes e Conectividade

Redes e Conectividade Redes e Conectividade Camada de enlace: domínio de colisão e domínio de broadcast, segmentação, modos de switching para encaminhamento de quadros Versão 1.0 Março de 2016 Prof. Jairo jairo@uninove.br professor@jairo.pro.br

Leia mais

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos

Leia mais

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

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano. No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano. Essa estratégia foi deixada para trás. Atualmente, o software de rede é altamente

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

Centro Tecnológico de Eletroeletrônica César Rodrigues. Atividade Avaliativa

Centro Tecnológico de Eletroeletrônica César Rodrigues. Atividade Avaliativa 1ª Exercícios - REDES LAN/WAN INSTRUTOR: MODALIDADE: TÉCNICO APRENDIZAGEM DATA: Turma: VALOR (em pontos): NOTA: ALUNO (A): 1. Utilize 1 para assinalar os protocolos que são da CAMADA DE REDE e 2 para os

Leia mais

CAPÍTULO 4 Interface USB

CAPÍTULO 4 Interface USB Interfaces e Periféricos 29 CAPÍTULO 4 Interface USB Introdução Todo computador comprado atualmente possui uma ou mais portas (conectores) USB. Estas portas USB permitem que se conecte desde mouses até

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

Introdução a Organização de Computadores Aula 4

Introdução a Organização de Computadores Aula 4 1 Subsistemas de Memória 4.1 Introdução A memória é o componente de um sistema de computação cuja função é armazenar as informações que são (ou serão) manipuladas por esse sistema, para que as informações

Leia mais

APLICAÇÕES E ANÁLISE DE SISTEMAS SUPERVISÓRIOS "SCADA"

APLICAÇÕES E ANÁLISE DE SISTEMAS SUPERVISÓRIOS SCADA MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE GOIÁS PRÓ-REITORIA DE PESQUISA E PÓS-GRADUAÇÃO DEPARTAMENTO DE PESQUISA E

Leia mais

REDES DE COMPUTADORES HISTÓRICO E CONCEITOS

REDES DE COMPUTADORES HISTÓRICO E CONCEITOS REDES DE COMPUTADORES HISTÓRICO E CONCEITOS BREVE HISTÓRICO A década de 60 Surgiram os primeiros terminais interativos, e os usuários podiam acessar o computador central através de linhas de comunicação.

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

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 1 ARQUITETURA DE COMPUTADORES U C P Prof. Leandro Coelho Plano de Aula 2 Aula Passada Definição Evolução dos Computadores Histórico Modelo de Von-Neumann Básico CPU Mémoria E/S Barramentos Plano de Aula

Leia mais

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona. Aula 14 Redes de Computadores 24/10/07 Universidade do Contestado UnC/Mafra Sistemas de Informação Prof. Carlos Guerber ROTEAMENTO EM UMA REDE DE COMPUTADORES A máscara de sub-rede é utilizada para determinar

Leia mais

Memória cache. Prof. Francisco Adelton

Memória cache. Prof. Francisco Adelton Memória cache Prof. Francisco Adelton Memória Cache Seu uso visa obter uma velocidade de acesso à memória próxima da velocidade das memórias mais rápidas e, ao mesmo tempo, disponibilizar no sistema uma

Leia mais

Curso: Redes II (Heterogênea e Convergente)

Curso: Redes II (Heterogênea e Convergente) Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Redes Heterogênea e Convergente Professor Rene - UNIP 1 Redes heterogêneas Redes Heterogêneas Todo ambiente de rede precisa armazenar informações

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

CENTRAL PRCESSING UNIT

CENTRAL PRCESSING UNIT Processador O processador, também chamado de CPU ( CENTRAL PRCESSING UNIT) é o componente de hardware responsável por processar dados e transformar em informação. Ele também transmite estas informações

Leia mais

Interconexão de Redes. Aula 03 - Roteamento IP. Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.br

Interconexão de Redes. Aula 03 - Roteamento IP. Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.br Interconexão de Redes Aula 03 - Roteamento IP Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.br Revisão Repetidor Transceiver Hub Bridge Switch Roteador Domínio de Colisão Domínio de Broadcast

Leia mais

Conceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio

Conceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio Conceito de Rede e seus Elementos Prof. Marciano dos Santos Dionizio Conceito de Rede e seus Elementos O conceito de rede segundo Tanenbaum é: um conjunto de módulos processadores capazes de trocar informações

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

Comunicação Fim-a-Fim a Alta Vede em Redes Gigabit

Comunicação Fim-a-Fim a Alta Vede em Redes Gigabit Outros trabalhos em: www.projetoderedes.com.br Comunicação Fim-a-Fim a Alta Vede em Redes Gigabit DaniloM.Taveira, Igor M. Moraes, Daniel de O.Cunha RafaelP.Laufer, Marco D. D. Bicudo, Miguel E. M. Campista,

Leia mais

Arquitetura do Protocolo da Internet. Aula 05 - Protocolos de Roteamento. Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.

Arquitetura do Protocolo da Internet. Aula 05 - Protocolos de Roteamento. Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu. Arquitetura do Protocolo da Internet Aula 05 - Protocolos de Roteamento Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.br Revisão Roteamento; Gateway; Tabelas de Roteamento; Slide 2 de 82 Rotas?!

Leia mais

Barramento. Barramentos. Barramento. Barramento

Barramento. Barramentos. Barramento. Barramento s Arquiteturas de Conjunto de conexões elétricas/lógicas paralelas Permitem a transmissão de dados, endereços e sinais de controle entre os diversos módulos funcionais do computador Consiste de vários

Leia mais

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº UNIDADE 1I: SISTEMA COMPITACIONAL Elementos hardware e periféricos Um sistema computacional consiste num conjunto de dispositivos eletrônicos (hardware) capazes de processar informações de acordo com um

Leia mais

REDE DE COMPUTADORES TECNOLOGIA ETHERNET

REDE DE COMPUTADORES TECNOLOGIA ETHERNET SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL REDE DE COMPUTADORES TECNOLOGIA ETHERNET Prof. Airton Ribeiro de Sousa E-mail: airton.ribeiros@gmail.com ARQUITETURA ISDN (Integrated Services Digital Network)

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

Organização de Computadores 1. Prof. Luiz Gustavo A. Martins

Organização de Computadores 1. Prof. Luiz Gustavo A. Martins Organização de Computadores 1 1 - INTRODUÇÃO Prof. Luiz Gustavo A. Martins Arquitetura Define os elementos que impactuam diretamente na execução lógica do programa. Corresponde aos atributos visíveis veis

Leia mais

Montagem e Manutenção. Luís Guilherme A. Pontes

Montagem e Manutenção. Luís Guilherme A. Pontes Montagem e Manutenção Luís Guilherme A. Pontes Introdução Qual é a importância da Montagem e Manutenção de Computadores? Sistema Binário Sistema Binário Existem duas maneiras de se trabalhar e armazenar

Leia mais

Computador Digital Circuitos de um computador (Hardware)

Computador Digital Circuitos de um computador (Hardware) Computador Digital SIS17 - Arquitetura de Computadores (Parte I) Máquina que pode resolver problemas executando uma série de instruções que lhe são fornecidas. Executa Programas conjunto de instruções

Leia mais

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Nome dos Alunos

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Nome dos Alunos Exercícios de Revisão Redes de Computadores Edgard Jamhour Nome dos Alunos Cenário 1: Considere a seguinte topologia de rede IPB 210.0.0.1/24 IPA 10.0.0.5/30 220.0.0.1\24 4 5 3 1 IPC 10.0.0.9/30 REDE B

Leia mais

REDES DE COMPUTADORES - I UNI-ANHANGUERA CENTRO UNIVERSITÁRIO DE GOIÁS CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF.

REDES DE COMPUTADORES - I UNI-ANHANGUERA CENTRO UNIVERSITÁRIO DE GOIÁS CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF. 1 REDES DE COMPUTADORES - I UNI-ANHANGUERA CENTRO UNIVERSITÁRIO DE GOIÁS CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF. MARCIO BALIAN E L A B O R A Ç Ã O : M Á R C I O B A L I A N / T I A G O M A

Leia mais

Ficha de trabalho Redes locais

Ficha de trabalho Redes locais Ficha de trabalho Redes locais 1.Arquitectura Ethernet, necessidade de um dispositivo concentrador, um switch para ligar os computadores. 2.Funciona como concentrador de tomadas, nao possui circuito electronico,

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

Abstrações e Tecnologias Computacionais. Professor: André Luis Meneses Silva E-mail/msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.

Abstrações e Tecnologias Computacionais. Professor: André Luis Meneses Silva E-mail/msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress. Abstrações e Tecnologias Computacionais Professor: André Luis Meneses Silva E-mail/msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.com Agenda Introdução Sistemas Computacionais Arquitetura X

Leia mais

HP Installation Service

HP Installation Service HP Installation Service Serviços HP Dados técnicos O HP Installation Service prevê a instalação básica de servidores, estações de trabalho, sistemas desktop, PCs notebooks, thin clients, dispositivos de

Leia mais

Projetos I Resumo de TCC. Luiz Rogério Batista De Pieri Mat: 0413829 5

Projetos I Resumo de TCC. Luiz Rogério Batista De Pieri Mat: 0413829 5 Projetos I Resumo de TCC Luiz Rogério Batista De Pieri Mat: 0413829 5 MAD RSSF: Uma Infra estrutura de Monitoração Integrando Redes de Sensores Ad Hoc e uma Configuração de Cluster Computacional (Denise

Leia mais

Estrutura de um Rede de Comunicações. Redes de comunicação. de Dados. Network) Area. PAN (Personal( Redes de. de dados

Estrutura de um Rede de Comunicações. Redes de comunicação. de Dados. Network) Area. PAN (Personal( Redes de. de dados Fundamentos de Estrutura de um Rede de Comunicações Profa.. Cristina Moreira Nunes Tarefas realizadas pelo sistema de comunicação Utilização do sistema de transmissão Geração de sinal Sincronização Formatação

Leia mais

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços 1 Introdução Nos últimos anos, houve um aumento notável de demanda por plataformas com suporte a diferentes mídias. Aplicações manipulando simultaneamente texto, vídeo e áudio são cada vez mais comuns.

Leia mais

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula Complementar - EQUIPAMENTOS DE REDE 1. Repetidor (Regenerador do sinal transmitido) É mais usado nas topologias estrela e barramento. Permite aumentar a extensão do cabo e atua na camada física

Leia mais

PSIU Protocolo Simples de Intercomunicação Unificado

PSIU Protocolo Simples de Intercomunicação Unificado PSIU Protocolo Simples de Intercomunicação Unificado Ricardo J. O. Mariz 1, Rodrigo Pessoa Medeiros 2, Henrique Braga Foresti 1, Fábio E. A. Aguiar 3 1 Universidade Federal de Pernambuco (UFPE) 2 Universidade

Leia mais

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s)

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s) Memórias O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s) Essas informações são guardadas eletricamente em células individuais. Chamamos cada elemento

Leia mais

Equipamentos de rede. Repetidores. Repetidores. Prof. Leandro Pykosz Leandro@sulbbs.com.br

Equipamentos de rede. Repetidores. Repetidores. Prof. Leandro Pykosz Leandro@sulbbs.com.br 1 Equipamentos de rede Prof. Leandro Pykosz Leandro@sulbbs.com.br Repetidores É o dispositivo responsável por ampliar o tamanho máximo do cabeamento de rede; Como o nome sugere, ele repete as informações

Leia mais

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br Introdução a Banco de Dados Aula 03 Prof. Silvestri www.eduardosilvestri.com.br Arquiteturas de Banco de Dados Arquiteturas de BD - Introdução Atualmente, devem-se considerar alguns aspectos relevantes

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

DeviceNet Drive Profile CFW-09

DeviceNet Drive Profile CFW-09 Motores Automação Energia Transmissão & Distribuição Tintas DeviceNet Drive Profile CFW09 Manual da Comunicação Manual da Comunicação DeviceNet Drive Profile Série: CFW09 Idioma: Português Versão de Software:

Leia mais

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for FICHA DE TRABALHO Nº 1 MÓDULO: EQUIPAMENTOS ACTIVOS DE REDES DATA: / 03 / 2010 FORMADOR: EDUARDO SEQUEIRA FICHA LABORATORIAL 1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através

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

Redes Ponto a Ponto. Os drivers das placas de rede devem estar instalados.

Redes Ponto a Ponto. Os drivers das placas de rede devem estar instalados. Redes Ponto a Ponto É fácil configurar uma rede ponto-a-ponto em qualquer versão do Windows. Antes entretanto é preciso tomar algumas providências em relação ao hardware: Todos os computadores devem estar

Leia mais

Apresentação de REDES DE COMUNICAÇÃO

Apresentação de REDES DE COMUNICAÇÃO Apresentação de REDES DE COMUNICAÇÃO Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos MÓDULO VI Programação de Sistemas de Comunicação Duração: 30 tempos Conteúdos 2 Construção

Leia mais

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

O modelo ISO/OSI (Tanenbaum,, 1.4.1) Cenário das redes no final da década de 70 e início da década de 80: Grande aumento na quantidade e no tamanho das redes Redes criadas através de implementações diferentes de hardware e de software Incompatibilidade

Leia mais

Desenvolvimento de Modelo ESL para Controlador de Acesso Direto à Memória (DMA)

Desenvolvimento de Modelo ESL para Controlador de Acesso Direto à Memória (DMA) UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 2012.1 Desenvolvimento de Modelo ESL para Controlador de Acesso Direto à Memória (DMA) PROPOSTA DE TRABALHO

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

QUESTIONAMENTOS ACERCA DO EDITAL DO PREGÃO ELETRÔNICO AA Nº 22/2015 - BNDES. Em resposta aos questionamentos formulados, o BNDES esclarece:

QUESTIONAMENTOS ACERCA DO EDITAL DO PREGÃO ELETRÔNICO AA Nº 22/2015 - BNDES. Em resposta aos questionamentos formulados, o BNDES esclarece: QUESTIONAMENTOS ACERCA DO EDITAL DO PREGÃO ELETRÔNICO AA Nº 22/2015 - BNDES Prezado(a) Senhor(a), Em resposta aos questionamentos formulados, o BNDES esclarece: 1. Com relação ao item: 8.1.9. Os 2 (dois)

Leia mais

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle. Introdução Os principais elementos de um sistema de computação são a unidade central de processamento (central processing unit CPU), a memória principal, o subsistema de E/S (entrada e saída) e os mecanismos

Leia mais

Prof. Samuel Henrique Bucke Brito

Prof. Samuel Henrique Bucke Brito - Transmissão www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito Transmissão Transmissão é a técnica que é utilizada para enviar um sinal entre os dois pontos envolvidos

Leia mais

Gravando Dados e Cópias de CD s com o Nero 6.0 Disciplina Operação de Sistemas Aplicativos I

Gravando Dados e Cópias de CD s com o Nero 6.0 Disciplina Operação de Sistemas Aplicativos I CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA Escola Técnica Estadual de Avaré ETE-AVARÉ CURSO DE TÉCNICO EM INFORMÁTICA NÚCLEO DE APOIO Gravando Dados e Cópias de CD s com o Nero 6.0 Disciplina

Leia mais

Módulo de Transmissão e Ativos de Rede Curso Técnico de Informática. Prof. George Silva

Módulo de Transmissão e Ativos de Rede Curso Técnico de Informática. Prof. George Silva Módulo de Transmissão e Ativos de Rede Curso Técnico de Informática Prof. George Silva FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA COMPONENTES ATIVOS DE REDES AULA 04 Objetivo Entender o encapsulamento de dados

Leia mais

Sistemas Microcontrolados

Sistemas Microcontrolados Sistemas Microcontrolados Uma Abordagem com o Microcontrolador PIC 16F84 Nardênio Almeida Martins Novatec Editora Capítulo 1 Introdução Os microcontroladores estão presentes em quase tudo o que envolve

Leia mais

Introdução. Hardware (Parte I) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.

Introdução. Hardware (Parte I) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação Hardware (Parte I) Prof. a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br Carga

Leia mais

Serviço para implementação de atualização de firmware HP

Serviço para implementação de atualização de firmware HP Dados técnicos Serviço para implementação de atualização de firmware HP Serviços HP Vantagens do serviço Fornece atualizações de firmware com o intuito de minimizar quaisquer interrupções ao seu ambiente

Leia mais

CARACTERÍSTICAS DA USB

CARACTERÍSTICAS DA USB CARACTERÍSTICAS DA USB Idealizada em 1995 por um grupo de empresas de alta tecnologia (Compaq, DEC, IBM, Intel, Microsoft, NEC e outras) e desenvolvido pelo USB Implementers Forum (http://www.usb.org)

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PRJET DE REDES www.projetoderedes.com.br urso de Tecnologia em Redes de omputadores Disciplina: Redes I Fundamentos - 1º Período Professor: José Maurício S. Pinheiro AULA 1: onceitos de Redes de Dados

Leia mais

Estrutura de um Rede de Comunicações

Estrutura de um Rede de Comunicações Fundamentos de Profa.. Cristina Moreira Nunes Estrutura de um Rede de Comunicações Tarefas realizadas pelo sistema de comunicação Utilização do sistema de transmissão Geração de sinal Sincronização Formatação

Leia mais

Sub-item 1.1. : 5(63267$

Sub-item 1.1. : 5(63267$ &,5&8/$51ž 35(* 2(/(75Ð1,&21ž 2%-(72 )251(&,0(172 '( (48,3$0(1726 '(,1)250È7,&$ 62/8d 2,17(*5$'$'(6725$*( Sub-item 1.1. : 6$2648(67,21$0(1726 Está sendo solicitado equipamento com Sistema de refrigeração

Leia mais

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo Universidade Federal do Espírito Santo Inteligência Artificial Agenda Semântica Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo Vitória 2007/02 Agenda Semântica

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1 Índice 1. Introdução...3 1.1. O que é um Computador?... 3 1.2. Máquinas Multiníveis... 3 2 1. INTRODUÇÃO 1.1 O QUE É UM COMPUTADOR? Para estudarmos como um computador

Leia mais

Network Top: Uma Ferramenta Automatizada para Análise e Gerenciamento de Redes

Network Top: Uma Ferramenta Automatizada para Análise e Gerenciamento de Redes Network Top: Uma Ferramenta Automatizada para Análise e Gerenciamento de Redes Adriano K. Maron, Anderson B. Pinheiro 1 Universidade Católica de Pelotas (UCPEL) Caixa Postal 96010-000 Pelotas RS Brazil

Leia mais

Permite a coleta de dados em tempo real dos processos de produção, possuindo, também, interfaces para a transferência dos dados para os sistemas

Permite a coleta de dados em tempo real dos processos de produção, possuindo, também, interfaces para a transferência dos dados para os sistemas Permite a coleta de dados em tempo real dos processos de produção, possuindo, também, interfaces para a transferência dos dados para os sistemas administrativos da empresa. Nessa configuração, o PC é a

Leia mais

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO O que é a Informática? A palavra Informática tem origem na junção das palavras: INFORMAÇÃO + AUTOMÁTICA = INFORMÁTICA...e significa, portanto, o tratamento da informação

Leia mais

Aula 03 Regras de Segmentação e Switches

Aula 03 Regras de Segmentação e Switches Disciplina: Dispositivos de Rede II Professor: Jéferson Mendonça de Limas 4º Semestre Aula 03 Regras de Segmentação e Switches 2014/1 19/08/14 1 2de 38 Domínio de Colisão Os domínios de colisão são os

Leia mais

Conceitos e Evolução Capítulos 1 e 2

Conceitos e Evolução Capítulos 1 e 2 Aula 2 ARQUITETURA DE COMPUTADORES Conceitos e Evolução Capítulos 1 e 2 Prof. Osvaldo Mesquita E-mail: oswaldo.mesquita@gmail.com 1/48 CONTEÚDO DA AULA Conceitos Importantes O que é arquitetura de computadores?

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

Leia mais

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 1

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 1 REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 1 Índice 1. Redes de Computadores e Telecomunicações...3 2. Topologias de Redes...4 2.1 Barramento... 4 2.2 Anel... 4 2.3 Estrela... 5 2.4 Árvore... 5 2.5

Leia mais

Descrição do Produto. Altus S. A. 1

Descrição do Produto. Altus S. A. 1 Descrição do Produto O software MasterTool IEC é um ambiente completo de desenvolvimento de aplicações para os controladores programáveis da Série Duo. Esta ferramenta permite a programação e a configuração

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

Homologação de Clientes de Videoconferência: Roteiro principal

Homologação de Clientes de Videoconferência: Roteiro principal Homologação de Clientes de Videoconferência: Roteiro principal Jean Carlo Faustino Felipe Tocchetto Janeiro de 2009 Este documento apresenta o roteiro de implantação do plano de homologação dos clientes

Leia mais

TRANSMISSÃO DE DADOS

TRANSMISSÃO DE DADOS TRANSMISSÃO DE DADOS Aula 5: Comutação Notas de aula do livro: FOROUZAN, B. A., Comunicação de Dados e Redes de Computadores, MCGraw Hill, 4ª edição Prof. Ulisses Cotta Cavalca

Leia mais

REDE DE COMPUTADORES

REDE DE COMPUTADORES SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL REDE DE COMPUTADORES Tecnologias de Rede Topologias Tipos de Arquitetura Prof. Airton Ribeiro de Sousa E-mail: airton.ribeiros@gmail.com 1 REDES LOCAIS LAN -

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerenciamento de Dispositivos Gerenciamento de Dispositivos de E/S Introdução Gerenciador de Dispositivos Todos os dispositivos

Leia mais

Suporte a redes CAN para Aplicações Embarcadas

Suporte a redes CAN para Aplicações Embarcadas Universidade Federal de Santa Catarina UFSC Departamento De Informática e Estatística INE Bacharelado em Ciências Da Computação Suporte a redes CAN para Aplicações Embarcadas Autor: Alessandro Barreiros

Leia mais

Dispositivos externos

Dispositivos externos Dispositivos externos Guia do Usuário Copyright 2006 Hewlett-Packard Development Company, L.P. As informações contidas neste documento estão sujeitas a alterações sem aviso. As únicas garantias para produtos

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