单片机无线发射的原理剖析

目录

一、EV1527编码格式

二、OOK&ASK的简单了解

三、433MHZ

四、单片机的地址ID

五、基于STC15W104单片机实现无线通信


         无线发射主要运用到了三个知识点:EV1527格式;OOk;433MHZ。下面我们来分别阐述:

EV1527是数据的编码格式;OOK是无线发射数据的通信方式;433MHZ是无线发射的载波频率!

一、EV1527编码格式

        EV1527是一种低成本的射频编码芯片,主要运用在遥控系统中(通常作为遥控器)

这是EV1527芯片的电路图,可以看到他除了osc(外接震荡电阻)VCC和GND(电源正负极),和TXD管脚用来输出方波之外,还有四个管脚K1,K2,K3,K4用来接收用户的输入(一般是遥控器的4个按键),当按键没有按下的时候,由于下拉电阻的存在,K1至K4都是低电平状态,当按键按下后呈现高电平,芯片就通过检测这几个管脚的电平组合情况(一共有15种按键组合),从而输出15种预先设定好的不同的方波信号

(像这样的)

当然EV1527芯片仅仅是将用户的按键情况转化成了不同的方波(二进制语言)但是并没有通过电磁波传递出去,于是下面的电路(无线发射电路)便应运而生了,他能够接受到输入进来的方波信号,并且通过433MHZ的电磁波频率,把该方波信号传递成电磁波信号,只要别的主机能够接受到这个信号,就算完成了无线发射的功能

其实说到这里我们仅仅是讲清楚了EV1527将电信号转化成方波的能力,但是并没有讲到他的编码格式是什么样的,下面我们来看看

        所谓的编码格式,其实就是一个二进制信号是按照什么样的规则传递的,比如在传递1的时候高频率电磁波持续的时间是多少?高低频率之间是什么样的顺序?他们的间隔是多少?一共要传递多少个bit位?不同的人可能设计出不同的编码格式,但无论如何,编码格式设计出来都是为了方便人们使用的统一,只要人们用的习惯用的方便,并且硬件容易实现,就是一个好的编码格式。

        比如在这里的EV1527编码格式中:同步起始信号是4个CLK时间的高电平+124CLK时间的低电平,那么主机在接收到这样一个电磁波信号后,就按照我们约定好的EV1527编码格式来解码,从而知道我们要发射的是一个同步起始信号了。至于二进制位的1和0都是一样的道理,只是他们的高低频率信号的持续时间不同罢了。

        而且值得注意的是EV1527标准的编码格式是同步信号+24个bit位,从C0到C19一共20位的地址+D0到D3一共4位的功能信号(关于地址是什么,我们在后面补充说明)

假如芯片内置的地址是 E9700 按下了按键 S1。则输出的数据是 E97001;
整体的数据格式是 同步码+E97001;
同步码 + E97001; 转换成二进制(数据输出单根线,只能通过二进制输出
同步码 + 1110 1001 0111 0000 0000 0001

(当然这只是方便我们理解,他还是要经过无线发射电路将方波转换成电磁波的!)

说到了CLK,我们就不得不提一下下面的这张表格了,他清晰的展示了不同阻值的电阻在使用该无线发射电路的时候每一个CLK周期是多长时间,这就能够帮助我们完成代码的编写了

16LCK的时间长度实际上是和EV1527的供电电源以及振荡电阻这两个因素相关的:

(1)振荡电阻值

        如下图,连接在 1 脚(OSC)的电阻 R2 就是振荡电阻,振荡电阻不一样,CLK 的时间不一样,并且相差比较大。可以对比 47K 和 620K 的时间。比较常用的是:330K 270K 470K

(2)EV1527供电电压

        EV1527 VCC 的供电电压不一样,CLK 的时间不一样。 误差较大,相比震荡电阻误差要小很
多。为什么会有这个误差呢?我猜测是因为这个芯片比较便宜,使用的方案比较廉价,所以制作出来就有误差。

二、OOK&ASK的简单了解

        如果说EV1527编码格式是将二进制语言转换成方波的话,那么OOK&ASK就是无线发射电路的格式,他们决定了无线发射电路是如何将方波信号转换成电磁波信号的。

ASK如何区分0和1?

0:发送 433.92Mhz 无线波形(载波频率)振幅低
1:发送 433.92Mhz 无线波形(载波频率)振幅高

OOK 如何区分 0 和 1?(OOK 是 ASK 的一种特殊形式)
0:不发送数据(振幅为0)
1:发送 433.92Mhz 无线波形(载波频率)

三、433MHZ

四、单片机的地址ID

从官方文档中我们可以看到,每一个单片机都具有唯一的身份证号码,我们也把他叫做ID号,并且程序存储器的最后7个字节单元保存的就是其ID号,只不过被隐藏起来了,用户只能通过地址去访问,但是并不能修改。

我们从stc-isp这个软件中发现最后七个字节是空白的!这就与我们之前所说的相符合了。(为什么最后七个字节是00FF9h呢?因为我们的STC15系列单片机只有4k的程序存储器,当我们从00000h开始存放程序,一直到00FFFh就是第4096个字节了,所以最后七个字节是从00FF9h开始的啦)

五、基于STC15W104单片机实现无线通信

       

 这是一款门磁探测器中的无线发射电路模块,他仅仅只有一块STC15W104单片机和一个无线发射电路,但是却并没有EV1527芯片,这是为什么呢?

        原来为了生产上成本的减少,通常都能够省一点就省一点,所以我们可以直接使用单片机的IO口来模拟实现本来应该由EV1527芯片完成的方波,那么有人会问?没有了EV1527芯片,我们如何来控制高低电平之间的时间呢?别忘了,我们还有定时器!用定时器来控制CLK的时间还有许多优点咧。

(1)CLK 时间长度稳定,不受芯片的供电电压影响
(2)EV1527 数据固定 20(地址码)+4(功能码),单片机可以按照自己的需求来定义地址码和功能码的长度可以自定义私有协议( 24+8 或 28+4 或 32+8 ......)(因为EV1527芯片的输出格式是固定了的)

        下面我们就来看看具体的实现过程

同步头波形输出:

程序流程:
第 1 步:P3.2 输出高电平
第 2 步:通过定时器实现 400us 的精准延时 TH0 TL0 2 个字节
第 3 步:P3.2 输出低电平 (或 P3.2 反正 !P3.2)
第 4 步:通过定时器实现 12.4ms 的精准延时 TH0 TL0 2 个字节

数据 1 波形输出:

高电平+低电平 = 1.2ms + 400us ( 3:1)
程序流程:
第 1 步:P3.2 输出高电平
第 2 步:通过定时器实现 1.2ms 的精准延时 TH0 TL0 2 个字节
第 3 步:P3.2 输出低电平 (或 P3.2 反正 !P3.2)
第 4 步:通过定时器实现 400us 的精准延时 TH0 TL0 2 个字节

数据0波形输出:

高电平+低电平 = 400us + 1.2ms ( 1:3)
第 1 步:P3.2 输出高电平
第 2 步:通过定时器实现 400us 的精准延时 TH0 TL0 2 个字节
第 3 步:P3.2 输出低电平 (或 P3.2 反正 !P3.2)
第 4 步:通过定时器实现 1.2ms 的精准延时 TH0 TL0 2 个字节

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/673702.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网神 SecGate 3600 防火墙 route_ispinfo_import_save 文件上传漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

Golang 基础 Go Modules包管理

Golang 基础 Go Modules包管理 在 Go 项目开发中,依赖包管理是一个非常重要的内容,依赖包处理不好,就会导致编译失败,本文将系统介绍下 Go 的依赖包管理工具。 我会首先介绍下 Go 依赖包管理工具的历史,并详细介绍下…

idea2023创建spring项目无法选择Java8

idea2023创建spring项目无法选择Java8 今天下载了新版的idea 2023.3.2,但是在创建springboot项目的时候只能选择Java17和Java21,没法选择其他的版本。 使用下面阿里云的地址替换Server URL中的start.spring.io的地址即可 https://start.aliyun.com/替…

C#调用WechatOCR.exe实现本地OCR文字识别

最近遇到一个需求:有大量的扫描件需要还原为可编辑的文本,很显然需要用到图片OCR识别为文字技术。本来以为这个技术很普遍的,结果用了几个开源库,效果不理想。后来,用了取巧的方法,直接使用了WX的OCR识别模…

Linux大集合

Linux Linux是什么? Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、 支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和 64位硬件。 Linux内核 是一个Linux系统…

可达鸭二月月赛——入门赛第四场T3题解

姓名 王胤皓 AC 记录 题目: 思路 用数组进行操作太难,而这些操作可以再 STL 中的 vector 容器,有 insert 和 erase 函数,所以非常方便。 vector 下标从 0 0 0 开始,所以所有操作都要 − 1 -1 −1。 操作 1 1 1 …

Redis的数据类型Hash使用场景实战

Redis的数据类型Hash使用场景 常见面试题:redis在你们项目中是怎么用的,除了String数据类型还使用什么数据类型? 怎么保证缓存和数据一致性等问题… Hash模型使用场景 知识回顾: redisTemplate.opsForHash() 方法是 Redis 的 …

Spring Boot3整合Redis

⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途。 目录 前置条件 1.导依赖 2.配置连接信息以及连接池参数 3.配置序列化方式 4.编写测试 前置条件 已经初始化好一个spr…

MyBatisPlus基础操作之增删改查

目录 一、基本使用 1.1 插入数据 1.2 删除操作 1.3 更新操作 二、条件构造器Wrapper 2.1 常用AbstractWrapper方法 2.1.1 示例一 2.2.2 示例二 2.2.3 示例三 2.2 常用QueryWrapper方法 2.2.1 示例一 2.2.2 示例二 2.2.3 示例三(常用) 2.3 常…

1978-2022年地级市全要素生产率数据

1978-2022年地级市全要素生产率数据 1、时间:1978-2022年 2、来源:城市统计年鉴以及各省市的统计年鉴 3、指标:省份、地区、年份、OLS、FE、RE、DGMM、SGMM、SFA1、SFA2、SFA3、SFA3D、TFE、非参数法 4、范围:421地区 5、参考…

Deepin基本环境查看(八)【系统安全:房、车、查房、查车】

Deepin基本环境查看(八)【系统安全:房、车、查房、查车】 - 相关文章目录1、概述2、想象中的... 现实中的...1)想象中的我2)梦幻中的我3)现实中的我 3 要房、要车、还是房车都要1)超级计算机2&a…

Pymysql之Connection中常用API

Connection中常用API 1、open() :检测数据库是否连接。 connect.open:如果数据库连接返回Trhe,否则返回False。 2、ping(reconnectTrue) connect.ping(reconnectTrue):如果reconnectTrue表示连接断开后,重新进行连接。 import…

Docker-Learn(三)创建镜像Docker(换源)

根据之前的内容基础,本小点的内容主要涉及到的内容是比较重要的文本Dockerfile 1. 编辑Dockerfile 启动命令行终端(在自己的工作空间当中),创建和编辑Dockerfile。 vim Dockerfile然后写入以下内容 # 使用一个基础镜像 FROM ubuntu:late…

Centos8保姆级安装教程

1.下载地址 Downloadhttps://www.centos.org/download/ 2.安装教程 第一步创建新的虚拟机 第二步自定义高级 第三步这里是选择系统的兼容性,默认就可以 之后直接下一步 第四步选择稍后安装操作系统 之后点击下一步 第五步选择操作系统Linux 安装的是centos8 64位…

Ps:信息面板选项

点击“信息”面板控制菜单按钮,打开“信息面板选项” Info Panel Options对话框。 第一颜色信息 First Color Readout 指定在“信息”面板中的“第一颜色信息”区域显示的像素颜色值所基于的颜色模式。 模式 Mode --实际颜色 Actual Color 默认选项。显示在当前颜色…

第二十九天| 491.递增子序列 、46.全排列、47.全排列 II

Leetcode 491.递增子序列 题目链接:491 递增子序列 题干:给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出…

服装设计公司,如何用钉钉实现企业数字化成功转型?

钉钉作为数字化工作平台,为某服装设计公司实现了组织管理的数字化转型,构建了一站式的工作平台。通过钉钉赋能,有利于企业推进组织架构、员工沟通、产品运营和客户服务等方面的数字化、智能化转型。 借助钉钉平台,该服设公司轻松实…

oracle主库增加redo组数

redo log(重做日志): 重做日志:简单来说就是,将oracle数据库的DML、DDL(数据库操作语言,数据库定义i语言)操作记录在日志中,方便恢复及备库使用,以组的方式管…

PCIE Order Set

1 Training Sequence Training Sequence是由Order Set(OS) 组成,它们主要是用于bit aligment,symbol aligment,交换物理层的参数。当data_rate 2.5GT or 5GT 它们不会被扰码(scramble),当date_rate 8GT or higher 根据特殊的规…

计算机网络-无线通信技术与原理

一般我们网络工程师接触比较多的是交换机、路由器,很少涉及到WiFi和无线设置,但是呢在实际工作中一般企业也是有这些需求的,这就需要我们对于无线的一些基本配置也要有独立部署能力,今天来简单了解一下。 一、无线网络基础 1.1 无…