Seleção de chip controlador para desenvolvimento de dispositivo habilitado para USB (Parte 6/6)

Nesta série, todos os detalhes possíveis sobre o sistema USB, incluindo sua arquitetura, protocolos, solicitações e descritores, bem como sinalização e codificação, já foram discutidos. Empacotando as sériesseleção do chip controlador para o desenvolvimento de um dispositivo habilitado para USB é discutido aqui.

Ao desenvolver um dispositivo personalizado habilitado para USB, um chip controlador precisa ser selecionado. A seleção do chip depende de vários fatores de forma como:

• Facilidade de disponibilidade

• Custo

• Funções suportadas

• Facilidade de Desenvolvimento – Código de Amostra, Ferramentas de Desenvolvimento, Software de Driver Host, Linguagem de Programação

Componentes do controlador USB

Para funcionar como um dispositivo USB, o chip controlador possui os seguintes blocos de construção -:

• Transceptor USB

• Mecanismo de Interface Serial (SEI)

• Buffers para armazenar dados USB

Registre-se para armazenar informações de configuração, status e controle para comunicação USB

Transceptor USB: Ele fornece interface de hardware entre o conector USB do dispositivo e o circuito que controla a comunicação USB. Normalmente, o transceptor está presente no mesmo chip controlador, mas às vezes é usado um transceptor externo.

Mecanismo de interface serial: É uma unidade intermediária que cuida da transmissão e recepção dos pacotes. A unidade não verifica nem manipula os dados, apenas envia os dados fornecidos pelo chip controlador ou armazena os dados recebidos. As funções típicas do mecanismo de interface serial são:

• Enviar pacotes

• Detectar pacotes recebidos

• Detectar e gerar sinais SOP (Início do Pacote), EOP (Fim do Pacote), Redefinir e Retomar

• Codifique e decodifique os dados no formato necessário. Geralmente, NRZI (Non Return to Zero Inverted) com preenchimento de bits

• Verifique e gere valores CRC

Buffers: Eles são usados ​​para armazenar dados recebidos ou dados que precisam ser transmitidos. Em alguns controladores, uma parte da memória de dados é reservada para buffers enquanto em outros registros são usados. Os buffers funcionam na ordem FIFO (Primeiro a entrar, primeiro a sair). Os controladores nos quais os buffers estão localizados na memória de dados, os dados são lidos/gravados do endereço mais baixo para o endereço mais alto. Alguns chips controladores possuem dois buffers paralelos para permitir transferências mais rápidas. Por exemplo, quando o primeiro buffer está transmitindo dados, o segundo buffer pode conter o próximo bloco de dados a ser transmitido. Na recepção, enquanto o firmware processa os dados do primeiro buffer, o segundo buffer pode conter o próximo bloco de dados recebidos. Alguns controladores suportam quatro buffers.

Informações de configuração, status e controle: Os chips controladores USB possuem registros embutidos para armazenar informações. Esses registros são usados ​​principalmente para armazenar informações relacionadas a -:

• Número de bytes recebidos

• Número de bytes prontos para transmitir

• Suspender status de estado

• Quais endpoints estão habilitados

• Erro ao verificar informações

Relógio: O chip controlador precisa de sinal de clock para comunicação USB. As fontes de relógio podem ser Oscilador de Cristal, Ressonador Cerâmico ou Relógio On-Chip

Requisitos do dispositivo USB

Vários fatores precisam ser considerados durante a seleção de um chip controlador -:

Velocidade de comunicação de dados

Um USB pode suportar três modos de velocidade diferentes – baixa, alta e completa. Alguns chips controladores suportam apenas baixa velocidade, alguns suportam baixa e alta, enquanto outros suportam todos os modos de velocidade. A seleção do chip controlador deve ser feita de acordo com a taxa de transferência de dados necessária. Em projetos onde apenas baixa velocidade é necessária, a inclusão desnecessária de controladores completos ou de alta velocidade adicionará custos excedentes ao dispositivo. Além disso, os componentes do circuito e a fabricação de controladores completos e de alta velocidade são caros.

Comprimento do cabo

Para dispositivos de baixa velocidade, o comprimento do cabo não pode ultrapassar três metros, enquanto os cabos completos e de alta velocidade podem ter até cinco metros de comprimento.

Energia consumida

Um dispositivo periférico pode consumir uma corrente máxima de 500mA em USB2.0, enquanto em USB3.0 pode consumir até 900mA de corrente. Nos casos em que o requisito de corrente excede o padrão USB, é necessária uma fonte de alimentação externa.

Tipos de transferência

Todos os chips controladores USB suportam transferência de controle. Os outros tipos de transferência (Isócrona, Interrupção e Em Massa) possuem aplicações específicas. O chip controlador pode suportar todos os tipos de transferência. O chip controlador deve ser selecionado dependendo do tipo de transferência necessário para cumprir a finalidade do dispositivo. Por exemplo, um mouse só precisa de transferência de interrupção além da transferência de controle. A seleção adequada do chip pode evitar custos adicionais.

Firmware

Alguns controladores armazenam firmware em sua memória flash ou EEPROM. Conseqüentemente, esses controladores fornecem a funcionalidade de remoção, atualização ou alteração do firmware conforme a necessidade. Embora alguns controladores tenham memória dedicada para manter o firmware que não pode ser facilmente apagado ou reescrito. Nesse caso, o chip controlador deverá ser substituído por outro sempre que for feita uma atualização de firmware.

Outras funcionalidades

Além de uma interface USB, um chip controlador pode fornecer outras funcionalidades como pinos GPIO (General Purpose Input Output), temporizadores, contadores, ADC (conversor analógico para digital), interrupções, SPI (Serial Peripheral Interface), TWI (Two Wire Serial Interface) e outros recursos do microcontrolador. A seleção de um chip controlador USB com o recurso extra pode eliminar a necessidade de IC ou componentes externos em um projeto.

Chips controladores comuns

Há uma grande variedade de controladores disponíveis que fornecem interface USB, bem como outros recursos. O uso de ASIC (Circuito Integrado de Aplicação Específica) também é uma opção para dispositivos específicos de aplicação, como mouse ou teclado. Alguns deles estão listados na tabela:

Outras funcionalidades

Controlador e CPU externa

Existem controladores USB disponíveis que podem ser interligados com CPU ou microcontrolador externo. A interface pode ser feita usando protocolos paralelos ou seriais. Isso significa que uma CPU ou microcontrolador obsoleto que não suporta USB pode receber uma interface USB usando um controlador USB. No final, o dispositivo conterá dois chips separados, um chip controlador USB e um chip CPU/Microcontrolador.

Usar dois chips separados pode adicionar custo ao dispositivo, enquanto usar um controlador USB com CPU incorporada como PIC18f4550 será menos dispendioso.

Alguns dos controladores USB que podem ser conectados a chips externos estão listados abaixo:

Controladores USB

O FT232BM é comumente usado para conversão de USB para RS232.

Isso completa a série USB. Agora é a hora de colocar a mão na massa e começar a implementar projetos usando interface e protocolos USB.

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.