Herunterladen Inhalt Inhalt Diese Seite drucken

Zur Kommunikation Mit Den Endpunkten; Data In Und Status-Abschnitt - Atmel At90Usbkey Firmware-Information

Inhaltsverzeichnis
entsprechenden Gerätetreiber laden.
Ein letztes SETUP­Paket der Emuneration (
und Aktivieren der zwei User­Endpunkte.
Die Firmware antwortet auch noch auf Statusanfragen (
Firmware   nicht   unterst tzte   Anfragen   des   PC   mittels   SETUP­Paket   werden   mit   STALL 
abgewiesen.
Anwendungskommunikation :
Folgende Aktionen können nun von der PC­Software gestartet werden:
a)
Ein­   und   Ausschalten   einzelner   Bits   (4   LEDs   an   PD4­PD7   und   das   Blink­Flag
PD0) eines Ports (1 Byte)  ber Endpunkt 1 (OUT­Aktion (PC  Gerät)).
b)
Analoge Daten (Analog­Digitalwandler)  ber den FIFO des Endpunkt 2 einlesen (IN­
Aktion (Gerät  PC)).

Zur Kommunikation mit den Endpunkten:

Control Endpunkt 0
SETUP-Abschnitt:
R
S
T
Das 
eceived 
E
U
(SETUP­Abschnitt). In der Firmware wird ein Interrupt ausgelöst. In der Interruptroutine 
wird   ein   Unterprogramm   zur   Behandlung   des   SETUP­Pakets   aufgerufen.   In   diesem 
Unterprogrsamm löscht die Firmware mit  
das SETUP­Paket zu bestätigen (ACK) und den FIFO­Puffer des Endpunktes zu löschen. 

DATA IN und STATUS-Abschnitt:

Das TXINI­Flag (Transmitter Ready Interrupt­Flag) zeigt, dass der FIFO­Puffer frei ist und 
vom   Controller   gef llt   werden   kann.   Nachdem   dies   geschehen   ist   wird   mit 
CBI(
,
UEINTX
TXINI
der FIFO wird wieder gelöscht, so dass er neue Daten aufnehmen kann. Wurden mehr als 8 
Byte   angefragt,   so   können   mehrere   Pakete   vor   dem   Status­Abschnitt   gesendet   werden. 
Dazu muss jedes Mal  berpr ft werden ob der FIFO­Speicher leer ist (TXINI = 1). 
Das erste OUT­Paket vom PC wird von der Hardware automatisch mit NAK (PC soll warten) 
beantwortet.   Das   nächste   OUT­Paket   setzt   das  RXOUTI­Flag   (
I
nterrupt). Das Flag teilt mit, wann das Zero­Length­Paket vom PC angekommen ist. Per 
2 Das Behandeln dieser Anfrage besteht nur um unschöne Fehlermeldungen bei lsusb -v unter Linux zu 
vermeiden (kann bei Bedarf gelöscht werden).
3 cbi (UEINTX,RXSTPI) steht f r lösche Bit RXSTPI im SF­Register UEINTX.
cbi uns sbi (setze Bit) existieren so nur f r die untersten 32 SF­Register. Alle USB Register befinden sich im 
erweiterten   Bereich   und   m ssen   mittels   direkter   SRAM   Adressierung   und   Maskierung   angesprochen 
werden.
2
Mikrocontrollertechnik
P
I
 
nterrupt (RXSTPI) Flag wird gesetzt wenn ein SETUP­Paket eintrifft 
  das bis zu 8 Byte große Paket (FIFO­Größe EP0) abgeschickt und 
)
Set_Configuration
Get_Status
CBI(
,
UEINTX
RXSTPI
) bewirkt das Initialisieren 
).
2
 Andere, von dieser 
3
  das Interrupt­Flag um 
)
R
eceived  
OUT
Firmware AT90USBKEY
2010
  Data 
Inhaltsverzeichnis
loading

Verwandte Produkte für Atmel AT90USBKEY

Inhaltsverzeichnis