Contents AN3174
2/34 Doc ID 17249 Rev 2
Contents
1 Hardware considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Generic solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 RC5 protocol solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1 Protocol basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Software implementation using a single GPIO
with a generic timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.1 RC5 frame reading mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Software implementation using a GP-Timer configured
in PWM input mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.1 RC5 Frame decoding mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.2 RC5 library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.3 How to use the RC5 decoder driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.4 Comparison of RC5 solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4 SIRC infrared control solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1 Protocol basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 Software implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3 SIRC library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.4 How to use the SIRC decoder driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5 Interface layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6 How to use the IR driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.1 Demonstration programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.1.1 Demo using GP-Timer configured in PWM mode . . . . . . . . . . . . . . . . . 26
6.1.2 RC5 demo using a single GPIO with generic timer . . . . . . . . . . . . . . . . 26
7 How to customize the IR drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9 Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32