Forum: Mikrocontroller und Digitale Elektronik USB PHY über ULPI


von Dimitri M. (dimitri)


Lesenswert?

Hallo zusammen,

STM32F2xx und STM32F4xx haben schon ein hi-speed USB aber nur über 
ULPI-Schnittstelle zum PHY-Chip, z.B. USB3320, der auch auf Beagleboard 
verbaut wird.

Frage: hatte jemand bereits Erfahrung damit? Ist es wirklich so einfach 
wie z.B. ein RS232-chip ins Design zu integrieren, oder gilt es gewisse 
Stolpersteine zu beachten?

Gruss,
Dimitri

von Sebastian (Gast)


Lesenswert?

die neuen SAM3A/X haben einen Highspeed USB PHY integriert, damit sparst 
Du Dir den Stress mit Signal Integrity bei USB.

von Dimitri M. (dimitri)


Lesenswert?

Sebastian schrieb:
> die neuen SAM3A/X haben einen Highspeed USB PHY integriert, damit sparst
> Du Dir den Stress mit Signal Integrity bei USB.

Hallo Sebastian,

was du sagst, macht natürlich Sinn. Die Frage ist, wie hoch die 
Wahrscheinlichkeit denn sei, bei 5 mm langen Leitungen vom PHY-Chip zur 
Buchse irgendwelche Probleme zu bekommen.

Die Aufgabe, die ich zu lösen habe, setzt einen Chip voraus, der schnell 
Fliesskomma-Berechnungen erledigen kann, dabei sein "Wissen" (die 
Firmware) im gesicherten internen Flashspeicher aufbewährt, und noch 
dazu HS-USB-Host fähig ist (mit oder ohne ext. PHY).

Zuerst dachte ich an LPC4350 von NXP. Die gibt es leider mit 
flash-on-chip noch nicht. Die Programmaufführung im externen Speicher 
war elend langsam. Dazu kamen zuerst sporadische, dann aber schon 
chronische Abstürze des Debuggers (Red Probe+ und J-Link).

Ich switchte zu STM32F407, der eine FPU für Fliesskomma-Sachen hat. Das 
Discovery-Board macht keinen Ärger. Es fehlt nur der Hi-speed Host.

Das Gerät, welches drangehängt werden soll, versteht full-speed erst mal 
gar nicht. Nur hi-speed und basta auf einem Cypress-Chip. Ich hackte 
seine Firmware und konnte die auf FS und noch dazu ISOCHROROUS 
umzustimmen, damit ich 512 bytes Datablöcke anfordern kann. Auf BULK mit 
64 Bytes gab es Probleme intern im Gerät wegen Buffering (Buffer werden 
64 Bytes).

So gesehen, könnte ich mit Full-Speed leben, aber... Die mitgelieferten 
Bespiele und biblioteken zum STM32F4xx haben kein ISOCHRONOUS-Transfer 
drinne. Die Entwickler hatten es nicht nötig.

Wenn ich HS-Host bekäme, bräuchte ich den Firmware-Hack auch nicht mehr. 
Alles wäre schöner, schneller, besser.

Somit ich Atmel-Chip mit schnellem USB eher eine unwahrscheinliche Wahl, 
denn zu langsam ohne FPU.

Gruss
Dimitri

von Dimitri (Gast)


Lesenswert?

Wie dem auch sei, werde ich so ein Board mal aufbauen und testen. Ich 
denke, mindestens auf full-speed wird es laufen. Dann sehe ich weiter :)

SMT32F4xx mit Fliesskomma-Modul berechnet Ponynome 22x schneller als 
PIC32. Das lässt hoffen.

von Dimitri M. (dimitri)


Lesenswert?

Es klappte auf Anhieb mit USB3320 :)

von Ian D. (Firma: Prism Media Products Ltd) (iandennis)


Lesenswert?

Hi Dimitri
Did you get your board working with STM32F4xx and USB3320? If so, does 
the USB work at high speed (480Mbps)? I ask because I (and others) have 
problems with STM32F4xx working with USB3340, not working at HS only at 
FS. The reason seems to be that the STM sets the LPM bit in the PHY 
function register. I notice that USB3320 has no LPM function, so 
probably will work OK. All PHYs I know that work with STMF4xx have no 
LPM function. Thanks!

von dimitri (Gast)


Lesenswert?

USB3320 works at hi-speed with STM32F4xx.

Dimitri

von Ivan Z. (Gast)


Lesenswert?

Dmitri,

I saw you had worked with ST32f407Discovery and ULPI USB3320. I have the 
problem. It doesn't work. I also corrected the example code 
STM324xG-EVAL_USBD-HS for needed pins.
Could you give me code example?


Ich sah dich mit ST32f407Discovery und ULPI USB3320 gearbeitet hatte. 
Ich habe das Problem. Es funktioniert nicht. Ich korrigierte auch die 
Beispiel-Code STM324xG-EVAL_USBD-HS für erforderlich Pins.
Können Sie mir Code Beispiel geben?


Thanks
Ivan Z.

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.