最近做课设,选了电力线通讯这种途径,经过百度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
上一篇:vfd电子时钟制作
下一篇:STM8 ADC1连续模式切换通道干扰问题的解决
推荐阅读
史海拾趣
背景:2004年,为了适应国家经济发展和产业布局调整的需要,振华新云面临从凯里白午山区调迁至贵阳市新添高新技术开发区的挑战。
内容:在调迁过程中,公司克服了种种困难,如设备搬迁、员工安置、生产线重建等。通过精心组织和周密安排,确保了调迁工作的顺利进行。
成果:调迁完成后,振华新云在贵阳市新添高新技术开发区迎来了新的发展机遇,为公司后续的快速发展提供了有力保障。
背景:随着电子行业的快速发展,振华新云不断加大技术创新和产品研发力度。
内容:公司积极引进先进技术和设备,加强与国际先进企业的合作与交流。同时,注重培养高素质的技术人才队伍,为技术创新和产品研发提供有力支持。
成果:通过持续不断的技术创新和产品研发,振华新云在电子元器件领域取得了多项重要成果,如开发出具有国际先进水平的钽电解电容器等产品,进一步巩固了公司在行业中的领先地位。
背景:2004年,为了适应国家经济发展和产业布局调整的需要,振华新云面临从凯里白午山区调迁至贵阳市新添高新技术开发区的挑战。
内容:在调迁过程中,公司克服了种种困难,如设备搬迁、员工安置、生产线重建等。通过精心组织和周密安排,确保了调迁工作的顺利进行。
成果:调迁完成后,振华新云在贵阳市新添高新技术开发区迎来了新的发展机遇,为公司后续的快速发展提供了有力保障。
Digi-Key作为全球知名的电子元器件分销商,与FEIG ELECTRONIC建立了长期稳定的合作关系。通过这一合作,Digi-Key为FEIG提供了全球范围内的分销服务,将FEIG的产品推向了更广阔的市场。同时,Digi-Key还为FEIG的产品提供了专业的技术支持和售后服务,进一步巩固了FEIG在RFID领域的领先地位。
Delta Electronics Manufacturing Corp公司始建于上世纪七十年代,起初以生产电源产品为主。在初创阶段,公司凭借对技术的深度钻研和对市场的敏锐洞察,成功研发出一系列高效、稳定的电源产品。这些产品迅速在市场上获得认可,为Delta在电源领域奠定了坚实的基础。
作为全球领先的电子元器件制造商之一,EPCOS在通信领域取得了显著的突破。其电容器、电感器等产品在通信系统中发挥着关键作用,为各种通信设备提供了稳定的电源和信号处理方案。EPCOS不断投入研发资源,致力于开发适应新一代通信技术需求的高性能电子元器件。这些创新产品不仅提高了通信系统的性能和可靠性,也推动了整个通信行业的进步。
以上是关于EPCOS/TDK公司发展起来的5个相关故事。这些故事不仅展示了公司在技术创新、市场拓展等方面的成就,也体现了其在电子行业中的重要地位和影响力。
Agilent LVDS传输系统测试方案 2010-05-16 21:56:51 来源:中电网 关键字: Agilent LVDS 传输系统 FPGA LVDS是低压差分信号的简称,由于其优异的高速信号传输性能,目前在高速数据传输领域得到了越来越多的应用。其典型架构如下: &nbs ...… 查看全部问答∨ |
|
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 ...… 查看全部问答∨ |
1、源码: asm cld asm rep outsw(insw) ----该句编译时提示语法结构configure错误 2、另外汇编中的标志符(合法的),如:nodev,l ...… 查看全部问答∨ |
刚入手ARM开发,接到一个有关视频无线传输的课题,使用ARM2440/WinCE5.0。传输采用华硕的WL167G无线网卡(USB接口),可是在网上搜了很久。却始终没有找到WL167G在wince平台下的驱动源码。请有过这方面开发经验的同仁提供一点USB无线 ...… 查看全部问答∨ |
|
本人用的是SKD2812开发板,在板子自带的例子程序改动后,完成了串口控制电机转动程序,总结如下:1、发送123相应只能显示单独灯用switch语句加函数调用sci.txt。大部分主要程序添加注释成功。 功能:发送1、2、3、4、5相应的dsp板子的从左至右的le ...… 查看全部问答∨ |
|
在加载程序时出现如下错误: load failed, A section of your program falls into a memory region that is not writable. check your linker configuration and/or memory map. 这是什么错误,如何改正 ...… 查看全部问答∨ |