Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Serial Device over FPGA

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
volker



Anmeldungsdatum: 02.09.2002
Beiträge: 2
Wohnort: Reutte

BeitragVerfasst am: 02. Sep 2002 15:06   Titel: Serial Device over FPGA

Hallo

Wir haben einen UART (kompatibel mit 16550) in einem FPGA (Field Programmable Gate Array) auf unserem Development-Board (ZFx86 von ZF Microdevices) implementiert.
Der ZFx86 ist ein Single-Chip-Computer, und ist ein 486er mit P1-Features.
Das FPGA ist über den ISA-Bus zum ZFx86 verbunden. Der Addressbereich der implementierten UARTs liegt zwischen 0x2e8 und 0x2ef und belegt den Interrupt 3.
Wenn wir nun den FPGA beim Booten von Linux downloaden, dann wird der UART automatisch als 16550A an ttyS3 erkannt, was auch korrekt ist.

Wenn wir dann nach dem Booten von Linux einige Bytes (mehr als 16)(mit ECHO...) senden, dann ist die Übertragung bei einer Baudrate von 9600 extrem langsam. Circa alle 5 Sekunden wird ein UARD-Buffer (16 bytes) über die Serial-Line gesendet. Nun haben wir herausgefunden, daß der ZFx86 nicht mit allen Interrupt-Sources vom UART arbeitet, da der "Transmitter Empty Interrupt" nicht enabled ist. Man kann ihn aber via "Interrupt Enable Register" (IER) auf Addresse 0x2e9 vom UART enablen. (siehe : http://www.national.com/ds/PC/PC16550D.pdf Page 14). Anstelle der Benutzung der Interrupt-Quellen pollt der ZFx86 auf dem Line Status Register (LSR) auf Addresse 0x2ed ungefähr alle 5 Sekunden und beobachtet dabei Bit 5 und Bit 6 welche ihm anzeigen, ob der interne Buffer des UARTs geleert ist. Diese zwei Bits heisen "Transmitter Holding Register Empty" und "Transmitter Empty".

Wie können wir beim ZFx86 und Linux den UART so initialisieren, daß der "Transmitter Holding Register Empty"-Interrupt zur schnelleren Datenübertragung (anstelle Pollen) verwendet wird?

mfG vost
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

ratte
Gast





BeitragVerfasst am: 02. Sep 2002 16:16   Titel: Re: Serial Device over FPGA

crosspointings sind hier nicht gern gesehen, antworten bitte in der Rubrik "Hardware" http://www.pl-forum.de/cgi-bin/UltraBoard/UltraBoard.pl?Action=ShowPost&Board=011&Post=1391&Idle=10&Sort=0&Order=Descend&Page=0&Session= posten, danke an alle.

ratte
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy