AnsweredAssumed Answered

MCF5225x VCOM example doesn't reconnect and hangs

Question asked by Angelo Quattrociocchi on Feb 10, 2015
Latest reply on Feb 19, 2015 by soledad

We have a board with an MCF52254 running MQX 4.1 and are having issues with the USB device mode. The design is based on the MCF52259 tower board and very similar with respect to the USB circuitry. We are connecting this board to a tablet in OTG mode and using the CDC class to transfer data between the two devices.


The general problem is that while the first connection after reset works very reliably, if the USB cable is then disconnected and reconnected, the application does not resume communication. In many cases the VCOM task stops, and sometimes all tasks stop working, even higher priority ones.

With the original example VCOM running, after connecting to an app on the Android tablet, the tablet sends data to the device, which echoes it back. This works fine, but when the cable is disconnected and reconnected it doesn't continue.

We also added a very simple second task which periodically reports various flags, like start_app and start_transactions every second, and can see that after the first connection and start_transactions becomes true, it doesn't get reset after disconnecting.

The only difference between the hardware where USB is concerned is the pull-up resistors. These are tied to GPIO on our board and to the dedicated PDOWN pins on the tower board. Is the USB stack controlling those pulldowns automatically, or is that something we would be expected to control at the application level? I don't see the VCOM example app doing anything with those. Besides this, the resistors are both 15k on the tower board (as on our board), my understanding is that one of the lines should be pulled up with 1.5k on the device side. Would these resistors cause the type of behavior we are seeing?

(I have two tower boards and was trying to program them with this app, but I can't seem to get CW to connect by OSBDM. Also very frustrating.)