1 / 28

DESENVOLVIMENTO DO IP CORE DE UM HOST USB

DESENVOLVIMENTO DO IP CORE DE UM HOST USB. Aluno: Diogo Rodrigues Maciel Orientadora : Prof ª Edna Barros. Roteiro. Introdução USB Host Arquitetura OHCI IpProcess Disciplinas Fases Resultados obtidos Conclusão Referencias. Introduçao.

vevay
Download Presentation

DESENVOLVIMENTO DO IP CORE DE UM HOST USB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DESENVOLVIMENTO DO IP CORE DE UM HOST USB Aluno: Diogo Rodrigues Maciel Orientadora: Profª Edna Barros

  2. Roteiro • Introdução • USB Host • Arquitetura • OHCI • IpProcess • Disciplinas • Fases • Resultados obtidos • Conclusão • Referencias

  3. Introduçao • Computadores pessoais cada vez mais sofisticados • Varios de dispositivos também se sofisticaram • Necessidade de uma maneira mais eficiente de se conectar a PC’s • Uma boa solução para isso é o Barramento Serial Universal (USB).

  4. Introdução • Escopo • Desenvolvimento de um controlador de USB Host • IP SOC • Driver • Utilização do ipPROCESS como metodologia de desenvolvimento.

  5. Introdução • Equipe: • 9 Alunos de IC: • Adelmário Douglas • Antonyus Pyetro • Diego Alves • Diogo Maciel • Hudson Veloso • Luciano de Moura • Marcelo Lucena • Renata Bezerra • Renata Garcia • Doutorado: • Edson Lisboa

  6. USB Host

  7. USB Host • Só existe um host em um sistema USB • Varios dispositivos ou hubs podem ser interconectados ao Host • A interface USB com o computador Host é chamada de Host Controller • Um Root Hub é integrado ao sistema para prover um ou mais attachment points

  8. USB Host Arquitetura • O sistema USB tem duas camadas distintas (hardware e software) e uma terceira intermediária responsável pela comunicação entre elas. • A camada de software • composta pelo driver do sistema operacional (USB System Software) e o HCD (Host Controller Driver). • A camada de hardware • composta pelo HC (Host Controller) que através do Root Hub se conecta ao dispositivo pela interface elétrica.

  9. USB Host (Arquitetura)

  10. USB Host OHCI • Open Host Controller Interface • Especifica a interface entre o Host Controler Driver e o Host Controller

  11. USB Host (OHCI) Transmissão • Se dá através de canais chamados “pipes” • ligam o Client Software a um Endpoint no dispositivo • Há quatro tipos de transmissão na comunicação entre o host e o dispositivo. • Control • Isochonus • Bulk • Interrupt

  12. USB Host (OHCI) Transmissão • Cada tipo determina os parâmetros da transmissão. • Control • Transferência de controle, não periódica, usada geralmente para que o software cliente possa controlar, configurar e checar o status do dispositivo. • Isochronus • Transferência periódica de dados. Os dados são enviados continuamente a uma taxa de transmissão constante. • Bulk • Transferência não periódica usada para transmitir grandes amontoados de dados. • Interrupt • Transferência periódica usada para transmitir pequenos pacotes de informação sobre o dispositivo para o software cliente.

  13. USB Host (OHCI) Transmissão • Duas unidades básicas são responsáveis por armazenar as informações necessárias para a transmissão de dados. • Endpoint Descriptor (ED) e o Transfer Descriptor (TD). • Endpoint Descriptor - ED • contêm as informações como o tamanho máximo do pacote, a direção da transmissão, o tipo de transmissão e o endereço do endpoint. • Transfer Descriptor - TD • descreve como os pacotes devem ser transmitidos e carrega informações como o endereço do pacote, e o seu formato.

  14. USB Host (OHCI) Transmissão • Há uma lista circular de EDs para cada tipo de transmissão. Cada ED possui uma fila de TDs.

  15. USB Host (OHCI) Transmissão • O tempo de transmissão é dividido em frames de 1ms cada • O frame começa quando o HC envia um pacote SOF (Start Of Frame) e dentro desse tempo, a lista de EDs é percorrida e um TD de cada um é servido até que o tempo se esgote. • Para cada tipo de transmissão corresponde uma parte do frame como mostra a figura abaixo:

  16. USB Host (OHCI) Comunicação Hardware – Software • O OpenHCI provê a comunicação entre as camadas de Hardware e Software do Sistema USB. • O OHCI é composto de um conjunto de registradores, chamados Registradores Operacionais, que podem se dividir em quatro tipos. • Controle geral – Registradores com informações sobre o reset, interrupções de hardware, estado do sistema USB, etc. • Gerenciamento de tempo - contém informações sobre os frames e o tempo das transmissões. • Controle do Root Hub - Mantém informações sobre os dispositivos conectados a USB. • Acesso ao HCCA (o HCCA vai ser apresentado mais adiante).

  17. USB Host (OHCI) Comunicação Hardware – Software • O OHCI também possui uma estrutura de 256 bytes chamada de HCCA (Host Controller Communications Area) • Informações sobre a transmissão, os dados, os ponteiros para as filas de Eds. • Área usada pelo software do sistema para enviar e receber dados de controle e de estado a partir do HC

  18. IpProcess Metodologia utilizada

  19. IpProcess • Processo para guiar o desenvolvimento • Iterativo • Incremental • Conceitos • Fases • Disciplinas • Fluxo de trabalho • Atividades • Artefatos • Iterações • Papéis

  20. Concepção Objetivos: Elicitar os requisitos Funcionais e Não Funcionais Definir o escopo do projeto Atividades: Captar o contexto e os mais importantes requisitos Preparar o ambiente de desenvolvimento organização, ferramentas Artefatos gerados Glossário Documento de Requisitos Especificação Funcional IpProcess (Fases)

  21. IpProcess (Fases) 2. Arquitetura Objetivos: • Criar a arquitetura básica do IP core • provê uma base estável para uma implementação eficiente e organizada Atividades: • Identificação dos componentes e suas interfaces • Definição da interface externa do IP core • refinamento dos componentes da arquitetura baseando-se na especificação funcional • Planejamento da integração dos componentes (RTL e FPGA) • Verificação funcional Artefatos gerados • Documento de Projeto • Plano de Testes e Verificação • Plano de Integração

  22. IpProcess (Fases) 3. Implementação do RTL Objetivos: • Implementar componentes e suas interfaces em código RTL • Testá-los para assegurar que são sintetizáveis Atividades: • Implementação do código • Verificação funcional e a correção dos erros encontrados Artefatos gerados • Modelo de simulação RTL • Estruturas de teste e de verificação

  23. IpProcess (Fases) 4. Prototipação Física Objetivos: • Criar um protótipo físico para ser testado • Certificar de que o IP core pode ser distribuído aos usuários finais Atividades: • Sintetizar os componentes • Integrar os componentes para criar o protótipo físico • Testar o sistema integrado Artefatos gerados • IP core • Estruturas de teste em FPGA

  24. Resultados Obtidos

  25. Resultados obtidos • O projeto se encontra da fase de implementação do RTL • O IpProcess tornou mais fácil a correção de erros, a manutenção e o entendimento do projeto por parte dos desenvolvedores. • O uso de práticas da Engenharia de Software tornou a implementação mais organizada. • Horas trabalhadas (desde julho de 2006) • 130 dias e 17 horas • Número de reuniões • Cerca de 43 • Artefatos • 36 documentos • 14 módulos implementados

  26. Proximas atividades • Termino da verificação funcional • Início da fase de prototipação onde a equipe trabalhará para sintetizar os componentes e testa-los no protótipo físico (FPGA).

  27. Conclusão • A demanda por dispositivos que usam o Brramento Serial Universal (USB) vem crescendo nos últimos anos e há perspectiva de que continue dessa maneira. • Motivação • O IP core de um Host USB em desenvolvimento pelo projeto Brazil-IP • Metodologia utilizada: IpProcess • A utilização de um processo de desenvolvimento baseado na Engenharia de Software contribuiu bastante para a organização, eficiência da implementação e manutenabilidade do projeto.

  28. Referências • [1] Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC. Philips. Universal Serial Bus Specification Revision 2.0; 2000; • [2] Compaq,Microsoft, National Semiconductor. Open Host Controller Interface Specification • [3] ipProcess; http://www.brazilip.org.br/ipprocess2/index.php?q=overview • [4] Brazil-IP; http://www.brazilip.org.br

More Related