Sida 1 av 1
1.5k pull up för USB kommunikation
Postat: 7 juli 2014, 16:19:09
av Korken
Godagens!
Sitter och designar ett kort med USB (via en STM32F373), och på dessa så ska man styra 1.5k motståndet manuellt.
Jag ska dra denna till VCC för att indikera att en enhet är inkopplad eller lämna det flytade för att koppla bort.
Det som är min fundering är, kan man koppla direkt 1.5k motståndet till en CPU ben för att driva det högt/lågt?
I alla designer så har folk en transistor som gör detta, men det känns lite onödigt. Eller har jag missat något som gör att man måste ha en transistor?
//Emil
Exempel från STM32F373Discovery Board:
usb.png
Re: 1.5k pull up för USB kommunikation
Postat: 7 juli 2014, 16:23:56
av Swech
Enda anledningen skulle väl vara att få lite mer skydd för processorbenet,
Annars bör det funka fint.

Hade inte en PNP varit ett bättre val i exemplet?
Swech
Re: 1.5k pull up för USB kommunikation
Postat: 7 juli 2014, 19:39:57
av Korken
Precis min tanke, lika så om transistorn.
Jag har alltid ESD skydd på D+ och D- så det känns inte som att ESD kommer vara ett problem.
För jag blir lite osäker när ingen annan har rak inkoppling. Kanske bäst att slänga dit en PNP och göra som alla andra iaf?
Re: 1.5k pull up för USB kommunikation
Postat: 7 juli 2014, 19:54:18
av Icecap
Att välja en emitterföljare är definitivt fel! Idén med motståndet är att ge en specifik spänning men med en emitterföljare ska man ju räkna bort en diodsträcka. Det kan ju vara ett det fungerar ändå - men det är en onödig koppling och dumt gjort.
Re: 1.5k pull up för USB kommunikation
Postat: 7 juli 2014, 20:29:54
av Korken
Jag tror det är därför basen på andra transistorn är kopplad till 5V.
Men jag håller med, det är en konstig koppling.
Re: 1.5k pull up för USB kommunikation
Postat: 7 juli 2014, 20:36:31
av Icecap
Korken: Basen på T4 är utan betydelse i detta. Ska det vara något är det bas-spänningen på T5 som är av vikt men den sitter på en spänningsdelare som ger 3,9V varför T5 faktisk bara används som diod (b-e). Mycket konstig koppling.
Och för många komponenter för en så liten funktion.
Re: 1.5k pull up för USB kommunikation
Postat: 8 juli 2014, 01:19:45
av superx
Jag är inblandad i en konstruktion som är i produktion nu. STM32 M3 och bus power. Samma transientskydd som i schemat du postade. 1,5k direkt till MCU. Det funkar!
Re: 1.5k pull up för USB kommunikation
Postat: 8 juli 2014, 02:39:04
av MiaM
Poängen med emitterföljaren är väl att när USB_disconnect är hög så har T4's kollektor och därmed T5's bas ca 0V på sig, och då blir emittern på T5 högimpediv (jämfört med normala spänningar. Det är ju bara bra att den börjar leda om nån börjar dundra in -0,7V på USB_D+). Har man inte emitterföljaren så lastar R84 USB_D+ hela tiden. T4 används för att det ska funka oavsett hur bra/dålig "etta" man uar på USB_disconnect. Om man vet att det är perfekta spänningsnivåer (typ CMOS-utgång eller liknande) så kan man förstås skippa T4, R56 och R65, och mata USB_disconnect istället för U5V in på vänstra sidan av R86. (Då blir givetvis signalen USB_disconnect inverterad).
Fast nu har jag kanske fått hela USB-funktionen om bakfoten?
Re: 1.5k pull up för USB kommunikation
Postat: 8 juli 2014, 08:16:48
av Korken
superx:
Aha, så det fungerar! Drog ni sedan bara pinnen som motståndet var kopplat till högt/lågt för att styra USB-anslutningen?
Eller va ni tvungna att alternera mellan högimperdiv och push/pull?
Re: 1.5k pull up för USB kommunikation
Postat: 8 juli 2014, 08:38:42
av superx
Den biten har jag ingen koll på tyvärr.
Re: 1.5k pull up för USB kommunikation
Postat: 8 juli 2014, 10:46:15
av Swech
Korrekt måste väl vara att växla mellan ingång / utgång satt till "1"
Swech
Re: 1.5k pull up för USB kommunikation
Postat: 8 juli 2014, 13:15:41
av Korken
Det känns som det. Hittade att den ska vara "high impedace" när den är urkopplad.
Men jag får testa när jag har grejerna. jag lär märka vad som fungerar när man testar på USBn.

Re: 1.5k pull up för USB kommunikation
Postat: 8 juli 2014, 15:05:56
av swirve
Misstänker att superx och jag sitter på samma projekt, men på olika sidor... Och utan att ha koll på mjukvaran så ser det ut som den sätts hög eller låg med en utgång. Verkar funka det också...
Re: 1.5k pull up för USB kommunikation
Postat: 10 juli 2014, 12:42:16
av superx
Det kan nog stämma!
Kollade precis på V-USB för AVR som jag använt en hel del med framgång. Den sätter IO-pinnenen till ingång utan pull-up iaf.