Modo host USB en la unidad de usuario, para admitir un pequeño conjunto predefinido de dispositivos USB

6

Aparentemente, una de las razones principales por las que la mayoría de los uC de 8 bits / 16 bits no son compatibles con el modo de host USB es el proceso bastante costoso llamado "enumeración". Según mi investigación, este paso parece ser necesario cuando el host debe identificar la clase de dispositivo conectado a él, identificar un proveedor / dispositivo específico y luego cargar el controlador apropiado para manejar la comunicación entre el procesador host y el dispositivo. La otra razón es la necesidad de proporcionar suficiente corriente a los dispositivos.

Ahora, si la "corriente suficiente" no es un gran problema, digamos porque mi uC (que me gustaría actuar como host USB) está alimentado (a través de un Wallwart regulado y bien calificado), y solo hay 3 Dispositivos USB con los que necesita trabajar, por ejemplo,

  1. Dispositivo que utiliza Serial over USB propietario
  2. Dispositivo (sensor) que utiliza USB-HID
  3. dispositivo / proveedor específico USB2.0 Bluetooth2.1 dispositivo

a través de decir un dispositivo concentrador USB? De hecho, si puede ser un concentrador eléctrico, entonces la cuestión de "suficiente corriente" se aborda por él.

¿Es posible conformarse con decir algo como Atmel ATmega32U2? La idea es que, en lugar de enumerar dispositivos de una gran lista de posibles dispositivos, sé de antemano qué dispositivos están conectados y cómo están conectados. ¿Cuáles podrían ser las advertencias si esto fuera posible? Si alguien está al tanto de estos intentos (exitosos o no), me encantaría escuchar sobre ellos.

    
pregunta icarus74

2 respuestas

4

Hay suficientes formas disponibles para proporcionar el modo host con un microcontrolador que intentar hacerlo con algo que no está destinado a la función es "hacerlo de la manera más difícil".

Busque dispositivos con USB OTG "=" On the Go ".
Estos pueden proporcionar cualquier host de capacidad esclava según sea necesario.

Si "... algo como Atmel ATmega32U2 ..." incluye un Atmel AT90USB64 , entonces sí.

es decir, usar una de las partes disponibles que HACER tiene esta capacidad es la "manera fácil" de hacerlo. Hay suficientes formas disponibles para proporcionar el modo host con un microcontrolador que intentar hacerlo con algo que no está destinado a la función es "hacerlo de la manera más difícil". Busque dispositivos con capacidad USB OTG "=" On the Go ". Estos pueden proporcionar cualquier host o capacidad esclava según sea necesario.

ICs con capacidad OTG de algún tipo

Más barato en 1 en stock en Digikey:

Microcontrolador AVR con capacidad USB OTG $ 8.43 / 1 Digikey en stock.

PIC OTG & Microcontrolador con capacidad de host $ 4.22 / 1 en stock Digikey

El dispositivo PIC también es el microcontrolador host / OTG más barato de cualquier tipo disponible en stock en 1's de Digikey.

    
respondido por el Russell McMahon
0

Hay una implementación basada en software del controlador de host USB en Atmega uControllers

SIAM32 USB HC (Software Implementado Atmel Mega32 Universal Serial Bus Host Controller) enlace

enlace

    
respondido por el zaki

Lea otras preguntas en las etiquetas