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.
- 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.
- Command
The command is also 8 bits, and is transmitted in the same manner as the address. First directly, then inverted.
- 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