Manchester Code
Discovery
Posts: 606
in BASIC Stamp
Can Manchester encoder and decoder code fit in a BS2?
Discovery
Discovery
Comments
Since the BS2 is slow can you recommend a a non-obsolete CMOS Manchester chip that would do the encoding and the decoding.
Discovery
Discovery
My original design was to use the BS2 serial out command to send a data packet to a Linx transmitter and antenna chip then receive that data at another BS2 via a second antenna chip and a Linx receiver chip.
In the Linx data sheet they strongly recommend that a coding algorithm be used on the data before being sent to the Linx transmitter to reduce transmission errors. This is the point where I asked if a Manchester code could be inserted into the BS2.
Is there a built-in error reduction coding method included in the Parallax 433 MHx transmitter/receiver chip? This would be the answer if it does.
Discovery
Apparently the 433 MHz T/R chip referred to in the article is a general purpose 433 MHz T/R chip.
Yesterday, I ordered the Linx T/R and antenna set so when the parts arrive, I will perform a communication test as described in the Parallax "What is RF" application.
Discovery
Discovery
Discovery
If you type "Manchester" in the top right search bar, there are a few threads that deal with the Propeller.
The BS2 example code for the 27982 transceiver will handle strings of up to 16 characters and adds a 16-bit CRC. If any of several consistency checks fail on the receive end or the CRC is in error, the received message is displayed as in error. These examples are not complete applications. For example, what if there's an error? Does the receiver code acknowledge success or failure? Does the transmitter code re-transmit the data packet? Are the packets numbered? What if the acknowledgment is corrupted?
Seriously consider the xBee-PRO-802.15.4 (#32419) plus adapter (#32401). It has an urban range (min.) of 300ft and takes care of buffering, error detection and correction. The attached microcontroller sees what appears to be a wired serial connection.
My application deals with sending the position of 8 switches in either the "ON" or "OFF" position of each. For example, switch #1 has positions "A" or "B"...switch #2 has positions "C" or "D", etc. Whenever a switch position is changed, a data packet is generated that includes a START code to wake-up the transmitter and receiver, the ASCII code for the changed switch position is next, and followed by a STOP code.
Years ago, a company I worked for implemented a triple redundant communications link at Vandenburg AFB in California. I wanted to use three separate fiber optic cables but the Air Force provided only a single fiber, so to implement triple redundancy the messages were made short, sent three times, and tested for two out of three matches for an acceptance.
I plan to do the same when I get my hardware.
The reason I am investigating this communication method is that I have a system that uses a commercial household data packet token passing protocol that sends module addresses along with command data. When a module recognizes its address on the RF link it performs the command. The problems are that it is for indoor use where my application is for outdoor and it is susceptible to RF interference. I hope to devise a protocol that can fit on the BS2's and solve the communication problem.
Discovery
Electrodude has a good point
-Phil
When I get my hardware, I most likely will have to make some adjustments including checksum. I am not sure how to implement numbered messages.
For example, when I momentarily change switch #1 to "ON", I expect my system to output a packet that includes: START code, ASCII "A", ASCII "A", ASCII "A", and a STOP code. A match of any two will generate an acceptance.
When switch #1 is returned to the "OFF" position the system will output a packet that includes:START code, ASCII "B", ASCII "B", ASCII "B", and a STOP code. A match of any two will generate an acceptance.
This will be checked against several noise sources.
Electrodude,
I have Propellers and BS2 chips on hand and no XBees. Plus I have no experience with XBees. If I encounter insurmountable problems with my implementation...I will most likely turn to examine XBee.
Discovery