Does anybody know where I could find a low current as small as possible 4MHz quartz suitable for use to drive a PIC?
Currently using FQ1045A-4 from FOX electronic but its size (10*4mm) will have to be minimised for our implant, ideally something like 5*4mm. Unfortunately the internal oscillator is not accurate enough with temperature for our application.
I have found the CX3225SB from Kyocera Electronics which looks ideal but the company are not releasing the part for purchase or sample.
I don't know about PICs but AVRs internal oscillators are trimmable and some have onboard temperature sensors (attached directly to the die) which allows the osc to be trimmed over it's temperature range. What PIC are you using and exactly what kind of clock accuracy do you need?
Cant go into too much detail... patent pending. I think 200-300ppm accuracy would be ok. We are using the PIC18F2520. It looks like internal osc is +/- 2%?? I checked out the AVR thats a nice little function.. unfortunately 25,000 lines of PIC assembly would rule out changing!
I'm looking at using the internal oscillator with internal online tuning (OSCTUNE)... is it possible to tune without an external reference, since at the end of the day Timers, USART etc are all clocked off the same source.
It will say in the datasheet, have you looked there? An external one will be as accurate as you build it.
I'm looking at using the internal oscillator with internal online tuning (OSCTUNE)... is it possible to tune without an external reference, since at the end of the day Timers, USART etc are all clocked off the same source.
I did this with a 12F675 when I lost its OSCAL value. I wrote a routine that progresivly increased its OSCAL value, and then outputted something for me to compare it against. Worked for me. I also saw this project where someone, not impressed by the factory calibration done by Microchip, had a tuned 12F625/675 as a master, and then could then insert up to 4 12F625/675 in ZIF-sockets that would tune themselves. Pretty cool actually...
Yea I am.... the patent is pending! Once it is approved then we can tell the world, but until then its all very hush hush! I'm an engineer so i leave the patent stuff to the marketing folks and continue with the real work
johankj said:
I did this with a 12F675 when I lost its OSCAL value. I wrote a routine that progresivly increased its OSCAL value, and then outputted something for me to compare it against. Worked for me. I also saw this project where someone, not impressed by the factory calibration done by Microchip, had a tuned 12F625/675 as a master, and then could then insert up to 4 12F625/675 in ZIF-sockets that would tune themselves. ?
Does anybody know where I could find a low current as small as possible 4MHz quartz suitable for use to drive a PIC?
Currently using FQ1045A-4 from FOX electronic but its size (10*4mm) will have to be minimised for our implant, ideally something like 5*4mm. Unfortunately the internal oscillator is not accurate enough with temperature for our application.
I have found the CX3225SB from Kyocera Electronics which looks ideal but the company are not releasing the part for purchase or sample.
I don't know about the device you're using, but the 12F625/675 stores the factory calibration in EEPROM. To tune it, you called an address in EEPROM where it is stored, and it would return with the factory calibration in W. You would then set the appropriate register to load that value. The internal oscillator would then change to that value. I think it was an 6-bit value, with 4MHz roughly in the middle. One bit would correspond to a slight shift in the frequency.
If your device has a similar feature, you can turn on CLK out, and with a frequency meter, then change the 'OSCAL' value to best match 4MHz in your environmental specifications. Noting down that value, you would then have one MCU running at close to 4MHz, which would have to be loaded at startup.
Also, I believe the +-5% accuracy is an error-range for the device in general. One particular chip might be spot on 4MHz, whilst the maximum error above 25C is 3.8MHz-4.2MHz.