No.19855 作者:dirty 邮件:@.com ID:5645 登陆:8次 文章数:890篇 最后登陆IP:218.71.204.242 最后登陆:2003/8/12 16:17:07 注册:2001/8/15 10:36:00 财富:3654 发帖时间:2003/3/3 8:42:00 发贴者IP:61.135.27.194 标题:dirty:单片机技术论谈 摘要:No.19855单片机技术论谈 电力线载波通信与软件抗扰 董明刚 2003年2月 电力线载波通信以电力线为信道进行数据传送,既经济,又方便。目前,在 我国要得到这种经济和方便,却不是一件容易的事。电力线载波抄表已经做了很 多年了,但是在实际应用中总会有一些问题出现,所以还是不能在电力部门进行 普遍推广应用。 我们对载波抄表出现问题的原因基本上都是清楚的,电源污染比较严重,电 网中存在着多次谐波,还有尖峰脉冲等。以我国目前的经济状况,不可能将那些 对电网的电源质量产生影响的用电设备全都报废,所以电源污染是现实,不可能 回避。在现实面前,我们的许多科技工作者没有低头,研究出了很多载波通信算 法,并且取得了很好的成绩。当这些科技工作者辛苦地研究通信算法技术并取得 成绩的时候,也许他们忽略了对另一种技术的研究——软件抗扰技术。 电力线载波通信设备工作不正常,总体上来说是出于两种原因:1.冲击,设 备硬件受到冲击可能暂时失效,甚至损坏,设备电源受到冲击可能会产生大幅度 的电压或电流的变化;2.干扰,信号受到干扰造成通信失败,程序受到干扰则不 能收发信号。可以知道,干扰的对象有两个,一个是信号,另一个是程序。当信 号受到干扰时,表现为信道质量降低。比如同频干扰,使序列信号变得杂乱无章。 但是同频干扰对程序产生的影响则不是很大,一般情况下都不会使程序跑飞。当 程序受到干扰时,表现为设备不工作或工作不正常。比如尖峰脉冲,很容易使程 序跑飞,程序不能正常运行,也就没有收发数据的能力。但是尖峰脉对信号影响 并不大,它对序列信号的修改很少,所以我们可以通过纠错算法很容易的将数据 修复。 对信号的干扰,我们已经有很多好的办法,基本能保证信道的质量,就不讨 论这个问题了。对程序的干扰,我们首先想到的通过硬件来解决,加强电源的稳 定性,加硬件看门狗等许多办法。虽然我们在硬件上做了很多工作,但是程序运 行不稳定甚至死机的问题仍然困扰着我们。为什么会这样呢?因为我们不可能通 过硬件将抵制住所有的干扰。当干扰穿过硬件防护区进入CPU时,程序就被打乱 了,运行出现了错误。对于这个问题,我们束手无策了吗?我们是有办法的,让 程序自己来解决这个问题。我们在编写程序的时候多做两项工作。第一、当程序 运行出错时,我们要捕捉到错误。第二、当我们捕捉到错误时,分析错误原因, 然后做出相应的处理。我们在软件中做了这两项工作,随之带来很多的好处:第 一、程序运行稳定,不再有死机问题;第二、硬件看门狗可以不用了;第三、硬 件抗扰措施可以简化。做好软件抗扰,既保证了系统的稳定性,又降低了系统成 本。所以说,软件抗扰技术是一项很重要的技术。在电力线载波通信方面,软件 抗扰技术应该是重要的一项技术。 如果您需要单片机软件开发,请与我联系。 电话: 010-62906811 手机: 13651306375 E-Mail: dongminggang@163.com -------------------------------------------------------------------------- 程序设计与抗干扰 董明刚 2003年2月 目前,单片机的应用是很普遍的,但是单片机(可以扩展到所有的处理器) 的软件设计技术是非常欠缺的。从理论上来说明这些欠缺比较复杂,从示例来分 析这些欠缺则比较容易。下面兴举出一些示例进行分析。 例一: ORL A,#0B2H ;44 B2 SUBB A,#80H ;94 80 MOV R4,A ;FC RET ;22 这是一段MCS-51程序,作用是:将累加器A与0B2H做或运算,再减去80H,然 后放到通用寄存器R4中返回。但是它的作用不只是这一点,它还有一种潜在的作 用。让我们看一下由它生成的十六进制代码:44 B2 94 80 FC 22 。单片机正常 执行这段程序时,从44代码开始执行,运行结果与源程序的目的是相同的。当单 片机受到干扰后,指令执行指针PC指向这段代码的B2代码时,我们看一下是什么 情况。从B2开始进行反汇编,就可知道干扰后的运行情况。 LOP: CPL P1.4 ;B2 94 SJMP LOP ;80 FC RET ;22 干扰后形成了一个死循环。如果P1.4是看门狗的输入,那么就死机了。 例二: PROCX: MOVLW 0 CALL SUB1 ADDWF 20H,1 RETURN SUB1: ADDLW 1 CALL SUB2 ADDWF 21H,1 RETURN SUB2: ADDLW 2 CALL SUB3 ADDWF 22H,1 RETURN SUB3: ADDLW 3 CALL SUB4 ADDWF 23H,1 RETURN SUB4: ADDLW 4 CALL SUB5 ADDWF 24H,1 ......
>>返回讨论的主题
|