Trabalho Prático Nº8 Aplicação USB

Documentos relacionados
Manual de Utilizador Placa DETIUA-S3

Trabalho Prático Nº3 Porta Paralela

Microprocessadores III

DESENVOLVIMENTO DE UM SISTEMA DE MEDIAO DE SINAIS DE SOLDAGEM - PARTE 2: CIRCUITO DE AQUISIÇÃO DE DADOS

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto

Trabalho Prático Nº6 Porta USB Processo de Enumeração

Trabalho Pesquisa I Arquitectura do PC Perspectiva CHIPSET

Sistemas Embarcados:

Medidor de resistências

Desenvolvimento de uma placa protótipo baseada numa FPGA

Hardware. 5- Faça o fluxograma para efectuar o debounced de uma tecla por temporização(20ms). Implemente uma rotina para a leitura da tecla.

Versão Portuguesa. Introdução. Conteúdo da embalagem. Especificações BT100. Especificações suplementares BT100 S W E E X. C O M

Versão Portuguesa. Introdução. Conteúdo da embalagem. Especificações. Especificações suplementares. BT200 - Sweex Bluetooth 2.0 Class II Adapter USB

Carga e Descarga do Condensador em C.C.

Técnico de Gestão e Programação de Sistemas Informáticos

USB Type-C para Adaptador de Série

Período Saulo O. D. Luiz

Utilização de dispositivos de hardware portáteis em criptografia

KIT DE DESENVOLVIMENTO 8051 BASEADO NO AT89S8252 MANUAL DO UTILIZADOR. Rui Marcelino (Nov. 2005)

0LFURSURFHVVDGRUHV,, 3URJUDPDH2UJDQL]DomRGD'LVFLSOLQD $QR/HFWLYR

ESCOLA SECUNDÁRIA DE MANUEL DA FONSECA Curso Profissional: Técnico de Gestão de Equipamentos Informáticos

Sistema Distríbuído de Medição de Grandezas

COMPETÊNCIAS A DESENVOLVER CONTEÚDOS Nº HORAS ESTRATÉGIAS RECURSOS AVALIAÇÃO. (30 x 45 ) Windows XP Office 2003 Internet Explorer

Sistemas Operativos I/O. Rui Maranhão

SICILIANO TECNOLOGIA

Versão Portuguesa. Introdução. Conteúdo da embalagem. Ligações. DS010 Sweex Multi Panel & Card Reader 53-in-1

Relatório Equipamento Externo

Interfaces Seriais. Disciplina de Microcontroladores. Prof. Rubão

Periféricos do PIC - Comparadores e UART

GUIA BÁSICO DE UTILIZAÇÃO E INSTALAÇÃO DO LINUX OUT OF THE BOX KIT MERCURIOIV

TinyOS. Saymon Castro de Souza. Orientador: Prof. Dr. José Gonçalves Pereira Filho

Switch de Matriz 4X4 HDMI 2.0, 4K/60Hz

SINAIS E SISTEMAS MECATRÓNICOS

Capítulo 14. Expandindo as portas de comunicação 8031 com a PPI Interface PPI 8255

SAM USB. Manual do usuário Revisão /06/ DMA Electronics 1

CONTROLE DE TRAÇÃO E DIREÇÃO DE UM VEÍCULO AUTÔNOMO NÃO TRIPULADO. Carla Real Amorim Cardoso Prof. Antônio Carlos Tavares - Orientador

Sistema Distribuído de Aquisição Remota de Grandezas Atmosféricas

Eletrônica Digital. Prof. Gilson Yukio Sato sato[at]utfpr[dot]edu[dot]br

Barramento ISA. Placas ISA de 8 bits: usam apenas 62 pinos

Guia de Instalação Rápida

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador

Microcontroladores e Interfaces

Ditec DMCS Manual para o uso do sistema de monitorização e controlo da porta

Exemplo da configuração de QoS dos 6000 Series Switch do nexo

Projecto de Sistemas Digitais 2006/2007

Planificação Anual da Disciplina de Sistemas Operativos - 12º 1PI

Sistemas de Entrada e Saída

Entrematic DMCS IP1660PT Manual para o uso do sistema de monitorização e controlo da porta. EL16 EL20 EL16R EL21

Circuitos Lógicos. Prof. Odilson Tadeu Valle

SEL-433 Aplicação de Microprocessadores I. Prof: Adilson Gonzaga

Aplicações Avançadas de Microprocessadores. Professor: Marco Shawn Meireles Machado

Sistemas Operacionais. Entrada/Saída

ELE Microprocessadores I

Programação em C Aplicações de Microprocessadores 2006/2007

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 15

Laboratórios Integrados II LECom (1 o ano)

INTRODUÇÃO: MICROCONTROLADORES

Arduino Lab 07 Leitura de temperatura e indicação em um display GLCD de

Sequência de passos de programação, gravação e configuração do kit DE0-Nano Altera.

Versão Portuguesa. Introdução. Conteúdo da embalagem. Especificações. PU003 Sweex 1 Port Parallel & 2 Port Serial PCI Card

Exemplo de projecto. Esquema de ligações

Aula 5: Introdução a Arquitetura do Microcontrolador 8051

Marcio Marcos Machado Junior. Professor orientador: Sérgio Stringari

Gerência de Dispositivos. Adão de Melo Neto

7. A linguagem robcomm

DRIVER DO ADS2000 PARA LABVIEW FOR WINDOWS 95

Microprocessadores II

Dr. Joaquim de Carvalho Figueira da Foz

Fundamentos de Sistemas Operativos

Exceeding Automation Limits. Instruções FDT/DTM

Plano da Unidade Curricular

Barramento USB. Trabalhos Práticos AM 2007/2008. Barramento USB. Objectivos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

O COMPUTADOR POR DENTRO

Manual de procedimentos de utilização da porta RS232 dos osciloscópios Tektronix para efeitos de registo de formas de onda

Uso do PIN-Pad USB com o SCOPE Versão 1.0

PROTÓTIPO DE SISTEMA DE CAPTURA DE DADOS MULTIPONTO WIRELESS PARA CONTROLE DE CONSUMO DE ÁGUA

Manual de Instalação Rápida do Cabo de Ligação de Dados DKU-5

07/06/2015. Outras características importantes em Microprocessadores/Microcontroladores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

SISTEMA CNC APLICADO À CARACTERIZAÇÃO DE ACOPLAMENTO INDUTIVO

Memórias. Memórias: Utilização:

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 10

Técnico de Gestão e Programação de Sistemas Informáticos

Microcontrolador 8051:


Arduino Básico: As versatilidades desta plataforma na prática

Microcontroladores e Microprocessadores

Barramentos: interface e temporização

REDES DE COMUNICAÇÃO DE DADOS 11.º ANO

4.6. UML Diagramas de componentes

Controlo de acesso a salas de alunos

Sistemas Digitais e Arquitectura de Computadores

Endereçamento. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Parte II Arquitetura. professorferlin.blogspot.com. professorferlin.blogspot.com. Sociedade Paranaense de Ensino e Informática

Arduino Lab 08 Banco de teste para memória RAM HM6116 de 16k

Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída

Mas afinal, qual é a diferenc?a entre Firmware, Driver e Software?

RESOLUÇÃO. Identifique todas as folhas! Não escreva nada fora dos rectângulos

Dr. Joaquim de Carvalho

Transcrição:

Trabalho Prático Nº8 Aplicação USB 1. OBJECTIVOS Saber implementar uma aplicação completa USB entre o dispositivo e o HOST Saber utilizar e configurar o módulo FTDI DLP-USB245M Figura 8.1 Módulo DLP-USB245M. 2. O MÓDULO DLP-USB245M O módulo DLP DLP-USB245M é um módulo de baixo custo que integra o dispositivo da FTDI FT245BM, que é um FIFO USB. Este dispositivo é ideal para implementação de interface USB entre uma aplicação externa e um PC. O módulo integra uma EEPROM 93C46 que possibilita a customização OEM da aplicação. O FTDI FT245BM, implementa uma FIFO de leitura e de escrita que resulta na prática num porto bidireccional de 8 bits de leitura e escrita com memória. O desenvolvimento da aplicação no PC (HOST) pode ser efectuada utilizando driver de COM virtual ou via driver em que a aplicação comunicação com o mesmo via DLL. No primeiro caso o PC vê o módulo com se fosse uma porta série, o software é escrito Microprocessadores III ano lectivo 2004/2005 Página 1 Trabalho Prático Nº8

como se tratasse de uma aplicação na porta série. No segundo caso é necessário conhecer as especificações das funções implementadas pela livraria dinâmica (DLL). O Dispositivo DLP-USB245M disponibiliza um método fácil e de baixo custo, para se efectuar a transmissão de dados entre um PC e um dispositivo via porto USB. As taxas e transferência podem chegar até 1 Megabit por segundo, sendo o método de FIFO uma mais valia para criar o interface com um microcontrolador, através das portas de IO. Através do ciclo de leitura e escrita representados nas figuras abaixo podemos ver que a recepção de dados pode ser iniciada a quando de uma transição negativa de RD# num estado baixo de RXF# Figura 8.2: Diagrama temporal de leitura de FT245BM Ao contrário no ciclo de escrita como podemos ver, a transmissão de dados pode ser iniciada a quando de transição positiva de WR para um estado baixo de TXE# Figura 8.3: Diagrama temporal de escrita de FT245BM. Microprocessadores III ano lectivo 2004/2005 Página 2 Trabalho Prático Nº8

3. APLICAÇÃO E O FTDI Para realizar a comunicação com qualquer dispositivo externo é necessário um API. Para a comunicação como dispositivo é utilizada uma DLL (Dynamic Link Library) disponibilizada pelo fabricante do FTDI http://www.ftdichip.com. A DLL é a FTD2XX.DLL, no nosso caso e dado estarmos a utilizar o C# é acedida através de uma outra DLL chamada AID.DLL. A incorporação desta DLL na aplicação permite de forma muito simples ler, escrever configurar o dispositivo que serve de interface USB. Figura 8.4 Diagrama de bloco que identifica as diversas fases do processo de comunicação entre a aplicação e o dispositivo USB Para se utilizar a DLL em C# em primeiro lugar cria-se um ficheiro com a classe USBAccess de extensão.cs chamado por exemplo USBInterop. Assim o ficheiro USBInterop.cs deverá conter o seguinte código: Microprocessadores III ano lectivo 2004/2005 Página 3 Trabalho Prático Nº8

using System; using System.Runtime.InteropServices; public class USBAccess { public static extern uint FT_ListDevices(); public static extern uint FT_Open(); public static extern uint FT_Close(); public static extern uint FT_Write([MarshalAs(UnmanagedType.LPArray)] byte[] p_data,ulong size); public static extern uint FT_GetStatus(ref ulong rxsize, ref ulong txsize); public static extern uint FT_SetBitMode(byte mask, byte enable); public static extern uint FT_Read([MarshalAs(UnmanagedType.LPArray)] byte[] p_data,ulong size); public static extern uint FT_EE_Read(ref ushort vid,ref ushort pid, ref ushort power); public static extern uint FT_EE_Program(ushort power); public static extern uint FT_EE_ProgramToDefault(); public static extern uint KCAN_Send(uint channel, uint id, uint dlc, [MarshalAs(UnmanagedType.LPArray)] byte[] p_data); public static extern uint KCAN_Receive(ref uint channel, ref uint id, ref uint dlc, [MarshalAs(UnmanagedType.LPArray)] byte[] p_data); public static extern uint KCAN_Init(uint baudraute); } Figura 8.5 Classe USBAccess para utilizar as funções da DLL Este código permite fazer a importação das funções que estão na DLL para utilizar o FTDI. Aquando da ligação deste dispositivo ao PC, o sistema operativo necessitará de o instalar e para tal é necessário ter também os drivers fornecidos pelo fabricante. Exceptuando o caso em que ligamos o dispositivo numa outra porta USB, após a primeira instalação não será necessário repeti-lo de novo. Também a quando da utilização é necessário executar três comandos referenciados na DLL para que o dispositivo possa ser usado. Em primeiro lugar deve-se listar os dispositivos ligados ao PC (este comando não é obrigatório ser usado quando apenas se pensa em ligar um FTDI ao PC). Para o fazer deve-se fazer utilizar o comando FT_ListDevices() que no nosso caso concreto será USBAccess.FT_ListDevices();. Em seguida dever-se-á iniciar o dispositivo com o comando FT_Open(). Microprocessadores III ano lectivo 2004/2005 Página 4 Trabalho Prático Nº8

E por ultimo deve-se definir quais as linhas de saída e de entrada do porto de dados do FTDI com o comando FT_SetBitMode(byte mask, byte enable). Ao encerar o programa também deve ser encerrado o dispositivo, através do comando FT_Close(). Figura 8.6 Gestor de dispositivos depois da instalação do módulo FTDI DLP-USB245M 4. TRABALHO i. Estudar o modo de funcionamento de cada dispositivo ii. Estabelecer as ligações entre o dispositivo e o módulo da FTDI iii. Escrever a aplicação GRUPO Nº GRUPO 1 GRUPO 2 GRUPO 3 GRUPO 4 GRUPO 5 DISPOSITIVO Conversor série de 12 bits ADC LTS1258 Conversor série de 12 bits DAC LTS1257 Programação de E2PROM série X24C04 Sensor de temperatura DS1620 Interface com microcontrolador para maximizar a velocidade de transferência (PIC16F84?) Microprocessadores III ano lectivo 2004/2005 Página 5 Trabalho Prático Nº8