Hubert Chrzaniuk

MCF52221 USB "unknown device"

Discussion created by Hubert Chrzaniuk on Aug 14, 2011
Latest reply on Oct 29, 2011 by TomE


I have a difficulty making USB work properly. I want to use device mode. I'm using the USB Stack with PHDC in version 3.1 and Codewarrior 7.2. I can't even run the examples like HID device which should work without any additional system drivers. The problem is that every example works the same - some USB device is detected on the bus but then system installs it as "Unknown device" (I've tried both on Windows XP and 7 with similar result).


I have some topics I'd like to discuss:


I'm using MCF52221 in 100 pin version, I can say that it's working because "hello world" program works (led is blinking). I've attached DP and DM and there are 33 ohm resistors. But 100 pin version has also external USB_DP_PDOWN, USB_DM_PDOWN, USB_PULLUP. Firstly, is it possible that it doesn't work because I didn't connect them to DP/DM lines? (my logic - pull down lines are to be used with OTG so I don't need it, USB_PULLUP seems unnecessary as CF internally pulls up lines, also I've tried pulling up DP line with 1.5k ohm resistor and it didn't solve my problem).

Secondly, as for USB_DP_PDOWN, USB_DM_PDOWN datasheet says "If these pins are not configured for USB signals, each pin should be pulled down externally using a 10 kΩ resistor.". I left them floating. Is it possible that it is making USB unworkable ? (demo board has 66 -pin version of CF where those pins aren't present, and my board is really a minimal copy of demo board).

My board has external 48 MHz crystal exactly like demo board. The CLK_SRC is set to 01 (Oscillator clock) but I've also tried to set it to 11 (System clock source) and multiplying internal clock (x6) so it would generate 48MHz system clock (also the same effect). I have this hunch that it's clock problem but that may only distract me so I don't see real problem.


Please, any suggestion will be useful because I don't really have any ideas. Stupid and obvious ideas are welcomed as I consider myself as a beginner and I might have make stupid mistake.