Packard Bell Remote Control

25,756

Circuit Image

When a key is pressed, the remote control transmits a preamble followed by 32 bits of information encoded using specific pulse timings. The pulse examples can be observed in logic analyzer screen captures, although some glitches are present due to issues with the logic analyzer software. The 32 bits of information consist of four bytes: two bytes represent the remote control ID, and two bytes represent the button ID, received in most significant bit (MSB) first order. The second byte in each pair is always the complement of the first byte, serving as a basic checksum. The remote control ID is consistently set to 08, making the first two bytes always 08 F7 in hexadecimal format. Therefore, the 32-bit data for the Help button, which has a Button ID of 20 in hexadecimal, would be represented as 08 F7 20 DF when encoded as described. Codes for all keys are illustrated in an accompanying image, which can be enlarged for better visibility. The decoding process analyzes the incoming pulses, initially searching for a preamble of the correct length, and subsequently looks for valid data encoding to extract the code corresponding to the pressed button. The hc11 version of the decoder operates using the inverted code (the second byte), while the 8051 version utilizes the first byte.

The remote control system operates by sending out a specific sequence of pulses that encode information regarding the button pressed. The preamble serves as a synchronization signal, allowing the receiving device to prepare for the incoming data. The encoding scheme employed involves measuring the duration of the pulses to determine the binary values being transmitted. Each pulse duration corresponds to a specific bit, with longer pulses typically representing binary '1' and shorter pulses representing binary '0'.

The data structure consists of four bytes, where the first two bytes are dedicated to identifying the remote control itself, while the last two bytes encode the specific button pressed. The checksum mechanism, where the second byte is the complement of the first, provides a simple yet effective means of error detection. This ensures that if the data is corrupted during transmission, the receiving end can identify discrepancies in the expected values.

For the Help button, the encoded data is structured as follows: the first byte (08) identifies the remote control, the second byte (F7) serves as a checksum, the third byte (20) indicates the Help button, and the final byte (DF) is the checksum for the button ID. This systematic approach to encoding and error-checking enhances the reliability of the remote control system.

The decoding process involves the analysis of incoming pulse lengths to confirm the presence of the preamble and validate the data. The hc11 and 8051 microcontrollers interpret the data differently, highlighting the flexibility of the design to accommodate various hardware implementations. Overall, this remote control system exemplifies a robust method of data transmission, ensuring accurate communication between the remote and the controlled device.When a key is pressed the remote control sends a preamble followed by 32 bits of information encoded using these pulse timings. Examples of these pulses can be seen below as logic analyser screen dumps (the glitches are bugs in the Logic analyser software).

The 32 bits of information are made up of four bytes, 2 bytes of remote control ID and 2 bytes of button ID received MSB first in this order. The second of each pair of bytes is always the complement of the first (as a basic form of checksum). The remote control ID is always 08, thus the first two bytes are always 08 F7 hex. Thus the 32 bit data for the Help button (Button ID of 20 hex) would look like 08 F7 20 DF encoded as above.

Codes for all keys are shown in the image below (click on it for a larger version) The code shown above decodes these codes. It measures the incoming pulses looking first for a preamble of the right length and then looking for valid data encoding to extract the code for the pressed button.

The hc11 version works off the inverted code (second byte), the 8051 works off the first. 🔗 External reference




Warning: include(partials/cookie-banner.php): Failed to open stream: Permission denied in /var/www/html/nextgr/view-circuit.php on line 713

Warning: include(): Failed opening 'partials/cookie-banner.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/nextgr/view-circuit.php on line 713