草庐IT

华为HPLC模组全拆解之电力载波收发原理分析

小明同学666 2023-11-21 原文

目录

一、前言

二、华为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等主流无线通信技术更不能落下,有线无线结合优势互补,只主推某一种技术手段的产品必然会被时代的潮流所淘汰。

有关华为HPLC模组全拆解之电力载波收发原理分析的更多相关文章

  1. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  2. 华为常用命令 - 2

    system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100

  3. 华为OD机试真题 C++ 实现【带传送阵的矩阵游离】【2023 Q2 | 200分】 - 2

            所有题目均有五种语言实现。C实现目录、C++实现目录、Python实现目录、Java实现目录、JavaScript实现目录题目n行m列的矩阵,每个位置上有一个元素你可以上下左右行走,代价是前后两个位置元素值差的绝对值.另外,你最多可以使用一次传送阵(只能从一个数跳到另外一个相同的数)求从走上角走到右下角最少需要多少时间。输入描述:第一行两个整数n,m,分别代表矩阵的行和列。后面n行,每行m个整数,分别代表矩阵中的元素。输出描述:一个整数,表示最少需要多少时间。

  4. 建模分析 | 平面2R机器人(二连杆)运动学与动力学建模(附Matlab仿真) - 2

    目录0专栏介绍1平面2R机器人概述2运动学建模2.1正运动学模型2.2逆运动学模型2.3机器人运动学仿真3动力学建模3.1计算动能3.2势能计算与动力学方程3.3动力学仿真0专栏介绍?附C++/Python/Matlab全套代码?课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。?详情:图解自动驾驶中的运动规划(MotionPlanning),附几十种规划算法1平面2R机器人概述如图1所示为本文的研究本体——平面2R机器人。对参数进行如下定义:机器人广义坐标

  5. 西安华为OD面试体验 - 2

    西安华为OD面试体验开始投简历技术面试进展工作进展开始投简历去年一整年一直在考研和工作之间纠结,感觉自己的状态好像当时的疫情一样差劲。之前刚毕业的时候投了个大厂的简历,结果一面写算法的时候太拉跨了,虽然知道时dfs但是代码熟练度不够,放在平时给足时间自己可以调试通过,但是熟练度不够那面试当时就写不出来被刷了。说真的算法学到后期我感觉最重要的是熟练度和背板子(对于我这种普通玩家来说),面试题如果一上来短时间内想不出思路就完蛋了。然后由于当时找的工作不是很理想就又想考研了。但是考研是有风险的,我自我感觉自己可能冲不上那个学校,而找工作一个没成可以继续找嘛。本着抱着试试看的态度在boss上投了简历,

  6. 网站日志分析软件--让网站日志分析工作变得更简单 - 2

    网站的日志分析,是seo优化不可忽视的一门功课,但网站越大,每天产生的日志就越大,大站一天都可以产生几个G的网站日志,如果光靠肉眼去分析,那可能看到猴年马月都看不完,因此借助网站日志分析工具去分析网站日志,那将会使网站日志分析工作变得更简单。下面推荐两款网站日志分析软件。第一款:逆火网站日志分析器逆火网站日志分析器是一款功能全面的网站服务器日志分析软件。通过分析网站的日志文件,不仅能够精准的知道网站的访问量、网站的访问来源,网站的广告点击,访客的地区统计,搜索引擎关键字查询等,还能够一次性分析多个网站的日志文件,让你轻松管理网站。逆火网站日志分析器下载地址:https://pan.baidu.

  7. ABB-IRB-1200运动学分析MATLAB RVC工具分析+Simulink-Adams联合仿真 - 2

    一、机器人介绍        此处是基于MATLABRVC工具箱,对ABB-IRB-1200型号的微型机械臂进行正逆向运动学分析,并利Simulink工具实现对机械臂进行具有动力学参数的末端轨迹规划仿真,最后根据机械模型设计Simulink-Adams联合仿真。 图1.ABBIRB 1200尺寸参数示意图ABBIRB 1200提供的两种型号广泛适用于各作业,且两者间零部件通用,两种型号的工作范围分别为700 mm 和 900 mm,大有效负载分别为 7 kg 和5 kg。 IRB 1200 能够在狭小空间内能发挥其工作范围与性能优势,具有全新的设计、小型化的体积、高效的性能、易于集成、便捷的接

  8. 关于Qt程序打包后运行库依赖的常见问题分析及解决方法 - 2

    目录一.大致如下常见问题:(1)找不到程序所依赖的Qt库version`Qt_5'notfound(requiredby(2)CouldnotLoadtheQtplatformplugin"xcb"in""eventhoughitwasfound(3)打包到在不同的linux系统下,或者打包到高版本的相同系统下,运行程序时,直接提示段错误即segmentationfault,或者Illegalinstruction(coredumped)非法指令(4)ldd应用程序或者库,查看运行所依赖的库时,直接报段错误二.问题逐个分析,得出解决方法:(1)找不到程序所依赖的Qt库version`Qt_5'

  9. ruby-on-rails - 载波文件删除 - 2

    我再次需要你的帮助。现在我需要了解如何使用Carrierwave删除上传的文件(在我的例子中是图像)。models/attachment.rb:classAttachmenttrueattr_accessible:file,:filemount_uploader:file,FileUploaderendmodels/post.rb:classPost:attachableaccepts_nested_attributes_for:attachmentsend*views/posts/_form.html.erb:*{:multipart=>true}do|f|%>prohibitedt

  10. ruby-on-rails - 如何使用 ruby​​-prof 和 JMeter 分析 Rails - 2

    我想使用ruby​​-prof和JMeter分析Rails应用程序。我对分析特定Controller/操作/或模型方法的建议方法不感兴趣,我想分析完整堆栈,从上到下。所以我运行这样的东西:RAILS_ENV=productionruby-prof-fprof.outscript/server>/dev/null然后我在上面运行我的JMeter测试计划。然而,问题是使用CTRL+C或SIGKILL中断它也会在ruby​​-prof可以写入任何输出之前杀死它。如何在不中断ruby​​-prof的情况下停止mongrel服务器? 最佳答案

随机推荐