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 support@ccsinfo.com

Manchester or not ?

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



Joined: 22 Aug 2005
Posts: 275

View user's profile Send private message

Manchester or not ?
PostPosted: Thu Aug 03, 2006 6:20 am     Reply with quote

Hi Everybody,

I need to transmitt just some data wireless using a cheep radio on 433 Mhz. I don't want to spend to mutch time to write code for manchester.

By your experience is better to use manchester encoding system or shall I use rs232 direct on radio module ?

Thanks,
arunb



Joined: 08 Sep 2003
Posts: 492
Location: India

View user's profile Send private message Send e-mail

RE:
PostPosted: Thu Aug 03, 2006 6:25 am     Reply with quote

What Radio module are you using ???

thanks
arunb
Fabri



Joined: 22 Aug 2005
Posts: 275

View user's profile Send private message

PostPosted: Thu Aug 03, 2006 6:48 am     Reply with quote

Hi Arunb,

In tx I use TX-SAW/433 S-Z Aurel
In rx I use RX BC BNK Aurel

This are 2400 baud but I'm not interest in speed.

Tanks,
Fabri
Humberto



Joined: 08 Sep 2003
Posts: 1215
Location: Buenos Aires, La Reina del Plata

View user's profile Send private message

PostPosted: Thu Aug 03, 2006 7:52 am     Reply with quote

If the string to transmit is not very long, the use of Manchester codification can be avoided.
There are some very interesting threads:

http://www.ccsinfo.com/forum/viewtopic.php?t=27263&highlight=manchester
http://www.ccsinfo.com/forum/viewtopic.php?t=19141&highlight=manchester

Humberto
Guest








PostPosted: Thu Aug 03, 2006 8:25 am     Reply with quote

One other option, is to take advantage of the need for balance characters. If you send a couple of initialisation bytes (say 0xAA 0x55), then the string of data, but for each character, send it once, then send the bitwise 'not' of the byte, the transmission will inherently be balanced. Even more usefully, if you are sending only 7 bit data, and add a parity bit to the byte, then send this, followed by the 'not', if you check the parity on receive, you can reject a byte, if it's parity is wrong, and take the other 'copy', giving one bit error recovery (not efficiently, but it does make 'good use' of the padding data :-).

Best Wishes
rnielsen



Joined: 23 Sep 2003
Posts: 852
Location: Utah

View user's profile Send private message

PostPosted: Thu Aug 03, 2006 8:28 am     Reply with quote

If you're simply sending data via the serial port you might want to try looking at the XBEE and XBEE Pro at www.maxstream.net . The XBEE is only $19USD and is rather simple to use.

Ronald
newguy



Joined: 24 Jun 2004
Posts: 1903

View user's profile Send private message

PostPosted: Thu Aug 03, 2006 10:31 am     Reply with quote

Try this first:

http://www.ccsinfo.com/forum/viewtopic.php?t=23953

If that doesn't work, then you can start to balance the signal by sending the inverse of each data byte immediately after each byte.

Anyway, try the code/idea in the link first. Then get fancy if it doesn't.
Bill Legge



Joined: 07 Sep 2010
Posts: 24
Location: West Australia

View user's profile Send private message

Manchester Code and radio links
PostPosted: Sun Dec 19, 2010 5:18 pm     Reply with quote

I would welcome comments/arguements on the business of using Manchester code for radio links. I don't think it is generally necessary because:

1. Most (I would guess very nearly all) 433MHz type radio modules use frequency shift keying. A '1' is represented by a 'tone' and a '0' by a different tone.

2. If the Tx data pin is set permanently 'high' a continuos tone will be transmitted - the output of the Tx is not a 'dc' level.

3. So, 'balancing' is unnecessary for the radio link.

4. Where 'balancing' is important is when data is sent by different 'dc' voltage levels - say along a pair of wires - and the capicatance of the wires distortes the waveform; typically rounding the pulses until the Rx can not detect them.

5. If the wire from the MCU to the Tx or Rx modules are long/longish then go for Manchester. Otherwise don't bother.

Regards Bill Legge
_________________
Denmark in West Australia
'Where the forest meets the sea'
dbotkin



Joined: 08 Sep 2003
Posts: 197
Location: Omaha NE USA

View user's profile Send private message Send e-mail Visit poster's website

PostPosted: Sun Dec 19, 2010 8:33 pm     Reply with quote

That depends a great deal on the radio module being used. For one project I worked on, the modules specifically required Manchester or something similar. The transmitter could not be keyed more than a few tens of milliseconds - or maybe the receiver was the issue. It's been a few years, so I don't remember all the specifics, but I do remember it being enough of an issue that I had to write Manchester encode/decode routines from scratch.

Sending Manchester is almost trivially easy. Receiving it is much less so. Once it works, it works very well. I'll see if I can find that code.
FvM



Joined: 27 Aug 2008
Posts: 2337
Location: Germany

View user's profile Send private message

PostPosted: Mon Dec 20, 2010 2:13 am     Reply with quote

Quote:
So, 'balancing' is unnecessary for the radio link

The post is basically misunderstanding the operation of FSK receivers. In addition, it should be noted, that most cheap
RF modules are using ASK rather than FSK, but the problem is basically the same.

The transmitter is not sending different tones for '0' and '1' but shifting the carrier frequency. Because the frequency
shift is small related to the achievable absolute frequency accuracy, e.g. 50 - 100 kHz, the receiver doesn't get an
unequivocal '0' or '1' information for a constant level. Practically, the FSK receiver is processing an AC coupled output of
a PLL or similar frequency discriminator. So balancing is highly desirable for an FSK receiver.

I guess, the poster assumes, radio FSK would work similar to an old telephone modem, that can actually detect static '0' and '1' levels.

State-of-the-art RF transceiver chips, e.g. from TI, Analog, Hope RF or performing the Manchester encoding internally,
so you don't have to care about, except for providing a reasonable chip setup.
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