Maker Pro
Maker Pro

FSK project

max_torch

Feb 9, 2014
111
Joined
Feb 9, 2014
Messages
111
I have to make a project for school that makes use of FSK(frequency shift keying) to modulate and transmit digital signal wirelessly and the receiver has to use PLL(phase lock loop for sync) to compensate for the phase discontinuities between the 1s and 0s.

Can I ask for help with project ideas?
-- I have read online that FSK is used in amateur radio, but I can't find a link that explains the circuitry or bloack diagram of this in detail.
----I have read that this had been used in Power line communications and remote metering but dabbling in that sort of thing might be too dangerous for me. can the danger be minimized?
---I wanted to go for wireless usb wherein i could plugin a mouse to a transmitter and then plug in a receiver to a computer but then i read that those kinds of wireless interfaces between computer peripherals operate at the Ghz level while our FSK PLL transmitter and receiver will probably be limited in its frequency range to only the Mhz level (not exactly sure about this though).
---Some of my friends want to go for smart home application but I believe this is a waste of the digital FSK because a remote switching of house devices only need a toggle on-off signal while a digital FSK system is more suited to transmission of information or data. Would you agree with me on this that it is a waste to do smart home app?
--- One possibility also that entered my mind is where the probe of a digital instrument could be plugged in to an FSK transmitter, and the receiver end would be plugged in to the instrument and receive the data, but what would be the point of this?
 

ericwilk

Jan 31, 2015
18
Joined
Jan 31, 2015
Messages
18
Might this help, at all?

http://www.maxim4u.com/download.php...200B2EB24D11A&file=0039\u2741bnbsp_292298.pdf

Edit: Oh, you need both ends. Well, TBH I just checked eBay. There was one of those for sale on a board for 1.87. They sell similar transceivers; I have one in the mail that cost a couple bucks. I don't suppose you could tell the professor you were outsourcing to cut costs? ;3

No, but seriously you should be able to find similar diagrams and just build from straight components.
 
Last edited:

max_torch

Feb 9, 2014
111
Joined
Feb 9, 2014
Messages
111
We already have a diagram and are going to build straight from components. What we need to provide is the application.

---Also what about a wireless VGA cord extender? So that I can connect a monitor to a computer wirelessly where the receiver is connected to the monitor and the transmitter is connected to the computer. Is that possible?
 
Last edited:

ericwilk

Jan 31, 2015
18
Joined
Jan 31, 2015
Messages
18
What kind of VGA? What is controlling the sync (i.e. refresh rate)?

I was going off this:

>> I have read online that FSK is used in amateur radio, but I can't find a link that explains the circuitry or bloack diagram of this in detail.

Now there's VGA (possibly knowing the device we are syncing to, since that's kind of important), Wifi... What else?

As far as wifi, it can be done (for pretty cheap these days, look up spare Visio parts for example and associated Linux drivers) but now you are talking about multiple components and a display, you probably want a CPU but probably a microcontroller.

Why not just get something like the Audrino, or Raspberry/Banana Pi and use the GPIO or I2C for this stuff? The Banana Pro has built-in Wifi, anyway (supposedly) and bluetooth as well.

Here ya go:

http://www.ebay.com/itm/5pcs-433Mhz-RF-transmitter-and-receiver-kit-for-Arduino-/251673838721?
 

max_torch

Feb 9, 2014
111
Joined
Feb 9, 2014
Messages
111
I cannot just buy a transmitter and receiver kit. I have to construct a FSK receiver and transmitter using the same circuit diagram as everyone in my class. It all has to be done from scratch. But from looking at the ebay link you gave it will probably be somewhat like that product in terms of its specifications.

The kind of situation with the VGA I was thinking of was a scenario where a simple LCD monitor connects to an FSK receiver and a laptop connects to a FSK transmitter and therefore the video signal will be transmitted from one end to the other. But I am asking if it is possible coz im not sure what exactly all the requirements are for this. But in terms of the frequency range it seems sufficient since the lowest frequency is probably from 60 hz all the way up to Mhz range
 

BobK

Jan 5, 2010
7,682
Joined
Jan 5, 2010
Messages
7,682
Let's look at the data rate required for VGA. Lets take the old 640 x 480 standard with full color, 60Hz update rate. This requires 3 bytes per pixel 60 times a second. So the data rate is:

3 x 8 x 640 x 480 x 60 = 442MHz

This is orders of magnitude higher than you will be able to achieve.

Digital TV uses compression and sends only the differences between frames to achieve the lower bit rates that can be handled reasonably.

Bob
 

BobK

Jan 5, 2010
7,682
Joined
Jan 5, 2010
Messages
7,682
The home automation thing is not a bad idea. You are not just sending on / off as you implied. To reject noise, you would send a unique digital signature to make sure you were seeing actual data from your transmitter. And, each device controlled would also need a unique key. X10 protocol, for example, uses 12 bits for each on / off command.

Bob
 

max_torch

Feb 9, 2014
111
Joined
Feb 9, 2014
Messages
111
wow it never occurred to me that you could make use of several bits in a transmission just for house control. The unique digital signature you're talking about could be implemented how, scrambling is one possibility? Ah, I see now why it would make sense to send several bits of info, it's because each device having it's own key as you mentioned. So to toggle device A I would have to send out the key for A, to toggle B i would have to send out the key for B etc...
I guess home control is not so bad.. it is the trend now they even did an article of it on Time
Although I wonder about the X10, what would it need all of 12 bits for... the number of binary combinations of 2^12 is 4096, it's not like you're going to control 4096 objects in your house are you?
 

BobK

Jan 5, 2010
7,682
Joined
Jan 5, 2010
Messages
7,682
The 12 bit X10 code is:

4 bits house code (so your neighbor does not turn your lights on and off)
4 bits device code
4 bits command (which might be on, off, dim, brighten, and others)

By a unique code, I just mean transmit 8 or more bits of data to start each message that is always the same. The receiver then ignors any messages that do not start with the right code. This way random RF noise will not trigger the device. This is also used for garage door openers, (see house code above)

Also, you might want some error detection mechanism so that if a message gets partially scrambled it does not do something bad. This can be, in order of increasing complexity: a single bit parity, a checksum, or CRC.

Bob
 

ericwilk

Jan 31, 2015
18
Joined
Jan 31, 2015
Messages
18
Small LCD might be easier to go with. This way you don't need to worry about making a DAC and timing for various sizes and all that. Many of them like the Nokia 5110 PCB type (readily available off eBay) I believe you just need a clock frequency (you could probably do this very easily with a 555) and a transistor setup to invert the signal (or they have inverter IC's) to control on/off. That's off the top of my head but part of what I'm working on involves a small LCD and a larger one (which is *not* PCB but LVDS) for the actual desktop manager. So, you should double-check but I'm pretty sure that's the case.

Display information is transmitted in a hex array. There are utilities online you can use to convert BMP and therefore text, or whatever (within the bounds of the resolution, of course) and probably use something like an EEPROM to store the actual data. EDIT, oh wait, you are sending actual data in RT. Yeah, you might want something like a checksum but I'm not sure how you would implement that without a full-blown CPU (if that's an option). If not, you would need to find a way to verify each message and then display it on the receiver. You could easily just send the array itself, but I'm not sure what type of communication you are going for. If you are shooting for text there is obviously a finite amount of hex values for each character so I'd think you could transmit each character as encoded bits and decode it to the screen, refreshing each time and saving it in some kind of buffer. Checksums would be a lot easier, too (i.e. using XOR). I know there are many types of volatile memory -- this won't require a lot but you'd just want something you could easily flush. I think...

I'll leave this to someone with more experience though, since I'm just starting to dabble in electronics, myself (well ever since I was like 12 or 13, and nothing incredibly complex).

The EEPROM is what I had in mind for what I am doing, since it will display graphics and a message and they will never change, though I won't be able to mess around with it until I get my breadboards. I really don't feel like paying $20 for one at RS when I can get three off eBay for half that :p

Lol, or just buy the cheap Chinese one, resolder the components, and... Naw, actually I wouldn't recommend that. It's likely you'd get caught.
 
Last edited:

max_torch

Feb 9, 2014
111
Joined
Feb 9, 2014
Messages
111
I just looked at this thread. https://www.electronicspoint.com/threads/questions-about-fsk.17463/ So people have really been applying FSK to power line communications even in this forum... I just wonder what for would you want to transmit your power and data over the same line?

-- about the wireless usb thing, what if I make it only for devices that don't have feedback like say a gamepad that has no force feedback.. each time i press a button on the gamepad it will transmit a code corresponding to that button and then at the receiver it will decode it and recognize it as 'button 1' and then send the appropriate 'button 1 is pressed' signal to the computer via USB. no data gets sent to the gamepad, signals only travel from the gamepad to the computer.
Sounds feasible? This would be my favorite option as I would make use of this.
So basically when the FSK receiver is connected to the computer it will be recognized as a gamepad by the computer. How do I do this, how do I make the computer recognize it as a gamepad, and then where do I find what is the code that the computer recognizes as 'button 1 pressed' , 'button 2 pressed" etc.. and how do I make my transmitter recognize the signal coming from the gamepad for the different button inputs?
This will also be applied for dance pads, arcade buttons, etc
 

BobK

Jan 5, 2010
7,682
Joined
Jan 5, 2010
Messages
7,682
USB is an extremely complicated protocol. You would need to use a microcontroller that has USB support to do this. I think this is a little beyond the scope of your assignment.

A better idea would be to transmit data that goes into a serial port on the computer. The digital data from the FSK receiver could be sent directly to the serial port RX pin. And the protocol is very simple.

Bob
 

ericwilk

Jan 31, 2015
18
Joined
Jan 31, 2015
Messages
18
Actually, yeah. That's a really good idea ^^^

... Then you could just terminal into it.

Good thinking!

I was going to say, besides the microcontroller you would also need to write drivers, etc. unless it's something already built and done. You can output in USB, okay, but then the computer will have no idea what it is and won't register it as a device.

Very non-trivial.

Or go with the straight-up LCD -- I don't think it would be too crazy to implement. I like Bob's suggestion better, though.

And power lines are everywhere??? That would be my guess.
 

max_torch

Feb 9, 2014
111
Joined
Feb 9, 2014
Messages
111
USB is an extremely complicated protocol. You would need to use a microcontroller that has USB support to do this. I think this is a little beyond the scope of your assignment.
Bob
You're right. You sir, have extremely good intuition!
A better idea would be to transmit data that goes into a serial port on the computer. The digital data from the FSK receiver could be sent directly to the serial port RX pin. And the protocol is very simple.
Bob
This is actually very10x good. Kudos! This could work for the smart home app. I could write up a visual basic program to control all the appliances, heck even draw a mini house diagram where you just click on where the lights are to turn them on, and then output the control signals from the serial port to the FSK transmitter. It's not practical to put a receiver on each device for this correct? What is commonly done is that there is like a "wireless fusebox" or "hub" where the devices are wired to and the receiver is only on this fusebox where everything can be toggled?

For an industrial application this could work in an assembly line in a situation where all the machines in one line are connected to a transmitter or transceiver if full duplex, there is a transmitter for each line, and the status of the machines and information such as number of items produced, machine running or not, etc, are all transmitted to the receiver which relays the info to the computer via serial port and shows up on a visual basic program to show to the user. And then if full duplex the user can also control the machines from his station.
I have interfaced with the serial port 8 years ago, I will need a little help to get it running, but im researching it now.
 

BobK

Jan 5, 2010
7,682
Joined
Jan 5, 2010
Messages
7,682
Good idea! I like it.

You could have multiple receivers or a single receiver with multiple relays to control more than one device. Once you have demonstrated either of them the rest is just adding more of the same hardware.

Are you up on microcontrollers? They would be the best way to handle the encoding / decoding, though it could be done with logic if necessary.

As a demo, one transmitter, connected to the PC + 1 receiver with 2 devices controlled should be sufficient to show that you know how to do it.

Bob
 

ericwilk

Jan 31, 2015
18
Joined
Jan 31, 2015
Messages
18
Simple logic gate to turn a device on or off according to the signal... I would use an XOR checksum or something simple to implement through hardware, or as Bob said have this be an embedded system using a microcontroller and the libraries are open-source, anyway. You could even just use a regular pass-phrase and send that appended with the approximate date and time as an MD5 hash, and the server can check by the same hashing algorithm. You want to put the date and approximate time in there (within reason of variation between devices since I doubt the tx/rx is on NTP) because RF is easy to intercept and that prevents people from just relaying back the same code.

Again, that's icing on the cake. I'd leave it last and if you have time to implement it, then great! Otherwise, adding a footnote should be enough to show you at least had security in mind.

Regarding interfacing with RS232 google minicom.

Also, Visual Basic? *gags* I'd stick to Linux and I know many of these devices have interfaces to a GPIO you can use to control external devices.
 
Last edited:
Top