Opencores USB

OP #4372886
Lesenswert?

Hallo jungs,

ich will den USB 2.0 Function Core von OPENCORES verwenden. ich habe die 
Datei heruntergeladen:
http://opencores.org/project,usb
sind nur verilog Qua(e)lldateien, bis jetzt habe ich nur VHDL gehabt
ich dachte ich kann es als Block wie ein PLL Block importieren und gut 
ist es!
hat irgendjemand eine Anleitung oder ä.?
bitte um Hilfe
Danke
Gast #4372919
Lesenswert?

Y. M. schrieb:
> Hallo jungs,
>
> ich will den USB 2.0 Function Core von OPENCORES verwenden. ich habe die
> Datei heruntergeladen:
> http://opencores.org/project,usb
> sind nur verilog Qua(e)lldateien, bis jetzt habe ich nur VHDL gehabt
> ich dachte ich kann es als Block wie ein PLL Block importieren und gut
> ist es!

In Lattice Diamond ist es einfach:
sowohl deine VHDL als auch die Verilog Dateien dem Projekt hinzufügen.
Dann noch für den Verilog Toplevel eine Component Declaration in VHDL 
erstellen.
OP #4373002
Lesenswert?

Daniel K. schrieb:
> Guckst du mal auch da:
>
> 
http://www.xilinx.com/itp/xilinx10/isehelp/ism_p_instantiating_verilog_module_mixedlang.htm

z.B. aus Verilog
module usbf_crc5(crc_in, din, crc_out);

in VHDL muss ich folgendes shcreiben:
COMPONENT FD PORT (
Q : out  STD_ULOGIC;
D : in   STD_ULOGIC;
C : in   STD_ULOGIC );
END COMPONENT;

usbf_crc5: FD PORT MAP(
Q => crc_out,
D => din,
C => crc_in);

richtig?
Gast #4373163
Lesenswert?

Y. M. schrieb:
> Daniel K. schrieb:
>> Guckst du mal auch da:
>>
>>
> 
http://www.xilinx.com/itp/xilinx10/isehelp/ism_p_instantiating_verilog_module_mixedlang.htm
>
> z.B. aus Verilog
> module usbf_crc5(crc_in, din, crc_out);
>
> in VHDL muss ich folgendes shcreiben:
> COMPONENT FD PORT (
> Q : out  STD_ULOGIC;
> D : in   STD_ULOGIC;
> C : in   STD_ULOGIC );
> END COMPONENT;
>
> usbf_crc5: FD PORT MAP(
> Q => crc_out,
> D => din,
> C => crc_in);
>
> richtig?

falsch.

1. Bei der älteren Verilog Syntax (1995) werden die Signale erst nach 
dem Module Declaration spezifiziert.
1
module usbf_crc5(crc_in, din, crc_out);
2
input   [4:0]   crc_in;
3
input  [10:0]  din;
4
output  [4:0]   crc_out;

2. Die Portnamen in der Component müssen mit den Portnamen des Verilog 
Modules übereinstimmen. Achtung: Verilog ist case sensitiv! In der Docu 
nachschauen wie das von Quartus erwartet wird!
1
  port (
2
        crc_in    : in std_logic_vector(4 downto 0);
3
        din       : in std_logic_vector(10 downto 0);
4
        crc_out   : out std_logic_vector(4 downto 0);
5
       );

kann die freie Version von Quartus überhaupt mixed Language?
OP #4373387
Lesenswert?

ganz ehrlich jungs,
ich weiss nicht wie ich vorgehen soll :\
soll ich einfach ein Projekt erstellen (in Quartus), die ganzen Verilog 
Dateien importieren, noch ein  VHDL als Wrapper Component (richtig?) 
erstellen, wo die ganzen verilog module instanziert werden, das ganze 
komplieren und gut ist es!

deswegen würde ich gerne wissen, ob schon jemand Erfahrung mit dem 
USB2.0  IP Function von OpenCores hatte
Gast #4373456
Lesenswert?

Y. M. schrieb:
> ganz ehrlich jungs,
> ich weiss nicht wie ich vorgehen soll :\
> soll ich einfach ein Projekt erstellen (in Quartus), die ganzen Verilog
> Dateien importieren,

Ja

> noch ein  VHDL als Wrapper Component (richtig?)
> erstellen, wo die ganzen verilog module instanziert werden, das ganze
> komplieren und gut ist es!

Du brauchst nur Wrapper für die Verilog Module, die du in deinem VHDL 
teil instanzieren möchtest. Und das dürfte nur usbf_top sein.
Das obige usbf_crc5 Beispiel gehöhrt da ganz sicher nicht dazu.

>
> deswegen würde ich gerne wissen, ob schon jemand Erfahrung mit dem
> USB2.0  IP Function von OpenCores hatte

Da kann ich dir nicht helfen.
Gast #4373469
Lesenswert?

Ganz allgmein, für USB 2.0 brauchst du externe Transceiver, was für 
einer ist auf deinem Board verbaut?

Gängig sind heute ULPI Transceiver, die Opencore USB 2.0 Function hat 
aber einen UTMI Interface. Dafür braucht es dann noch einen UTMI -> ULPI 
Umsetzer. Ist allerdings nicht so aufwendig, ULPI ist im Prinzip eine 
low pin count Variante von UTMI.
OP #4374138
Lesenswert?

Martin schrieb:
>>ja deswegen frage ich hier! man kann nicht alles wissen, es fehlt jedem
>>immer was
>
> Wer  nicht  mal  einen VERILOG core  importieren kann
> der angeblich  schon VHDL  gemacht  hat, der sollte lieber
> die  Finger  von FPGAs  lassen.

du laberst aber nur misst, was willste daran nicht verstehen?! habe die 
Erfahrung nie gehabt,
du musst mir auch nicht erklähren wie das geht wenn du schon so mkerst
typisch Angeber, der alles Könner
Gast #4374335
Lesenswert?

Y. M. schrieb:
> ich will den TLK2501 Transceiver benutzen, weil ich die Daten optisch
> übertragen will.

Moment. was willst du eigentlich machen? Der TLK2501 hat mit USB nichts 
aber auch gar nichts zu tun. Der Core braucht einen externen UTMI 
Transceiver/Phy zum Anschluss an das USB Kabel.

> im USB2.0 projekt von Opencores sind es mindestens 10 VERILOG Dateien
> leider ohne comments :\

Und das hier ist nicht genug?

http://opencores.org/websvn,filedetails?repname=usb&path=%2Fusb%2Ftrunk%2Fdoc%2Fusb_doc.pdf

Ausserdem:
http://www.usb.org/developers/docs/usb20_docs/
OP #4374374
Lesenswert?

Lattice User schrieb:

> Moment. was willst du eigentlich machen? Der TLK2501 hat mit USB nichts
> aber auch gar nichts zu tun. Der Core braucht einen externen UTMI
> Transceiver/Phy zum Anschluss an das USB Kabel.
>
ja eigentlich der TLK2501 brauche ich für was andres, soll die Anwendung 
mit USB erweitern.

> 
http://opencores.org/websvn,filedetails?repname=usb&path=%2Fusb%2Ftrunk%2Fdoc%2Fusb_doc.pdf
>
> Ausserdem:
> http://www.usb.org/developers/docs/usb20_docs/
die habe ich, gucke ich mir noch genauer an

bin noch durcheinander sorrry! ich komme noch nicht klar damit, wie 
gesagt hatte bis jetzt nur kleine Projekte VHDL, ADC daten bearbeiten 
oder ein bild Generator,
danke für euer Geduld
Gast #4374399
Lesenswert?

Y. M. schrieb:

>>
> ja eigentlich der TLK2501 brauche ich für was andres, soll die Anwendung
> mit USB erweitern.

Du brauchst einen Transceiver wie diesen hier:
http://www.ti.com/product/tusb1210

Allerdings wie schon erwähnt, der hat ein ULPI Interface, der Opencore 
Function Core setzt ein UTMI Interface vorraus. Sind verwand (siehe ULPI 
Spec) und ein Translationlayer sollte kein grosser Aufwand sein.

>
>>
> 
http://opencores.org/websvn,filedetails?repname=usb&path=%2Fusb%2Ftrunk%2Fdoc%2Fusb_doc.pdf
>>
>> Ausserdem:
>> http://www.usb.org/developers/docs/usb20_docs/
> die habe ich, gucke ich mir noch genauer an
>
> bin noch durcheinander sorrry! ich komme noch nicht klar damit, wie
> gesagt hatte bis jetzt nur kleine Projekte VHDL, ADC daten bearbeiten
> oder ein bild Generator,
> danke für dein Geduld

Der Core wird mit einem Wishbone interface gesteuert, da ist noch mehr 
Lesestoff. (Schreit nach einer Softcore CPU!)
Moderator (Firma: Titel) Persönliche Seite #4374743
Lesenswert?

Y. M. schrieb:
> ich will den USB 2.0 Function Core von OPENCORES verwenden.
Wofür?
Was willst du mit dem "USB 2.0" machen? Welche Datenrate?

> den USB 2.0 Function Core von OPENCORES verwenden.
Du weißt schon, dass du sowieso noch einen externen Phy brauchst. Und 
wenn du shcon einen externen chip brauchst, dann kannst du gleich die 
erwähnte USB-Seriell-Bridge verwenden.

Y. M. schrieb:
> soll die Anwendung mit USB erweitern.
Welche?
Gast #4374843
Lesenswert?

Y. M. schrieb:
> eigentlich brauche ich sowas, das verwende ich jetzt als aufsteckmodul
> in einem Gerät, ich soll jetzt was vergleichbares auf meine Hauptplatine
> packen, dann spare ich mir die ca. 200€ für sender und empfänger
> Module.
> http://www.icron.com/products/oem/usb-extenders/cat5/usb-2-0-rg2310A-core/

Dafür taugt der Opencore USB 2.0 Function Core nicht.
#4374951
Lesenswert?

Jo, Icron fummelt das ganze USB Protokoll auseinandet, das kannst du 
nicht einfach mit einem Device Controller nachbilden. Sonst wäre deren 
Asic nicht so teuer. Wir setzen die Dinger auch ein, seid lieber froh 
dass die euch die Core Module überhaupt verkaufen. Habt ihr so hohe 
Stückzahlen oder gute Beziehungen?
Gast #4374977
Lesenswert?

Y. M. schrieb:
> eigentlich brauche ich sowas, das verwende ich jetzt als
> aufsteckmodul
> in einem Gerät, ich soll jetzt was vergleichbares auf meine Hauptplatine
> packen, dann spare ich mir die ca. 200€ für sender und empfänger
> Module.
> http://www.icron.com/products/oem/usb-extenders/ca...

Also ist die Idee den USB2.0 Range Extender nachzubauen? Vielleicht war 
deshalb auch der vorherige Post "Transceiver" mittels FPGA?

Es ist einfacher einen USB3.0 Extender zu bauen als einen USB 2.0. Für 
USB2 muss man gewaltig in die Trickkiste greifen, um diesen driverless 
zu machen. Dass icron dies kompatibel schafft, ist schon eine hohe 
Leistung.

Das Grundproblem sind die sehr knappen Antwortzeiten auf einem 
bidirektionalen Bus, weshalb hier noch unsichtbar in der Nähe des 
Devices die Befehle abgefangen werden und auf einem anderen Protokoll 
umgesetzt werden. Dies läuft auf höheren USB-Schichten.

Christian R. schrieb:
> Jo, Icron fummelt das ganze USB Protokoll auseinandet, das kannst
> du
> nicht einfach mit einem Device Controller nachbilden. Sonst wäre deren
> Asic nicht so teuer. Wir setzen die Dinger auch ein, seid lieber froh
> dass die euch die Core Module überhaupt verkaufen. Habt ihr so hohe
> Stückzahlen oder gute Beziehungen?

das ganze USB Protokoll auseinanderfummeln trifft es ganz gut.
OP #4375614
Lesenswert?

Klakx schrieb:

> Also ist die Idee den USB2.0 Range Extender nachzubauen? Vielleicht war
> deshalb auch der vorherige Post "Transceiver" mittels FPGA?
das war andere Baustelle, habe ich erst mal zur Seite geschoben, aber 
kommt noch
> Es ist einfacher einen USB3.0 Extender zu bauen als einen USB 2.0. Für
> USB2 muss man gewaltig in die Trickkiste greifen, um diesen driverless
> zu machen. Dass icron dies kompatibel schafft, ist schon eine hohe
> Leistung.
habe ich auch irgendwo gelesen, wenn ich USB2 mittels Opencores Cores 
hinbekomme, dann wird USB3 nicht so schwer!

> Das Grundproblem sind die sehr knappen Antwortzeiten auf einem
> bidirektionalen Bus, weshalb hier noch unsichtbar in der Nähe des
> Devices die Befehle abgefangen werden und auf einem anderen Protokoll
> umgesetzt werden. Dies läuft auf höheren USB-Schichten.
dafür ist doch der USB2.0 Cores von Opencores da
> Christian R. schrieb:
>> Jo, Icron fummelt das ganze USB Protokoll auseinandet, das kannst
>> du
>> nicht einfach mit einem Device Controller nachbilden. Sonst wäre deren
>> Asic nicht so teuer. Wir setzen die Dinger auch ein, seid lieber froh
>> dass die euch die Core Module überhaupt verkaufen. Habt ihr so hohe
>> Stückzahlen oder gute Beziehungen?
>
heisst das ich habe nur was unmögliches vor :\ ?
Gast #4375712
Lesenswert?

Du bist immer noch unklar was das werden soll?

Ein Ersatz für den Icron Extender?

oder

Ein USB Device mit einem eigen properitären Gegenstück (KEIN USB!) auf 
der anderen Seite des Links?

Nur für den 2. Fall hilft dir der USB Core weiter. Aber wie schon 
mehrmals erwähnt du kommst schneller zum Ziel mit einem Cypress FX2 oder 
FT2332H.
Man kann auch gleich einen USB3 fähigen Controller verwenden (z.B. 
Cypress FX3)
#4375763
Lesenswert?

Y. M. schrieb:
> habe ich auch irgendwo gelesen, wenn ich USB2 mittels Opencores Cores
> hinbekomme, dann wird USB3 nicht so schwer!

Klar, kriegt man alles hin. Aber seien wir ehrlich: Nicht mit deinem 
Kenntnisstand. Ich mach jetzt seit 8 Jahren FPGA Design, ich würde mir 
einen eigenen IP Core für USB 3.0 nicht zutrauen. Von den Kosten der 
Entwicklung mal ganz abgesehen. Der FX3 kostet um die 30€, da muss es 
schon 10.000er Stückzahlen gehen, wenn man das im FPGA unbedingt selber 
machen will. Außerdem brauchst du dafür einen FPGA, der min. 5GBit/s 
Transceiver hat. Es gibt ja USB 3.0 Cores bei PLD, NorthWest 
Logic....aber die kosten schon als Netzliste 5-stellige EURO Beträge, 
und den 2.0 Core sowie einen DMA Core musst du auch noch dazu kaufen.
Gast #4375792
Lesenswert?

Christian R. schrieb:
> Klakx schrieb:
> Es ist einfacher einen USB3.0 Extender zu bauen als einen USB 2.0.
>
> Nee, denn für die Enumeration werden die 2.0 Leitungen benötigt,
> SuperSpeed wird erst nachher zugeschaltet.
> 3.0 geht aber mittlerweile sehr schick mit den Corning Active Optical
> Cables. Ich hab da eins da zum testen, klappt prima auch mit 2.0
> Geräten.

Das bezweifle ich. Man kann usb3 mit durchgeschnittenen usb2 Leitungen 
betreiben.
OP #4375797
Lesenswert?

Christian R. schrieb:

> Klar, kriegt man alles hin. Aber seien wir ehrlich: Nicht mit deinem
> Kenntnisstand
stimmt aber wenn ich es nicht jetzt anfange wann denn?! ich meine mit 
Erfahrung sammeln

ich muss selber die Aufgabe nachvollziehen, ich recherchiere noch!!
das leben ist kein Ponyhof, sagen die liebe Deutschen
muss leider irgendwie die Aufgabe hinkriegen.

ich werde noch mit einem Kompel zsmsetzen, der sich mit USB gut auskennt 
und werde berichten, wie das zum Schluss aussehen soll
Gast #4375839
Lesenswert?

Klakx schrieb:
> Christian R. schrieb:
>> Klakx schrieb:
>> Es ist einfacher einen USB3.0 Extender zu bauen als einen USB 2.0.
>>
>> Nee, denn für die Enumeration werden die 2.0 Leitungen benötigt,
>> SuperSpeed wird erst nachher zugeschaltet.

Klakx hat recht.
In der "ECN 006 USB 3" sieht man, dass die USB 2.0 States übersprungen 
werden können wenn ein Superspeed Link detektiert (Far End 
Receivertermination) und aufgebaut werden kann.

Das ist unabhängig davon, dass ein conformes USB 3 Device auch USB 2.0 
können muss, zumindestens muss es erkannt werden wenn man es an einen 
USB 2.0 Host anschliesst.
OP #4375864
Lesenswert?

Christian R. schrieb:
> Jo, Icron fummelt das ganze USB Protokoll auseinandet, das kannst du
> nicht einfach mit einem Device Controller nachbilden. Sonst wäre deren
> Asic nicht so teuer. Wir setzen die Dinger auch ein, seid lieber froh
> dass die euch die Core Module überhaupt verkaufen. Habt ihr so hohe
> Stückzahlen oder gute Beziehungen?

mehr 20stk pro monat, und gehen auch viele kaputt !
wo verwendet ihr den Icron?
also bei uns in einem gerät was aus USB2.0 zu optischen Signal wandelt
#4376227
Lesenswert?

Y. M. schrieb:
> Christian R. schrieb:
> Jo, Icron fummelt das ganze USB Protokoll auseinandet, das kannst du
> nicht einfach mit einem Device Controller nachbilden. Sonst wäre deren
> Asic nicht so teuer. Wir setzen die Dinger auch ein, seid lieber froh
> dass die euch die Core Module überhaupt verkaufen. Habt ihr so hohe
> Stückzahlen oder gute Beziehungen?
>
> mehr 20stk pro monat, und gehen auch viele kaputt !
> wo verwendet ihr den Icron?
> also bei uns in einem gerät was aus USB2.0 zu optischen Signal wandelt

Wir haben da nur ganz geringe Stückzahlen, ging nur über Beziehungen. 
Aber läuft problemlos. Ist ein Messgerät an einem 300m langen Kabel mit 
Glasfaser.
Gast #4379561
Lesenswert?

Y. M. schrieb:
> Christian R. schrieb:
>
>> Wir haben da nur ganz geringe Stückzahlen, ging nur über Beziehungen.
>> Aber läuft problemlos. Ist ein Messgerät an einem 300m langen Kabel mit
>> Glasfaser.
>
> wie bauen einen Übertrager USB <-> optischer Kanal für EMV Messung

das klingt jetzt nicht sehr nach Echtzeitanforderung. Ich denke mal 
andere Architekturen würden schneller zum Ziel führen. Ethernet über 
Glasfaser wäre eine Idee. Den USB-Anschluss kann man immer noch 
realisieren, man muss ihn aber nicht unbedingt durch die ganze 
Glasfaserleitung schleifen.

Wenn man sowieso einen USB-Treiber schreiben muss, ist es die Sache 
doppelt so sehr nicht wert.

uwe schrieb:
> Zeitmäßig würde ich dieses Projekt bei 3 Mannjahren ansetzen.
> Was sagen andere dazu?

2-3, ja. Für so eine Dauer/Kosten eine Eigenlösung anstreben.., ist es 
das Wert (ohne bestehende Patentverletzung, offener Marktanteil)?
VHDL/FPGA lernt man auch in anderen sinnvolleren Projekten.
#4379599
Lesenswert?

Klakx schrieb:
> 2-3, ja. Für so eine Dauer/Kosten eine Eigenlösung anstreben.., ist es
> das Wert (ohne bestehende Patentverletzung, offener Marktanteil)?
> VHDL/FPGA lernt man auch in anderen sinnvolleren Projekten.

Ich seh das auch als sinnlos an. Klar, Icron ist keine sehr feine Firma, 
wenn es um die OEM Module geht, aber wenn man einmal durch ist, kosten 
die 2240 Module doch bloß um die 70€. Selbst bei 20 Stück im Monat ist 
der finanzielle Nutzen einer Eigenlösung fraglich.

Eventuell kann man da ja auch einen FT2232 nehmen mit dem fast optical 
channel? Klingt nicht so als würden die vollen 40MB/s benötigt.
Gast #4380294
Lesenswert?

Y. M. schrieb:
> Christian R. schrieb:
>
> Eventuell kann man da ja auch einen FT2232 nehmen mit dem fast optical
> channel? Klingt nicht so als würden die vollen 40MB/s benötigt.
>
> daten werden mit 480MB/s übertragen

Christian meint Byte wahrscheinlich und nicht bit. 480 mbitps werden 
sicherlich nicht an nutzdaten übertragen, da dies die 
LeitungsGeschwindigkeit ist. (inklusive stuff Bits)

Die Frage ist berechtigt, welche nutzdatenmenge übertragen werden soll.
(Firma: Home) #4380567
Lesenswert?

Hallo Y.M.,

ich bin mir sicher, dass ein USB-Extender mit sehr viel Aufwand zu 
implementieren ist. Für den Einstieg halte ich ein solches Projekt für 
quasi unlösbar. Aus verschiedenen Gründen:

1. Kennst du das USB-Protokoll so gut, dass du es gezielt austricksen 
kannst?

2. Hast du dir Gedanken darüber gemacht, wie du mit den USB-Paketen, die 
du in den FPGAs empfängst (TX, RX), umgehst? Hast du hier eine 
ausgeklügelte Strategie, was du mit Paketen/Daten machst, die 
Timeout-Verletzungen im USB-Kontext verursachen, z.B. Daten die zu spät 
vom USB-Device zurückgesendet werden (IN-Transactions)?

3. Ist dir klar, dass du im FPGA, das die Daten vom USB-PC-Host entgegen 
nimmt, USB-Device spielen musst und dass du im FPGA, das die Daten zum 
eigentlichen USB-Device schickt, Host spielen musst?

4. Kennst du dich im FPGA-Design (VHDL, Verilog) so gut aus, dass du 
verschiedene USB-IP implementieren kannst? Inklusive der sauteuren 
Verifikations-IP?

Ich würde dir an dieser Stelle ohne Unterstützung durch einen erfahrenen 
USB-Hardware-Menschen von diesem Projekt abraten. Du wirst scheitern.

Noro
OP #4380594
Lesenswert?

Noro S. schrieb:
> Hallo Y.M.,
>
> ich bin mir sicher, dass ein USB-Extender mit sehr viel Aufwand zu
> implementieren ist. Für den Einstieg halte ich ein solches Projekt für
> quasi unlösbar. Aus verschiedenen Gründen:


hi noro,
danke für dein Feedback, klar ist das zu viel Aufwand (grd für mich als 
Anfänger) und kann es nicht, aber ich versuche mit dem USB2.0 IP 
FUNCTION von Opencores.org dies zu erfüllen! meinste damit wird es auch 
scheitern?
(Firma: Home) #4380734
Lesenswert?

Die IP "USB2.0 IP FUNCTION" von Opencores ist nur eine IP, um im FPGA 
als Device aufzutreten. Das ist aber im Prinzip lediglich ein Detail der 
Implementierung.

VIEL wichtiger ist es, sich Gedanken darüber zu machen, wie du mit 
verschiedenen USB-Transaktionen (IN, OUT, SETUP) in deinen FPGAs 
umgehst, sprich wie deine Datenverarbeitung im FPGA ist. Du brauchst ein 
"USB-Extender"-Konzept. Und ich meine nicht einzelne IPs, um die 
Schnittstellen abzubilden, sondern vielmehr dein Systemverhalten. Das 
ist das Schwere daran. Und wenn man noch keine Erfahrung mit USB-IP für 
FPGAs hat, ist es nahezu unmöglich dein Konzept auf Machbarkeit hin zu 
überprüfen. Das solltest du deinem Auftraggeber (der anscheinend keine 
Ahnung von der Materie) hat, vermitteln.

Noro
OP #4381572
Lesenswert?

das sind die ganzen Verilog-Blöcke, ich muss die noch einzeln 
nachvollziehen können, ich dachte und tue ich immer noch dass es mit den 
ganzen blöcke das erledigt wird, brauche dazu nur noch paar chips wie 
der USB3300
-------------------
WISHBONE Interface
This is the external bus interface, that is WISHBONE
SoC compliant.
--------------------
USB CRC5 and CRC16 Modules
--------------------
USB function defines file
--------------------
Endpoint register File
This module contains all registers for ONE endpoint
--------------------
Dummy Endpoint register File
This module contains termination for registers in ONE
endpoint. It is used to replace the actual endpoint
register file for non existing endpoints.
--------------------
Internal DMA Engine
--------------------
Memory Buffer Arbiter
Arbitrates between the internal DMA and external bus
interface for the internal buffer memory
--------------------
Packet Assembler
Assembles Token and Data USB packets
--------------------
Packet Disassembler
Disassembles Token and Data USB packets
--------------------
Protocol Engine
Performs automatic protocol functions
--------------------
Protocol Layer
This block is typically referred to as the SEI in USB
Specification. It encapsulates the Packet Assembler,
disassembler, protocol engine and internal DMA
--------------------
Register File
This module contains all top level registers and
instantiates the register files for endpoints
--------------------
USB function core
--------------------
UTMI Interface
--------------------
UTMI Line Status & Speed Negotiation block
--------------------

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