Looking for Manchester Encoding Routines for PICs

Does anyone know where I can find Manchester encoding/decoding routines for RS-232 communications using PIC microcontrollers?

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
There were some Manchester encoding/decoding code for AVR some time ago. Search the groups for Manchester + AVR

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
"Ron Ciren" wrote

http://www.piclist.com would likely be a good place to start. There are more than a few ways to generate a Manchester encoded stream from a PIC. Perhaps if you gave some more detail of the particular PIC (feature set) you are planning to use and more information about your requirements, we could give some better advice as to how to proceed.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
I am getting some TWS-434 and RWS-434 RF modules in the mail soon and I understand from some preliminary web searches that something called "Manchester encoding" is required to make RF links reliable.
I will do a little testing when I get the modules to see how reliable they are without Manchester encoding. Hopefully I will be able to get along without it.
I want a radio link for a small robot, data rates in the 5 bytes per second range. I am familiar with both the 16F and 18F families of PIC.
On Thu, 06 May 2004 14:34:03 GMT, "Anthony Fremont"

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Ron Ciren wrote:

Hi ron -- I've used these units, and you'll definitely want to use Manchester encoding -- the performance will be significantly better than without.
Fortunately, Manchester encoding is pretty trivial to implement. For a description, see the following URL:
http://www.erg.abdn.ac.uk/users/gorry/course/phy-pages/man.html
All Manchester encoding really involves on the sending side is to send each bit followed by its complement. So a logical 1 is encoded as 1 0. A logical 0 is encoded as 0 1. Manchester encoding the start bit is optional, but recommended.
When sampling the RWS output on the receiving end, expect each data bit to be followed by its complement. So a 0 followed by a 1 is a logical 0. A l followed by a 0 is a 1. If you see a 1 1 or 0 0, you have an error.
That's really all there is to it. You should see a major improvement in range using this method, since the receiver circuitry is most sensitive to transitions in the incoming signal. Both reliability and range will be improved greatly.
Hope that helps -- tAfkaks
--
(reply to mikey at swampgas dot com -- ignore the spamtrap Reply-To)

Teleoperate a roving mobile robot from the web:
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.