历史上的今天

今天是:2024年09月15日(星期日)

2020年09月15日 | MI200e电力线通讯

发布者:幸福如意 来源: eefocus关键字:MI200e  电力线通讯  STM8 手机看文章 扫描二维码
随时随地手机看文章

最近做课设,选了电力线通讯这种途径,经过百度google等一番查询,最终敲定了mi200e这块国产芯片


 

课设要求就是双机通讯,互传传感器信息以及模拟一个时钟


 

然后淘宝买了拆机的成品,我拿回来把mcu拆了然后飞出通讯端口和stm8交互。现在串口两边可以通讯了,下一步就是重新绘制一块完整的pcb,然后制版,并实现响应功能。

先上ref:

http://search.eefocus.com/s?app_id=90&sub=1&q=mi200e

这是电路城搜索mi200e得出的结果,我主要参考第一篇,他在嘉立创还有发帖,点进去你就找得到了。

他使用stm8主控并绘制整块pcb,我则使用以前的stm8核心小板。由于mi200e常规供电为5v,稍稍更改核心板为5v供电做好。

没有拍当时做的图片,上pcb和实物吧!

将右图放大后,可看到两块绿板,这两块就是成品模块,应用于智能抄表的。可看到左边那块上有一根小跳线,跳线右边哪里原来是块u,我用烙铁把他拆了。

不然stm8没法单独和mi200e通讯。至于为什么要跳那根线,我在网上恰好查到他的原理图,(应该是miartech官方的方案,然后抄的,原件丝印不同),mi200e的供电vdd受一个pmos控制,

所以直接将mos的g级接地。其实我买了两种,一共买了四块,连运费20+rmb。另一种的丝印是和原理图队上的。我后面会附上手头的资料。

两块板子背面其实有排针,原来用于接220v的,我直接把他们并联在一起,然后接了一根电源线。一方面因为我电源线紧张,另一方面固定在一块纸板上方便调试。

 

 这是原理图,通讯接口是SPI,其中cs不能直接接地,因为数据是双向互传,并且不是单次传输。具体参考SPI接口flash的cs为什么不能直接接地吧。

我一开始想省io直接接地,结果调试的时候发现,自检过不了。

至于rst引脚,我把它接到stm8的nrst恰好可以使用,虽然官方应用笔记里面说要低电平1s后拉高。留待后面再测试吧。

这样就是4个io就能交互了。


 

然后我按照嘉立创那篇帖子里的方案做了,然后一直调试,发现他的程序我直接用不了,数据通。

然后我发现省略了crc校验初步数据能够发送,但是有毛病。

 没办法,又看手册,看应用笔记。以及对比另一个c51版本的程序

,这个程序从我给的链接里的第二篇可以下载到。但是这个只是驱动,应该就是这个产品用到的,但是没给全程序。我猜嘉立创那篇帖主

也是参考这个改的,因为驱动大体一致。我同时看笔记,以及两篇驱动,最后经过一番修改,然后下进去竟然就可以工作了。

 

程序限制它64字节,对于一般应用足够了。

说一下这块芯片的发送过程,两个引导字节(一个字),一个固定字节,然后配置字节(速率和字长,字为单位)。到这里都是固定200/240bps速率(会因交流电频率不同而不同),之后的速率可自行配置,

程序里设定的是1600/1920bps。然后是以字为单位的数据(这里就是串口透传,由于是字对齐,所以必须是偶数字节,这里要注意!),最后一个字的CRC校验

附上一张笔记图,看别人的代码真是不容易啊。这里双向能通讯了,后面再看要不要他程序的框架,如果要,还有更多细节要明白。

和硬件打交道,如果不懂的话,可能就是一个延时你就要消耗大把时间。所以需要日积月累!

 View Code

主要修改的就是,这个文件了。后面有什么进展还会更新!


 

 10/14日更新!

期间参照它的工程做了修改,重画原理图pcb,然后做手工板。

做了两块,对齐的一般但是能用,只是两块板硬件调试都花了很长时间。

第一块是花原理图的时候中间有个电容连线错了,参照成品一个原件一个原件对,找了很久。由于画图的时候,他在原理图边上,没注意它。

第二块是焊接一个电容,它可能被我烫坏了,造成mi200e经常开机过不了自检,也是图省事全部原件基本都是直接拆的成品上的,最后还是电容一个一个换下来才找到问题。

这里吸取教训,小电容再也不用拆机的!


上图:

 

 实物:

top layer:(其实这面画的是bottom layer)

 

做出来有两个缺陷,一是该也不该用核心板,该是说方便更换,不该就是焊接很难受,布线也不好看,还变大了,不然可以小不少。

二就是oled,原来考虑是top layer就做最终顶层的,但是寻思直插放另一面合适,最终就把bottom当了顶层。这就导致oled必须换个方向插,

进而就得让它支出来。

 

目前串口透传OK!距离尚未测试。

按键扫描OK!

OLED显示OK!

DS18b20(暂定传感器)程序写了,尚未测试,拿出以前的18b20插的时候引脚断了,因为生锈了。233

剩下的就是小结构以及模拟一个时钟


 

更新:2018年11月13日14:05:17 

课设快结束了,器件程序调试了好几次,最终基本实现了功能。

调试时遇到主要BUG:

发送的数据不能是奇数字节,不然无法正常通信->改为偶数之后正常

原B板存在MI200E初始化失败情况,反复初始化之后一旦正确就一直正确-> 尝试过原件替换,无果。重新做了一块板,问题解决!

 


限于mcu的flash只有8k,导致程序写不下了,所以功能做了调整。

最终(暂定)功能:

A端:独立显示时间,读取18b20温度通过电力线发给B

B端:独立显示时间,通过电力线读取数据并显示温度,可以更改时间,可以校准A的时间。

尚有未完善的问题:如何用定时器精确微秒级延时供18b20使用

网上参考了很多方案,自己也调试了许多,效果都不理想。

最终使用原子的汇编延时,较准确。

这个问题留待后期解决。

 

由于没有铜柱,我简单打印了一个外壳(图里没有体现)。2333


关键字:MI200e  电力线通讯  STM8 引用地址:MI200e电力线通讯

上一篇:vfd电子时钟制作
下一篇:STM8 ADC1连续模式切换通道干扰问题的解决

推荐阅读

   小米8透明探索版是小米在5月31日发布的旗舰,该机预装的是Android O系统,现在全新的Android P系统即将适配小米8透明探索版。  MIUI官方在论坛发布公告,小米8透明探索版因适配Android P,本周起暂停Android O内测、公测发布,预计9月下旬启动内测。  Android P是谷歌今年推出的全新Android系统,该系统第一个变化是适配类似iPhone X的顶...
英特尔发布了新型的RealSense激光雷达相机L515,它是世界上最小,最节能的激光雷达相机,能够每秒捕获数百万个深度点,并采用了一项新技术,以创新方式将激光雷达集成到智能设备中。RealSense专家开发了革命性的固态激光雷达固态摄像机系列。新型英特尔实感激光雷达相机L515具有无与伦比的深度质量和能效,能够每秒生成2300万个准确的深度点,使其非常适合...
据博主 @数码闲聊站 今日最新爆料,OPPO 有一款 K 系列新机正在路上,该手机为 OPPO K9 Pro,将搭载联发科天玑 1200 处理器,采用 120Hz 高刷新率显示屏。  此外,OPPO K9 Pro 还将首发 60W 超级闪充,后置三摄像头,主摄像素为 64MP。  据 @数码闲聊站称,OPPO K9 Pro 的 12+256GB 版本的定价有一定的性价比。OPPO Reno7 ...

史海拾趣

问答坊 | AI 解惑

超精度长延时电路

本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 …

查看全部问答∨

AgilentLVDC 传输系统测试方案

Agilent LVDS传输系统测试方案 2010-05-16 21:56:51 来源:中电网 关键字: Agilent LVDS 传输系统 FPGA LVDS是低压差分信号的简称,由于其优异的高速信号传输性能,目前在高速数据传输领域得到了越来越多的应用。其典型架构如下: &nbs ...…

查看全部问答∨

Bitmap Menu

hi, i tried making a bitmap menu thru setmenuiteminfo(), but it didn\'t work. i even couldn\'t set the two bitmap handles thru the above function. could anyone tell me what\'s wrong there? is there any other way making such bitm ...…

查看全部问答∨

高手指点下,一些汇编,C混编编译时通不过的地方

1、源码:     asm   cld           asm   rep   outsw(insw)  ----该句编译时提示语法结构configure错误 2、另外汇编中的标志符(合法的),如:nodev,l ...…

查看全部问答∨

USB无线网卡驱动(wince平台下)

    刚入手ARM开发,接到一个有关视频无线传输的课题,使用ARM2440/WinCE5.0。传输采用华硕的WL167G无线网卡(USB接口),可是在网上搜了很久。却始终没有找到WL167G在wince平台下的驱动源码。请有过这方面开发经验的同仁提供一点USB无线 ...…

查看全部问答∨

evc4.0++ 如何和SQL CE连接

evc4.0++ 如何和SQL CE连接,哪位大哥能给个示例代码啊 ?感激万分!…

查看全部问答∨

关于运放的疑惑

最近一直做使用运放驱动感性负载,我使用TI的THS3120来做功率放大,但是驱动电流总是做不上去,后来发现DATASHEET都是以驱动容性负载作为应用实例,找了很多运放,查看了他们的DATASHEET,发现都是这个问题,不知道什么原因,有没有高速的,用于驱动 ...…

查看全部问答∨

基于tms320f2812的串口控制电机转动总结

本人用的是SKD2812开发板,在板子自带的例子程序改动后,完成了串口控制电机转动程序,总结如下:1、发送123相应只能显示单独灯用switch语句加函数调用sci.txt。大部分主要程序添加注释成功。 功能:发送1、2、3、4、5相应的dsp板子的从左至右的le ...…

查看全部问答∨

ccs加载程序出错怎么回事,急!

在加载程序时出现如下错误:      load failed, A section of your program falls into a memory region that is not writable. check your linker configuration and/or memory map.     这是什么错误,如何改正 ...…

查看全部问答∨

stm32 1602液晶程序

本帖最后由 paulhyde 于 2014-9-15 08:58 编辑 stm32 1602液晶程序  …

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved