am using RF modules operating at 418 MHz with modulation scheme as CPCA(carrier present carrier absent).RF transmitter have serial data input while RF receiver has serial data output.
I interfaced the RF modules to the USART of PIC18F452 mcu.Sent data from mcu#1(connected to RF transmitter) to mcu#2(connected to RF receiver).
I received data at mcu#2 but its corrupted data.
For debugging i wrote a code for mcu#1 which send a number to mcu#2 waits for some time increments that value and again send that value to mcu#2 again wait increment and send and so on
What i found on receiver end is that single 1s in the sent data are converted to 0s e.g if sent data is 00101010 or 10101010 or 10001000 or anything like this the output at receiver end is all 0s
but if there are more than one consective 1s then only first 1 is converted to 0 and all others are received correctlye.g
transmitted 11000111----------->received 10000110
transmitted 00011000----------->received 00010000
transmitted 01001011----------->received 00000010
How to solve this problem?
Someone told me that this is due to the wrong synchronization at receiver end due to wireless connectivity if i will use manchester coding this will be solved.
is it correct?if yes then how?
Any good resources for this coding scheme?
And how to implement this coding in PIC18F452 mcu?
I am using C18 compiler.
I interfaced the RF modules to the USART of PIC18F452 mcu.Sent data from mcu#1(connected to RF transmitter) to mcu#2(connected to RF receiver).
I received data at mcu#2 but its corrupted data.
For debugging i wrote a code for mcu#1 which send a number to mcu#2 waits for some time increments that value and again send that value to mcu#2 again wait increment and send and so on
What i found on receiver end is that single 1s in the sent data are converted to 0s e.g if sent data is 00101010 or 10101010 or 10001000 or anything like this the output at receiver end is all 0s
but if there are more than one consective 1s then only first 1 is converted to 0 and all others are received correctlye.g
transmitted 11000111----------->received 10000110
transmitted 00011000----------->received 00010000
transmitted 01001011----------->received 00000010
How to solve this problem?
Someone told me that this is due to the wrong synchronization at receiver end due to wireless connectivity if i will use manchester coding this will be solved.
is it correct?if yes then how?
Any good resources for this coding scheme?
And how to implement this coding in PIC18F452 mcu?
I am using C18 compiler.