手机红外方案介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mike8825/article/details/80955992

1.单个io控制红外灯发射红外线(成本低,稳定性不高,不支持学习功能,小米有一部分手机采用这种方案)


2.芯片方案
下面三种芯片都是支持学习型的芯片 
     abov(MC96FR116C 硬件i2c)  http://www.abov.co.kr/en/
     ETEK(et4007 模拟i2c)             http://www.etek.com.cn/
     宏芯达(hxd019d 模拟i2c)         http://www.hxdkj88.com/

3.红外码库(这部分一般需要购买)
       酷控 遥控精灵 宏芯达 

个人感觉宏芯达的方案较为成熟,芯片和码库一起提供

拿小米的开源代码来分析下,使用过gpio,pwm,芯片来控制红外的发射。

如Redmi 4X,电路类似下图

https://github.com/MiCode/Xiaomi_Kernel_OpenSource/blob/santoni-n-oss/arch/arm/boot/dts/qcom/msm8917-pmi8937-qrd-sku5_S88503.dtsi

gpio-leds {
                compatible = "gpio-leds";
                status = "okay";
                pinctrl-names = "default";
                pinctrl-0 = <&gpio_led_off>;

                infred {
                        gpios = <&tlmm 45 0>;
                        label = "infrared";
                        linux,default-trigger = "infra-red";
                        default-state = "off";
                        retain-state-suspended;
                };

        };

驱动https://github.com/MiCode/Xiaomi_Kernel_OpenSource/blob/santoni-n-oss/drivers/leds/leds-gpio.c

Redmi Note 4X Standard

https://github.com/MiCode/Xiaomi_Kernel_OpenSource/blob/mido-n-oss/arch/arm/boot/dts/qcom/msm8953-qrd.dtsi

   pwm_ir {
                compatible = "pwm-ir";
                pwms = <&pmi8950_pwm 0 0>;
                reg-id = "vdd";
                vdd-supply = <&pm8953_l8>;
        };

驱动https://github.com/MiCode/Xiaomi_Kernel_OpenSource/blob/mido-n-oss/drivers/media/rc/pwm-ir.c

Xiaomi5X, Redmi 5Plus

https://github.com/MiCode/Xiaomi_Kernel_OpenSource/blob/tiffany-n-oss/arch/arm/boot/dts/qcom/msm8953-qrd.dtsi

&spi_6 {
        status = "ok";
        peel_ir@0 {
                compatible = "peel_ir";
                reg = <0x0>;
                spi-max-frequency = <19200000>;
                vdd-supply = <&pm8953_l8>;
                peel_ir,reg-id = "vdd";
                peel_ir,lr-gpio = <73>;
                peel_ir,lr-gpio-valid = <0>;
                peel_ir,spi-bpw = <32>;
                peel_ir,spi-clk-speed = <960000>;
                peel_ir,spi-mode = <0>;
                peel_ir,peel-field = <2345>;
                status = "ok";
        };
};

驱动https://github.com/MiCode/Xiaomi_Kernel_OpenSource/blob/tiffany-n-oss/drivers/media/rc/peelir.c

猜你喜欢

转载自blog.csdn.net/mike8825/article/details/80955992
今日推荐