经过百度查找,315/433Mhz无线传输,选用的是ASK(调幅)传输,一般在taobao上,有卖模块的,一对大约也就10块钱,乃至更廉价。运用起来也很便利。输入端一个io,输出端一个io。
用示波器,检测了一下接纳端,在接纳到遥控器的码型。
高电平持续时刻 低电平持续时刻
第一个, 600us, 1.84ms
第二个, 1.84ms, 600us
第三个, 600us 1.84ms
第四个, 600us 1.80ms
第五个, 640us 1.80ms
第六个, 1.92ms 600us
第七个, 600us 1.84ms
第八个, 1.92ms 600us
第九个, 600us 192ms
第10个, 600us 1.80ms
第11个, 1.88ms 600us
第12个, 1.92ms 600us
第13个,600us 1.80ms
第14个,1.92ms 600us
第15个,1.92ms 600us
第16个,600us 1.88ms
第17个,600us 1.80ms
第18个,1.80ms 600us
第19个, 1.80ms 600us
第20个,600us 1.80ms
第21个,600us 1.80ms
第22个, 600us 1.80ms
第23个, 600us 1.80ms
第24个, 600us 1.80ms
第25个, 600us 低电平
以上的数据标明,经过高电平,低电平持续时刻来差异“0”和“1”,一帧数据有25个码。
把遥控器拆掉今后,看到的芯片是sc2260 ,不过没有看到所谓的15ms的前导码?接连发送时,码与码的距离为18.2ms
上图是用示波器测验315Mhz收发模块的收发波形图
蓝色的是发送模块,黄色是接纳模块
发送模块,和接纳模块都接5v供电,发送模块是经过stm8单片机的串口,以波特率为9600的速度发送0x55
接纳模块,除电源外,输出出口直接与示波器探头相连,测的上图波形
从上图能够反映出来一些信息:
1,发送模块的io电压为5v,而接纳到的数据则缺乏5v,大约在4v左右。
2,发送端波形规矩,由所以用单片机驱动的,所以必定规矩,而接纳端的波形则不太规矩。
3,由所以经过串口发送,所以串口发送端的闲暇电平为高电平,而315M接纳模块的闲暇电平则为低电平
4,闲暇时,接纳模块会接纳到许多不稳定的杂波。
5,当发送模块完成后,会有一段时刻的电平坚持时刻,然后持续输出杂波
6,发送上升沿时推迟大,而发送下降沿的推迟小。
当将发送端直接与串口相连时,不管设置为多少波特率,都会收到乱码。而发送端发送的数据,尽管可收到,但有误码存在。
这两天在百度查找了一下遥控器芯片sc2262的说明书,又回想了一下曾经查的材料,又看了一下波形。知道了:
1,首先是芯片,地址码,有3中状况,这三种状况是 ,接地,接电源,浮空。这样的话,能够多编许多码,这是一方面。
2,芯片的数据码也能够当地址码,但数据码和地址码的差异是,数据码是担任告知芯片,什么时候,向外发送数据的,而地址码就没有这个功 能,当几个数据中,只需有一个为高电平时,则会触发芯片连同地址码,一起发送出去。这时,接纳端即可承受解析。
3,数据发送时,先发地址码,再发数据码最终才发一个很长很长的低电平,不管叫同步码或许叫引导码,都是最终一个发的。全都发完才算一帧数据
4, 为确保数据的精确传输,一个数据的改变,芯片则会向外发送4次数据。
5,震动电阻,发送的震动电阻不同,接纳的震动电阻也不同。
关于以上这4个问题,在写程序时,有以下几点需求留意
发送端:发送的地址,因为增加了浮空输入,所以要对函数的参数进行呼应调整,至于怎样调整,现在还没整理解。
发送端:每次发送4个重复的帧。
发送端:脉冲时刻要根据接纳端不同的振动电阻进行呼应调整。
接纳端:同步码的判别。
接纳端:接纳码的格局,应与发送码共同。
接纳端:一起接纳4次,判别一起两次,即可履行呼应函数。
接纳端:考虑震动电阻,对接纳到的数据进行辨认。