Originally Posted by
mos-leung
If i send out a data steam of "0001000", then PIC will be :
1. pin 5, 6 are low, tack circuit not works.
2. Set pin 5 = high, pin6=low
tank circuits works for "000" totally 12 pulses
3. Set pin 5 = low, pin6=high
tank circuits works for "1" totally 4 pulses
4. Set pin 5 = high, pin6=low
tank circuits works for "000" totally 12 pulses
5. pin 5, 6 are low, tack circuit not works.
Is it correct ?
That's almost correct!
The method is called Binary Phase Shift Keying (BPSK). There are many descriptions of it on the internet, but here's a quick description particular to the example you gave:
A logic 1 is indicated by ANY reversal in the carrier phase. (This is just a convention I am using. We could just as easily say that the carrier reversal indicates a logic 0.) The initial carrier phase, before data is sent, is unimportant.
First, the data stream must be preceded for a short time with the carrier turned on to give the tank circuit time to "ring up" to full amplitude, and time for the phase detector in the decoder to generate a first valid output. Then a start bit (an initial logic "1") is sent to indicate the beginning of the data stream.
So the sequence is:
1. pin 5 = low, pin 6 = low, tank circuit is not not driven and does not radiate.
2. pin 5 = high, pin 6 = low, initial ring up for tank circuit
3. pin 5 = low, pin 6 = high for one machine cycle (4 carrier periods) sends the start bit
4. No changes for 3 more machine cycles (12 carrier periods) sends "000"
5. pin 5 = high, pin 6 = low for one machine cycle (4 carrier periods) sends a logic "1"
6. No changes for 3 more machine cycles (12 carrier periods) sends "000"