Skip to content

Latest commit

 

History

History
93 lines (70 loc) · 2.75 KB

readme.md

File metadata and controls

93 lines (70 loc) · 2.75 KB

Unofficial NAD Link protocol specification

This is a decription of how to use the NAD Link RCA connectors at the back of most NAD equipment, using a PC parallell port.

The NAD Link uses a slightly modified version of the NEC remote control protocol, where 0V represents pulse, and +5V represents flat.

The NEC Receiver protocol

Derived from sbprojects.com.

  1. Preamble

9000 μs pulse 4500 μs flat 2. Address

The (8 bit) address is transferred using pulse distance encoding with the least signficant bit going first over the wire. Afterwards, the bitwise negation is sent. Note: This is where NAD diverges slightly from the NEC spec. More on this later.

One-bits are encoded like this:

560 μs pulse 1690 μs flat Zero-bits are encoded like this:

560 μs pulse 560 μs flat Example: Assume the address is 00110101. In this case 00110101 11001010 is transmitted (space added for readability - not a delay). Sending the bitwise negation after the actual address means that there are always 8 ones and 8 zeroes being transmitted, so all addresses take the same amount ot time to tramsit, despite the use of pulse distance encoding.

  1. Command

The command is also 8 bits, and is transmitted in the same manner as the address. First directly, then inverted.

  1. Command terminator

560 μs pulse 42020 μs flat 5. Repeat

Send zero or more of this to indicate that the remote control button is being held down.

9000 μs pulse 2250 μs flat 560 μs pulse 98190 μs flat (Total time: 110ms)

Summary

PREAMBLE (address >> 0) & 1 (address >> 1) & 1 (address >> 2) & 1 (address >> 3) & 1 (address >> 4) & 1 (address >> 5) & 1 (address >> 6) & 1 (address >> 7) & 1 (~address >> 0) & 1 (~address >> 1) & 1 (~address >> 2) & 1 (~address >> 3) & 1 (~address >> 4) & 1 (~address >> 5) & 1 (~address >> 6) & 1 (~address >> 7) & 1 (data >> 0) & 1 (data >> 1) & 1 (data >> 2) & 1 (data >> 3) & 1 (data >> 4) & 1 (data >> 5) & 1 (data >> 6) & 1 (data >> 7) & 1 (~data >> 0) & 1 (~data >> 1) & 1 (~data >> 2) & 1 (~data >> 3) & 1 (~data >> 4) & 1 (~data >> 5) & 1 (~data >> 6) & 1 (~data >> 7) & 1 COMMAND TERMINATOR (Total time: 110ms)

Differences in the NAD implementation

NAD does not send exactly the inverted address as the second byte. Instead, typically 1 or 2 bits are not inverted. This is not a problem, since it is included in the .ir files available at the NAD website.

NAD remote control codes

At the time of writing, NAD publishes the codes for its remote controls at [nadelectronics.com]. I have also mirrored the Creston remote controller codes, since I managed to reverse engineer the file format. I also made C program to decode the files, as well as a C program to control a NAD 912 receiver via TCP

By Morten Hustveit May 2007