Forum: Mikrocontroller und Digitale Elektronik USBasp mit SPI+UART/COM-Emulation


von batman (Gast)


Lesenswert?

Halloho,
es ist doch im Prinzip möglich, über einen USBasp nach Fischl sowohl SPI 
als auch UART mit dem Target zu sprechen. Die RxD/TxD vom Target können 
ja über den 10-pol. Wannenstecker verbunden werden.
Gibt es da schon eine Lösung, die auf Windoof einen soft COM-Port für 
das Target emuliert, so daß man mit einem normalen Terminalprogramm 
verbinden kann?

von Frank K. (fchk)


Lesenswert?

Der USBASP benutzt das SOftware-only low-speed USB VUSB und ist damit 
nicht 100% kompatibel zum offiziellen USB-Standard. Im Klartext: 
Schrott. Der Kerl hätte einen Mega32U2 mit Hardware-USB nehmen sollen. 
Das wären dann vieleicht ein paar Cent mehr gewesen, aber dafür ein 
vernünftiges Produkt.

Der COM-Port erfordert eine Full-Speed USB Verbindung, weil der 
USB-Standard bei Low-Speed keine Bulk Transfers erlaubt, die die 
Standard-USB CDC-ACM Geräteklasse braucht. Das kann die USBASP-Hardware 
nicht.

fchk

von USBASP (Gast)


Lesenswert?

Frank K. schrieb:
> Der Kerl hätte einen Mega32U2 mit Hardware-USB nehmen sollen.

Zum einen gab es den zur Zeit der Entwicklung des USBASP noch nicht, des 
weiteren ist das Gehäuse des Mega32U2 alles andere als 
Bastlerfreundlich.

von batman (Gast)


Lesenswert?

Zumindest eine 9600 Baud bidirektionale Kommunikation zwischen PC und 
Target-UART ist über das Ding möglich und meist ausreichend. Das 
demonstriert USBasp-tty, was die Bytes einzeln aus dem USB-Gerätetreiber 
pollt. Leider ist das TTY nicht so das wahre.

von Frank K. (fchk)


Lesenswert?

Sicher geht das irgendwie. Es geht aber nicht über die normalerweise 
dafür vorgesehenen USB-Standardklassen, und damit ist und bleibt es 
Gefrickel.

fchk

von batman (Gast)


Lesenswert?

Haste was Besseres? :)

von Karl M. (Gast)


Lesenswert?

Hallo,

mein Vorschlag, ein Projekt mit einem atmega32u2:

aTeVaL (Atmel Evaluationsboard)

Der ISP Programmer kann auch als COMx, ttyACMx Schnittstelle verwendet 
werden.

von Frank K. (fchk)


Lesenswert?

batman schrieb:
> Haste was Besseres? :)

Nimm Dir für Deinen UART einen MCP2221. Das ist ein vorprogrammierter 
PIC16F1455 mit Hardware USB, der Dir via HID GPIO und I2C und via 
CDC-ACM einen UART zur Verfügung stellt. Gibts auch im DIL-Gehäuse, 
benutzt die Standard-USB-Klassen, braucht also keine extra Binärtreiber. 
Braucht auch keinen Quarz - er synchronisiert seinen Oszillator mit dem 
USB-Host.

Den leeren PIC kannst Du auch gut für eigene Basteleien verwenden - den 
USB-Stack hat Microchip bereits für Dich zusammengebaut. Und da das 
USB-Hardware ist, ist alles normkonform und kann natürlich auch Full 
Speed USB. Wenn Du keine Analogfunktionen brauchst, sparst Du mit dem 
pinkompatiblem PIC16F1454 noch ein paar Cent, und wenn Du mehr Pins 
brauchst, gibts den PIC16F1459. Das sind so mit die günstigsten 
Controller mit Hardware-USB.

Sollte ich nochmal was mit AVRs machen, liegen für diesen Zweck ein 
orginal AVRISP MK-II und ein JTAGICE3 bereit. Heutzutage würde ich 
natürlich den Atmel Debuger nehmen, aber ich mach das ganze schon etwas 
länger.

fchk

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
Noch kein Account? Hier anmelden.