|
|
View previous topic :: View next topic |
Author |
Message |
nuwavedc
Joined: 06 Feb 2008 Posts: 17
|
USB Problem with CCS functions on PIC18F4550 |
Posted: Wed Feb 06, 2008 2:36 pm |
|
|
To all who will actually read this (I know its long, sorry) thanks in advance!
We needed to make a small temperature controller that could interface to a PC over USB so we began with the CCS example ex_usb_serial.c USB CDC API virtual UART, and were successful in communicating characters back and forth using HyperTerminal on the PC and the functions usb_cdc_putc(), usb_cdc_kbhit() and usb_cdc_getc() in our Controller.
We then 'added' our application to the existing CCS files (usb_cdc.h, pic18_usb.h, usb.h, usb_desc_cdc.h, etc.). At the PC end, we created a Visual Basic application to use the appropriate serial port to communicate with our Controller.
Then, since the UART/HyperTerminal example was just a character-for-character echo, we built a simple message protocol with a unique 'Start of Message' character so that short control/status messages (7 bytes ea) could be exchanged between the PC and our Controller. The PC, as the initiator, sends a request or command and the Controller sends a response message.
Everything seems to work well except for an intermittent bug:
The PC makes the 'connect' sound when we plug in our USB controller (enumerates? we have no USB 'snooper' or USB test facilities) and the PC can then be commanded to continuously exchange messages with our Controller.
The exact sequence is as follows:
The PC application shows a USB error
But, after a variable time, our Controller 'hangs' and the Controller will not respond to USB comms or user key input.
If I do not unplug the USB connection, after another variable time, our Controller resets. But USB comm does not resume automatically; we must unplug the USB and restart our VB application at the PC.
If I unplug the USB cable from the PC USB port as soon as the controller 'hangs' the controller still will not respond to user key input
Most of the time when I plug it back in to the USB port it will again begin to respond to user key input even though the PC application is disconnected (not trying to communicate)
When I click connect on the PC application, normal comms resumes.
Debugging: a faster rate of message exchanges with the PC seems to make the problem occur sooner, but it is still a variariable time from startup; communication can run OK for 30 seconds to several minutes (hundreds or thousands of messages) before the 'hang'. In looking to isolate the problem, The 'hang' seems to happen while outputting the USB message using usb_cdc_putc(); we have tried using usb_cdc_putready() before each usb_cdc_putc() and have also called usb_task() between each of the character outputs, but the 'hang' persists.
The restart of our Controller after the second delay is also something of a puzzle: it seems to be too long of a time for a Watchdog reset, but this possibility cannot be ruled out as yet. Also, we have been able to recover from the 'hang' before our Controller resets by: stopping the VB app, unplugging, then replugging the USB connector, restarting the VB app, and restarting USB communications; it is not clear whether this points to the PC end or or Controller end of the USB cable as the 'problem end.'
CCS forum users have posted some USB problems that seem similar, or could be related to what we are experiencing, but we have not as yet found anything to try that eliminated our problem. _________________ Thanks,
NuWaveDC |
|
|
Tre
Joined: 03 Jun 2005 Posts: 21
|
|
Posted: Wed Feb 06, 2008 4:44 pm |
|
|
I have exactly the same problem, please look at my thread just a few posts before yours. Maybe we can compare notes and get to the bottom of this, I suspect it is a buffer problem somewhere with CDC.
Do you have any interrupts running? |
|
|
Tre
Joined: 03 Jun 2005 Posts: 21
|
|
|
Darren Rook
Joined: 06 Sep 2003 Posts: 287 Location: Milwaukee, WI
|
|
Posted: Thu Feb 07, 2008 2:01 pm |
|
|
EMail CCS tech support of this issue. They have new drivers that may work better for you, but they haven't been released yet. _________________ I came, I saw, I compiled. |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|