Quanto mais barato, menor e menos componentes externos precisassem, melhor.
O AVR seria preferido, mas qualquer coisa com SDKs gratuitos é boa.
Quanto mais barato, menor e menos componentes externos precisassem, melhor.
O AVR seria preferido, mas qualquer coisa com SDKs gratuitos é boa.
Respostas:
A melhor maneira de encontrar esses microcontroladores seria em um local como o digikey. Aqui está a lista de todos os seus microcontroladores.
Use os filtros para escolher a Atmel como fabricante.
Em seguida, filtre para deixar a família AVR na lista.
E, finalmente, filtre por conectividade. Escolha todos os itens da lista que possuem "USB" ou "USB OTG". Mantenha pressionado CTRL
para escolher vários itens da lista.
No topo da minha cabeça, um dos mais simples seria o ATmega88U2. O U2 diz que é um ATmega88 comum com um controlador USB embutido.
O projeto V-USB fornece o software necessário para o dispositivo USB de baixa velocidade e com bitbang e está disponível sob GPLv2 ou licenças comerciais. Quanto ao hardware externo, o cristal de 12 MHz é recomendado, mas também deve funcionar com o oscilador RC. Ele também precisa de um divisor de tensão para configurar a velocidade lenta e, dependendo da tensão de operação do microcontrolador, pode ser necessário um par de diodos zener para limitar a tensão a D + e D-.
Com ele, o software USB funciona em microcontroladores tão pequenos quanto o ATtiny45, por exemplo. Dois outros microcontroladores populares para uso com a biblioteca são ATtiny2313 e ATmega8.
Outra biblioteca baseada em V-USB é o USBtiny . É GLP2 + e deve ser um pouco mais fácil de trabalhar. Ambos podem ser feitos para trabalhar com drivers libusb no GNU / Linux e Windows.
Se você estiver disposto a seguir a rota PIC: o PIC16F1455 possui apenas 14 pinos e pode fazer USB sem precisar de um cristal. Possui um oscilador interno de 48MHz calibrado e recupera o clock das linhas USB para garantir a sincronização.
O PIC18F14K50 é um chip simples e agradável, com USB embutido, IDE e compilador gratuitos, bons exemplos e baixo custo. Eu ensinei com sucesso uma turma do ensino médio para criar e programar esse kit legal https://www.tindie.com/shops/TAUTIC/pic18f14k50-usb-development-kit/ é um design de código aberto para que você possa obter os componentes e construa por menos. Mas você precisará ter um gerenciador de inicialização para programação USB instalado no PIC, portanto precisará de um programador se não comprar um chip pré-programado, como o produto da Tautic.com.
Outra alternativa para você é um EZ430-F2013 ou similar. Não é um AVR, mas uma TI MSP430. É pequeno e barato, com apenas o dispositivo de tamanho de chave USB necessário. Existem algumas opções de programação e, de longe, o melhor é o CodeComposer Studio v5 da TI . Está disponível para Windows e Linux e possui duas maneiras diferentes de usá-lo gratuitamente, incluindo uma opção de código limitado por tamanho (16 kB) especificamente para o MSP430. E a ferramenta Grace da CCS tornou o desenvolvimento para o MSP uma alegria quando eu o usei.
Take a look at the LUFA project, it's a software stack that supports many AVR microcontrollers (both low-end and high-end), with different capabilities depending on each of them. A plus is that it uses the commercial-friendly MIT license. The compatibility table is a good listing of devices with USB support in the AVR family.
The relatively new ARM Cortex-M0+ based Atmel SAM D also include USB embedded host (D21 family) and USB device capabilities (D11 and D21 families), at very competitive prices.
A lot of information is available at their site:
http://www.atmel.com/products/microcontrollers/arm/sam-d.aspx
Full disclaimer: I am not affiliated to Atmel by any means.
Atmel XMEGA is AVR based, and if you can get past the fact that they are only available in surface mount, they are zero external component for USB and run up to 32MHz.
At90usb162 is good. it has a hardware usb in it and runs at 16Mhz (external crystal ) and it is about 4$
8-bit processors have few benefits over 32-bit nowadays, compare PIC/AVR and NXP/STM(ARM Cortex) performance and price. In my last project I used LPC1343(NXP) with USB - Virtual COM application. Most manufacturers are now offering free IDEs and example code.