Hallo, ich befinde mich in der Planungsphase für ein Projekt, finde aber nicht die optimalen Komponenten und hoffe das mir hier jemand Empfehlungen geben kann. Da ich ein ST-Link-V2 habe, würde ich das Ganze auch gerne mit STM32 Microcontroller realisieren. Was ich benötige ist Folgendes: 2 x USB Host für Maus und Tastatur (gleichzeitig) 1 x USB Client zum PC für Konfiguration (Zur not könnte ich hier ein USART mit FTDI benutzt werden) 1 x ISP-BUS 1 x Digital input ISP-Chip-Select 2 x Digital Output für LEDs Ich habe natürlich schon auf der Internetseite von ST gesucht, bin da aber ein wenig von der riesigen Datenmenge erschlagen und finde in den Tabellen auch irgendwie nichts konkretes zu USB Host. Es wäre natürlich schön, wenn es hier eine Microcontroller gäbe der die 3 USB Schnittstellen hat. Noch besser wäre es, wenn es bereits fertige Boards (Olimex und Co.) dazu gäbe.
Da würde ich eher einen Raspberry Pi verwenden. Für die Tastatur und Maus braucht man auch ein Display irgendwo, dann wird der Stromverbauch des RPi nebensächlich. Ohne Linux darunter ist USB HID für Tastatur/Maus eher aufwändig wenn man die Host Seite selber implementieren muss. Und nur ganz dicke µCs haben mehr als einen USB Port.
Den RPI kann man nur mit ein Betriebssystem von einer SD-Specherkarte laufen lassen (z.B. Linux). Das ist für mein vorhaben zu langsam, und wegen Multitasking auch nicht permanent. Die Daten von den beiden USB-Host sollen via ISP an ein weiteren Microcontroller übertragen werden.
>Den RPI kann man nur mit ein Betriebssystem von einer SD-Specherkarte >laufen lassen (z.B. Linux). Das ist für mein vorhaben zu langsam, und >wegen Multitasking auch nicht permanent. Was ist da zu langsam? Was bedeutet "permanent"? >Die Daten von den beiden USB-Host sollen via ISP an ein weiteren >Microcontroller übertragen werden. Welche zwei Hosts? Was ist ISP? Du redest einfach nur wirres Zeug. Vergiss deinen Blödsinn.
SKBK schrieb: > Das ist für mein vorhaben zu langsam Was hat die Ausführungsgeschwindigkeit des Programms mit der SD-Karte zu tun? Nichts, denn der Programmcode wird natürlich beim Starten des Programms von Linux automatisch in den RAM kopiert. Wenn es sein muss kannst du auch das komplette Linux in den RAM kopieren und die SD-Karte danach rausziehen...
Ich habe da einen kleinen Buchstaben dreher, ISP ist falsch, korrekt ist SPI-Bus. holger schrieb: > Was ist da zu langsam? > Was bedeutet "permanent"? Das im ersten Kommentar beschriebene ist nur Funktionsblock des Gesamzprojekts, ich habe es hier auf diesen Funktionsblock reduziert, um es hier nicht unnötig zu verkomplizieren. Der Funktionsblock soll alle Eingabe einer Maus und einer Tastatur möglichst ohne Zeitverlust erfassen und an den nächsten Funktionsblock via SPI-Bus senden. Unterbrechunchungen wie man sie bei Multitasking Betrienbssystem erwarten muß, sind hierbei nicht nützlich. Es sprechen hierbei aber noch mehr Punkte gegen RPI - Unzuverlässigkeit (Die SD-Karten haben ständig Datenverluste) - Stromverbrauch - Zu teuer (Zwei separate STM32 mit jeweils einen USB-Host sind günstiger als ein RPI) Ich könnte natülich einfach zwei STM32 mit jeweills einen USB-host benutzen, ich hätte aber lieber einen Microcontroller an dem ich Maus und Tatsatur gleichzeitig anschließen kann. Aber ich suche schon einen Microcontroller und nicht einen Mini-Computer wie den RPI. holger schrieb: > Du redest einfach nur wirres Zeug. > Vergiss deinen Blödsinn. Deinen Kommentar könnest du dir auch einfach sparren. Ich formuliere meine Frage nochmal etwas einfacher, kennt einen Microcontroller mit 2 USB Host und einen SPI-BUS?
Sorry da ist von mir ein Wort verschluckt wordern: Ich formuliere meine Frage nochmal etwas einfacher, kennt jemand einen Microcontroller mit 2 USB Host und einen SPI-BUS?
Uwe B. schrieb: > So sehr ich STM32 schaetzte, die F2/4/7 Serien haben nur einen USB-Host. einen USB-Host der 2 Userprozesse abarbeiten kann. STM Cube generiert mir: void MX_USB_HOST_Init(void) { /* Init Host Library,Add Supported Class and Start the library*/ USBH_Init(&hUsbHostHS, USBH_UserProcess1, HOST_HS); USBH_RegisterClass(&hUsbHostHS, USBH_HID_CLASS); USBH_Start(&hUsbHostHS); /* Init Host Library,Add Supported Class and Start the library*/ USBH_Init(&hUsbHostFS, USBH_UserProcess2, HOST_FS); USBH_RegisterClass(&hUsbHostFS, USBH_HID_CLASS); USBH_Start(&hUsbHostFS); } m.f.G. Dieter
@ Dieter Gräf Danke für den Tipp, dass scheint genau der Microcontroller zu sein den ich gesucht habe.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.