4046 VCO frequency tolerances - Page 1
Forum section: electronics / projects

author: PeterF
author_rank: Contributor
timestamp: October 30, 2017, 04:00:19 pm
content: Hi!I'm new with using VCO/PLL's and I'm looking to design a simple FSK modulator/demodulator for use in a DC PLC tranciever.It will run over a 24V DC power line to control another system that we're interfacing with.I got interested in the simplicity with the modulation as seen in this appnote:http://www.ti.com/lit/an/slaa618/slaa618.pdfIn our system, the two frequencies are quite close:* 134 kHz* 182 kHzI got a bit scared looking at the tolerance levels in datasheets for TI 4046A and 4046B.http://www.ti.com/lit/ds/schs204j/schs204j.pdfhttp://www.ti.com/lit/ds/symlink/cd4046b-mil.pdfFigure 4 in the 4046B states +- 25% frequency unit-to-unit variation.Does this really mean that I can expect such high absolute frequency variations using these parts?I wanted to check that I didn't misinterpret something before I go searching for other parts with better specifications.(The NXP HEF4046B doesn't say anything above a few % in any tolerance numbers, but perhaps they aren't stating the same exact parameter at all.)Please feel free to provide any suggestions about other techniques as well

author: Kleinstein
author_rank: Super Contributor
timestamp: October 30, 2017, 04:47:34 pm
content: There are quite some tolerances involved, as there is an internal current mirror used and the voltage swing is not very accurate in the VCO. The 4046 after all is a dirt cheap chip and accuracy of the VCO is no an important parameter in most applications.It might need an individual adjustment to get the right frequency.An alternative method could be using an µC to generate the frequencies and also for detection. Sending should be straight forward - detection is slightly more difficult, but still doable.

author: duak
author_rank: Super Contributor
timestamp: October 30, 2017, 05:21:27 pm
content: I built an RTTY FSK demodulator using an NE565 PLL many years ago. If I recall correctly, one adjustment is needed to set the VCO center frequency. The 4046 should work, but I believe the NE565 (or equivalent) is still in production and may be worth considering.Cheers,

author: Benta
author_rank: Super Contributor
timestamp: October 30, 2017, 05:26:26 pm
content: +/- 25% frequency tolerance?My experience with the 4046 is that it's even wider than that.For the modulator I'd go a different route, for example 134 and 182 kHz generated from a divider chain clocked by a crystal oscillator and switching between the two. Preferably with (synchronized) dead time between the frequency changes.The demodulator will work with the 4046, simply because absolute frequency is unimportant, only the frequency shift matters (and thus VCO control voltage). It will probably lock on a lot of other stuff as well...

author: TimFox
author_rank: Super Contributor
timestamp: October 30, 2017, 07:33:32 pm
content: I had a different problem with a CMOS VCO, where the device was on a rotating vertical platform (horizontal axis of rotation) and the high-power servo motor and driver were in a lower corner of the frame. The temperature difference between the position closest to the motor and the position opposite caused a serious temperature-induced change in frequency depending on the position where the platform stopped. The lesson learned was to pay attention to the temperature co-efficient of frequency as well.

author: PeterF
author_rank: Contributor
timestamp: October 31, 2017, 10:37:18 am
content: Thanks for the help all.I'm thinking of going (at least at the first stressed prototype) with the LT6990.http://www.linear.com/tools/Products/LTC6990/LTC6990.phpI need to build a working modulator circuit rather quickly, and worry about the demodulation at a later stage.

author: Ian.M
author_rank: Super Contributor
timestamp: October 31, 2017, 11:40:00 am
content: If you've got a Microchip PIC programmer that can handle the newer PIC12/16F1xxx(x) enhanced midrange parts, the quick and easy option for the modulator would be to use aPIC12F1501for its NCO module. Program it to set up the NCO wit the flipflop enabled for square wave output, and output to the RA1 pin, then monitor an input pin in a tight loop and change the NCO frequency whenever it changes. e.g:Code:do{while(!PORTAbits.RA0); //Wait for input to go highNCO1INCH=FREQ134K>>8, NCO1INCL=FREQ134K&0xFF;while(PORTAbits.RA0); //Wait for input to go lowNCO1INCH=FREQ182K>>8, NCO1INCL=FREQ182K&0xFF;}while(1);N.B. the order of writing NCO1INCH, NCO1INCL is important, its double buffered and the new value is latched when the NCO1INCL register is written to, then synchronised to the NCO input clock.As its internal oscillator isn't that great, give it an external 20MHz clock from a crystal oscillator. FREQ134K and FREQ182K are #defined increment values to get those two frequencies out of the NCO after its /2 flipflop that squares up its output. They depend on the exact clock frequency used.The Microchip XC8 compiler licence permits commercial use in Free mode. Free mode should be good enough for the modulator to follow the input with no more than one half cycle of the output delay. Frequency accuracy would be nearly as good as the crystal, +/-5Hz.It shouldn't take more than an hour for anyone used to the Microchip toolchain to get the modulator running on a breadboard, maybe half a day if you have to install the tools from scratch and pick your way through coding your first PIC program in C with the aid of theGooligum Enhanced Mid-Range PIC tutorials (FREE SAMPLE).For production, you can treat the result as a custom modulator chip as Microchip Direct offer a programming service for a small fee and can ship programmed chips taped and reeled direct to your assembler.

author: Karel
author_rank: Super Contributor
timestamp: October 31, 2017, 12:09:41 pm
content: Here's what "The Art of Electronics" says about it:"So, what’s going on here? Each of the HC4046 manufacturersuses a different circuit for their VCO design.Although intended to be predictable and linear, in practicethe VCO control is nonlinear, and its parameters vary withcontrol current, supply voltage, and operating frequency,especially above 10 MHz. Although you can find analyt-ical expressions for the VCO’s frequency (ON Semi appnote AN 1410), the recommended method is still to startwith the timing component values (R 1, R2, and Ci) fromdatasheet graphs; then the designer is sternly admonishedto adjust and validate those values with careful benchmeasurements before committing to manufacturing.This sort of variability and lack of confident predictabilityleads us to render this advice:1. choose one manufacturer for your production design,and do not allow substitutes;2. choose a wide safety margin for and / max, such asthe 3 x factor in our Figure 13.99;3. replace your initial paper calculations with measuredbench values for production.Rule 1. applies to any linear functionality in a logicIC, e.g., mixed-signal functions such as phase comparators,oscillators, VCO's, mixers, Schmitt-triggers, monostables,or comparators."Edit:The modern replacement 74HCT9046A is more stable/precise:https://assets.nexperia.com/documents/data-sheet/74HCT9046A.pdf

author: danadak
author_rank: Super Contributor
timestamp: October 31, 2017, 02:07:12 pm
content: Single chip solution, program free for download, both IDE and solution program -http://www.cypress.com/documentation/application-notes/an60594-psoc-3-and-psoc-5lp-low-frequency-fsk-modulation-andIt compiled fine under PSOC Creator 3.3. Trial board to usehttp://www.cypress.com/documentation/development-kitsboards/cy8ckit-059-psoc-5lp-prototyping-kit-onboard-programmer-andIDE available athttp://www.cypress.com/products/psoc-creator-integrated-design-environment-ideScreenshots from IDE of major pieces attached, onboard except for passives.Regards, Dana.

author: danadak
author_rank: Super Contributor
timestamp: October 31, 2017, 02:53:28 pm
content: Alternative way of doing FSK sinewave generation, using same PSOC part, is touse Wavegen component inside part.http://www.cypress.com/documentation/application-notes/an69133-psoc-3-psoc-5lp-easy-waveform-generation-wavedac8-componentSee page 7 of ap note.Regards, Dana.

author: danadak
author_rank: Super Contributor
timestamp: October 31, 2017, 03:04:07 pm
content: Here is an approach for FSK over powerline.http://www.cypress.com/file/45791/downloadKeep in mind, accuracy is related to clock, onchip its accuracy +/- 7%, add anexternal xtal, << 1%.Regards, Dana.

author: fcb
author_rank: Super Contributor
timestamp: October 31, 2017, 03:18:12 pm
content: 4046 can make a great FSK demodulator, but you will need a single adjustment for the centre frequency, what width modulation are you trying for?The system microcontroller to generate the transmission frequencies directly (depending on your micro, you might need to change), you can get away with an RC filter to turn your micro's output into a nice sine wave for injection onto your line.You could also build a synchronus demodulator (think lock-in amplifier) in software if you needed to keep the component/alignment cost down, but you'd probably have to lower the frequencies somewhat to get sensible sampling rates.

author: danadak
author_rank: Super Contributor
timestamp: November 01, 2017, 12:30:52 am
content: http://www.cypress.com/blog/psoc-insiders-blog/not-just-another-pretty-waveform-generatorGenerating the FSK stream. Not missing is , if you need it, a small amount of additional on chip controllogic you could add that would switch the streams at waveform zero crossing.The resources this takes on chip are probably << 10% of available chip capability.Regards, Dana.

author: danadak
author_rank: Super Contributor
timestamp: November 01, 2017, 01:03:31 am
content: For the receive side use the onchip DFB, Biquad, 2 channel, example attached.Channel A set to 1 Khz, B to 1.2 Khz. Ignore block symbol showing LP, bothchannels set for BP.Actual solutiuon includes A/D and VDAC. But VDAC probably not needed, one could count burst cycleswith onchip cntrs to establish bit received.Regards, Dana.