Can I Using LM567 to detect a FSK Signal

Thread Starter

nathan_cxy

Joined Mar 12, 2020
4
One of the problem come up, one of the 2FSK frequency waveform will decrease its amplitude due to long distance transmission , the project Is aiming to suing 2 LM567 IC's to select the specific range of the input frequency , ideally the output of LM567 the square wave can works like a (maybe CD4006)switch control to put the sine wave back on, so that I can able to adjust the amplitude of that select frequency.


I use the circuit as show below and calculation of the R1 C1 and C2, when input a pure sine wave with a selected frequency its works. but when input a 2FSK single the form is show below. I don't know what happed it seems all random
WeChat Image_20200317142408.jpg
WeChat Image_20200317143000.png
1.jpg
2.jpg
3.jpg
4.jpg
 
Last edited by a moderator:

Thread Starter

nathan_cxy

Joined Mar 12, 2020
4

danadak

Joined Mar 10, 2018
4,057
The lock process is a statistical process in the PLL due to noise and PLL and
PLL phase comparator state.

You might think about a different approach where the process is more deterministic -

https://www.cypress.com/file/134251/download

This produces a glitch free transition in sine output freq due to implementation. Single chip
design for both ,mod and demod (except for filter R & C passives which are external, the OpAmps
are onchip). So the approach produces both FSK modulation and demodulation. The mod process
takes a uart stream and converts that to a dual freq sinewave out. The demod takes the dual freq
sinewave in and converts that to a uart stream.

Board for solution/development $ 10. https://www.cypress.com/documentation/development-kitsboards/cy8ckit-059-psoc-5lp-prototyping-kit-onboard-programmer-and

1584526452962.png



Most chip resources unused, left for other user design tasks, see right hand window resources used/left.

Compiler and IDE (PSOC Creator) free. You drag and drop functions out of chip library (3'rd window from left,
component catalog, a component is an onchip resource), right click, config parameters, and use the associated
component APIs provided to manipulate real time the components, if needed.

https://www.cypress.com/products/psoc-creator-integrated-design-environment-ide

The above is an example project, one of many, for PSOC. The demod is another project which can simply be combined
into one project.

1584527369028.png

Note filters used in demod a separate tab in design, so I did not post them for view.
Filters use onboard OpAmps and external R's and C's.


Regards, Dana.
 
Last edited:

danadak

Joined Mar 10, 2018
4,057
One thing of consideration, when you trigger your scope you were doing one shot triggers right ?

Otherwise scope display would not be stable unless the UART was transmitting repeating character set.


Regards, Dana.
 

jeffl_2

Joined Sep 17, 2013
9
It's not clear to me from your description that the "higher" frequency is (or can be) exactly double the "lower" frequency. If it is then the more easily replicated model would be the "FM data separator" from the old "floppy" (or hard) disk drive days. (The other name for this was "Manchester coding", it was called "FM" to distinguish it from "M(odified)FM" which was double the data rate.) (Be careful because this definition of "FM" is almost literally an overloading of the acronym!) Actually even "FM" is capable of sending out data at double the rate you were trying to get here because you can get out a data bit for every half-cycle of the lower frequency. The concept here is not to get the PLL to track the FREQUENCY including the data, it's to get it to stay in phase lock with those bit transitions which are counted as "clock" transitions as opposed to "data" transitions (in this scheme it's easier to consider the presence or absence of a transition as a "data bit" rather than using a state or frequency). This way if you're expecting a data transition you can establish a time domain "data window" and with the PLL tracking the incoming data it will ensure that the time for that window is extremely accurate even if the rate of the pulse train is subject to drift. There used to be better chips for just this function but nowadays this is an extremely low level of integration. There are just LOADS of discussions of circuits of FM data separator circuits (even some algorithms!) available with a Google search. If you're concerned that your application is susceptible to having issues if just a bit or two is received incorrectly then you just use some of the extra bandwidth as "redundancy" and implement the simplest error CORRECTION (not just detection!) scheme you can find. I apologize if this isn't applicable or is "too far off" but I just wanted to point out this is "well-trodden" territory if you start looking with search terms that will find you this type of information.
 

Thread Starter

nathan_cxy

Joined Mar 12, 2020
4
this was the
One thing of consideration, when you trigger your scope you were doing one shot triggers right ?

Otherwise scope display would not be stable unless the UART was transmitting repeating character set.


Regards, Dana.
33593b7b8d097a2c7f2b8754ad4c284.jpg
thanks Dana,
This is the receiver end that I build on the bread, I was planning to add more functions no hardware.
However I have ordered CY8CKIT-059 Prototyping Kit, it should arrive in next few day, but when I read through the example AN60594 I was not getting how it worked The BW =1572.2 in Appendix A.
1585701203(1).png

Also if the Vref Vdda/2 is created internally, how do I connect the physical circuit of these circuit to it.
1585703095(1).png1585703128(1).png
Regards
Nathan
 

Attachments

danadak

Joined Mar 10, 2018
4,057
In the analog part of component catalog is a Vref component you just drag
onto schematic, right click, and config the value V you want. I assume you
will use onchip OpAmps so passives get connected to pins which you route
the OpAmp connections out to. But in the MFB case the Vref only needs to
route internally to the OpAmp with wire tool. Just as an aside when using
Vref it is internally un-buffered, so it can only directly connect to HiZ loads.
If you need to drive something with it you buffer it with an OpAmp configured
as a follower. In this case the OpAmp connection, the NI input, is HiZ so
you do not need buffer.

MFB filter design - http://www.ti.com/lit/an/sboa114/sboa114.pdf

http://sim.okawa-denshi.jp/en/OPtazyuLowkeisan.htm

So far I cannot find a design guide for the 3 pole using the PGA, I will keep looking.
But its a two pole with a simple RC in front of it. Maybe that can be starting point....

If you use TI FilterPro it has a tool where you can enter specs, and pick MFB and force
tool to 3 poles, so looks like that will get you going.

Just as FYI there are a lot of videos on PSOC Creator on website.

https://www.cypress.com/video-library/PSoC-Software/psoc-creator-101-lesson-1-introduction-0/108116


Regards, Dana.
 
Last edited:

danadak

Joined Mar 10, 2018
4,057
You can download the project here -

https://www.cypress.com/documentation/application-notes/an60594-psoc-3-and-psoc-5lp-low-frequency-fsk-modulation-and


All the projects are done under various versions of Creator. So when you open them and look at
top design it may warn you that components may be out of date. Components onchip get revisions
typically with changes in Creator or bug fixes or performance upgrade. So best discipline is when
you open a project, in menu select "project" and then "update components..." It gives you the choice
of archive the existing project before up date or not, and then it updates the project.

Note this project is actually 2 projects, the Tx side and the Rx side. So you tell Creator which project
you are working on right clicking the project name in left window and choosing "set as active project"
That way when you hit build button it works on the active project.

This multi project capability allows you to cut and paste from one to the other when creating
projects out of other projects. You can cut and paste schematic stuff as well as code.

One other issue, the projects were created not all on the same board by engineer who did it, so
typically you have to reassign pins. You will see in design wide resources a pins link to click,
left window, and then in pins window you select pin you want used. 3'rd window from left.

1585718343936.png


Regards. Dana.
 
Last edited:
Top