V-USB und der ATtiny84

Gast #2772049
Lesenswert?

Hallo,

ich hab einen ATtiny84 und möchte auf ihm V-USB zum laufen bekommen.

             ATtiny84
             +--\/--+
         VCC |1   14| GND
(PB0)  XTAL1 |2   13| (PA0)
(PB1)  XTAL2 |3   12| (PA1)
(PB3)  RESET |4   11| (PA2)
(PB2)   INT0 |5   10| (PA3)
(PA7)        |6   9 | (PA4)
(PA6)        |7   8 | (PA5)
             +------+

Hier sieht man noch mal den ATtiny84. Das Problem:
V-USB benötigt für D+ oder D- einen Interruptpin. Ok. Der ist da. Dieser 
ist aber auf PORTB und ALLE anderen PORTS an PORTB sind belegt (RESET 
und Quarz).
Und in der usbconfig.h kann man nur einen Port für beide Datenleitungen 
einstellen ("USB_CFG_IOPORTNAME"). Google hilft bei der Frage nach "v 
usb mit attiny84" auch nicht weiter.

Was kann ich machen? Muss ich V-USB komplett umschreiben (hab da mal 
gesucht drin nach "USB_CFG_IOPORTNAME", ist sehr kompliziert des V-USB)?
Oder gibt es eine einfachere Lösung?


Danke
burgerohnealles
Gast #2772057
Lesenswert?

spess53 schrieb:
> Hi
>
> Jeder Pin des ATTiny84 kann einen Interrupt auslösen.
>
> MfG spess

Ja das find' ich auch immer komisch. Bei jedem steht PCINTx, aber bei 
nur wenigen steht INTx. Aber in der usbconfig.h steht ausdrücklich drin, 
dass man INTx verwenden muss, wenn ich das richtig verstanden habe.


mfg
burgerohnealles
Gast #2772071
Lesenswert?

holger schrieb:
> Welche kleine Sache? Für USB würde ich keinen von deinen AVR nehmen.

Mit "kleine Sache" meine ich ein paar Tests zum Spaß, z.B. Tastatur, 
Maus, siehe auch [1] und [2].

Und was für einen Controller würdet ihr anstatt dem ATtiny84 oder dem 
ATmega328P empfehlen?



Links:
[1] http://www.elektronik-labor.de/AVR/WildeMaus.html
[2] http://www.elektronik-labor.de/AVR/Rebooter.html


Danke
burgerohnealles
#2772098
Lesenswert?

Jonathan,

kennst Du schon ?

http://www.obdev.at/products/vusb/index-de.html

man kann fast alles mit dem v-usb anfangen, der Treiber ist sehr 
flexibel. Du müsstest Dich aber weiter einlesen. PCINT ist eine 
Sammelschiene für max. 8 Interrupt eines Ports:

PCINT0
Pin Change Interrupt Request 0

Eingänge PCINT7 bis PCINT0
jeder Zustandswechsel führt zu einem PCINT0 ISR Aufruf.


PCINT1
Pin Change Interrupt Request 1

Eingänge PCINT11 bis PCINT8
jeder Zustandswechsel führt zu einem PCINT1 ISR Aufruf.

Mehr und viel genauer steht es im Datenblatt.
#2772122
Lesenswert?

Jonathan K. schrieb:

> Mit "kleine Sache" meine ich ein paar Tests zum Spaß, z.B. Tastatur,
> Maus, siehe auch [1] und [2].
>
> Und was für einen Controller würdet ihr anstatt dem ATtiny84 oder dem
> ATmega328P empfehlen?

PIC18F14K50, oder für ganz lowcostige Sachen PIC16F1455. Beide mit 
Fullspeed Hardware-USB Device Interface eingebaut und daher 100% 
standardkonform. Zum Entwickeln ist ein PIC18F25J50 oder PIC18F25K50 
bequemer.

fchk
Gast #2772123
Lesenswert?

Aus usbconfig.h:
This file is an example configuration (with inline documentation) for 
the USB
driver. It configures V-USB for USB D+ connected to Port D bit 2 (which 
is
also hardware interrupt 0 on many devices) and USB D- to Port D bit 4. 
You may
wire the lines to any other port, as long as D+ is also wired to INT0 
(or any
other hardware interrupt, as long as it is the highest level interrupt, 
see
section at the end of this file).

Wenn man das nicht beachtet, funktioniert das nicht. :(

Also geht es mit dem ATtiny84 nicht?


Uwe S. schrieb:
> kennst Du schon ?

JA!


mfg
burgerohnealles
Gast #2772140
Lesenswert?

Frank K. schrieb:
> Jonathan K. schrieb:
>
>> Mit "kleine Sache" meine ich ein paar Tests zum Spaß, z.B. Tastatur,
>> Maus, siehe auch [1] und [2].
>>
>> Und was für einen Controller würdet ihr anstatt dem ATtiny84 oder dem
>> ATmega328P empfehlen?
>
> PIC18F14K50, oder für ganz lowcostige Sachen PIC16F1455. Beide mit
> Fullspeed Hardware-USB Device Interface eingebaut und daher 100%
> standardkonform. Zum Entwickeln ist ein PIC18F25J50 oder PIC18F25K50
> bequemer.
>
> fchk

Ja. Aber für ein paar "USB-Versuche" und spielereien werde ich doch 
nicht extra Teile kaufen.

EDIT: Trotzdem für später gut zu wissen, falls ich mal was "richtiges" 
machen möchte.


mfg
burgerohnealles
Gast #2772154
Lesenswert?

Hi

>EDIT: Trotzdem für später gut zu wissen, falls ich mal was "richtiges"
>machen möchte.

Mit dieser Arme-Mann-USB-Krücke? Wenn ich mich recht erinnere ist der 
Controller zu etwa 90% mit dem USB beschäftigt. Was bleibt dann noch für 
sinnvolle Anwendungen?

MfG Spess
#2772190
Lesenswert?

spess53 schrieb:
> Hi
>
>>EDIT: Trotzdem für später gut zu wissen, falls ich mal was "richtiges"
>>machen möchte.
>
> Mit dieser Arme-Mann-USB-Krücke? Wenn ich mich recht erinnere ist der
> Controller zu etwa 90% mit dem USB beschäftigt. Was bleibt dann noch für
> sinnvolle Anwendungen?

Für HID, CDC und ähnliches reicht ein PIC18 locker aus. Und für größere 
Sachen kannst Du immer noch einen 40 MHz 32 Bit PIC32MX220 nehmen.

fchk
Gast #2772200
Lesenswert?

Hallo,

Christoph B. schrieb:
> was ist eigentlich von den Atmegas mit USB Interface zu halten. Sind die
> auch so schlecht??

Nein,
ich empfehle jedem der mit USB rumspielen will ein kleines Board mit 
Namen "Teensy" und dem Atmega32u4.
http://www.pjrc.com/teensy/

Die haben auch gleich für die wichtigsten USB-Anwendungen 
Beispielprogramme auf die man dann aufbauen kann.


Gruss Stefan

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren