Osciloscópio Digital De 4 canais e Analisador Lógico de até 16 Canais

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

Download "Osciloscópio Digital De 4 canais e Analisador Lógico de até 16 Canais"

Transcrição

1 Osciloscópio Digital De 4 canais e Analisador Lógico de até 16 Canais Renato Batista Pereira Departamento de Engenharia Electrotécnica Instituto Superior de Engenharia do Porto

2 Este relatório satisfaz, parcialmente, os requisitos que constam da Ficha da Disciplina Seminário/Estágio, do 3º ano, da Licenciatura em Engenharia Electrotécnica e de Computadores Candidato: Renato Batista Pereira, Nº , @isep.ipp.pt Orientação científica: José Miguel Lopes Vieira dos Santos, jvs@isep.ipp.pt Organização: Instituto Superior de Engenharia do Porto Supervisão: José Miguel Lopes Vieira dos Santos, jvs@isep.ipp.pt Departamento de Engenharia Electrotécnica Instituto Superior de Engenharia do Porto 25 de Março de

3 Agradecimentos Agradecemos a atenção dada pelo engenheiro José Miguel Lopes Vieira dos Santos, pela ajuda dada e pela oportunidade de poder realizar este projecto. Agradecemos também aos elementos do Departamento de Engenharia Electrotécnica e aos da Direcção do ISEP por nos permitir usar os laboratórios fora do horário de aulas. Agradecemos a colaboração dos fabricantes que nos forneceram amostras de alguns componentes utilizados no nosso projecto. Microchip, Maxim e Cypress Semiconductors. 3

4 Resumo Este projecto é baseado no desenvolvimento de um Osciloscópio Digital de 4 canais e Analisador Lógico de até 16 canais, em PC. Através da análise prévia dos requisitos, foram determinados quais os métodos a aplicar, os componentes que poderiam ser mais apropriados e organizado o desenvolvimento do projecto por várias etapas. Entre vários tipos de interface de comunicação do sistema com o PC, a escolha recaiu sobre o interface USB, visto este projecto ter como requisitos principais a elevada rapidez de comunicação com o PC, com a finalidade da transmissão de dados amostrados por 4 canais analógicos e 16 canais digitais. O microprocessador utilizado para a realização deste trabalho foi a PIC 18F4550, pois possui um módulo USB integrado, que atinge velocidade teórica máxima de 12Mbits por segundo. O condicionamento de sinal analógico foi conseguido através de AD s de 8bits paralelos, Multiplexer s Analógicos e Amplificadores Operacionais. Utilizou-se também 2 buffer s digitais de 8 bits cada para isolar e proteger o circuito na obtenção de sinal digital. Ponderámos o uso de um módulo exterior com Fifo s, de 18 bits paralelo e com 32K memória, com o intuito de fazer a amostragem digital, armazenando-a em tempo real e descarregando os dados para o PC assim que fossem requisitados. O software da PIC foi desenvolvido no compilador MPLAB C18 da Microchip, e foi baseado no exemplo genérico de HID USB MOUSE. O software no PC foi desenvolvido com recurso ao Visual Basic 6.0. Todos os esquemas e desenho de placa de circuito impresso foram desenvolvidos no Eagle da Cadsoft. Palavras-Chave USB Universal Serial Bus, Analisador lógico de 16 canais, Osciloscópio digital. 4

5 Abstract This project is based on the development of a 4 channel Digital Oscilloscope and 16 channel Logic Analyser, with PC communication. By previous analysis of the requirements, it was agreed which methods to apply, the components to use and the several steps of the project development were organized. Among many possible interfaces, the USB interface was selected due to its bandwidth and transmission rate, which comply with the heavy requirements needed for the transmission of the signal attained through sampling of 4 analog input channels and 16 digital input channels. The PIC 18F4550 was selected because it has an integrated USB module, with 12Mbit of maximum theoretical transfer speed. The analog signal manipulation was made through Analog Multiplexer s, Operational Amplifiers and Analog-to-Digital Converters. It was also used Digital 8 bit Buffer s to isolate and protect the circuit. It was also considered to use a Fifo to store the digital samples in real time and send them to the PC through the PIC when they were needed. The PIC software was developed in Microchip C18 compiler and was based in HID USB MOUSE generic example. The PC software was developed in Visual Basic 6.0. All of the schematics were developed in Cadsoft Eagle. Keywords USB Universal Serial Bus, Logic Analyser of 16 channels, Digital Oscilloscope. 5

6 Índice Agradecimentos... 3 Resumo... 4 Abstract... 5 Índice... 6 Índice de Figuras... 9 Índice de Tabelas Acrónimos Introdução Contextualização Objectivos Calendarização Organização Do Relatório Pesquisa efectuada USB (Universal Serial Bus) O que é USB Características técnicas Estrutura eléctrica e sinais do cabo USB Tipos de interfaces Protocolo USB Descritores Processo de enumeração Comunicação RS Detalhes do padrão Configurações Ethernet História Descrição geral Ethernet com meio compartilhado CSMA/CD Hubs Ethernet

7 Ethernet Comutada (Switched Ethernet) Tipos de quadro Ethernet e o campo EtherType Variedades de Ethernet Algumas variedades antigas de Ethernet Mbit/s Ethernet Fast Ethernet Gigabit Ethernet Gigabit Ethernet Padrões Relacionados Microcontrolador PIC Periféricos internos Programação e desenvolvimento Modelos comuns de PICs Aplicações História Curiosidade Científica Do controle de portas para controlador RISC Opções de projecto Avaliação dos requisitos USB PIC 18F Construção do Programador Compilador (Assembly ou C) Visual Basic Condicionamento sinal [Analógico e Digital] FIFO s Investigação sobre alimentação do circuito Descrição do Circuito Desenvolvimento da placa de comunicação USB: Placa programadora Condicionamento de sinal Conversão Analógico para Digital PIC18F

8 4.6 Esquema da Placa Global PCB do esquema Global Descrição do Programa/Código Software Bootloader Software Placa Principal e Periféricos Software de Interface Gráfica no PC Placa Programadora Programador JDM Construção Utilização Software Construção caseira de PCB Método com Lâmpadas UV...76 Método com ferro de engomar Conclusão Referências Documentais Anexo A Placa de Aquisição de dados USB...90 Anexo B Placa de tratamento de dados:...91 Anexo C Placa de aquisição de sinal:...92 Anexo D Fonte de alimentação:...93 Anexo E Bootloader: (anexo digital)...94 Anexo F Código PIC: (anexo digital)...95 Anexo G Microchip C18 Toolsuite

9 Índice de Figuras Figura 1- Calendarização Figura 2 PCS100A Figura 3 USB Basic Board Figura 4 Programador JDM Figura 5 Fluxograma Hardware Figura 6 Condicionamento de sinal universal Figura 7 Circuito básico para o AD MAX Figura 8 Circuito global em schematic Figura 9 Circuito global em PCB Figura 10 USB Bootloader Version Figura 11 Fluxograma Software PIC Figura 12 Ilustração USB PICDEM(TM) Figura 13 Firmaware Mouse Demo Figura 14 Processo de inicialização Figura 15 Interface windows Figura 16 Interface Windows basica Figura 17 Programador JDM em schematic Figura 18 Programador JDM em PCB Figura 19 Programador em schematic completo Figura 20 Palabras de configuração Figura 21 Interface principal WinPic Figura 22 Detecção de pic no WinPic Figura 23 Processo de escrita WinPic Figura 24 Placa de cobre Figura 25 Cobre polido Figura 26 Acetado do layout Figura 27 Maquina de foto impressão Figura 28 Corrosão em percloreto de ferro Figura 29 Experiencias especiais

10 Figura 30 PCB estanhado Figura 31 layout em papel fotografico Figura 32 Foto impressão Figura 33 Aquecimento com ferro de engomar Figura 34 Mergulho em água Figura 35 limpeza do exesso de papel Figura 36 Placa concluida Figura 37 USB PCB board Figura 38 USB layout Board Figura 39 Placa de tratamento de dados PCB Figura 40 Placa de tratamento de dados SCH Figura 41 Condicionamento de Sinal PCB e SCH Figura 42 Fonte de alimentação PCB e SCH Figura 43 Bootloader code Figura 44 PIC code Figura 45 Configuração de palavras no MPLAB

11 Índice de Tabelas Tabela 1 Analisador lógico no mercado Tabela 2 RS232 pinagem Tabela 3 Protocolo TCP/IP Tabela 4 Tabela MAX Tabela 5 Ganhos de selecção de tensão Tabela 6 Estado de funcionamento USB

12 Acrónimos API Application Programming Interface CSMA/CD Carrier Sense Multiple Access/Collision Detection USB FIFO Universal Serial Bus First In First Out 12

13 1 Introdução Um osciloscópio é uma ferramenta que se pode considerar o braço direito de um Engenheiro, pois, no que diz respeito ao desenvolvimento de um projecto, manutenção ou reparação de equipamentos é uma ferramenta de mais-valia. Em aplicações de electrónica analógica seria muito difícil criar ou reparar um circuito sem um osciloscópio, pois com ele, podemos observar em tempo real todo o processo do sinal entre a saída e a entrada do circuito. Deste modo, podemos observar onde existe o problema e concentrar forças para o resolver enquanto que a utilização de um multímetro pouca informação nos daria. Um analisador lógico também é uma ferramenta útil em várias áreas da electrónica. Com ele podemos analisar um barramento inteiro, bem como sinais de controlo e dados e verificar se os dados enviados ou recebidos correspondem aos esperados, comparando com os dados para o qual o circuito foi projectado Contextualização Este trabalho está a ser realizado no âmbito da cadeira de Seminário/Estágio do Instituto Superior de Engenharia do Porto, no qual os alunos envolvidos devem criar um projecto de elevado grau de dificuldade, para poder testar, aprofundar e desenvolver os conhecimentos adquiridos ao longo do curso. Este trabalho tenta ajudar na preparação do aluno de maneira eficaz para o mundo de trabalho, visto que na realidade, o mundo de trabalho acarreta dificuldades em que o aluno deve estar preparado. 13

14 1.2 Objectivos O objectivo principal deste projecto é a aquisição de sinais analógicos e digitais, amostrados a várias frequências e transmitidos para o PC, para posteriormente serem processados e apresentados. Devido à extensão, ao grau de desenvolvimento e trabalho de investigação necessário para atingir os objectivos, o projecto foi dividido em várias etapas, com a finalidade de facilitar o controlo de erros e de simplificar o planeamento de cada etapa seguinte. As etapas podem ser consideradas as seguintes: Investigação e escolha de equipamentos relevantes ao projecto; Aquisição de amostras do equipamento escolhido ou equivalente; Construção de um programador para a PIC; Estudo de protocolos de comunicação possíveis entre PIC e PC, focando-se o USB, o seu modo de funcionamento e implementação. Estudo dos exemplos da Microchip; Inserção do Bootloader na PIC e teste ao seu funcionamento correcto em breadboard; Desenvolvimento de um programa na PIC com o básico de comunicação USB e controlo por aplicação no PC. Desenvolvimento em paralelo de aplicação em Visual Basic 6.0 para interface com o dispositivo; Implementação do AD, multiplexer e aplificador operacional na breadboard, teste e desenvolvimento do condicionamento de sinal em hardware e software; Implementação do Buffer ou FIFO na PIC e desenvolvimento da aquisição de sinal digital em hardware e software; Aperfeiçoamento da interface de utilizador na aplicação de controlo e ligeiras afinações no software da PIC; Construção de placa circuito impresso final com todo os componentes do projecto; 14

15 1.3 - Calendarização Tendo este projecto um grande número de etapas e sendo algumas bastante complexas, o melhor método para analisar o tempo dispensado em cada parte deste projecto foi calendarizar o mesmo. A tabela abaixo apresentada, ilustra todas as etapas pelas quais o processo passou apresentando todas as datas em que cada etapa se iniciou e terminou Organização Do Relatório Figura 1- Calendarização Este relatório está dividido em seis partes. 1 - Introdução 2 - Pesquisa efectuada 3 - Opções de projecto 4 - Descrição do Hardware 5 - Descrição do software 6 - Conclusão 7 Placa Programadora 8 - Referências Documentais 15

16 2 - Pesquisa efectuada Neste capítulo demonstra-se a pesquisa efectuada de produtos semelhantes existentes no mercado, interfaces e os protocolos de comunicação. Osciloscópio digital: Figura 2 PCS100A Osciloscópio digital de armazenamento de dados que recorre ao monitor de um computador para mostrar as formas de onda (comunicação pela porta paralela). PCS100A - Osciloscópio para computador com 1 canal, com adaptador Características: - base de tempo: 0,1 µs ms por divisão - ajuste de trigger - sensibilidade: 10 mv - 3 V por divisão - armazenamento: 4096 amostras - frequência de amostragem: 800 Hz - 32 MHz - true RMS - tempo máx. de gravação: 9,4 h/ecrã 16

17 Analisador lógico: Tabela 1 Analisador lógico no mercado USB (Universal Serial Bus) USB é a sigla de Universal Serial Bus. Trata-se de uma tecnologia que tornou mais simples e fácil a conexão de diversos tipos de aparelhos (câmaras digitais, drives externos, modems, rato, teclado, etc) ao computador, evitando o uso de um tipo específico de conector para cada dispositivo. Esta introdução visa mostrar a razão do USB ter essas características e de ser tão essencial aos computadores nos dias de hoje O que é USB Algum tempo atrás, instalar um periférico no computador era considerada uma tarefa digna apenas de técnicos ou de pessoas com mais experiência. Entre a vários tipos de cabos e conectores, era preciso descobrir, quase que por instinto, em qual porta do computador deveria ser conectado o periférico em questão. Quando a instalação era interna, o utilizador precisava de abrir o computador e quase sempre tinha que configurar jumpers e/ou IRQs, tarefa essa que desencorajava a adição de um novo 17

18 dispositivo ao PC. Com o padrão PnP (Plug and Play), diminuiu toda a complicação existente na configuração de dispositivos. O padrão PnP permitiu instalar um novo periférico e usá-lo imediatamente, sem complicações mas esse padrão ainda era (é) complicado para alguns, principalmente quando, por alguma razão, falha. Diante de situações como essa, foi criada em 1995, uma aliança promovida por várias empresas (como NEC, Intel e Microsoft) com o intuito de desenvolver uma tecnologia que permitisse o uso de um tipo de conexão comum entre computador e periféricos: a USB Implementers Forum. Em pouco tempo, surgia o USB, um barramento que adota um tipo de conector que deve ser comum a todos os aparelhos que o usarem. Assim, a interface USB tornou-se o meio mais fácil de conectar periféricos ao computador. Fabricantes passaram a adoptá-la em seus produtos. Poder conectar num único tipo de entrada diversos tipos de aparelhos ajudou o USB a popularizar-se. Qualquer utilizador pode instalar dispositivos USB, não precisam chamar um técnico para instalar um aparelho, já que problemas como conflito de IRQ s praticamente já não existem. O USB permite ao sistema operacional reconhecer e disponibilizar imediatamente o dispositivo instalado desde que o sistema operativo seja compatível. Além de ser "plug and play", é possível conectar e desconectar qualquer dispositivo USB com o computador ligado, sem que este sofra danos e não é necessário reiniciar o computador para que o aparelho instalado possa ser usado. Basta conectá-lo devidamente e ele estará pronto para o uso. Também é possível o uso de "hubs USB", aparelhos que usam uma porta USB do computador e disponibilizam 4 ou 8 outras portas. Teoricamente, pode-se conectar até 127 dispositivos USB numa única porta, mas isso não é viável, visto que a velocidade de transmissão de dados de todos os equipamentos envolvidos seria comprometida. A imagem abaixo mostra um "pen drive", um dispositivo móvel que permite armazenar até milhares de MBs em dados de qualquer tipo. Aparelhos desse tipo usam quase que exclusivamente a conexão USB do computador. 18

19 Características técnicas Uma característica importante e interessante do USB, é que sua interface permite que o dispositivo conectado seja alimentado pelo cabo de dados, desde que sejam equipamentos que consumam pouca energia. Os restantes necessitam de alimentação externa. É importante frisar que os cabos USB devem ter até 5 metros de comprimento. Acima disso, o aparelho pode não funcionar correctamente. Caso seja necessário instalar dispositivos em distâncias longas, é recomendável o uso de hubs USB a cada cinco metros. Quanto à velocidade, o barramento USB pode operar de 1,5 Mbps (megabits por segundo) à 12 Mbps. A velocidade mais baixa geralmente é usada por dispositivos como rato, teclado e joysticks. Já velocidades mais altas, são utilizadas por equipamentos como scanners e câmaras digitais, que precisam de alta velocidade na transmissão de dados. O USB é tido como um padrão satisfatório quanto ao aspecto desempenho. É bem mais rápido que as tradicionais portas seriais e paralelas, mas, está abaixo de outros tipos de barramento, como o SCSI (80 a 160MB por segundo) e o FireWire (400Mbps). A maioria dos computadores com mais de uma porta USB divide o barramento entre os diversos dispositivos conectados. O USB com essas características é conhecido como USB 1.1. Recentemente apareceu a versão USB 2.0 (480 Mbps). Estes acontecimentos tornaram o padrão USB indispensável em qualquer computador Estrutura eléctrica e sinais do cabo USB O cabo USB é composto por 4 fios e uma malha para eliminação de ruídos simples. Desses, 2 são fios que transportam energia para alimentar dispositivos. Essa energia é fornecida pela controladora e gerida pelo Driver do Controlador Host. O Cabo USB usa cores padrão para os fios, sendo assim, o fio de cor vermelho é chamado Vbus (5v), ou seja, é o fio positivo de fornecimento de energia. O fio de cor 19

20 preto é o GND (0v). Este é o pino negativo de energia do Bus. O bus USB pode fornecer no máximo 5 Volt de tensão e 500mA de corrente eléctrica, isso para cada porta do Root Hub do host. A quantidade de corrente que o dispositivo irá precisar para funcionar pode ser configurada via software. Os outros dois fios D+ (data+) e D (data-) são usados pelo sistema USB para transferência de dados entre o Host, hub e dispositivos. Todos os sinais de dados trafegam apenas por esses dois fios usando a codificação NRZI (No Return to Zero Inverted). Ou seja, o bit 1 é codificado através de uma transição ocorrendo da maior voltagem para a menor, ou também o inverso, da menor para a maior. Já o bit 0 é codificado sem haver transição. Durante o intervalo de um bit a voltagem é constante Tipos de interfaces Há dois tipos de interface em que um dispositivo USB pode trabalhar: Bus-powered e Self-powered. No Bus-powered o dispositivo é alimentado pelo próprio Bus USB através dos pinos Vbus e Gnd podendo fornecer no máximo 500mA directo de uma Porta do Root Hub (host) ou de uma Porta de um Hub comum que tenha sua própria fonte de alimentação. Se o Hub não tiver uma fonte de alimentação, os dispositivos conectados a ele só poderão consumir cada um, no máximo 100mA do Bus USB. Já o tipo self-powered não consome energia do Bus USB, mas deve ser alimentado com uma fonte externa para que o circuito possa funcionar. Para que um dispositivo USB trabalhe no modo Bus-powered ou Self-powered, é necessário que o fabricante configure o circuito electricamente para que possa trabalhar da maneira desejada. 20

21 Dispositivos configurados para trabalhar no modo Bus-powered devem consumir no máximo 100mA, podendo retirar essa corrente directamente da porta do Root hub, ou de qualquer tipo de Hub. Dispositivos Bus-powered que consomem 500mA devem ser conectados somente no Root Hub ou na porta de um Hub que disponha de sua própria fonte de alimentação. Dispositivos Bus-powered são desligados involuntariamente quando o computador é ligado ou desligado. Já dispositivos electricamente configurados como Self-powered mantêm o circuito ligado mesmo que o computador seja desligado, isso porque são alimentados através de uma fonte externa. Esses tipos de interface deve ser levados em consideração quando criarem circuitos críticos, como alarmes, controles de abrir e fechar portas, portões e quaisquer outros dispositivos que, em hipóteses nenhuma, devam ser accionados involuntariamente. Nesse caso Self-powered é a ideal Protocolo USB O protocolo é uma das partes mais importantes do funcionamento do sistema USB, é através dele que um ou mais dispositivos trocam informações com o Host. No Host a pilha do protocolo está disponível em forma de drivers de arquivos. sys, dll, drv, exe, etc. Já no dispositivo o protocolo pode ser encontrado dentro de um microprocessador específico, como por exemplo um PIC que disponha de uma certa quantidade de memória. Nesse caso, o protocolo é escrito com base na norma USB, numa linguagem específica (C ou Assembler), depois é compilado e gravado na memória do microprocessador através de um programador de PIC. Há microprocessadores PIC como o 18F2550 e 18F4550 que internamente já dispõe do protocolo, tornando assim mais fácil o desenvolvimento de aplicações. Uma outra maneira é através de um chipset que carrega dentro de si toda a funcionalidade do protocolo USB, livrando o microprocessador de todo o trabalho pesado. É diferente da Porta Série ou Paralela onde simplesmente através dos sinais eléctricos dos pinos e um programa básico se pode comunicar com um dispositivo. O protocolo USB tem vários recursos como: CRC (Cyclic Redundancy Check), detecção e correcção de erros, detecção de conexão e remoção de dispositivos, controle de fluxo de dados 21

22 assegurando transmissões síncronas (tráfego contínuo de dados), disponibilidade assegurada de largura de banda, entre outros Descritores Todos os dispositivos USB têm uma hierarquia de descritores que informam ao Host o que o dispositivo é, ou seja, sua "personalidade", suas características de funcionamento, como; número de série do produto, identificação do fabricante, tipo do dispositivo (impressora, scanner, modem, rato, etc.), número de configurações, número de canais (endpoints), tipo de transferência, tipo de interface, etc Processo de enumeração No sistema USB o processo de enumeração refere-se à conexão, detecção, leitura dos descritivos dos dispositivos e desconexão. É uma actividade ininterrupta. É tudo gerido em tempo real pelo controlador Host e o software do sistema. Do ponto de vista do usuário do computador, o processo de enumeração é transparente, desde que se tenha antes instalado no sistema operacional, os drivers do fabricante do dispositivo. Após isso, o carregamento dos drivers é automático quando um dispositivo é conectado. 2.2 Comunicação RS232 O protocolo de comunicação RS-232 tem sido progressivamente substituído pelo USB para comunicação local. O protocolo USB é mais rápido, possui conectores mais simples de usar e tem um melhor suporte por software. Mesmo assim, este 22

23 protocolo continua a ser utilizado em periféricos para pontos de venda (caixas registadoras, leitores de códigos de barra ou fita magnética) e para a área industrial (dispositivos de controle remoto). Por essas razões, computadores para estes fins continuam sendo produzidos com portas RS-232, tanto on-board ou em placas para barramentos PCI ou barramento ISA. Como alternativa, existem adaptadores para portas USB, que podem ser utilizados para conectar teclados ou ratos PS/2, uma ou mais portas séries e uma ou mais portas paralelas Detalhes do padrão No protocolo de comunicação RS-232, caracteres são enviados um a um como um conjunto de bits. A codificação mais comum é o "start-stop assíncrono" que usa um start bit, seguido por sete ou oito bits de dados, possivelmente um bit de paridade, e um ou dois stop bits sendo, então, necessários 10 bits para enviar um único crater. A alternativa mais comum ao "start-stop assíncrono" é o HDLC. O padrão define os níveis eléctricos correspondentes aos níveis lógicos um e zero, a velocidade de transmissão padrão e os tipos de conectores. Conector fêmea RS-232 de nove pinos O padrão especifica 20 diferentes sinais de conexão, e um conector em forma de D é comummente usado. São utilizados conectores machos e fêmeas - geralmente os conectores dos cabos são machos e os conectores de dispositivos são fêmeas - e estão disponíveis adaptadores m-m e f-f. Há também os chamados "null modems" para conectar unidades utilizando-se ambas como terminais de dados (ou modems). Para 23

24 configuração e diagnóstico de problemas com cabos RS-232 pode-se utilizar uma "breakout box". Este dispositivo possui um conector macho e um conector fêmea, e deve ser anexado em linha. Além disso, possui luzes para cada pino e meios de interligar os pinos com diferentes configurações. A maioria dos pinos é inutilizada pela maioria dos dispositivos sendo, então, comum que máquinas economizem espaço e dinheiro, utilizando conexões menores. A segunda geração dos IBM PC AT foi disponibilizada com um conector em forma de D com apenas 9 pinos, tornando-se o padrão. Grande parte dos dispositivos utiliza conectores de 25 pinos. Consequentemente, cabos com 9 pinos numa extremidade e 25 em outra são comuns. Os cabos para RS-232 podem ser construídos com conectores disponíveis em qualquer loja de electrónica. Os cabos podem ter de 3 a 25 pinos. Cabos "Flat RJ" (cabos de telefone) podem ser usados com conectores RJ-RS232 e são os de mais fácil configuração. A razão pela qual é possível criar uma interface mínima com apenas três fios é que todo sinal RS-232 utiliza o mesmo fio terra para referência. O uso de circuitos desequilibrados deixa o RS-232 altamente susceptível a problemas devido a diferenças de potencial entre os sinais de terra dos dois circuitos. Este padrão também tem um pobre controlo dos tempos de picos e descidas do sinal, levando a potenciais problemas de comunicação. O RS-232 é recomendado para conexões curtas (quinze metros ou menos). Os sinais variam de 3 a 15 volts positivos ou negativos, valores próximos de zero não são sinais válidos. O nível lógico um é definido por ser voltagem negativa, a condição de sinal é chamada marca e tem significado funcional de OFF (desligado). O nível lógico zero é positivo, a condição de sinal é espaço, e a função é ON (ligado). Níveis de sinal +-5, +-10, +/- 12 e +/-15 são vistos normalmente, dependendo da fonte eléctrica disponível. Três são os sinais carregados por esses fios: terra, transmissão/recepção e "handshake". Existem códigos para estes sinais, por exemplo: 24

25 Sinal Significado SG ou GND TD ou TX RD ou RX DTR DSR RTS CTS DCD RI FG Terra Transmissão de dados Recepção de dados Terminal de dados pronto Conjunto de dados pronto Pronto para enviar(computador) Envie os dados (modem) Portadora detectada Indicador de telefone tocando (Frame Ground) Tabela 2 RS232 pinagem Os dispositivos RS-232 podem ser classificados em DTE e DCE. Essa classificação permite definir quais fios irão mandar e/ou enviar sinais de dados. De qualquer modo, estas definições nem sempre são seguidas. Normalmente é necessário consultar a documentação ou testar as conexões com uma "breakout box" para determinar os sinais necessários. Se os equipamentos estiverem muito longe, com diferentes fontes eléctricas, a diferença entre terras dos dois dispositivos será muito grande e a comunicação irá falhar, sendo esta uma condição difícil de detectar. Em conectores de 25 pinos, o pino 7 geralmente é a terra (pino 1 e terra do chassis são raramente usados). Neste mesmo conector, os pinos 2 e 3 são os pinos de transmissão e recepção, um dispositivo deve enviar no 2 e receber no 3; o outro deve ser o contrário (se não, essa inversão deve ser feita no fim do cabo, como num cabo para null modem, também chamado crossover ). No caso de desenvolver cabos para uma conexão, pode-se testá-lo com uma breakout box qual pino está transmitindo. Os handshakes podem ser necessários por um ou por outro dispositivo. Por exemplo, o pino 20 é frequente ser usado para indicar "dispositivo pronto". Os pinos também podem ser curto-circuitados. Por exemplo, um pino que pergunte "você está pronto?" que parte do dispositivo A pode ser ligado directamente no pino referente a resposta "estou 25

26 pronto" no dispositivo A se o dispositivo A não transmitir tal sinal. Os pinos normalmente utilizados para handshake são os pinos 20, 8, 4 e Configurações Há várias configurações de software para conexões serie. As mais comuns são velocidade e bits de paridade e stop bits. A velocidade é a quantidade de bits por segundo transmitida de um dispositivo para outro. Taxas comuns de transmissão são 300, 1200, 2400, 9600, 19200, etc. Tipicamente ambos os dispositivos devem estar configurados com a mesma velocidade. Alguns dispositivos, porém, podem ser configurados para auto-detectar a velocidade. Paridade é um método de verificar a precisão dos dados. Paridade é normalmente nula (não usada), mas pode ser par ou ímpar. Paridade funciona modificando os dados, em cada byte enviado. Paridade nula é simples, os dados não são modificados. Na paridade par, os dados são acomodados de modo que o número de bits 1 (isto é, sua contagem em um byte) seja um número par; isto é feito definindo o bit de paridade (geralmente os bits mais ou menos significativo) como 0 ou 1. Na paridade impar, o número de bits 1 é um número impar. A paridade pode ser usada pelo receptor para detectar a transmissão de erros - se um byte foi recebido com o número errado de bits 1, então ele deve estar corrompido. Se a paridade estiver correcta então não deve haver erros, ou então há um número par de erros. Stop bits são enviados no fim de cada byte transmitido com o intuito de permitir que o receptor do sinal se sincronize. Existe uma convenção para a notação de uma configuração de software de uma conexão serie, sendo essa notação da forma D/P/S. Sendo que a configuração mais comum é a 8/N/1 que especifica que são transmitidos 8 bits de dados, paridade nula e um Stop bit. O número de bits de dados pode ser 7, 8 ou (às vezes) 9. Paridade pode ser nula (N), impar (O) ou par (E); o bit de paridade é emprestado dos bits de dados, então 8/E/1 significa que um dos oito bits de dados é utilizado como bit de paridade. Pode haver 1, 1,5 ou 2 stop bits. Outras configurações definem quando pinos enviam sinais de "handshake", ou outras verificações de integridade dos dados. Combinações comuns são RTS/CTS, DTR/DSR, ou XON/XOFF (que não usam pinos no conector, mas 26

27 caracteres especiais no fluxo dos dados). O caracter XON diz ao receptor que o remetente do caracter está pronto para receber mais dados. O caracter XOFF diz ao receptor para parar de enviar caracteres. O XON/XOFF está em desuso, e é preferível que se utilize o controlo de fluxo RTS/CTS. XON/XOFF é um método "em banda" que funciona entre dois pontos, mas ambos devem suportar o protocolo, e há uma confusão em potencial no início. Pode ser feito numa interface com três fios. RTS/CTS foi desenvolvido com o intuito de permitir que a teletypewriter e o modem coordenassem ligações half-duplex onde apenas um modem pode transmitir por vez. O terminal deve "levantar" o sinal Pronto Para Enviar e esperar que o modem responda com Envie os Dados. RTS/CTS é um "handshake" no nível do hardware, mas tem suas vantagens Ethernet Ethernet é uma tecnologia de interconexão para redes locais - Local Area Networks (LAN) - baseada no envio de pacotes. Ela define cabeamento e sinais eléctricos para a camada física, e formato de pacotes e protocolos para a camada de control0 de acesso ao meio (Media Access Control - MAC) do modelo OSI. A Ethernet foi padronizada pelo IEEE como Desde os anos 90, ela tem sido a tecnologia de LAN mais amplamente utilizada e tem tomado grande parte do espaço de outros padrões de rede como Token Ring, FDDI e ARCNET. 27

28 Protocolos Internet (TCP/IP) Camada Protocolo 5.Aplicação HTTP, SMTP, FTP, SSH, RTP, Telnet, SIP, RDP, IRC, SNMP, NNTP, POP3, IMAP, BitTorrent, DNS, Ping, IPSec... 4.Transporte TCP, UDP, SCTP, DCCP... 3.Rede IP (IPv4, IPv6), ARP, RARP, ICMP... 2.Enlace 1.Física Ethernet, WiFi, IEEE 802.1Q, g, HDLC, Token ring, FDDI, PPP, Frame Relay, Modem, RDIS, RS-232, EIA-422, RS-449, Bluetooth, USB,... Tabela 3 Protocolo TCP/IP História A Ethernet foi originalmente desenvolvida como um projecto pioneiro da Xerox PARC. Por conhecimento geral, a Ethernet foi inventada em 1973, e concebida durante um período de vários anos. Em 1976, Metcalfe e David Boggs (seu assistente) publicaram um artigo, Ethernet: Distributed Packet-Switching For Local Computer Networks. Metcalfe deixou a Xerox em 1979 para promover o uso de computadores pessoais e redes locais (LANs), e para isso criou a 3Com. Ele conseguiu convencer DEC, Intel, e Xerox a trabalhar juntas para promover a Ethernet como um padrão, que foi publicado em 30 de setembro de Competindo com elas na época estavam dois sistemas grandemente proprietários, token ring e ARCNET. Em pouco tempo ambos foram afogados por uma onda de produtos Ethernet. No processo a 3Com se tornou uma grande companhia. 28

29 Descrição geral Uma placa de rede Ethernet típica com conectores BNC e par trançado. Ethernet é baseada na ideia de pontos da rede enviando mensagens, no que é essencialmente semelhante a um sistema de rádio, cativo entre um cabo comum ou canal. Cada ponto tem uma chave de 48 bits globalmente única, conhecida como endereço MAC, para assegurar que todos os sistemas em uma Ethernet tenham endereços distintos Ethernet com meio compartilhado CSMA/CD Um esquema conhecido como Carrier Sense Multiple Access with Collision Detection (CSMA/CD) organizava a forma como os computadores compartilhavam o canal. Originalmente desenvolvido nos anos 60 para ALOHAnet - Hawaii usando Rádio, o esquema é relativamente simples se comparado ao token ring ou rede de controlo central (master controlled networks). Quando um computador deseja enviar alguma informação, este obedece o seguinte algoritmo: 1. Se o canal está livre, inicia-se a transmissão, senão vai para o passo 4; 2. [transmissão da informação] se colisão é detectada, a transmissão continua até que o tempo mínimo para o pacote seja alcançado (para garantir que todos os outros transmissores e receptores detectem a colisão), então segue para o passo 4; 3. [fim de transmissão com sucesso] informa sucesso para as camadas de rede superiores, sai do modo de transmissão; 4. [canal está ocupado] espera até que o canal esteja livre; 29

30 5. [canal se torna livre] espera-se um tempo aleatório, e vai para o passo 1, a menos que o número máximo de tentativa de transmissão tenha sido excedido; 6. [número máximo de tentativa de transmissão excedido] informa falha para as camadas de rede superiores, sai do modo de transmissão; Na prática, funciona como um jantar onde os convidados usam um meio comum (o ar) para falar com um outro. Antes de falar, cada convidado educadamente espera que outro convidado termine de falar. Se dois convidados começam a falar ao mesmo tempo, ambos param e esperam um pouco, um pequeno período. Espera-se que cada convidado espere por um tempo aleatório de forma que ambos não aguardem o mesmo tempo para tentar falar novamente, evitando outra colisão. O tempo é aumentado exponencialmente se mais de uma tentativa de transmissão falhar. Originalmente, a Ethernet fazia um compartilhamento via cabo coaxial, que passava através de um prédio ou de um campus universitário para interligar cada máquina. Os computadores eram conectados a uma unidade transceiver ou interface de anexação (Attachment Unit Interface, ou AUI), que por sua vez era conectada ao cabo. Apesar de que um fio simples passivo fosse uma solução satisfatória para pequenas Ethernets, não o era para grandes redes, onde apenas um defeito em qualquer ponto do fio ou em um único conector fazia toda a Ethernet parar. Como todas as comunicações aconteciam num mesmo fio, qualquer informação enviada por um computador era recebida por todos os outros, mesmo que a informação fosse destinada para um destinatário específico. A placa de interface de rede descarta a informação não endereçada a ela, interrompendo a CPU somente quando pacotes aplicáveis eram recebidos, a menos que a placa fosse colocada em modo de comunicação promíscua. Essa forma de um fala e todos escutam definia um meio de compartilhamento de Ethernet de fraca segurança, pois um nodo na rede Ethernet podia escutar às escondidas todo o tráfego do cabo se assim desejasse. Usar um cabo único também significava que a largura de banda (bandwidth) era compartilhada, de forma que o tráfego de rede podia tornar-se lentíssimo quando, por exemplo, a rede e os nós tinham de ser reinicializados após uma interrupção eléctrica. 30

31 Hubs Ethernet Este problema foi contornado pela invenção de hubs Ethernet, que formam uma rede com topologia física em estrela, com múltiplos controladores de interface de rede enviando dados ao hub e, daí, os dados são então reenviados a um backbone, ou para outros segmentos de rede. Porém, apesar da topologia física em estrela, as redes Ethernet com hub ainda usam CSMA/CD, no qual todo pacote que é enviado a uma porta do hub pode sofrer colisão; o hub realiza um trabalho mínimo ao lidar com colisões de pacote. As redes Ethernet trabalham bem como meio compartilhado quando o nível de tráfego na rede é baixo. Como a chance de colisão é proporcional ao número de transmissores e ao volume de dados a serem enviados, a rede pode ficar extremamente congestionada, em torno de 50% da capacidade nominal, dependendo desses fatores. Para solucionar isto, foram desenvolvidos "comutadores" ou switches Ethernet, para maximizar a largura de banda disponível Ethernet Comutada (Switched Ethernet) A maioria das instalações modernas de Ethernet usa switches Ethernet ao invés de hubs. Embora o cabeamento seja idêntico ao de uma Ethernet com hub, com switches no lugar dos hubs, a Ethernet comutada tem muitas vantagens sobre a Ethernet média, incluindo maior largura de banda e cabeamento simplificado. Redes com switches tipicamente seguem uma topologia em estrela, embora elas ainda implementem uma "nuvem" única de Ethernet do ponto de vista das máquinas ligadas. No início, switches Ethernet funcionam como os hubs, com todo o tráfego sendo repetido para todas as portas. Contudo, ao longo do tempo o switch "aprende" quais 31

32 são as pontas associadas a cada porta, e assim ele pára de mandar tráfego nãobroadcast para as demais portas a que o pacote não esteja endereçado. Desse modo, a comutação na Ethernet pode permitir velocidade total de Ethernet no cabeamento a ser usado por um par de portas de um mesmo switch. Já que os pacotes são tipicamente entregues somente na porta para que são endereçadas, o tráfego numa Ethernet comutada é levemente menos público que numa Ethernet de média compartilhada. Contudo, como é fácil subverter sistemas Ethernet comutados por meios como ARP spoofing e MAC flooding, bem como por administradores usando funções de monitoramento para copiar o tráfego da rede, a Ethernet comutada ainda é considerada como uma tecnologia de rede insegura Tipos de quadro Ethernet e o campo EtherType Há quatro tipos de quadro Ethernet : Ethernet original versão I (não mais usado) O quadro Ethernet versão 2 ou quadro Ethernet II, chamado quadro DIX (iniciais de DEC, Intel, e Xerox). É o mais comum atualmente, já que é muitas vezes usado directamente pelo Protocolo Internet. quadro IEEE 802.x LLC/SNAP Os tipos diferentes de frame têm formatos e valores de MTU diferentes, mas podem coexistir no mesmo meio físico. A Ethernet Versão 1 original da Xerox tinha um campo de comprimento de 16 bits, embora o tamanho máximo de um pacote fosse 1500 bytes. Esse campo de comprimento foi logo reutilizado na Ethernet Versão 2 da Xerox como um campo de rótulo, com a convenção de que valores entre 0 e 1500 indicavam o uso do formato Ethernet original, mas valores maiores indicavam o que se tornou conhecido como um EtherType, e o uso do novo formato de frame. Isso agora é suportado nos protocolos IEEE 802 usando o header SNAP. 32

33 O IEEE 802.x definiu o campo de 16 bits após o endereço MAC como um campo de comprimento de novo. Como o formato de frames do Ethernet I não é mais usado, isso permite ao software determinar se uma frame é do Ethernet II ou do IEEE 802.x, permitindo a coexistência dos dois padrões no mesmo meio físico. Todos os frames 802.x têm um campo LLC. Examinando o campo LLC, é possível determinar se ele é seguido por um campo SNAP. As variantes 802.x de Ethernet não são de uso geral em redes comuns. O tipo mais comum usado hoje é a Ethernet Versão 2, já que é usada pela maioria das redes baseadas no Protocolo da Internet, com seu EtherType colocado em 0x0800. Existem técnicas para encapsular tráfego IP em frames IEEE mas isso não é comum Variedades de Ethernet Além dos tipos de frames mencionados acima, a maioria das diferenças entre as variedades de Ethernet podem ser resumidas em variações de velocidade e cabeamento. Portanto, em geral, a pilha do software de protocolo de rede vai funcionar de modo idêntico na maioria dos tipos a seguir. As sessões seguintes provêem um breve sumário de todos os tipos de média Ethernet oficiais. Em adição a esses padrões, muitos fabricantes implementaram tipos de média proprietários por várias razões, geralmente para dar suporte a distâncias maiores com cabeamento de fibra óptica Algumas variedades antigas de Ethernet Xerox Ethernet -- a implementação original de Ethernet, que tinha duas versões, Versão 1 e Versão 2, durante seu desenvolvimento. O formato de frame da versão 2 ainda está em uso comum. 33

34 10BASE5 (também chamado Thicknet) -- esse padrão antigo da IEEE usa um cabo coaxial simples em que você literalmente conseguia uma conexão furando o cabo para se conectar ao núcleo. É um sistema obsoleto, embora devido a sua implantação largamente difundida antigamente, talvez ainda possa ser utilizado por alguns sistemas. 10BROAD36 -- Obsoleto. Um padrão antigo suportando Ethernet para distâncias mais longas. Utilizava técnicas de modulação de banda larga similares àquelas empregadas em sistemas de cable modem, e operava com cabo coaxial. 1BASE5 -- Uma tentativa antiga de padronizar uma solução de LAN de baixo custo, opera a 1 Mbit/s e foi um fracasso comercial. StarLAN 1 -- A primeira implementação de Ethernet com cabeamento de par entrançado Mbit/s Ethernet 10BASE2 (também chamado ThinNet ou Cheapernet) -- Um cabo coaxial de 50-ohm conecta as máquinas, cada qual usando um adaptador T para conectar seu NIC. Requer terminadores nos finais. Por muitos anos esse foi o padrão dominante de ethernet de 10 Mbit/s. 10BASE5 (também chamado Thicknet) -- Especificação Ethernet de banda básica de 10 Mbps, que usa o padrão (grosso) de cabo coaxial de banda de base de 50 ohms. Faz parte da especificação de camada física de banda de base IEEE 802.3, tem um limite de distância de 500 metros por segmento. StarLAN Primeira implementação de Ethernet em cabeamento de par trançado a 10 Mbit/s. Mais tarde evoluiu para o 10BASE-T. 10BASE-T -- Opera com 4 fios (dois conjuntos de par trançado) num cabo de cat-3 ou cat-5. Um hub ou switch fica no meio e tem uma porta para cada nó da rede. Essa é também a configuração usada para a ethernet 100BASE-T e a Gigabit. 34

35 FOIRL -- Link de fibra óptica entre repetidores. O padrão original para ethernet sobre fibra. 10BASE-F -- um termo genérico para a nova família de padrões de ethernet de 10 Mbit/s: 10BASE-FL, 10BASE-FB e 10BASE-FP. Desses, só o 10BASE-FL está em uso comum (todos utilizando a fibra óptica como meio físico). 10BASE-FL -- Uma versão actualizada do padrão FOIRL. 10BASE-FB -- Pretendia ser usada por backbones conectando um grande número de hubs ou switches, agora está obsoleta. 10BASE-FP -- Uma rede passiva em estrela que não requer repetidores, nunca foi implementada Fast Ethernet 100BASE-T -- Designação para qualquer dos três padrões para 100 Mbit/s ethernet sobre cabo de par trançado. Inclui 100BASE-TX, 100BASE-T4 e 100BASE-T2. 100BASE-TX -- Usa dois pares, mas requer cabo cat-5. Configuração "starshaped" idêntica ao 10BASE-T. 100Mbit/s. 100BASE-T Mbit/s ethernet sobre cabeamento cat-3 (Usada em instalações 10BASE-T). Utiliza todos os quatro pares no cabo. Actualmente obsoleto, cabeamento cat-5 é o padrão. Limitado a Half-Duplex. 100BASE-T2 -- Não existem produtos. 100 Mbit/s ethernet sobre cabeamento cat-3. Suporta full-duplex, e usa apenas dois pares. Seu funcionamento é equivalente ao 100BASE-TX, mas suporta cabeamento antigo. 100BASE-FX Mbit/s ethernet sobre fibra óptica. Usando fibra óptica multimodo 62,5 mícrons tem o limite de 400 metros. 35

36 Gigabit Ethernet 1000BASE-T -- 1 Gbit/s sobre cabeamento de cobre categoria 5e ou BASE-SX -- 1 Gbit/s sobre fibra. 1000BASE-LX -- 1 Gbit/s sobre fibra. Optimizado para distâncias maiores com fibra mono-modo. 1000BASE-CX -- Uma solução para transportes curtos (até 25m) para rodar ethernet de 1 Gbit/s num cabeamento especial de cobre. Antecede o 1000BASE-T, e agora é obsoleto Gigabit Ethernet O novo padrão Ethernet de 10 gigabits abrange 7 tipos diferentes de médias para uma LAN, MAN e WAN. Ele está actualmente especificado por um padrão suplementar, IEEE 802.3ae, e será incorporado numa versão futura do padrão IEEE GBASE-SR -- projectado para suportar distâncias curtas sobre cabeamento de fibra multi-modo, variando de 26m a 82m dependendo do tipo de cabo. Suporta também operação a 300m numa fibra multi-modo de 2000 MHz. 10GBASE-LX4 -- usa multiplexação por divisão de comprimento de ondas para suportar distâncias entre 240m e 300m em cabeamento multi-modo. Também suporta 10km com fibra mono-modo. 10GBASE-LR e 10GBASE-ER -- esses padrões suportam 10km e 40km respectivamente sobre fibra mono-modo. 10GBASE-SW, 10GBASE-LW e 10GBASE-EW. Essas variedades usam o WAN PHY, projectado para comunicar com equipamentos OC-192 / STM-64 SONET/SDH. Eles correspondem à camada física do 10GBASE-SR, 10GBASE-LR e 10GBASE-ER respectivamente, e daí usam os mesmos tipos de fibra e suportam as mesmas distâncias. (Não há um padrão WAN PHY correspondendo ao 10GBASE-LX4.) 36

37 Ethernet de 10 gigabit é muito nova, e continua em vistas sobre qual padrão vai ganhar aceitação comercial Padrões Relacionados Esses padrões de rede não são parte do padrão Ethernet IEEE Ethernet, mas suportam o formato de frame ethernet, e são capazes de interagir com ele. Wireless Ethernet (IEEE ) -- Frequentemente rodando a 2 Mbit/s (802.11legacy), 11 Mbit/s (802.11b) ou 54 Mbit/s (802.11g). 100BaseVG -- Um rival precoce para a ethernet de 100 Mbit/s. Ele roda com cabeamento categoria 3. Usa quatro pares. Um fracasso, comercialmente. TIA 100BASE-SX -- Promovido pela Telecommunications Industry Association. O 100BASE-SX é uma implementação alternativa de ethernet de 100 Mbit/s em fibra ótica; é incompatível com o padrão oficial 100BASE- FX. Sua característica principal é a interoperabilidade com o 10BASE-FL, suportando auto negociação entre operações de 10 Mbit/s e 100 Mbit/s -- uma característica que falta nos padrões oficiais devido ao uso de comprimentos de ondas de LED diferentes. Ele é mais focado para uso na base instalada de redes de fibra de 10 Mbit/s. TIA 1000BASE-TX -- Promovido pela Telecommunications Industry Association, foi um fracasso comercial, e nenhum produto desse padrão existe. O 1000BASE-TX usa um protocolo mais simples que o padrão oficial 1000BASE-T, mas requer cabeamento categoria 6. 37

38 2.4 - Microcontrolador PIC Os PIC (PICmicro) são uma família de microcontroladores fabricados pela Microchip Technology, que processam dados de 8 bits (recentemente foi lançada uma família de 16 bits com prefixo 24F) com extensa variedade de modelos e periféricos internos, com arquitectura Harvard e conjunto de instruções RISC (conjuntos de 35 instruções e de 76 instruções), com recursos de programação por Memória Flash, EEPROM e OTP. Os microcontroladores PIC têm famílias com núcleos de processamento de 12 bits, 14 bits e 16 bits e trabalham em velocidades de 0kHz (ou DC) a 48MHz, usando ciclo de instrução mínimo de 4 períodos de clock, o que permite uma velocidade de no máximo 10 MIPS. Há o reconhecimento de interrupções tanto externas como de periféricos internos. Funcionam com tensões de alimentação de 2 a 6V e os modelos possuem encapsulamento de 6 a 100 pinos em diversos formatos (SOT23, DIP, SOIC, TQFP, etc) Periféricos internos Seus principais periféricos internos (a disponibilidade varia conforme o modelo): Conversores Analógico-Digitais de 8 a 12 bits Contadores e timers de 8 e 16 bits Comparadores Analógicos USARTs Controladores de comunicação I2C, SPI, USB Controladores PWM Controladores de LCD Controladores de motores Gerador de energia de alta potência Periféricos para LIN, CAN Controladores Ethernet 38

39 Periféricos IRDA Codificadores para criptografia Keeloq Detetores de falha na alimentação Portas digitais com capacidade de 25mA (fornecer ou drenar) para accionar circuitos externos Osciladores internos Programação e desenvolvimento Os PICs podem ser programados em linguagem mnemônica (assembly) ou usando-se compiladores de linguagem de alto nível (Pascal, C, Basic) que geram um código em formato hexadecimal (Intel Hex format ou linguagem de máquina) que são usados para serem gravados na memória de programa desses microcontroladores. Para tal procedimento, utiliza-se um hardware especial (gravador) acoplado a um PC. (com um PIC é possível rodar pequenos programas de computadores gravados neles). PICs com memória FLASH são altamente flexíveis na fase de desenvolvimento pois permitem uma rápida alteração do código de programa. Como ferramentas de desenvolvimento, encontram-se disponíveis: gravadores, depuradores, emuladores, placas de protótipos, etc Modelos comuns de PICs PIC16F84/PIC16F84A PIC16F628/PIC16F628A PIC16F877/PIC16F877A PIC18F452/PIC18F4520 PIC16F876 PIC24F/PIC24H[1] 39

40 Aplicações A linha de microcontroladores PIC é comum ser utilizada em: Electrónicas de consumo Automação Robótica Instrumentação Electrónica embebida Periféricos de informática História As raízes dos PICs têm origem na universidade de Harvard com um projecto para o Departamento de Defesa, mas este foi vencido por um projecto de memória mais simples (e mais confiável na época) da Universidade de Princeton. A arquitectura Harvard foi primeiramente usada no 8x300 da Signetics, e foi adoptada pela General Instruments para uso como interface controladora de periféricos (PIC) que foi projectada para compensar o fraco barramento de I/O da sua CPU CP1600 de 16 bits. A divisão de micro electrónica foi depois transformada na Arizona Microchip Technology (por volta de 1985), com os PICs como seu produto principal. Os PICs tinham um grande conjunto de registos (de 25 a 192 registos de 8 bits, comparado com os 144 do Z8). Existem até 31 registos directos, mais um acumulador W, embora R1 a R8 também tenham funções especiais - R2 é o PC (com uma pilha implícita de 2 a 16 níveis), e R5 a R8 controlam as portas de I/O. R0 é mapeado no registo R4 (FSR) e serve como apontador (semelhante ao ISR no F8, ele é o único meio de se aceder ao registo R32 ou acima). O PIC16x é muito simples, tem somente 33 instruções de 12 bits de largura fixa, incluindo diversas instruções de salto condicional a flags para a próxima instrução 40

41 (para loops e rotinas condicionais), produzindo um código enxuto importante para aplicações em sistemas embebidos. Ele tem pipelines marginais (2 estágios, 1 de busca e 1 de execução), combinados com execução em um ciclo (excepto para saltos, com 2 ciclos), tendo um desempenho muito bom para a sua categoria. O PIC 17x tem mais modos de endereçamento (directo, indirecto, e relativo; as instruções de modo indirecto gastam 2 ciclos para execução), mais instruções (58 de 16 bits), mais registos (232 a 454), mais até 64k palavras de espaço de programa (2k a 8k no chip). As versões top de linha também possuem instruções de multiplicação de 8 bits sem sinal de 1 ciclo. Este modelo está obsoleto, não sendo mais recomendado para novos projectos de acordo com a Microchip. O PIC 16x é uma variante interessante do projecto de 8 bits feita por volta de 1985 pela General Instruments com técnicas de projecto mais inovadoras do que a de outras CPUs da lista (o 1650, o sucessor do 1600 mais comum). Ela perdeu para outras CPUs mais populares e foi posteriormente vendida para a Microchip Technology, que ainda o vende para pequenas aplicações em sistemas embebidos. Um exemplo deste microcontrolador é uma pequena placa chamada Basic Stamp que consiste em 2 circuitos integrados (1 PIC 16C56 de 18 pinos, um interpretador Basic em 512 palavras de ROM e uma memória EEPROM serial de 256 bytes) com uma porta de I/O onde os programas do usuário podem ser armazenados (por volta de 80 linhas de comando de Basic) Curiosidade Científica Na verdade a arquitetura PIC foi primeiramente integrada pela Signetics para uma empresa em San Jose usando tecnologia bipolar e usado no 8X300. Antes disso, a arquitectura tinha sido uma curiosidade científica desde a sua invenção pela Universidade de Harvard numa competição criada pelo departamento de Defesa que colocou Princeton contra Harvard. Princeton ganhou a competição porque o tempo médio entre falhas (MTBF) da sua arquitectura de memória mais simples era muito melhor, embora mais lenta que a proposta de Harvard. Com o desenvolvimento dos 41

42 transístores e dos circuitos integrados, a arquitectura Harvard finalmente foi reconhecida. A Microchip fez melhoramentos na arquitectura original, e actualizou os blocos funcionais do projecto original com avanços modernos que estão em compasso com os processos arquitectónicos existentes e capacitados pelo baixo custo dos semicondutores Do controle de portas para controlador RISC Em 1965 a General Instruments criou a divisão de microelectrónica, e sem dúvida usou esta divisão para gerar algumas das primeiras arquitecturas de memórias EPROM e EEPROM viáveis. A Divisão de microelectrónica da General Instrumens foi responsável também por uma grande variedade de funções digitais e analógicas, com as famílias AY3-xxxx e AY5-xxxx. A General Instruments também criou um microprocessador de 16 bits chamado CP1600, no começo dos anos 70. Era um microprocessador razoável, mas especialmente era pobre em portas de entrada e saída. Para algumas aplicações muito específicas onde as portas de I/O eram necessárias, a General Instruments projectou uma interface controladora de periféricos (ou PIC abreviadamente, de Peripherical Interface Controller em inglês), por volta de Ele era projectado para ser muito rápido, dado que era para ser portas de I/O de uma máquina de 16 bits, mas não tinha uma grande capacidade de funcionalidade, tendo um conjunto de instruções microcodificadas pequeno. A arquitectura projectada em 1975 é substancialmente a arquitectura de hoje do PIC16C5x. A versão de 1975 foi fabricada em NMOS, e era somente disponível em versões ROM mascaradas. O mercado, contudo, não pensava particularmente assim, e os PICs permaneceram projectados somente para um punhado de grandes clientes. No final dos anos 80, a General Instruments fez uma grande revisão no seu negócio e se reestruturou, deixando para se concentrar nas suas actividades principais, que eram essencialmente semicondutores de potência. A Divisão de microelectrónica da General Instruments se tornou a General Instruments Microelectronics Inc. 42

43 (subsidiária integral), da qual 85% foi finalmente vendida para alguns investidores, incluindo a fábrica em Chandler, no Arizona. O pessoal desses investidores analisou profundamente a linha de produtos e fez uma limpeza na maioria deles, como a linha AY3 e AY5 e outros produtos, restando como negócio principal os PICs e as EEPROMs paralelas. Houve uma decisão de reiniciar uma nova empresa, chamada Arizona Microchip Technology. Como parte da estratégia, a família NMOS PIC165X foi reprojectada para usar um recurso em que a empresa era muito boa, o EPROM, o conceito de ser baseado em CMOS, one-time-programmable e assim a família PIC16C5X de memória de programa EPROM apagável tinha nascido. PIC é uma família de microcontroladores RISC fabricada pela Microchip, derivada do PIC1650 originalmente desenvolvida pela divisão de microelectrónica da General Instruments. A Microchip não usa PIC como um acrónimo, na realidade a marca é PICmicro. Geralmente é conhecido que PIC significa Peripherical Interface Controller, embora o acrónimo original para o PIC1650 era Programmable Intelligent Computer. O PIC original foi fabricado para ser usado com a nova CPU de 16 bits da General Instruments, o CP1600. Apesar de ser uma boa CPU, o CP1600 tinha fraco desempenho de portas de I/O, e o PIC de 8 bits foi desenvolvido em 1975 para melhorar o desempenho do sistema em geral liberando as tarefas de I/O da CPU. O PIC usava simples microcódigos armazenados na ROM para desempenhar suas tarefas, e e embora o termo não tenha sido usado na época, ele tinha um projeto RISC que executava uma instrução por ciclo (4 ciclos de clock). Em 1985, a General Instruments vendeu a divisão de microeletrônica, e os novos donos cancelaram quase tudo, o que na época era obsoleto. Os PICs contudo, foram actualizados com EPROM para produzir um controlador programável, e hoje uma grande variedade de PICs é disponível com vários periféricos internos (módulos de comunicação serial, UARTS, núcleos de controle de motores, etc.) e memória de programa de 512 a 32k palavras. 43

44 3 - Opções de projecto O objectivo deste projecto é realizar um osciloscópio digital de 4 canais e um analisador lógico de até 16 canais Avaliação dos requisitos Os requisitos indicam que é necessária uma comunicação entre o microprocessador e o PC com largura de banda suficiente, e com uma taxa de transferência elevada. É necessário transferir dados rapidamente e em grande quantidade. Para isso analisámos várias interfaces de comunicação, série RS232, usb e ethernet. A comunicação série, de momento em declínio, permite no máximo bps, o que embora seja suficiente para amostrar dados a uma boa frequência, há problemas ao amostrar 4 canais simultaneamente. A comunicação via USB permite taxa de transferência até 480Mbps (USB2.0) estando esta interface a atingir a maturidade no ciclo de vida. A comunicação via Ethernet 10/100/1000 permite taxas de transferência ate 1Gbps e no caso de estar ligado a um switch ou hub numa rede permite o seu acesso por qualquer tipo de máquina da rede, possibilitando a verificação do circuito, até mesmo por Internet caso o software de suporte seja desenvolvido. Foi escolhida a interface USB em prol da Ethernet, visto haver a possibilidade de obter os recursos necessários para o desenvolvimento do projecto por USB, não havendo conhecimento de como obter ou desenvolver hardware capaz de fazer interface do microprocessador com Ethernet. 44

45 3.2 - USB A interface USB poderia ser aplicada neste projecto de 2 formas. Através de um módulo externo, simplificando o trabalho a nível de software mas havendo a despesa de cerca de 30. O módulo externo continha também o software (drivers) para o PC simplificando também o desenvolvimento nesse lado. A outra forma de aplicação da interface USB seria através de um módulo integrado num microprocessador, que permitiria ter um maior controlo sobre o método de transferência de dados, reduzir os custos monetários mas incrementando o esforço do desenvolvimento da interface no software. No entanto, achamos que esta decisão é a mais viável a longo prazo pois se necessitarmos de repetir várias vezes o projecto ou elaborar projectos com interface USB, o custo de um módulo externo será deduzido a cada projecto extra, compensando a longo prazo. Outra das razões, embora menos lógica, seria a escolha deste método de interface pelo desafio que impõe a nível de conhecimentos, pelo gozo de desenvolver algo que não conhecemos apenas familiarizamos o conceito exterior. Caso utilizássemos o módulo externo poderíamos ter escolhido um microprocessador utilizado frequentemente no ISEP, visto que seria disponibilizado pelo Instituto, não necessitando de ser muito avançado. Um 16F84A ou um 8051 serviria para o efeito PIC 18F4550 Recorreu-se à pesquisa na Internet de microprocessadores com módulos de USB integrados, requisitando amostras de Microprocessadores da Microchip, Atmel e Maxim. Após recepção e a não recepção das amostras, foi decidido que o microprocessador seria a PIC 18F4550 pois foi o único que veio como amostra com módulo de USB. O 8051 e AVR seria necessário adquirir através de compra. A PIC tinha a vantagem de ter sido a primeira a ser apresentada na cadeira de LABSI e por possuirmos alguns fundamentos sobre o seu funcionamento. Os fóruns on-line indicavam também a superioridade da PIC em relação ao 8051 na interface USB. 45

46 Descartamos a utilização da FPGA como peça principal deste projecto visto já haver um projecto disponível para esse efeito Construção do Programador Após investigação inicial sobre funcionamento da PIC 18F4550, em comparação com a 16F84A, tentamos elaborar um código simples de inicialização do hardware e colocação do código de alternância de um led, para teste do funcionamento da PIC e da montagem correcta do circuito inicial. Na tentativa de programação da PIC através do programador existente no ISEP, verificamos que o programador não é compatível com as novas famílias de microprocessadores da Microchip, entre eles o nosso modelo. Decidiu-se construir um programador para a PIC. Investigação na Internet revelou vários tipos de modelos de programadores, sendo escolhido um que têm bastante sucesso e revela não ser necessário muito equipamento electrónico, pois queremos ter o mínimo de despesa. O modelo JDM2 foi o escolhido. Inicialmente resolvemos desenvolver e construir um programador que pudesse ser alimentado pela porta série ou com conector de alimentação externo baseado em vários modelos. Após a sua construção verificou-se que não funcionava. Construiu-se o programador em breadboard, alimentado exclusivamente pela porta série, tendo funcionado Compilador (Assembly ou C) De seguida programámos na PIC o código de alternância de estado de um led, desenvolvido em assembly. O led funcionou demonstrando que a PIC obtida por amostra aparentemente estava em boas condições de funcionamento. Iniciou-se a pesquisa nos Application Notes e Source Codes distribuídos pela Microchip sobre a PIC, sobre a interface USB e sobre vários outros tipos de Source Codes com alguma relevância para o nosso projecto. Após descodificação e compreensão de parte do funcionamento do código de interface USB por assembly, decidimos 46

47 abandonar a linguagem assembly devido à extrema complexidade de compreender todo o código necessário ao seu desenvolvimento e tentar mudar para um compilador C. O compilador de assembly utilizado foi o MPLAB IDE 7.60 com o módulo MPASM, o compilador C utilizado foi o MPLAB IDE 7.60 com o módulo C18. Embora existam actualmente vários compiladores para a PIC, como o CCS C ou o HI-TECH C, foi escolhido o C18 devido a ser o oficialmente distribuído pela Microchip, ser o formato do código encontrado nas application notes e source codes distribuídas. É necessário referir que neste compilador (C18) as instruções de USB na PIC não estão presentes em funções pré-compiladas e têm que ser adicionadas ou programadas de raiz pelo utilizador. Utilizou-se como base do nosso programa o código exemplo de HID MOUSE da Microchip. Este código já executava a enumeração e autenticação USB. Como curiosidade, após análise do ficheiro bootloader distribuído pela MICROCHIP verificamos que este exemplo foi desenvolvido a partir do código fonte do bootloader visto que as configurações e desenho do pacote de dados USB é idêntico, assim como as funções utilizadas para os transferir e até mesmo grande parte dos comentários. Mais uma vez se verifica que não é necessário reinventar a roda Visual Basic 6 A escolha deste compilador deve-se principalmente a duas razões, o programa base para o PIC tem como interface de comunicação e controlo um programa simples em Visual Basic 6, que envia um byte para a PIC por USB e recebe esse mesmo byte. O Visual Basic 6 é um compilador de programação orientada a objectos, sobre o qual nós já possuíamos algumas ideias de como realizar um programa deste tipo. 47

48 3.7 - Condicionamento sinal [Analógico e Digital] Os sinais amostrados digitalmente são lidos através de buffer s digitais que filtram o sinal mas mantém os níveis lógicos, isto para impedir surtos de tensão que possam danificar a PIC e o resto do circuito. No condicionamento de sinal analógico a filtragem e protecção são feitas pelo AD. Foi escolhido um AD da Maxim (MAX154BCNG) de interface paralela visto poder ser obtido por amostra, cumprir os requisitos mínimos de amostragem necessária para o projecto e ter interface de comunicação de saída paralela, o que simplificava o trabalho no código interno da PIC. Definimos que a tensão que o AD iria amostrar variava apenas entre 0V e +5V utilizando Amplificadores Operacionais com regulação de ganho para permitir ler valores entre 0,1V e 20V, positivos e negativos. A regulação de ganho é feita digitalmente com controlo por parte da PIC para evitar a necessidade de ajuste manual do circuito, permitindo controlo completo de tudo através da interface no PC. Para esse efeito utilizamos multiplexer s digitais de 8 canais da MAXIM (MAX338EPE) em conjunção com o integrado que contém 2 amplificadores operacionais (TL082CP) FIFO s Para a leitura de sinais digitais com frequência superior á de amostragem máxima do circuito recorremos a uma FIFO assíncrona colocada num módulo externo (CY7C ASC) com 32Kb de profundidade de memória com 18 bits em paralelo, com possibilidade de interligar mais FIFO s em série para obter maior memória onde guardar as amostras. 48

49 3.9 - Investigação sobre alimentação do circuito. Na alimentação do circuito, toda a energia de 0V até +5V é obtida a partir da interface USB, estando já a PIC programada para permitir até 450 ma de corrente de consumo do circuito completo. Para as tensões requisitadas pelo multiplexer e amplificadores operacionais, positivas e negativas, utiliza-se um transformador de 220V / 12V (AC) com ponte rectificadora e 2 rectificadores de tensão para obter +12V e -12V (7812 e 7912 respectivamente). A placa é parcialmente alimentada por USB para permitir utilizar o analisador lógico em locais que não possuam energia eléctrica. Também é possível amostrar sinais analógicos desde que estejam contidos entre 0V e +5V, sem alimentação externa. 49

50 4 - Descrição do Circuito Desenvolvimento da placa de comunicação USB: O tipo de comunicação utilizada é USB e para tal foi usada a PIC18F4550, pois, já tem integrado uma porta USB. A comunicação USB foi escolhida porque é um meio de comunicação que nos permite elevadas taxas de transmissão, o que não era exequível com o protocolo RS232. Para tal usamos o esquema em baixo que nos permite realizar a parte da comunicação com o PC. Figura 3 USB Basic Board Este circuito simples é o requisito mínimo para estabelecer comunicação USB com o PC. Realizamos este esquema através da informação adquirida pelo fabricante Microchip. O hardware ilustrado só por si não faz nada, para tal é preciso programa-lo com o Bootloader, programa este, que possui todas as rotinas do protocolo USB bem como o processo de inicialização da PIC. O Bootloader 50

51 desenvolvido foi uma alteração do disponibilizado pelo fabricante que estava preparado para outro tipo de hardware, nomeadamente as boards de desenvolvimento da Microchip. O software utilizado para compilar o código foi o MPLAB C18, disponibilizado pela Microchip. Depois de compreender o Bootloader, disponível pelo fabricante, procedemos á modificação para compatibilizar com o nosso hardware. No entanto os programadores de PIC do ISEP não tinham suporte para programar a PIC18F4550, o que fez regressar ao trabalho de pesquisa por um programador que nos permitisse programar a PIC Placa programadora Para programar a PIC, utilizamos um programador básico do tipo JDM que nos permitiu programar o dispositivo pela porta RS232. Figura 4 Programador JDM 51

52 Depois de programada a PIC, testamos o firmware ligando ao PC. Tivemos alguns problemas no inicio pois nem sempre o firmware funcionava bem ou nem mesmo funcionava. Com umas rectificações atingiu-se o funcionamento correcto. De momento, o dispositivo estabelece comunicação com o PC e possui a possibilidade de ser programado via USB. Para tal é necessário o driver USB da PIC 18F4550 e o pacote de desenvolvimento PICDEM FS USB Starter Kit. Quanto ao desenvolvimento do Osciloscópio, foi decidido desenvolver um osciloscópio de 4 canais. Para isso utilizou-se a seguinte filosofia: Figura 5 Fluxograma Hardware Na primeira fase, o circuito de condicionamento de sinal é feito com Amplificadores Operacionais e controlado por computador. De seguida, o sinal é convertido pelo AD e transmitido à PIC que envia a informação para o PC, e este mostra o sinal na aplicação desenvolvida em visual Basic Condicionamento de sinal A parte de condicionamento de sinal resume-se a um conjunto de ampops que transformam uma variação de sinal na entrada para uma variação de sinal na saída entre [0,+5] V, independentemente dos valores de entrada, o ganho dos ampops pode 52

53 ser controlado por PC através de um switch analógico fornecido como sample da Maxim. Figura 6 Condicionamento de sinal universal Os Amplificadores Operacionais estão contidos num integrado (CA320EN), em par, num formato DIP de 8 pinos. A primeira etapa tem montagem de amplificador inversor. Este amplificador condiciona a onda de entrada Vi para que as amplitudes máximas sejam sempre de 2.5 V de pico. O switch/multiplexer analógico usado é o Max 338. Este componente permite fazer uma selecção das resistências de forma simples e sem alterações no circuito de montagem inversora. Em baixo está ilustrada a tabela de verdade do Max338. Tabela 4 Tabela MAX338 As entradas A2 a A0 são controladas pelo utilizador na aplicação em Visual Basic permitindo total controlo do dispositivo. 53

54 Para cada canal de selecção, foram calculadas as resistências R2, em que R1=10k. Variação Vi (Vp) Vo1 (Vp) Ganho 1º Ampop R (Ohm) 0,1 2, ,2 2,5 12, ,5 2, ,5 2, ,5 1, ,5 0, ,5 0, ,5 0, Tabela 5 Ganhos de selecção de tensão Estes ganhos foram calculados de acordo com a fórmula: R2 A = R1 Para garantir os ganho de uma forma perfeita ou mais próxima da ideal usamos potenciómetros para garantir os valores exactos de resistência. No entanto, nesta fase, para as variações máximas do sinal para cada selecção, o sinal na saída do primeiro ampop varia entre [-2.5;2.5] V. O AD funciona com tensões de referencia de [0;+5] V, e para garantir isso, utilizamos um circuito somador na saída da primeira etapa do circuito para somar uma componente continua de +2,5V. O potenciómetro R53 é variado na fase final para que a tensão de referência seja 2,5V e os potenciómetros R49, R50 e R54 são iguais, para que a saída do circuito seja: Vo 2 = Vref + Vo1 Assim é garantido um condicionamento de sinal de [0,+5] V para qualquer tipo de variação de entrada. 54

55 4.4 - Conversão Analógico para Digital O AD utilizado é o Max154, de 8 bits, com uma taxa de conversão de 2.5µs. Possui 4 entradas analógicas, o que possibilita lerem 4 sinais analógicos com o mesmo integrado. O circuito seguinte representa o circuito do AD: Figura 7 Circuito básico para o AD MAX154 Os 4 diodos que estão na entrada analógica servem para em caso de sobretensão não danificar o AD. Os 2 bits de selecção de canal servem para seleccionar um dos 4 canais para o AD converter, o bit de leitura é o bit que serve de amostragem, que faz com que o AD converta a uma taxa de amostragem predefinida pelo utilizador. Este bit a 1 faz com que o AD desligue, a 0 faz a conversão e leitura. O barramento de dados está ligado ao Porto B da PIC que processa e envia os dados para o PC PIC18F4550 Este dispositivo e o núcleo principal de todo este projecto. É ele que controla os componentes, processa os dados e os transmite para o PC. É baseado no ultimo modelo de microprocessador RISC da Microchip. Funciona a cerca de 40 MHz com 10 MIPS. 55

56 4.6 Esquema da Placa Global Aqui temos o desenho completo do trabalho realizado, com todos os componentes descriminados: Figura 8 Circuito global em schematic 56

57 4.8 - PCB do esquema Global Figura 9 Circuito global em PCB 57

58 5 - Descrição do Programa/Código Software Bootloader O bootloader da Microchip é uma sequência de código de inicialização que configura a PIC para poder receber dados pela interface de USB, permitindo a execução de comandos provenientes de uma aplicação de programação no PC, para descarregamento de código desenvolvido pelo construtor através da mesma interface USB. Este bootloader é vantajoso em comparação com a programação em programador externo, pois não é necessário remover a PIC do circuito onde ela opera, permitindo apagar e programar novas aplicações em caso de actualização ou necessidade de alteração do software. É comummente denominado como Flash Bootloader pois permanece na memória flash do microprocessador e é sempre a primeira aplicação a ser executada após o reset. O bootloader da Microchip foi descarregado para a PIC por meio do programador JDM em conjunção com a aplicação WinPic800. Foi necessário ajustar as palavras de configuração do ficheiro.hex devido às alterações existentes no hardware (cristal, temporizador interno, modo USB, interrupções, etc). Embora houvesse dificuldade na calibração correcta das palavras de configuração, após análise da datasheet e consulta online do fórum da Microchip, a programação da PIC foi bem sucedida, visto a PIC enumerar e autenticar correctamente por USB quando conectada. O Source Code do Bootloader não foi alterado, apenas foi estudado de forma a aprofundar o conhecimento sobre a programação da interface USB. 58

59 O cabeçalho do código principal do Bootloader está apresentado na figura seguinte: Figura 10 USB Bootloader Version

60 O funcionamento do bootloader é descrito no diagrama de blocos seguinte e no texto que o procede: Figura 11 Fluxograma Software PIC Após o inicio do programa ( Start ), são inicializados os registos, definidas variáveis e verificadas os pinos dos portos que definem se o código do bootloader será executado ( Bootloader Button Pressed ). Se o pino 2 do Porto E estiver no nível lógico zero, o código a executar será o do bootloader. O código do bootloader começa por inicializar as portas dos leds para coloca-los a piscar, em padrões definidos (ver tabela no capitulo seguinte), consoante o estado de comunicação do módulo USB ( minitallleds ). 60

61 De seguida, é configurado o módulo USB interno e inicializados os buffers dos canais de entrada e saída ( minitializeusbdriver ). O estado da interface USB no hardware é verificada ( USBCheckBusStatus ) e o serviço de enumeração e autenticação USB é inicializada ( USBDriverService ). Caso a enumeração não ter terminado ou ainda se encontrar em progresso, a secção de código do BootService não é executada. Se a interface de comunicação USB estiver completamente configurada e correctamente enumerada, os leds devem piscar alternadamente, indicando canal preparado para comunicação. O programa ficará a correr em ciclo fechado apenas colocando os leds nos estados lógicos do estado da interface USB, esperando a recepção de um comando de controlo vindo pelo USB por parte da aplicação no PC ( USBDriverService ), executando o código ao qual o comando se refere, preparando a resposta à execução do comando ( BootService ) e enviando os dados de volta à aplicação no PC ( USBDriverService ). Os comandos, enviados pela aplicação de programação por USB, Microchip PICDEM FS USB Demonstration Tool, permitem realizar algumas operações tais como leitura da versão do bootloader instalado, leitura do código existente no espaço de programação dedicado a código a ser programável por USB, escrita de código a ser executado em funcionamento normal, formatação do espaço dedicado a código de funcionamento normal, leitura de dados de EEPROM, escrita de dados na EEPROM, escrita de configuração da PIC, executar o reset á PIC, entre outros. O modo de comunicação de USB do bootloader é baseado em interrupções provenientes do PC, o PC envia dados e a PIC retorna os dados respondendo, não ao contrário. A comunicação é feita em pacotes de um byte de dados de cada vez, célere a suficiente para permitir a execução da programação em menos de 5 segundos. A figura seguinte demonstra a interface de programação por USB fornecida no pacote de software Microchip USB Framework, distribuída e disponível no site da Microchip. 61

62 Figura 12 Ilustração USB PICDEM(TM) Software Placa Principal e Periféricos Através da análise do código do bootloader, e de um exemplo de código rato USB fornecido pela Microchip no pacote de desenvolvimento USB, começou-se a desenvolver o software da PIC, no compilador C18 fornecido pela Microchip. Inicialmente ponderou-se a programação em linguagem assembly, ideia essa que foi colocada de parte devido à elevada complexidade dos protocolos e funções USB nessa linguagem. Estudamos e utilizamos a linguagem C, do compilador C18 no MPLAB C18. 62

63 O cabeçalho do código principal do Bootloader está apresentado na figura seguinte: Figura 13 Firmaware Mouse Demo 63

64 Na figura abaixo está descrita, em diagrama de blocos, o funcionamento do código geral na PIC. Figura 14 Processo de inicialização Após o modo de bootloader ter sido verificado no arranque e negado, o programa coloca o program counter a 0x800, sendo este o inicio do código do programa normal (principal) da PIC, o equivalente ao 0x000. As interrupções também são deslocadas o mesmo número estando agora nas posições 0x808H (interrupções de alta prioridade, alterada colocando um salto na 0x008H) e 0x818H (interrupções de baixa prioridade, alterada colocando um salto na 0x018H). Após o inicio do programa principal, são re-inicializados os registos, definidas variáveis e colocados os estados nos portos e são inicializadas as portas dos leds para coloca-los a piscar, em padrões definidos (ver tabela seguinte), consoante o estado de comunicação do módulo USB ( InitializeSystem ). De seguida, é configurado o módulo USB interno e inicializados os buffers dos canais de entrada e saída. O estado da interface USB no hardware é verificada e o serviço de enumeração e autenticação USB é inicializada ( USBTasks ). Caso a enumeração não tenha terminado ou ainda se encontrar em progresso, a secção de código do ProcessIO não é executada. 64

65 Quando a interface de comunicação USB estiver completamente configurada e correctamente enumerada, os leds devem piscar alternadamente, indicando canal preparado para comunicação. O programa ficará a correr em ciclo fechado apenas colocando os leds nos estados lógicos do estado da interface USB, esperando a recepção de um comando de controlo vindo pelo USB por parte da aplicação no PC ( USBTasks ), executando o código do comando correspondente, preparando os dados para envio da resposta de volta à aplicação no PC ( ProcessIO ) e envio dos dados na secção ( USBTasks ). Estado Interface USB SUSPEND DETACHED_STATE ATTACHED_STATE POWERED_STATE DEFAULT_STATE ADDRESS_STATE CONFIGURED_STATE Estado dos leds 1: Toggle 2: =LED1 1: Off 2: Off 1: On 2: On 1: On 2: Off 1: Off 2: On 1: Toggle 2: Off 1: Toggle 2:!LED1 Tabela 6 Estado de funcionamento USB 5.3 Software de Interface Gráfica no PC Recorreu-se ao Visual Basic 6.0 para desenvolver a aplicação de interface com o dispositivo, utilizável no PC, visto ser uma linguagem de alto nível, de programação orientada a objectos que permite desenvolver uma interface de utilizador com facilidade e rapidez. A interface gráfica desenvolvida até ao momento encontra-se 65

66 apresentada nas imagens seguintes, tanto para a parte de osciloscópio digital, tanto como de analisador lógico. Figura 15 Interface windows A aplicação em Visual Basic 6 foi baseada na aplicação de interface com o exemplo do HID MOUSE EXAMPLE da Microchip, apresentado na figura seguinte. Figura 16 Interface Windows basica A aplicação demonstra o envio de um byte para a PIC por USB e a recepção desse mesmo byte por parte da aplicação. Permite enviar o byte a cada clique num botão, ou continuamente num intervalo de tempo predefinido. O código em que nos 66

67 baseamos principalmente está contido num módulo de declarações de API s de interface USB ( Application Programming Interface ) que permite utilizar as funções existentes de interface USB no sistema operativo. Para além do módulo de API s existente neste exemplo, foi necessário recorrer ao uso de outros módulos, pesquisados e obtidos na Internet, posteriormente modificados para serem utilizados na aplicação. Entre eles destacam-se os módulos de classes com funções de API s de contadores de alta performance, visto os timer s do VB não terem a resolução suficiente para determinarem intervalos de tempo de transferências por USB, pois a resolução mínima deles é 1ms e não contam o intervalo de tempo quando o código da sua interrupção é executado. As funções o timer de alta performance é baseado no numero de clocks do CPU entre o inicio e a paragem do clock. Recorreu-se à construção de um módulo de manipulação de bits visto ser necessária a conversão de valores decimais para binário e vice-versa, decimal para hexadecimal e vice-versa, binário para hexadecimal e vice-versa. A maior parte destas funções está presente na livraria de desenvolvimento MSDN fornecida em conjunto com o Visual Studio 6.0 no qual está presente o Visual Basic 6.0 tendo o inconveniente de a maior parte das funções serem encontradas se for conhecida a sua designação e finalidade, daí a pesquisa por módulos já existentes. A componente de código do DFT (Direct Fourier Transform) foi obtida na Internet através da análise do código de uma função de um projecto de um osciloscópio digital, desenvolvido numa outra faculdade. O link pode ser encontrado nas referências. Actualmente a análise da DFT só é executada no canal a ser amostrado de momento. O analisador lógico, apresentado na figura da direita, lista a amostragem a ser efectuada na PIC, 16 bits de cada vez. A amostragem está a ser feita a 16 bits, por pedido da aplicação no PC. De momento a FIFO ainda não foi implementada, limitando o funcionamento do analisador lógico. Taxa de amostragem seguida Hz, até 512 amostras guardadas no buffer interno. Taxa de amostragem por pedido de interrupção de USB encontra-se nos 75Hz devido ao tempo de pedidos de dados por parte da aplicação no PC. Análise da interface USB na PIC indica que é possível atingir taxas de amostragem e taxas de transferências elevadas. 67

68 A PIC têm capacidade de enviar dados pela interface USB a cada milissegundo, possui 16 canais ( endpoints ), cada um com 64bytes por transferência, totalizando cerca de 1024 KBytes por segundo de transferência máxima, ou 8Mbits por segundo. Taxa de amostragem perto de 1MHz é teoricamente possível (em tempo real), embora com utilização da FIFO possa atingir os 66Mhz. 68

69 6 - Placa Programadora Programador JDM Na figura seguinte é apresentado o programador. As tensões da porta série não possibilitam a programação directa da PIC. Para se programar uma PIC precisa-se Ground, +5V para alimentação e +12.5V para o sinal de programação. A norma RS232 indica que o valor lógico 0 está entre -3V a -25V (normalmente a -12V) e o valor lógico 1 está entre +3V a +25V (normalmente a +12V). A norma RS232 estabelece como valores válidos para o valor lógico 0 o intervalo de -8V a -12V e para o valor lógico 1 o intervalo de +8V a +12V. Na maioria dos PC s as tensões dos sinais andam perto de -8V e +8V. Figura 17 Programador JDM em schematic 69

70 Para se conseguir obter +12.5V de tensão de programação, cria-se uma massa de alimentação da PIC que está a -5V relativamente ao Ground da porta série. Desta forma o Ground da porta série está a +5V do Ground da PIC, servindo ela como alimentação para a mesma. O condensador de 22uF carrega-se relativamente à queda de tensão dos 2 diodos 1N 4148 (à direita) estabilizando-se no zener 5v1, servindo de fonte de alimentação +5V. O condensador de 100uF carrega-se relativamente à queda de tensão do diodo 1N 4148 (à esquerda) e do transístor 2N 3904 (à esquerda) estabilizando-se na série dos zener 5v1 e 8v2 a cerca de 13V. Esta tensão é utilizada para programação da PIC. Os sinais dos restantes pinos podem ser obtidos directamente da porta série do PC, sendo estes os Data e Clock, obtidos respectivamente do CTS, DTR e RTS. Este método é utilizado normalmente nos programadores de alimentação por porta série, não tendo muito sucesso devido ás características de temporização e consumo de Vpp da PIC, sendo neste desenho já compensado da maneira descrita acima. Frisa-se que este programador só funciona correctamente com um software de programação preparado para ele. ICPROG 1.4 não funciona. Winpic800 funciona Construção Figura 18 Programador JDM em PCB O software escolhido para desenvolver esta placa circuito impresso foi o Eagle da Cadsoft, versão Este programador suporta PIC s de 40, 28,18 e 8 pinos. A figura acima mostra o PCB enquanto a figura seguinte mostra o esquemático. 70

71 6.3 Utilização Figura 19 Programador em schematic completo Na utilização deste programador convém ter em conta algumas medidas a serem executadas, de modo a não danificar o programador, a PIC ou a porta série do PC. Referem-se as seguintes: Colocar a PIC no programador, estando ele desconectado de tudo. 1º. Colocar a PIC no programador, estando ele desconectado de tudo. 2º. Ligar o cabo série, ou o programador à porta série do PC. 3º. Programar, ler, etc (Descrito na parte do software, mais abaixo). 4º. Desligar o cabo série, ou o programador da porta série do PC. 5º. Remover a PIC do programador. 71

72 6.4 Software Foi escolhido o Winpic800 como software para programar em conjunto com este programador. O facto de ser grátis, de utilização intuitiva e bastante compatível com este programador levou à sua preferência. Nas figuras seguintes demonstra-se o procedimento para programar um ficheiro compilado no formato hexadecimal (*.hex) que será descarregado para a PIC. Figura 20 Palabras de configuração Na figura acima, estão apresentadas as palavras de configuração do ficheiro hex compilado. Estas servem para determinar a configuração do hardware onde será descarregado, desde frequência de operação a definições de timer s, programação de baixa voltagem, AD s internos, entre outros. A próxima figura mostra o código em blocos hexadecimais, código esse que será descarregado na PIC. 72

73 Figura 21 Interface principal WinPic800 Os procedimentos para descarregar um ficheiro compilado para uma PIC através do programador, estão descritos nas figuras seguintes. 1º. Iniciar aplicação Winpic800. Ao iniciar, o programador deve estar com a PIC já inserida. A aplicação tenta fazer a auto-detecção do modelo da PIC. Se tiver sucesso, o modelo será indicado, como na figura seguinte. Caso falhe a detecção, será indicado como Desconhecido. Figura 22 Detecção de pic no WinPic800 73

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

Redes Locais. Prof. Luiz Carlos B. Caixeta Ferreira

Redes Locais. Prof. Luiz Carlos B. Caixeta Ferreira Redes Locais. Prof. Luiz Carlos B. Caixeta Ferreira 2. Padrões de Redes Locais 2.1 - Criação da Ethernet 2.2 - Padrões IEEE 802.x 2.3 - Especificações 802.3 2.4 - Token Bus 2.5 - Token Ring 2.1 - Criação

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES Rede é um conjunto de módulos processadores capazes de trocar informações e compartilhar recursos. O tipo de rede é definido pela sua área de abrangência, podemos classificar as redes

Leia mais

Largura de banda e Throughput (Tanenbaum,, 2.1.2)

Largura de banda e Throughput (Tanenbaum,, 2.1.2) Largura de banda e Throughput (Tanenbaum,, 2.1.2) A largura de banda,, em termos gerais, indica a quantidade máxima de dados que podem trafegar no meio em um determinado momento. É medida em bps (bits

Leia mais

Claudivan C. Lopes claudivan@ifpb.edu.br

Claudivan C. Lopes claudivan@ifpb.edu.br Claudivan C. Lopes claudivan@ifpb.edu.br Sobre a arquitetura Ethernet Camadas da arquitetura Ethernet Topologias para redes Ethernet IFPB/Patos - Prof. Claudivan 2 É a arquitetura mais comum em redes locais

Leia mais

Tecnologia e Infraestrutura. Conceitos de Redes

Tecnologia e Infraestrutura. Conceitos de Redes Tecnologia e Infraestrutura Conceitos de Redes Agenda Introdução às Tecnologias de Redes: a) Conceitos de redes (LAN, MAN e WAN); b) Dispositivos (Hub, Switch e Roteador). Conceitos e tipos de Mídias de

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES Rede é um conjunto de módulos processadores capazes de trocar informações e compartilhar recursos. O tipo de rede é definido pela sua área de abrangência, podemos classificar as redes

Leia mais

QUANDO TRATAMOS SOBRE MEIOS DE TRANSMISSÃO, DEVEMOS ENFATIZAR A EXISTÊNCIA DE DOIS TIPOS DESSES MEIOS, SENDO:

QUANDO TRATAMOS SOBRE MEIOS DE TRANSMISSÃO, DEVEMOS ENFATIZAR A EXISTÊNCIA DE DOIS TIPOS DESSES MEIOS, SENDO: CABEAMENTO DE REDE QUANDO TRATAMOS SOBRE MEIOS DE TRANSMISSÃO, DEVEMOS ENFATIZAR A EXISTÊNCIA DE DOIS TIPOS DESSES MEIOS, SENDO: MEIO FÍSICO: CABOS COAXIAIS, FIBRA ÓPTICA, PAR TRANÇADO MEIO NÃO-FÍSICO:

Leia mais

Professor: Gládston Duarte

Professor: Gládston Duarte Professor: Gládston Duarte INFRAESTRUTURA FÍSICA DE REDES DE COMPUTADORES Computador Instalação e configuração de Sistemas Operacionais Windows e Linux Arquiteturas físicas e lógicas de redes de computadores

Leia mais

Módulo 7 Tecnologia da Ethernet

Módulo 7 Tecnologia da Ethernet CCNA 1 Conceitos Básicos de Redes Módulo 7 Tecnologia da Ethernet Ethernet a 10 e 100 Mbps Tipos de Ethernet Todas as verões da Ethernet têm: Endereçamento MAC. Formato das tramas idêntico. Utilizam o

Leia mais

REDES ETHERNET. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Redes de Comunicação 10º Ano

REDES ETHERNET. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Redes de Comunicação 10º Ano REDES ETHERNET Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos Redes de Comunicação 10º Ano Nome: Marcelo Filipe Rocha Assunção 2013/2014 ÍNDICE Introdução... 2 Arquitetura

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

REDES DE COMPUTADORES

REDES DE COMPUTADORES Conteúdo 1 Topologia de Redes 5 Escalas 5 Topologia em LAN s e MAN s 6 Topologia em WAN s 6 2 Meio Físico 7 Cabo Coaxial 7 Par Trançado 7 Fibra Óptica 7 Conectores 8 Conector RJ45 ( Par trançado ) 9 Conectores

Leia mais

UTP ( PAR TRANÇADO SEM PROTEÇÃO)

UTP ( PAR TRANÇADO SEM PROTEÇÃO) Par Trançado UTP ( PAR TRANÇADO SEM PROTEÇÃO) O cabo UTP é composto por pares de fios, sendo que cada par é isolado um do outro e todos são trançados juntos dentro de uma cobertura externa, que não possui

Leia mais

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

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

Leia mais

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

Claudivan C. Lopes claudivan@ifpb.edu.br

Claudivan C. Lopes claudivan@ifpb.edu.br Claudivan C. Lopes claudivan@ifpb.edu.br Arquitetura Token Ring Arquitetura FDDI IFPB/Patos - Prof. Claudivan 2 Usada em redes que possuem computadores de grande porte da IBM Opera nas camadas 1 e 2 do

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

TRABALHO SOBRE ETHERNET

TRABALHO SOBRE ETHERNET TRABALHO SOBRE ETHERNET Centro de Formação de Alcoitão UFCD 0831 Topologias de redes Ethernet Formador(a): Daniela Azevedo Formandos: António Rocha, Célia Silva e Rui Bárcia Índice Introdução Características

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

FACULDADE PITÁGORAS. Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br

FACULDADE PITÁGORAS. Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br FACULDADE PITÁGORAS DISCIPLINA FUNDAMENTOS DE REDES REDES DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Material elaborado com base nas apresentações

Leia mais

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet: Comunicação em uma rede Ethernet A comunicação em uma rede local comutada ocorre de três formas: unicast, broadcast e multicast: -Unicast: Comunicação na qual um quadro é enviado de um host e endereçado

Leia mais

INTRODUÇÃO BARRAMENTO PCI EXPRESS.

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

Leia mais

ESCOLA SECUNDÁRIA C/ 3º CICLO DE MANUEL DA FONSECA, SANTIAGO DO CACÉM

ESCOLA SECUNDÁRIA C/ 3º CICLO DE MANUEL DA FONSECA, SANTIAGO DO CACÉM ANO: 11º Redes de Comunicação ANO LECTIVO: 2008/2009 p.1/8 Componentes de um sistema de comunicações; Sistemas Simplex, Half-Duplex e Full- Duplex; Transmissão de sinais analógicos e digitais; Técnicas

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES Rede é um conjunto de módulos processadores capazes de trocar informações e compartilhar recursos. O tipo de rede é definido pela sua área de abrangência, podemos classificar as redes

Leia mais

Meios Físicos de Transmissão

Meios Físicos de Transmissão Meios Físicos de Transmissão O meios de transmissão diferem com relação à banda passante, potencial para conexão ponto a ponto ou multiponto, limitação geográfica devido à atenuação característica do meio,

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

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

REDE DE COMPUTADORES

REDE DE COMPUTADORES REDE DE COMPUTADORES Tipos de classificação das redes de acordo com sua topologia Prof. Airton Ribeiro de Sousa E-mail: airton.ribeiros@gmail.com 1 Ao longo da historia das redes, varias topologias foram

Leia mais

Curso Técnico em Redes de Computadores NORMAS PADRÕES E PROTOCOLOS

Curso Técnico em Redes de Computadores NORMAS PADRÕES E PROTOCOLOS Curso Técnico em Redes de Computadores NORMAS PADRÕES E PROTOCOLOS CONCEITUAÇÃO Norma Prática tornada obrigatória por entidades técnicas e/ou regulamentadoras. Padrão Prática recomendada e de ampla aceitação

Leia mais

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

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

Leia mais

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

Ethernet. Romildo Martins Bezerra CEFET/BA Redes de Computadores II

Ethernet. Romildo Martins Bezerra CEFET/BA Redes de Computadores II Ethernet Romildo Martins Bezerra CEFET/BA Redes de Computadores II Ethernet... 1 Por que rede?... 2 Ethernet... 2 A subcamada MAC... 3 Frame... 4 Endereçamento... 4 Camada Física... 4 Pesquise... 5 Temas

Leia mais

Protocolos de Redes Revisão para AV I

Protocolos de Redes Revisão para AV I Protocolos de Redes Revisão para AV I 01 Aula Fundamentos de Protocolos Conceituar protocolo de rede; Objetivos Compreender a necessidade de um protocolo de rede em uma arquitetura de transmissão entre

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

Módulo 5 Cablagem para LANs e WANs

Módulo 5 Cablagem para LANs e WANs CCNA 1 Conceitos Básicos de Redes Módulo 5 Cablagem para LANs e WANs Cablagem de LANs Nível Físico de uma Redes Local Uma rede de computadores pode ser montada utilizando vários tipos de meios físicos.

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

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

09/06/2011. Profª: Luciana Balieiro Cosme

09/06/2011. Profª: Luciana Balieiro Cosme Profª: Luciana Balieiro Cosme Revisão dos conceitos gerais Classificação de redes de computadores Visão geral sobre topologias Topologias Barramento Anel Estrela Hibridas Árvore Introdução aos protocolos

Leia mais

Redes de Computadores I Conceitos Básicos

Redes de Computadores I Conceitos Básicos Redes de Computadores I Conceitos Básicos (9 a. Semana de Aula) Prof. Luís Rodrigo lrodrigo@lncc.br http://lrodrigo.lncc.br 2011.02 v1 2011.10.05 (baseado no material de Jim Kurose e outros) Protocolos

Leia mais

REDE EM BARRENTO UTILIZANDO O MÉTODO DE ACESSO CSMA-CD ETHERNET

REDE EM BARRENTO UTILIZANDO O MÉTODO DE ACESSO CSMA-CD ETHERNET REDE EM BARRENTO UTILIZANDO O MÉTODO DE ACESSO CSMA-CD ETHERNET HISTÓRICO 1973, XEROX INICIALIZOU O DESENVOLVIMENTO DE UM REDE LOCAL DE TOPOLOGIA DE BARRAMENTO NO XEROX PALO ALTO RESEARCH CENTER (PARC);

Leia mais

Prof. Samuel Henrique Bucke Brito

Prof. Samuel Henrique Bucke Brito - Metro-Ethernet (Carrier Ethernet) www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito - Ethernet na LAN www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique

Leia mais

Conheça melhor os equipamentos de Rede de Computadores

Conheça melhor os equipamentos de Rede de Computadores Conheça melhor os equipamentos de Rede de Computadores Organização Diego M. Rodrigues (diego@drsolutions.com.br) 1. Introdução Com o intuito de auxiliar clientes da drsolutions na compra de equipamentos

Leia mais

Universidade de Brasília

Universidade de Brasília Universidade de Brasília Introdução a Microinformática Turma H Redes e Internet Giordane Lima Porque ligar computadores em Rede? Compartilhamento de arquivos; Compartilhamento de periféricos; Mensagens

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

19/07/2013. Camadas. Camadas de Enlace e Física. Camadas de Enlace e Física. Topologias de Rede NOÇÕES DE REDE: CAMADAS DE ENLACE E FÍSICA

19/07/2013. Camadas. Camadas de Enlace e Física. Camadas de Enlace e Física. Topologias de Rede NOÇÕES DE REDE: CAMADAS DE ENLACE E FÍSICA 2 Camadas NOÇÕES DE REDE: CAMADAS DE ENLACE E FÍSICA Introdução à Microinformática Prof. João Paulo Lima Universidade Federal Rural de Pernambuco Departamento de Estatística e Informática Aplicação Transporte

Leia mais

Rede de Computadores

Rede de Computadores Escola de Ciências e Tecnologia UFRN Rede de Computadores Prof. Aquiles Burlamaqui Nélio Cacho Luiz Eduardo Eduardo Aranha ECT1103 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre desligado/silencioso

Leia mais

Protocolo Ethernet e Dispositivos de Interconexão de LANs

Protocolo Ethernet e Dispositivos de Interconexão de LANs Protocolo Ethernet e Dispositivos de Interconexão de LANs Prof. Rafael Guimarães Redes de Alta Velocidade Tópico 4 - Aula 1 Tópico 4 - Aula 1 Rafael Guimarães 1 / 31 Sumário Sumário 1 Motivação 2 Objetivos

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

Padrões de Rede 15/02/2014. Padrões de rede. Padrão Ethernet IEEE 802.3 802.3

Padrões de Rede 15/02/2014. Padrões de rede. Padrão Ethernet IEEE 802.3 802.3 Padrões de Rede Fundamentos de Redes de Computadores Prof. Marcel Santos Silva Padrões de rede Existem diversos padrões Ethernet, que são utilizados pela maioria das tecnologias de rede local em uso. Definem

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Cabeamento Fabricio Breve Um dos primeiros tipos de cabos utilizados em rede Possui dois fios, sendo um uma malha que envolve o cabo em toda a sua extensão Essa malha funciona como

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

Cap 01 - Conceitos Básicos de Rede (Kurose)

Cap 01 - Conceitos Básicos de Rede (Kurose) Cap 01 - Conceitos Básicos de Rede (Kurose) 1. Quais são os tipos de redes de computadores e qual a motivação para estudá-las separadamente? Lan (Local Area Networks) MANs(Metropolitan Area Networks) WANs(Wide

Leia mais

RCO2. Redes Locais (LANs): Arquitetura IEEE 802

RCO2. Redes Locais (LANs): Arquitetura IEEE 802 RCO2 Redes Locais (LANs): 1 Conjunto de padrões no escopo das camadas de enlace e física 2 Exemplos de padrões partes da arquitetura IEEE 802: 3 Alguns padrões da família IEEE 802: 802.2 LLC 802.3 Equivalente

Leia mais

Prof. Wilton O. Ferreira Universidade Federal Rural de Pernambuco UFRPE 1º Semestre / 2012

Prof. Wilton O. Ferreira Universidade Federal Rural de Pernambuco UFRPE 1º Semestre / 2012 Prof. Wilton O. Ferreira Universidade Federal Rural de Pernambuco UFRPE 1º Semestre / 2012 As redes de computadores possibilitam que indivíduos possam trabalhar em equipes, compartilhando informações,

Leia mais

TOPOLOGIAS. Em redes de computadores modernos a transmissão de dados não ocorre através de bits contínuos.

TOPOLOGIAS. Em redes de computadores modernos a transmissão de dados não ocorre através de bits contínuos. TOPOLOGIAS Fundamentos de Redes Prof. Marcel Santos Silva Pacotes Em redes de computadores modernos a transmissão de dados não ocorre através de bits contínuos. Os dados são divididos em pequenos blocos

Leia mais

Placa de Rede. Rede de Computadores. Tipos de Redes LAN (Local Area Network) Rede local. Placa de Rede

Placa de Rede. Rede de Computadores. Tipos de Redes LAN (Local Area Network) Rede local. Placa de Rede Rede de Computadores 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 nos

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

O Padrão Ethernet. Prof. José Gonçalves Pereira Filho Departamento de Informática/UFES zegonc@inf.ufes.br

O Padrão Ethernet. Prof. José Gonçalves Pereira Filho Departamento de Informática/UFES zegonc@inf.ufes.br O Padrão Ethernet Prof. José Gonçalves Pereira Filho Departamento de Informática/UFES zegonc@inf.ufes.br Origens O início do desenvolvimento da tecnologia Ethernet ocorreu nos laboratórios da Xerox PARC,

Leia mais

5 Entrada e Saída de Dados:

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

Leia mais

Fernando Albuquerque - fernando@cic.unb.br REDES LAN - WAN. Fernando Albuquerque (061) 273-3589 fernando@cic.unb.br

Fernando Albuquerque - fernando@cic.unb.br REDES LAN - WAN. Fernando Albuquerque (061) 273-3589 fernando@cic.unb.br REDES LAN - WAN Fernando Albuquerque (061) 273-3589 fernando@cic.unb.br Tópicos Modelos Protocolos OSI e TCP/IP Tipos de redes Redes locais Redes grande abrangência Redes metropolitanas Componentes Repetidores

Leia mais

Aula 04 B. Interfaces. Prof. Ricardo Palma

Aula 04 B. Interfaces. Prof. Ricardo Palma Aula 04 B Interfaces Prof. Ricardo Palma Interface SCSI SCSI é a sigla de Small Computer System Interface. A tecnologia SCSI (pronuncia-se "scuzzy") permite que você conecte uma larga gama de periféricos,

Leia mais

Ethernet. Fast Ethernet

Ethernet. Fast Ethernet Ethernet Desenho feito por Robert Metcalfe em 1973 no centro de pesquisas da Xerox. Fast Ethernet Padrão IEEE 802.3u 1995 Switches com função: Full duplex / Controle de Fluxo (802.3x) Virtual LAN (VLAN)

Leia mais

Voltar. Placas de rede

Voltar. Placas de rede Voltar Placas de rede A placa de rede é o dispositivo de hardware responsável por envio e recebimento de pacotes de dados e pela comunicação do computador com a rede. Existem placas de rede on-board(que

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

Nway Switch 8 Portas Manual do Usuário

Nway Switch 8 Portas Manual do Usuário P R E F Á C I O Este é um produto da marca GTS Network, que está sempre comprometida com o desenvolvimento de soluções inovadoras e de alta qualidade. Este manual descreve, objetivamente, como instalar

Leia mais

Módulo 8 Ethernet Switching

Módulo 8 Ethernet Switching CCNA 1 Conceitos Básicos de Redes Módulo 8 Ethernet Switching Comutação Ethernet 2 Segmentação de Redes Numa Ethernet o meio de transmissão é compartilhado Só um nó pode transmitir de cada vez. O aumento

Leia mais

Placas Adaptadoras e montagem de Redes

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

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Teoria e Prática Douglas Rocha Mendes Novatec Sumário Agradecimentos...15 Sobre o autor...15 Prefácio...16 Capítulo 1 Introdução às Redes de Computadores...17 1.1 Introdução... 17

Leia mais

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede Interconexão de redes locais Existência de diferentes padrões de rede necessidade de conectá-los Interconexão pode ocorrer em diferentes âmbitos LAN-LAN LAN: gerente de um determinado setor de uma empresa

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Curso de Tecnologia em Redes de Computadores Disciplina: Redes I Fundamentos - 1º Período Professor: José Maurício S. Pinheiro AULA 6: Switching Uma rede corporativa

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

Um Driver NDIS Para Interceptação de Datagramas IP

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

Leia mais

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

Roteamento e Comutação

Roteamento e Comutação Roteamento e Comutação Design de Rede Local Design Hierárquico Este design envolve a divisão da rede em camadas discretas. Cada camada fornece funções específicas que definem sua função dentro da rede

Leia mais

Centro Federal de Educação Tecnológica CEFET/BA

Centro Federal de Educação Tecnológica CEFET/BA Centro Federal de Educação Tecnológica CEFET/BA Disciplina: Redes de Computadores Prof.: Rafael Freitas Reale Aluno: Data / / Prova Final de Redes Teoria Base 1) Qual o tipo de ligação e a topologia respectivamente

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

FIREWIRE. O logotipo padronizado: Suas principais vantagens:

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

Leia mais

Modelos de Camadas. Professor Leonardo Larback

Modelos de Camadas. Professor Leonardo Larback Modelos de Camadas Professor Leonardo Larback Modelo OSI Quando surgiram, as redes de computadores eram, em sua totalidade, proprietárias, isto é, uma determinada tecnologia era suportada apenas por seu

Leia mais

Comunicações por Computador

Comunicações por Computador Comunicações por Computador António Nabais Grupo de Sistemas e Tecnologias de Informação Escola Superior de Tecnologia Instituto Politécnico do Cávado e do Ave anabais@ipca.pt 2006/2007 Componentes de

Leia mais

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE 1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)

Leia mais

Placas e Ferramentas de Rede. Prof. Alexandre Beletti Ferreira

Placas e Ferramentas de Rede. Prof. Alexandre Beletti Ferreira Placas e Ferramentas de Rede Prof. Alexandre Beletti Ferreira Introdução Dada a necessidade de comunicação entre os computadores em uma mesma rede para troca de arquivos, ou ainda para facilitar em processos

Leia mais

Introdução. Placas e Ferramentas de Rede. Exemplos. Surgimento. Estrutura Física - Placas

Introdução. Placas e Ferramentas de Rede. Exemplos. Surgimento. Estrutura Física - Placas Introdução Placas e Ferramentas de Rede Prof. Alexandre Beletti Ferreira Dada a necessidade de comunicação entre os computadores em uma mesma rede para troca de arquivos, ou ainda para facilitar em processos

Leia mais

Tecnologia da Informação e Comunicação. Euber Chaia Cotta e Silva

Tecnologia da Informação e Comunicação. Euber Chaia Cotta e Silva Tecnologia da Informação e Comunicação Euber Chaia Cotta e Silva Redes e a Internet Conceitos Básicos 01 Para que você possa entender o que é e como funciona a Internet é necessário primeiro compreender...

Leia mais

Redes de Dados e Comunicações. Prof.: Fernando Ascani

Redes de Dados e Comunicações. Prof.: Fernando Ascani Redes de Dados e Comunicações Prof.: Fernando Ascani Conceito de Redes Redes de computadores são estruturas físicas (equipamentos) e lógicas (programas, protocolos) que permitem que dois ou mais computadores

Leia mais

switches LAN (rede de comunicação local)

switches LAN (rede de comunicação local) O funcionamento básico de uma rede depende de: nós (computadores) um meio de conexão (com ou sem fios) equipamento de rede especializado, como roteadores ou hubs. Todas estas peças trabalham conjuntamente

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

Redes Locais. Prof. Luiz Carlos B. Caixeta Ferreira

Redes Locais. Prof. Luiz Carlos B. Caixeta Ferreira Redes Locais. Prof. Luiz Carlos B. Caixeta Ferreira 5. Ethernet 5.1 Introdução 5.2 LLC (Logical Link Control) 5.3 MAC (Media Access Control) 5.4 Sistemas de Endereçamento 5.5 Quadros Ethernet 5.6 Codificação

Leia mais

Redes Ethernet. Padrão IEEE 802.3

Redes Ethernet. Padrão IEEE 802.3 Padrão IEEE 802.3 Redes Ethernet Desenvolvido pela Xerox, Digital e Intel em meados de 1972 Largura de banda de 3 Mbps, utilizando cabo coaxial É a Rede Local mais antiga e popular da atualidade Utiliza

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES Placas de Rede Modems Hubs e switches Router Prof. Hugo Rosa PLACAS DE REDE As placas de rede são periféricos de entrada e saída e são utilizadas para interligar um computador a uma

Leia mais

Módulo 6 Conceitos Básicos sobre Ethernet

Módulo 6 Conceitos Básicos sobre Ethernet CCNA 1 Conceitos Básicos de Redes Módulo 6 Conceitos Básicos sobre Ethernet Fundamentos de Ethernet Introdução à Ethernet A maior parte do tráfego da Internet tem origem em ligações Ethernet. Razões do

Leia mais

Prof. Samuel Henrique Bucke Brito

Prof. Samuel Henrique Bucke Brito - Anéis Ópticos em Backbone www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito Introdução Em 1980 foi formado o grupo de trabalho ANSI X3T9.5 com a finalidade de desenvolver

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

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 2 - MODELO DE REFERÊNCIA TCP (RM TCP) 1. INTRODUÇÃO O modelo de referência TCP, foi muito usado pela rede ARPANET, e atualmente usado pela sua sucessora, a Internet Mundial. A ARPANET é de grande

Leia mais