- 8-bit address and 8-bit command length
- Carrier frequency of 38 kHz as per the NEC standard
- Pulse distance modulation
- Fully synchronous design
- Address and command are transmitted twice for reliability
- Generic parameter ACTIVE_LEVEL enables consistency with different types of IR transmitters
- Serial input data interface
- UART standard input data interface available; interfaces available upon request (parallel, APB and others)
- Received address and command are compared with received inverted address and command to increase transmission reliability
- Internal clock generator provides flexibility with the clock signal value (which still must be a multiple of 38 MHz)
- Internal parameters enable fine tuning for use with different types of IR transmitters:
- specify the active level,
- specify the number of clock pulses needed to create the 38 kHz internal signal , and
- specify the size of the counter used to generate the 38 kHz internal signal
- Complex system of error codes allows easy detection of potential errors and glitches during transmission
- Serial output data interface
- Additional output data interfaces are available now: UART standard, AMBA APB
- Parallel and custom output interfaces available upon request
Infrared IP Core IR-NEC IR Controller Encoder and Decoder Core
This pair of cores implements an Encoder and a Decoder for Consumer IR (CIR) infrared remote control signals using the popular NEC IR protocol. The cores are available individually or together.
The Encoder accepts data and control signals, encodes commands following the NEC protocol, and outputs the commands to a suitable LED or photodiode transmission circuit. The simple serial input interface eases system integration, and an additional control signal can easily send a repeat signal. A supplementary output signal is available to provide additional transmission information. Following the NEC protocol, the core transmits each address and command twice to increase reliability.
The Decoder receives data from a photodiode or other infrared receiver. It compares the incoming IR data stream with the inverted form of that data for greater reliability. A complex system of error detection and an error reporting signal help the user quickly identify the source of any errors. The decoded data is transmitted through a simple serial output signal, and handshaking signals give the user full control over the transmitted data. An extra output identifies repeating signals for processing efficiency.
The flexible cores are designed for easy system integration, with simple control interfaces. UART and AMBA APB interfaces are also available. The cores are available in HDL source code for ASICs or optimized netlists for FPGAs. Implementation results show them to be area-efficient, requiring for example 781 gates for the Encoder and 1,120 gates for the Decoder at over 300 MHz in an .13µm ASIC process.
See representative implementation results (each in a new pop-up window):
The cores are suitable for a wide variety of consumer products and other low-speed infrared control applications, including televisions, home theater systems, DVD players and recorders, and video game consoles.
The cores as delivered are warranted against defects for ninety days from purchase. Thirty days of phone and email technical support are included, starting with the first interaction. Additional maintenance and support options are available.
The cores have been verified through extensive simulation and rigorous code coverage measurements.
The core is available in ASIC (synthesizable HDL) and FPGA (netlist) forms, and includes everything required for successful implementation:
- HDL RTL source code (ASICs) or post-synthesis EDIF netlist (FPGAs)
- Sophisticated HDL Testbench
- Simulation script, vectors and expected results
- Vector generation Software
- Synthesis script (ASICs) or place and route script (FPGAs)
- Comprehensive user documentation