| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 华为HPLC模组全拆解之电力载波收发原理分析 -> 正文阅读 |
|
[嵌入式]华为HPLC模组全拆解之电力载波收发原理分析 |
目录 一、前言? ? ? ?电力线载波通信(PLC)是一种使用电力线进行数据传输的通信技术,即利用现有电网作为信号的传输介质,使电网在传输电力的同时可以进行数据传输。目前根据所用频段的不同,低压电力线载波通信一般分为窄带电力线载波通信(10KHz~500KHz)和宽带电力线载波通信(2MHz~20MHz)。这里的频率可以简单理解为单片机串口的通信波特率,频率越小通信速度越慢,频率越大通信速度越快。为了研究电力载波通信原理,笔者以华为的一款宽带电力载波模组为例进行详细的分析,该模组主控采用的是海思芯片,型号为Hi3921EV100。 二、华为HPLC模组简介? ? ? 以下为模组实拍图。 ? ? ? ? ? ? ?PLC模组正面图? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?PLC模组反面图 三、HPLC模组拆解过程? ? ? ?不知公司通过什么渠道从华为供应商那边拿到了几个PLC模组样品。模组里内置有软件,不需要做额外配置,就能简单测试一下电力载波通信。经过多次尝试,终于发现,把2个模组通上电之后,通过在两个2.4R电阻上接示波器可以看到有数据收发的波形 ,这个应该就是电力线上的载波数据了。为了方便测试,笔者是将两个模组的信号线直接接到一起的,而实际是需要分别将两个模组的信号线通过插头插到市电上的,不过这不影响测试效果,因为电力载波信号线本身就是一个差分数据线。 ? ? ? ?以下为示波器上抓到的载波波形,从图中可以看到载波为一组大小相等方向相反的正弦波,最大幅值为1.86V左右,载波频率为2~2.5MHz左右。当波形测量出来的时候,笔者的第一反应是想到通过电压比较器LM339将这一组模拟差分信号转成一路数字方波信号供通用单片机处理。说干就干,打了个LM339的小板准备接上去测试,奈何出来的波形一团糟,再仔细看了下LM339的数据手册,发现它的转换速度极限只有1.5us,太慢了,跟不上载波频率,暂时放弃。 四、模组电路原理图逆向? ? ? ? 经过上面的反复研究,笔者对HPLC模组的通信流程大致熟悉了。由于模组资料甚少,笔者开始尝试用万用表反推模组的电路原理图。一个晚上的连续摸索,终于有了点眉目,反推出来的模组精简版的原理图如下,唯一少的就是模组上的一些电阻电容未全部标出,不过核心电路都在这了,其实就是耦合变压器和后面的载波发送和接收电路,总体不差。PA是集成在芯片内部的,可以看出华为的这款模组电路是很精简的,尺寸应该算是电力载波界最小尺寸了,核心功能载波收发的实现都在模组软件上。所以如果拿不到芯片资料和模组的SDK,基本就不要想去开发了。 ? ? ? 仔细观察可以看到,载波发送的两根线OUTN/OUTP和接收的两根线RXN/RXP都是挂在耦合变压器的同一组引脚上的,那么就可以断定载波发送和接收是需要切换的,也就是说载波通信是半双工的,在发送的时候无法接收,在接收的时候无法发送。这种通信方式会导致的一种情况,如果两个模组都同时往对方发包的时候必然会导致至少有一方是会丢包的,不过在软件层面上做好通信重发机制也是可以保证能把丢的包重发过去的。 五、电力载波收发原理分析? ? ? ?问了度娘很多遍,能找到有关Hi3921的资料只有这点,还花了我3块钱才能下载。 ? ? ? ?简单来说,电力载波接收数据的过程,其实就是载波芯片通过内部高速ADC采样差分信号,经滤除市电固有50Hz信号、线路干扰信号后将有效载波信号逐一还原解码成数字信号,供芯片内部处理;电力载波发送数据的过程,其实就是载波芯片将编码数据经过内部高速DAC转换输出两路模拟差分信号,再经过芯片内部功放进行功率放大,最终加载到耦合变压器上将数据推到电力线上去,从而达到数据发送的目的。 ? 六、通用单片机实现电力载波收发? ? ? 通用单片机比如STM32等能否在不依赖电力载波芯片的情况下实现电力载波收发功能,笔者认为是可以的,前提是需要搭外围电路,接收部分需要增加外置高速12bit ADC芯片,支持差分输入,发送部分需要增加2路外置高速12bit DAC芯片和功放电路,整体还得有个选通芯片,可以选择当前耦合变压器上5/8脚连接到ADC输入端还是DAC经过功放后的输出端。整个方案搭建起来,通用单片机在硬件上会比直接用电力载波芯片的方案要复杂不少,实现简单的通信问题不大,成本和载波性能不一定能达到最优,硬件上需要验证的东西也比较多,故笔者暂时不再往下探索,如果有对这方面感兴趣的朋友可在本文研究的基础上自行做尝试。 七、结束语? ? ? ?电力载波通信的优缺点: ? ? ? ?优点:免于布线、有电线的地方就能通信、有线通信“稳定可靠”; ? ? ? ?缺点: 价格昂贵、芯片垄断、通信速度不如WiFi蓝牙Mesh、本地局域网。 ? ? ? ?不管电力载波技术未来的发展前景如何,掌握了这一门技术就有派上用场的时候,当然WiFi蓝牙zigbee等主流无线通信技术更不能落下,有线无线结合优势互补,只主推某一种技术手段的产品必然会被时代的潮流所淘汰。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:44:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |