1-433无线介绍433M无线发射(也是射频的一种)通常和红外遥控发射以及2.4G这种事差不多的。当然也有一些区别,在这里不做赘述,本章节只讲述433无线,当然315也是这个东西,在国内通常使用433,外国部分地区使用315的较多一点。只是频段不同。 1.1-工作原理:433芯片的工作原理是将数字信号转换为射频信号并通过无线信道发送,接收端将接收到的射频信号转换为数字信号并输出。它的优点是成本低、功耗低、传输距离较远(通常可达50米到100米,有的做的好的可达到200米,当然通常情况下100米用作家用智能或者小型农业上就已经可以了,但是从安全性来考虑,我个人并不推荐作为家用产品,因为信号很容易受到干扰,即使硬件和软件做的足够好,也是非常容易受到各种信号的干扰,不过我认为应用于农业或者一些对安全性不是很高的地方使用最为合适。),因此在一些需要简单无线传输的场景中得到了广泛的应用。
需要注意的是,433MHz无线通信主要用于短距离通信,通常在几十米到一百多米的范围内。它的功耗较低,适合电池供电的设备。然而,由于这种频段通常没有强大的频率规划和冲突避免机制,可能会受到干扰,因此在设计应用时需要考虑信号干扰和安全性问题。 2-EV1527介绍EV1527 是编码 IC,每次发 3 帧,每帧 24 位加一个同步码。此 24 位中,前 20 位为芯片内码(即 ID,共有 2 的 20 次方,即 1048576 组组合,大大降重复几率),后 4 位是按键值(即数据)。 3-433无线之EV1527软件模拟编码在433中不管是ASK还是OOK,对于软件编码和解码来说并没有多大的区别,我们只需要知道他们之间电平的间隔时间就行,理论上,模拟编码的实现是倍数关系就行,当然,模拟如安然能够省钱,但是也会存在以下问题,因为每个厂商选用的电阻不一样就会导致时间间隔上有些差别进而会导致对码或者配对失败的现场。 根据这个图片,可以知道,同步是4:124的关系,数据1和数据0是相反的关系,因为在实现编码是非常容易得事情。 本次实在51单片机上使用的,因此就以51为例(因保密性,不提供全部代码): 接下来,我们对这个进行分析: 首先是同步: 如上图:我们选择330K,3V作为我们此次的基准: 从这可以知道一个LCK=1.69/16时间。 所以同步高就是 1.69/4,同步低就是1.69*124/16 我们通过计算就能知道具体的时间,当然在这你可以使用定时器或者延时也可以,前提是你的延时要精确就行。 二、定时器中断方式的编码 把串行输入的编码数据帧,还原成编码之前的状态,读取其中 的地址码和按键码,称之为解码。 数据帧都是由同步头开始,然后是 24位的数据码,并且此数据帧在遥控器按键的过程中是重复出现的,我们首先要判断同步码,判断出了同步码,就知道数据码是从那一位开始了。对于一款量产的无线遥控器来说,他的编码芯片匹配的电阻是一个固定值,也就是说它发射的数据帧的脉冲宽度是不变的,所以我们可以通过测量高低脉冲宽度的方式来分辨同步码、逻辑“1”、逻辑“0”。 具体的方法是这样的,首先启用定时器,装入一个初值,打开 定时器中断,让其以固定的间隔进入中断程序。在中断程序中,我们查询数据输入管脚的状态,如果为高电平,就在高电平状态累加计数,反之就在低电平状态计数,当电平发生上升沿变化的时候,判断接收到的高低电平宽度的值是否符合同步信号的要求,如果符合就进入数据位的接收,以同样的方式判断逻辑“1”或逻辑“0”。如果接受过程中出现不符合要求的电平状态,就退出接收,为了增加可靠性,我们一般要求规定时间内,成功接收到完全相同的 2 帧数据才算有效。 接收完成后,24 个数据位被放入 3 个字节中。 所以我们可以得到下面的代码: 1void EV1527_send12400us(void)
同理我们可以得到其他时间值: 1void EV1527_send1200us(void) 高电平和低电平就是引脚输出电平是高还是低。在进行数据发送的时候,是先进行同步头操作,然后再试进行数据1的发送在之后才是数据0的发送: 所以,发送一个数据字节: // 发送一个字节的数据
因为总共要发送三个字节。所以结合上面的就可以实现,三个字节的发送,这三个字节分别是:两个数据码(也就是地址,可以通过修改这个地址,进而实现不同的地址)以及按键码。 最终我们通过示波器或者逻辑分析仪可以得到下面的图形: 得到的编码值: |
|
来自: 新用户0118F7lQ > 《文件夹1》