Hello!
I have a remote control for a toy assembled on the PT8A995 microcircuit, according to the datasheet, at the output 8 of this microcircuit, namely from it, the data comes to the 27 MHz transmitter, the signal is encoded using Manchester.
Quote from the Datasheet
PT8A995 severs as an encoder. To obtain accurate timing easily, Manchester encoding is employed. Some digital modulation scheme can be used, e.g., general ASK,
OOK, FSK and QPSK. OOK is easy to implement and
low cost.
The signal should contain 4 channels: 2 proportional for gas and steering wheel control and 2 discrete for light control.
I tried to get data using a logic analyzer, but it didn't work very well, I have 3 repeating values that change only after the gas or steering wheel have deviated by more than 50%. I admit that this is how the microcircuit itself works. In the logic analyzer I used BAUD 1500.
I also tried to use the arduino-libs-manchester library
I get some values that are also repeated and change only when the steering wheel or gas is deflected by more than 50%. I admit that this is how the chip itself works. Also, after a while, the Arduino freezes and reboots, apparently due to a buffer overflow. In the library, I get data only if I use BAUD 2400.
This is the first time I encounter such a protocol, before I only used PPM and everything is simple and clear there.
I am trying to get data like
1 channel - from 0 to 255 or from 0 to 1024
2 channel - from 0 to 255 or from 0 to 1024
3 channel - 0 or 1
4 channel - 0 or 1
I would like to do the full decoding myself, but I have reached a dead end, since the Manchester protocol can be different, can have a different BAUD or start bit, etc. I also do not know if the signal contains something like payload or CRC. First, I would like to correctly configure the logic analyzer to get such data as the start bit and BAUD, and then transfer it all to the Arduino sketch.
Please tell me what further steps I can take? How can I correctly understand whether I set the start bit and BAUD correctly. Can I somehow determine all this in the logic analyzer? And how can I decrypt all this?