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 Orientador: Edna Natividade da Silva Barros 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

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

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

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

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

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

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

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

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

CONTROLE DE MOTOR DE PASSO VIA USB USANDO O FT232BM NO

CONTROLE DE MOTOR DE PASSO VIA USB USANDO O FT232BM NO Página 1 de 1 Home Índice USBMotor Controle de motor de passo Por: Antônio Rogério Messias CONTROLE DE MOTOR DE PASSO VIA USB USANDO O FT232BM NO MODO BIT-BANG Para uso particular ou educacional. Copyright(c)

Leia mais

IEEE 1394 PORQUE OUTRO BARRAMENTO? Grande crescimento do número de conectores no PC. Equipamentos analógicos migrando para digital

IEEE 1394 PORQUE OUTRO BARRAMENTO? Grande crescimento do número de conectores no PC. Equipamentos analógicos migrando para digital Histórico IEEE 1394 1986 - primeiras idéias concretas trazidas pela Apple Computers que adotou a denominação FireWire. 1987 - primeira especificação do padrão. 1995 adoção pelo IEEE do padrão IEEE 394.

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

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

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

COMUNICAÇÃO SERIAL ENTRE EQUIPAMENTOS

COMUNICAÇÃO SERIAL ENTRE EQUIPAMENTOS COMUNICAÇÃO SERIAL ENTRE EQUIPAMENTOS 1 Introdução Para transmitir ou receber informações de outros dispositivos é necessário que os sistemas automáticos sejam capazes de comunicarem-se com estes dispositivos.

Leia mais

TUTORIAL Arduino Nano

TUTORIAL Arduino Nano Conceito: O é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, projetada com um microcontrolador Atmel AVR com circuitos de entrada/saída embutido que podem ser facilmente

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

Sistemas Operacionais Arquitetura e organização de sistemas operacionais: Uma visão estrutural hardware & software. Prof. MSc.

Sistemas Operacionais Arquitetura e organização de sistemas operacionais: Uma visão estrutural hardware & software. Prof. MSc. Sistemas Operacionais Arquitetura e organização de sistemas operacionais: Uma visão estrutural hardware & software Prof. MSc. Hugo Souza Continuando nossas aulas relativas ao Módulo 1, veremos a seguir

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

Conceitos Básicos sobre Sistemas Operacionais

Conceitos Básicos sobre Sistemas Operacionais Conceitos Básicos sobre Sistemas Operacionais Ivanovitch Medeiros Dantas da Silva Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação DCA0800 - Algoritmos e

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

Modelo de Referência OSI. Modelo de Referência OSI. Modelo de Referência OSI. Nível Físico (1)

Modelo de Referência OSI. Modelo de Referência OSI. Modelo de Referência OSI. Nível Físico (1) Modelo de Referência OSI OSI (Open Systems Interconnection) Criado pela ISO (International Standards Organization) É um modelo abstrato que relaciona funções e serviços de comunicações em sete camadas.

Leia mais

Roteamento e Comutação

Roteamento e Comutação Roteamento e Comutação A camada de enlace, cujo protocolo é utilizado para transportar um datagrama por um enlace individual, define o formato dos pacotes trocados entre os nós nas extremidades, bem como

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

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

Equipamentos de Rede. Prof. Sérgio Furgeri 1

Equipamentos de Rede. Prof. Sérgio Furgeri 1 Equipamentos de Rede Repetidor (Regenerador do sinal transmitido)* Mais usados nas topologias estrela e barramento Permite aumentar a extensão do cabo Atua na camada física da rede (modelo OSI) Não desempenha

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 7 Entrada/saída Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Problemas de entrada/saída Grande variedade

Leia mais

Importante. Interessante. Não importante

Importante. Interessante. Não importante Universal Serial Bus Por: Ivenelson Importante Interessante Não importante Instalando acessórios no computador Placa mãe e seus Slots Zip Drive 150MB Maquina digital Drive de CD Floppy Disk 3,4 Placa de

Leia mais

MONTAGEM DE UMA PLATAFORMA E DESENVOLVIMENTO DE UM

MONTAGEM DE UMA PLATAFORMA E DESENVOLVIMENTO DE UM UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA MONTAGEM DE UMA PLATAFORMA E DESENVOLVIMENTO DE UM DRIVER PARA TESTES DO IP CORE USB HOST. PROPOSTA DE TRABALHO

Leia mais

Protocolo CAN Controller Area Network

Protocolo CAN Controller Area Network Universidade Federal do Rio Grande do Norte Programa de Pós-graduação em Engenharia Elétrica Protocolo CAN Controller Area Network Carlo Frederico Campos Danielle Simone Prof. Luiz Affonso Maio / 2005

Leia mais

Infrared Data Association

Infrared Data Association IRDA Infrared Data Association Jorge Pereira DEFINIÇÃO Define-se protocolo como um conjunto de regras que estabelece a forma pela qual os dados fluem entre transmissor e receptor, critérios para verificação

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

DECODIFICADOR DE AUDIO MPEG-2 AAC-LC: IMPLEMENTAÇÃO DO PROTOCOLO DE COMUNICAÇÃO AMBA-AXI. PALAVRAS-CHAVE: IP-Cores, Circuitos Integrados, AMBA-AXI.

DECODIFICADOR DE AUDIO MPEG-2 AAC-LC: IMPLEMENTAÇÃO DO PROTOCOLO DE COMUNICAÇÃO AMBA-AXI. PALAVRAS-CHAVE: IP-Cores, Circuitos Integrados, AMBA-AXI. 683 DECODIFICADOR DE AUDIO MPEG-2 AAC-LC: IMPLEMENTAÇÃO DO PROTOCOLO DE COMUNICAÇÃO AMBA-AXI Tiago da Silva Oliveira¹; Wagner Luiz Alves de Oliveira.² 1. Bolsista PIBIC, Graduando em Engenharia de Computação,

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Uma rede de computadores é um sistema de comunicação de dados constituído através da interligação de computadores e outros dispositivos, com a finalidade de trocar informação e partilhar

Leia mais

Prof. Frank Sill Torres DELT Escola de Engenharia UFMG

Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Sistemas, Processadores e Periféricos Aula 11 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores do professor 1 1 Leandro Galvão

Leia mais

Este material foi baseado na apresentação de rede do Prof. Marco Aurélio Moschella

Este material foi baseado na apresentação de rede do Prof. Marco Aurélio Moschella Este material foi baseado na apresentação de rede do Prof. Marco Aurélio Moschella Prof. Engº esp Luiz Antonio Vargas Pinto 21 de abril de 2001 Atualizado em 16 de Agosto de 2015 www.vargasp.com Redes

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

Verificação Funcional do Controlador USB Host

Verificação Funcional do Controlador USB Host UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA Verificação Funcional do Controlador USB Host PROPOSTA DE TRABALHO DE GRADUAÇÃO Aluna: Renata Garcia Oliveira

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

CAPÍTULO 1 INTRODUÇÃO

CAPÍTULO 1 INTRODUÇÃO 1 CAPÍTULO 1 INTRODUÇÃO O computador não é uma máquina interessante se não pudermos interagir com ela. Fazemos isso através de suas interfaces e seus periféricos. Como periféricos serão considerados os

Leia mais

Redes de Computadores IEEE 802.3

Redes de Computadores IEEE 802.3 Redes de Computadores Ano 2002 Profª. Vívian Bastos Dias Aula 7 IEEE 802.3 Padrão Ethernet 10BASE5 É o padrão IEEE 802.3 original, taxa de transmissão de 10Mbps. Utiliza um tipo de cabo coaxial grosso

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

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

Arquitetura de Computadores. Professor: Vilson Heck Junior

Arquitetura de Computadores. Professor: Vilson Heck Junior Arquitetura de Computadores Professor: Vilson Heck Junior Agenda Conceitos Estrutura Funcionamento Arquitetura Tipos Atividades Barramentos Conceitos Como já discutimos, os principais componentes de um

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

FACULDADE DE TECNOLOGIA SENAC PELOTAS TÉCNICO EM INFORMÁTICA

FACULDADE DE TECNOLOGIA SENAC PELOTAS TÉCNICO EM INFORMÁTICA FACULDADE DE TECNOLOGIA SENAC PELOTAS TÉCNICO EM INFORMÁTICA Conectividade (Modelo de Camadas) Autor: Patrick Freitas Fures Relatório Técnico apresentado ao Profº. Nataniel Vieira como requisito final

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

Exercícios de Redes de Computadores Assuntos abordados: Conceitos gerais Topologias Modelo de referência OSI Modelo TCP/IP Cabeamento 1.

Exercícios de Redes de Computadores Assuntos abordados: Conceitos gerais Topologias Modelo de referência OSI Modelo TCP/IP Cabeamento 1. Exercícios de Redes de Computadores Assuntos abordados: Conceitos gerais Topologias Modelo de referência OSI Modelo TCP/IP Cabeamento 1. (CODATA 2013) Em relação à classificação da forma de utilização

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

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

Arquitetura de Redes de Computadores - aula 3

Arquitetura de Redes de Computadores - aula 3 Arquitetura de Redes de Computadores - aula 3 Prof. Celso Rabelo Universidade Castelo Branco 1 Objetivo 2 Conceitos Tratamento de Colisão Histórico 3 Características Regras de Controle Tipos de Cabo e

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

IPv6: Introdução. Escrito por Paul Stalvig Gerente Técnico de Marketing

IPv6: Introdução. Escrito por Paul Stalvig Gerente Técnico de Marketing IPv6: Introdução Assim como outras pessoas, eu acredito que algumas complicam demais a vida. Talvez seja a segurança do emprego, o efeito "Chicken Little" ou o fato de que isso dá ao mundo de TI uma plataforma

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

PROCESSADOR. Montagem e Manutenção de Microcomputadores (MMM).

PROCESSADOR. Montagem e Manutenção de Microcomputadores (MMM). PROCESSADOR Montagem e Manutenção de Microcomputadores (MMM). INTRODUÇÃO O processador é o C.I. mais importante do computador. Ele é considerado o cérebro do computador, também conhecido como uma UCP -

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

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

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

Ricardo José Cabeça de Souza ricardo.souza@ifpa.edu.br 2010 Atualização em Hardware Manutenção de Microcomputadores Placa Mãe

Ricardo José Cabeça de Souza ricardo.souza@ifpa.edu.br 2010 Atualização em Hardware Manutenção de Microcomputadores Placa Mãe Instituto Federal do Pará - IFPA Ricardo José Cabeça de Souza ricardo.souza@ifpa.edu.br 2010 Atualização em Hardware Manutenção de Microcomputadores Placa Mãe Componentes Básicos do Computador MEMÓRIA

Leia mais

Prof. Marcelo de Sá Barbosa REDE DE COMPUTADORES

Prof. Marcelo de Sá Barbosa REDE DE COMPUTADORES Prof. Marcelo de Sá Barbosa REDE DE COMPUTADORES MODELO TCP/IP DE 5 CAMADAS MODELO OSI MODELO TCP IP NUMERO DA CAMADA CAMADA NUMERO DA CAMADA CAMADA 7 APLICAÇÃO 6 APRESENTAÇÃO 5 APLICAÇÃO 5 SESSÃO 4 TRANSPORTE

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Introdução. Arquitetura de Rede de Computadores. Prof. Pedro Neto

Introdução. Arquitetura de Rede de Computadores. Prof. Pedro Neto Introdução Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 1. Introdução i. Conceitos e Definições ii. Tipos de Rede a. Peer To Peer b. Client/Server iii. Topologias

Leia mais

Portas Paralelas e Seriais IEEE 1284, RS 232, USB e IEEE 1394 (Firewire) Porta Paralela no PC

Portas Paralelas e Seriais IEEE 1284, RS 232, USB e IEEE 1394 (Firewire) Porta Paralela no PC Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Curso de Extensão em Arquitetura de Computadores Pessoais Portas Paralelas e Seriais IEEE 1284, RS 232,

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

O que é uma rede industrial? Redes Industriais: Princípios de Funcionamento. Padrões. Padrões. Meios físicos de transmissão

O que é uma rede industrial? Redes Industriais: Princípios de Funcionamento. Padrões. Padrões. Meios físicos de transmissão O que é uma rede industrial? Redes Industriais: Princípios de Funcionamento Romeu Reginato Julho de 2007 Rede. Estrutura de comunicação digital que permite a troca de informações entre diferentes componentes/equipamentos

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

TOPOLOGIAS FÍSICA. BARRAMENTO É a mais simples das três, pois nela um PC é ligado ao outro,usando apenas um único cabo coaxial.

TOPOLOGIAS FÍSICA. BARRAMENTO É a mais simples das três, pois nela um PC é ligado ao outro,usando apenas um único cabo coaxial. Topologia É um diagrama que descreve como os elementos de uma rede estão interligados. Esses elementos são chamados de NÓS, e podem ser computadores, impressoras e outros equipamentos. 1 Topologias de

Leia mais

prof.edney@superig.com.br Redes de Computadores

prof.edney@superig.com.br Redes de Computadores prof.edney@superig.com.br Redes de Computadores Apresentação do professor, da disciplina, dos métodos de avaliação, das datas de trabalhos e provas; introdução a redes de computadores; protocolo TCP /

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

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

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

Configuração de VLANS em ambientes CISCO

Configuração de VLANS em ambientes CISCO Configuração de VLANS em ambientes CISCO Vanderlei Lemke Kruger, André Moraes 1 Faculdade de Tecnologia Senac Pelotas (FATEC - Senac) Rua Gonçalves Chaves, 602 Centro Curso Superior de Tecnologia em Redes

Leia mais

Infraestrutura de Hardware. Entrada/Saída: Comunicação Processador, Memória e E/S

Infraestrutura de Hardware. Entrada/Saída: Comunicação Processador, Memória e E/S Infraestrutura de Hardware Entrada/Saída: Comunicação Processador, Memória e E/S Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido

Leia mais

Capítulo 2 - Conceitos Básicos de Redes. Associação dos Instrutores NetAcademy - agosto de 2007 - Página

Capítulo 2 - Conceitos Básicos de Redes. Associação dos Instrutores NetAcademy - agosto de 2007 - Página Capítulo 2 - Conceitos Básicos de Redes 1 Redes de Dados Inicialmente o compartilhamento de dados era realizado a partir de disquetes (Sneakernets) Cada vez que um arquivo era modificado ele teria que

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

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

Disciplina: Laboratório de Circuitos Digitais

Disciplina: Laboratório de Circuitos Digitais Universidade Federal de São Carlos Disciplina: Laboratório de Circuitos Digitais Prof. Dr. Emerson Carlos Pedrino 9ª Pratica: Computador de 16 bits Data:17/07/2014 Nome: Adrián Agüero Faraldo RA: 612227

Leia mais

CAPÍTULO 2 ORGANIZAÇÃO DE COMPUTADORES

CAPÍTULO 2 ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 2 ORGANIZAÇÃO DE COMPUTADORES 2.1 Organização de um Computador Típico : Armazena dados e programas. Processador (CPU - Central Processing Unit): Executa programas armazenados na memória, interpretando

Leia mais

Placa de Rede. Tipos de Redes LAN (Local Area Network) Rede local. MAN (Metropolitan Area Network) Rede Metropolitana

Placa de Rede. Tipos de Redes LAN (Local Area Network) Rede local. MAN (Metropolitan Area Network) Rede Metropolitana Rede de Computadores Parte 01 Prof. André Cardia Email: andre@andrecardia.pro.br MSN: andre.cardia@gmail.com Placa de Rede Uma placa de rede (NIC), ou adaptador de rede, oferece capacidades de comunicações

Leia mais

Chama-se sistema informatizado a integração que

Chama-se sistema informatizado a integração que Sistema Informatizado Hardware Sistema Informatizado Chama-se sistema informatizado a integração que acontece de três componentes básicos: a) Os computadores = hardware b) Os programas = software c) Os

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

Barramentos ISA e PCI. Gustavo G. Parma

Barramentos ISA e PCI. Gustavo G. Parma Barramentos ISA e PCI Gustavo G. Parma Barramento Coleção de fios paralelos utilizados para transmitir endereços dados sinais de controle Internos ou Externos à CPU Internos: Via de dados Externos: utilizado

Leia mais

Vigilância IP Axis. Infinitas possibilidades para a vigilância por vídeo.

Vigilância IP Axis. Infinitas possibilidades para a vigilância por vídeo. Vigilância IP Axis. Infinitas possibilidades para a vigilância por vídeo. Desafios da vigilância por vídeo hoje O mercado de vigilância por vídeo está crescendo, impulsionado por preocupações de segurança

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

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

Arquitetura dos Sistemas Operacionais

Arquitetura dos Sistemas Operacionais Arquitetura dos Sistemas Operacionais Arquitetura de um Sistema Operacional Basicamente dividido em shell é a interface entre o usuário e o sistema operacional é um interpretador de comandos possui embutido

Leia mais

Arquitetura e organização de computadores

Arquitetura e organização de computadores Arquitetura e organização de computadores 3º. Sem. Sistemas de informação Prof. Emiliano S. Monteiro Barramentos BUS Modelo de barramento CPU(ALU, UC, Registradores) Memória Entrada e saída (I/O) Barramento

Leia mais

Sistemas Operacionais Entrada / Saída. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)

Sistemas Operacionais Entrada / Saída. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Sistemas Operacionais Entrada / Saída Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Tópicos Princípios do hardware de E/S Princípios do software de E/S Camadas do software

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

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

SISTEMAS DE TRANSMISSÃO DIGITAL

SISTEMAS DE TRANSMISSÃO DIGITAL SISTEMAS DE TRANSMISSÃO DIGITAL O QUE CARACTERIZA INFORMAÇÃO OU SISTEMA DIGITAL? QUAIS AS VATAGENS DE SISTEMAS DIGITAIS? QUAIS AS DESVANTAGENS DE SISTEMAS DIGITAIS? Vantagens Deteção e Correção Erros:

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

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

André Aziz (andreaziz.ufrpe@gmail.com) Francielle Santos (francielle.ufrpe@gmail.com) Noções de Redes

André Aziz (andreaziz.ufrpe@gmail.com) Francielle Santos (francielle.ufrpe@gmail.com) Noções de Redes André Aziz (andreaziz.ufrpe@gmail.com) Francielle Santos (francielle.ufrpe@gmail.com) Noções de Redes Noções de Redes: Estrutura básica; Tipos de transmissão; Meios de transmissão; Topologia de redes;

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

Protocolos de Comunicação: Conceitos

Protocolos de Comunicação: Conceitos Departamento de Engenharia Química e de Petróleo UFF custo Protocolos de Comunicação: Conceitos Prof a Ninoska Bojorge Introdução competitividade desenvolvimento das empresas complexidade dos processos

Leia mais

Aprenda as melhores práticas para construir um completo sistema de teste automatizado

Aprenda as melhores práticas para construir um completo sistema de teste automatizado Aprenda as melhores práticas para construir um completo sistema de teste automatizado Renan Azevedo Engenheiro de Produto de Teste e Medição -Américas Aprenda as melhores práticas para construir um completo

Leia mais