D+ pull-up missing

A project log for CPU Gauge

An analog gauge with USB, serial and analog interface.

lukasz.iwaszkiewiczlukasz.iwaszkiewicz 11/03/2014 at 21:510 Comments

I finally uploaded (some say "downloaded") the firmware into my device and it seems that host does not see it. I found an error on my schematic which caused this : there was no 1.5kΩ pull up resistor metween PUR pin and D+ pin. Every USB host has 15kΩ pull down resistors built in on D+ and D- rails, and when noting is connected to the port both lines are low thanks to that. On the other hand, full speed USB devices have 1.5kΩ pull up resistor on D+ line which "wins" over the host one (15k) and when connected, the D+ goes up. This information tells the host that something was connected and what speed it is. As far as I remember neither STM32's nor TIVA-C ARM µCs didn't require those external pull-ups (they must have them integrated), so it came as a surprise to me. Now it's time for some quick and dirty fix.