Difference between revisions of "Protocol decoder:Ir nec"
Uwe Hermann (talk | contribs) m |
(→Hardware: Add information about an Unlabeled LED panel remote) |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
| name = IR NEC | | name = IR NEC | ||
| description = NEC infrared remote control protocol | | description = NEC infrared remote control protocol | ||
| status = | | status = supported | ||
| license = GPLv2+ | | license = GPLv2+ | ||
| source_code_dir = ir_nec | | source_code_dir = ir_nec | ||
Line 11: | Line 11: | ||
| probes = IR | | probes = IR | ||
| optional_probes = — | | optional_probes = — | ||
| options = polarity extended | |||
}} | }} | ||
The '''ir_nec''' protocol decoder supports the [http://techdocs.altium.com/display/ADRR/NEC+Infrared+Transmission+Protocol NEC infrared remote control] protocol. | The '''ir_nec''' protocol decoder supports the [http://techdocs.altium.com/display/ADRR/NEC+Infrared+Transmission+Protocol NEC infrared remote control] protocol including the 16bit address extension. | ||
== Hardware == | == Hardware == | ||
Line 19: | Line 20: | ||
=== Hama 8in1, code 0001 (Matsui TV) === | === Hama 8in1, code 0001 (Matsui TV) === | ||
See the [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree;f=ir/nec/hama_8in1 ir/nec/hama_8in1] for example files. | See the [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree;f=ir/nec/hama_8in1 ir/nec/hama_8in1] directory in the [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree sigrok-dumps] repository for example files. | ||
<gallery> | <gallery> | ||
File:Hama 8in1 irtoy probing.jpg|<small>Remote control probing</small> | File:Hama 8in1 irtoy probing.jpg|<small>Remote control probing</small> | ||
File:Pv example ir nec.png|<small>NEC decode</small> | File:Pv example ir nec.png|<small>NEC decode</small> | ||
File:Pv example ir nec repeat code.png|<small>Repeat code</small> | |||
File:Pv example ir nec carrier freq.png|<small>Carrier frequency</small> | File:Pv example ir nec carrier freq.png|<small>Carrier frequency</small> | ||
File:Pv example ir nec cursors.png|<small>Cursors</small> | File:Pv example ir nec cursors.png|<small>Cursors</small> | ||
</gallery> | |||
=== Unlabeled LED panel remote === | |||
This remote uses the [https://www.sbprojects.net/knowledge/ir/nec.php Extended NEC Protocol], address <code>0xEA41</code>. It uses 8 buttons, but the PCB has space for a total of 16 buttons. | |||
See the [https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree;f=ir/nec/extended ir/nec/extended] directory in the [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree sigrok-dumps] repository for example files. | |||
<gallery> | |||
File:Unlabeled LED Panel Remote.jpg|<small>Case</small> | |||
File:Unlabeled LED Panel Remote PCB.jpg|<small>PCB</small> | |||
</gallery> | </gallery> | ||
== Protocol == | == Protocol == | ||
This is a pulse-distance based IR protocol. | This is a pulse-distance based IR protocol. Symbols are determined by checking the span between IR bursts. After an AGC adjustment phase, several fields are sent: address, and command. Another IR burst after the last bit symbol ends the IR frame. | ||
The standard NEC protocol sends address and command values in verbatim as well as in complement form, which improves reliability when the fields are checked for consistency, and as a byproduct results in constant length of a frame. The extended NEC protocol uses 16bits for the address field, and omits the complement. Users need to specify the protocol variant, the decoder cannot automatically detect it (assuming extended just because the address fields are not complements is too weak, the error could be real and must get flagged). | |||
<gallery widths=800px> | |||
File:ir_nec_extended.png|<small>extended (upper) and standard (lower) protocol versions</small> | |||
</gallery> | |||
== Resources == | == Resources == | ||
Line 36: | Line 55: | ||
* [http://techdocs.altium.com/display/ADRR/NEC+Infrared+Transmission+Protocol Altium: NEC Infrared Transmission Protocol] | * [http://techdocs.altium.com/display/ADRR/NEC+Infrared+Transmission+Protocol Altium: NEC Infrared Transmission Protocol] | ||
* [http://www.sbprojects.com/knowledge/ir/nec.php SB-Projects: NEC Protocol] | * [http://www.sbprojects.com/knowledge/ir/nec.php SB-Projects: NEC Protocol] | ||
* [https://www.mikrocontroller.net/articles/IRMP#NEC_.2B_extended_NEC mikrocontroller.net: IRMP: NEC / NEC extended] (German) | |||
* [http://www.vishay.com/docs/80071/dataform.pdf Vishay: Data Formats Data Formats for IR Remote Control] (PDF) | |||
* [http://www.circuitvalley.com/2013/09/nec-protocol-ir-infrared-remote-control.html circuitvalley.com: NEC Protocol IR (Infrared) Remote Control With a Microcontroller] | |||
[[Category:Protocol decoder]] | [[Category:Protocol decoder]] |
Latest revision as of 18:20, 27 July 2020
Name | IR NEC |
---|---|
Description | NEC infrared remote control protocol |
Status | supported |
License | GPLv2+ |
Source code | decoders/ir_nec |
Input | logic |
Output | ir_nec |
Probes | IR |
Optional probes | — |
Options | polarity extended |
The ir_nec protocol decoder supports the NEC infrared remote control protocol including the 16bit address extension.
Hardware
Hama 8in1, code 0001 (Matsui TV)
See the ir/nec/hama_8in1 directory in the sigrok-dumps repository for example files.
Unlabeled LED panel remote
This remote uses the Extended NEC Protocol, address 0xEA41
. It uses 8 buttons, but the PCB has space for a total of 16 buttons.
See the ir/nec/extended directory in the sigrok-dumps repository for example files.
Protocol
This is a pulse-distance based IR protocol. Symbols are determined by checking the span between IR bursts. After an AGC adjustment phase, several fields are sent: address, and command. Another IR burst after the last bit symbol ends the IR frame.
The standard NEC protocol sends address and command values in verbatim as well as in complement form, which improves reliability when the fields are checked for consistency, and as a byproduct results in constant length of a frame. The extended NEC protocol uses 16bits for the address field, and omits the complement. Users need to specify the protocol variant, the decoder cannot automatically detect it (assuming extended just because the address fields are not complements is too weak, the error could be real and must get flagged).