KASEIKYO -------- frame: 1 start bit + 48 data bits + 1 stop bit data: 16 manufacturer bits + 4 parity bits + 4 genre1 bits + 4 genre2 bits + 10 command bits + 2 id bits + 8 parity bits start bit: data "0": data "1": stop bit: ----------______ ------______ ------________________ ------______.... 3380us 1690us 423us 423us 423us 1269us 423us Das sieht so aus wie das was mein Panasonic 3D-TV macht! There are 48 bits in a Kaseikyo format. These bits are assigned as follows: Subgroup # of bits Manufacturer code : 16 bits (2002 hex) Parity : 4 bits- calculated value Division :4 bits ( 8 hex) Appliance : 4 bits- for TV ( 0 hex) Control : 4 bits- for TV ( 0 hex) Function Data : 8 bits Parity :8 bits Achtung, die Bits kommen in umgekehrter Bitfolge pro Byte. Der TV sendet: 0100'0000 0000'0100 Das entpricht aber: 0000'0010 0010'0000 => 0x2002 -->Panasonic 440khz/12 = 36.7khz Interrupt auf fallende Flanke, zaehler auf 4728Herz = 212.5us (8+4)*2 = 24counts = Startbit (1+1)*2 = 4counts = 0 (1+3)*2 = 8counts = 1 Problem, jede Stoerung die reinkommt loesst einen Interrupt aus. Alternative TimerIRQ mit 9456.3Hz = 105.75us 32xLow + 16*High = Startbit 4xLow + 4*High = 0 ===> 4(H) / 4(L) = 0 ==> LowBit empfangen 4*Low + 12*High = 1 ===> 12(H) / 4(L) = 3 ==> HighBit empfangen Oder die 48Bit sehen so aus: Manufacturer code : 16 bits (2002 hex) Parity1: 4 bits- calculated value Genre1 : 4 bits Genre2 : 4 bits Command:10 bits ID : 2 bits Parity2: 8 bits Manufacturer code : 16 bits (2002 hex) Parity1: 4 bits Device : 4 bits Command:16 bits Parity2: 8 bits