CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

18LF2550 not working with USB.....

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
JAM2014



Joined: 24 Apr 2014
Posts: 138

View user's profile Send private message

18LF2550 not working with USB.....
PostPosted: Wed Jul 16, 2014 6:13 pm     Reply with quote

Hi All,

I have a 'core design' based on the 18F2550 that I've used successfully on a number of projects that require USB connectivity. Recently, however, a new design utilizing the 18LF2550 (note the 'LF') is not being recognized correctly by Windows..... A review of the 18F2550 datasheet suggests two problems.

1. The problem design uses a Vdd of 3.6V (required by a GSM modem). I'm using the internal Vusb regulator, and I'm measuring 3.3V on the Vusb pin, but at a 3.6V Vdd I'm clearly out-of-spec here. I'm planning to disable the internal regulator, and generate the 3.3V Vusb externally with a zener diode.

2. I'm using a 20MHz crystal, the PLL5 fuse, and the CPUDIV1 fuse, so I'm clocking the PIC at 48MHz. Again, although the chip seems to be working correctly (except for the USB, which is used exclusively for a bootloader in this application), I'm clearly out-of-spec on the maximum clock rate for the chip at this supply voltage. I'm planning to use the CPUDIV6 fuse, and clock the PIC at 16MHz instead.

Is it likely that these changes will fix the USB problems I'm experiencing? I'm traveling now, so I can't test anything for a week or so, but I will have the opportunity to order any needed parts I might need in the interim. I think I'm on the right track with these fixes, but I'd like confirmation from someone that may have faced the same issue previously.

Thanks!

Jack
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Wed Jul 16, 2014 6:33 pm     Reply with quote

The "K" version of that chip, 18F25K50, runs at 3.3v right up to 48 MHz.
Check the compatibility with your exisiting design and see if you can
just drop it in.

You will need ICD3 or Pickit3, or the equivalent CCS programmer to
program it.
Ttelmah



Joined: 11 Mar 2010
Posts: 19553

View user's profile Send private message

PostPosted: Thu Jul 17, 2014 1:15 am     Reply with quote

Have to agree with this suggestion.

The 'K' chip also has far fewer errata than the F2550 versions. Makes it a lot easier to work with!....

Alternatively the J50, will also go into the same socket, and has the advantage of quite a few extra peripherals, that are 'relocatable'. So a second UART for instance.

I'd suspect the Vusb, is spiking down, when the transceiver loads change, hence the recognition problem. It's probably got a characteristic impedance of some kilo-ohms, trying to generate 3.3v, from 3.6v....

Technically, the maximum voltage allowed for Vusb, is 3.6v. So if you can guarantee your supply won't go over this, you can feed Vusb directly from the supply for the rest of the board. However a little extra isolation and smoothing here is well worthwhile.
It is worth pointing out just how high the instantaneous currents can be on USB. When the transceivers switch, for a few nSec, many mA flow. It is this momentary spike that the capacitor on Vusb has to deliver, and 'why' it must have good HF performance.
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
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