松翰单片机_SN8F570310——红外_发射接收

ぃ、小莉子 提交于 2019-12-14 13:14:08

SN8F570310——红外_发射接收 


 

 

 

 

 

笔记:#红外遥控的编码目前广泛使用的是: NEC Protocol 的 PWM(脉冲宽度调制)和 PhilipsRC-5 Protocol 的 PPM(脉冲位置调制)。
    NEC 协议,其特征如下:
        1. 8 位地址和 8 位指令长度;
        2.地址和命令 2 次传输(确保可靠性)
        3.PWM 脉冲位置调制,以发射红外载波的占空比代表“0”和“1”;    
        4.载波频率为 38Khz;
        5.位时间为 1.125ms 或 2.25ms;
    NEC 码的位定义:
        一个脉冲对应 560us 的连续载波,一个逻辑 1 传输需要 2.25ms(560us脉冲+1680us 低电平),一个逻辑 0 的传输需要 1.125ms(560us 脉冲+560us 低电平)
        而遥控接收头在收到脉冲的时候为低电平,在没有脉冲的时候为高电平,这样,我们在接收头端收到的信号为:逻辑 1 应该是 560us 低+1680us 高,逻辑 0 应
        该是 560us 低+560us 高。
    NEC 遥控指令的数据格式为:
        同步码头、地址码、地址反码、控制码、控制反码。同步码由一个 9ms 的低电平和一个 4.5ms 的高电平组成,地址码、地址反码、控制
        码、控制反码均是8 位数据格式。按照低位在前,高位在后的顺序发送。采用反码是为了增加传输的可靠性(可用于校验)。


——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————


红外接收发送协议  (拼接使用)
主板发送接收指令协议(ARM):
协议格式如下:引导码+控制码+控制码反码+数据码1+数据码1反码++数据码2+数据码2反码+结束码。(其中控制码占用2位,数据码1和数据码2各占用8位即两字节)

协议控制码对应事件如下:
00:电源开关
01:询问设备状态
10:控制播放
11:设置亮度

控制码对应数据码1如下:
(1)当控制码为00:数据码1::0x00;
(2)当控制码为01:数据码1::0x00;
(3)当控制码为10:数据码1::8位代表播放内容列表ID(0x00~0xFF);
(4)当控制码为11:数据码1::0x00;

控制码对应数据码2如下:
(1)当控制码为00:数据码2::0xFF-关机,0x00-开机;
(2)当控制码为01:数据码2::0x00-普通模式,0x01-拼接主机模式,0x02-拼接从机模式1(中间从机),0x03-拼接从机模式2(末端从机);
(3)当控制码为10:数据码2::当前播放内容对应的贞序号(0x00~0xFF);
(4)当控制码为11:数据码2::0x00-调暗,0xFF-调亮;(亮度是否分级操作?)

协议格式例举如下:
开机:引导码+00+11+0x00+0xff+0x00+0xff+结束码
关机:引导码+00+11+0x00+0xff+0xff+0x00+结束码

引导码:5ms高电平+5ms低电平
结束码:1ms高电平
1:500us高电平+500us低电平
0:500us高电平+1500us低电平


从板发送接收协议(MCU):
协议格式如下:引导码+控制码+控制码反码+数据码1+数据码1反码++数据码2+数据码2反码+结束码。(其中控制码占用2位,数据码1和数据码2各占用8位即两字节)

协议控制码对应事件如下:
11:电源开关
10:询问设备状态
01:控制播放
00:设置亮度

控制码对应数据码1如下:
(1)当控制码为11:数据码1::0xFF;
(2)当控制码为10:数据码1::0xFF;
(3)当控制码为01:数据码1::8位代表播放内容列表ID反码(0x00~0xFF);
(4)当控制码为00:数据码1::0xFF;

控制码对应数据码2如下:
(1)当控制码为11:数据码2::0x00-关机,0xFF-开机;
(2)当控制码为10:数据码2::0xFF-普通模式,0xFE-拼接主机模式,0xFD-拼接从机模式1(中间从机),0xFC-拼接从机模式2(末端从机);
(3) 当控制码为01:数据码2::当前播放内容对应的贞序号反码(0x00~0xFF);
(4)当控制码为00:数据码2::0xFF-调暗,0x00-调亮;(亮度是否分级操作?)

协议格式例举如下:
开机:引导码+11+00+0xff+0x00+0xff+0x00+结束码
关机:引导码+11+00+0xff+0x00+0x00+0xff+结束码

引导码:5ms低电平+5ms高电平
结束码:1ms低电平
1:500us低电平+500us高电平
0:500us低电平+1500us高电平

注:主板点亮红外输出高,从板接收到红外信号会输出低电平,所以两者之间的操作指令互为反码。主板做为主发射方,从板接收到主板发射的信号后,需要发射反馈数据(当前接收到的原数据,不需要取反)给主板,当主板接收到从板发射的反馈信号数据,主板便不再发射同一操作指令。



——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————




红外接收协议    (开关使用)
主机:
(1)开机:00
(2)关机:01
(3)转速控制:01
控制指令数据格式如下:引导码+控制指令+控制指令反码+结束码,即:
开机:引导码+00+11+结束码
关机:引导码+01+10+结束码
转速控制:引导码+01+10+结束码

引导码:5ms高电平+5ms低电平
结束码:1ms高电平
1:500us高电平+500us低电平
0:500us高电平+1500us低电平

注:高位在前;


从机:
(1)开机:00
(2)关机:01
(3)转速控制:10
控制指令数据格式如下:引导码+控制指令+控制指令反码+结束码,即:
开机:引导码+00+11+结束码
关机:引导码+01+10+结束码
转速控制:引导码+10+01+结束码

引导码:5ms低电平+5ms高电平
结束码:1ms低电平
1:500us低电平+500us高电平
0:500us低电平+1500us高电平

(注:主机点亮红外输出高,从机接收到红外信号会输出低电平,所以两者之间的控制指令互为反码)

调制载波:38kHz,占空比1/3的方波

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

单片机代码解析:

extern unsigned char IR_Control[8];    //接收命令数组及转速信息数组

IR_Control[0]
IR_Control[1]
IR_Control[2]
IR_Control[3]


unsigned char ControlCode ;        //接收存储控制指令


#define            CMD_ON            0x03//    00000011        
#define            CMD_OFF            0x06//    00000110


0x01
~0x01   11111110   0xFE 
        00001111 & 0xOF
                
                
        0x03            0x1111 1100    
        ox06            0x1111 1001


开始:0x03   1100
结束:0x06   1001


——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

拼接:


上位机(串口)  ——————> (串口)  mcu  (红外)  ——————>  (红外) FPGA



上位机:
    


MCU:



FPGA  :

    启停指令



需求:?
        上一个 下一个  暂行  开始  ?




——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
        
        
博客:
    https://blog.csdn.net/yc97463240/article/details/22970127?utm_source=blogxgwz8
        












        
        
        
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!