基于LME2210的盲中继算法Word格式文档下载.doc
- 文档编号:13111455
- 上传时间:2022-10-05
- 格式:DOC
- 页数:10
- 大小:647.50KB
基于LME2210的盲中继算法Word格式文档下载.doc
《基于LME2210的盲中继算法Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《基于LME2210的盲中继算法Word格式文档下载.doc(10页珍藏版)》请在冰豆网上搜索。
转发时刻T=random(15*QB~15*(QB+1))+2;
假设B组的Q值(8-12)范围内,QB=0;
假设C组的Q值(2-7)范围内,QB=1;
假设A组的Q值(13-15)范围内,QB=2;
TB1=random(0~15)+2;
TB2=random(0~15)+2;
TB3=random(0~15)+2;
TC=random(15~30)+2;
TA=random(30~45)+2;
B组的转发时刻T计算为最小,优先级最高,抢先发出。
2)假设B1的转发时刻最小,B1先转发,A,C,B2,B3,D,E同时收到,由于A,C,B2,B3都处于待转发状态,又收到重复的数据包(简称重复包),此时,根据各节点根据接收的信号强度判断是否取消转发,当Q值>
13(默认13,源端可调参数)时,取消转发,否则节点还会继续转发第一次收到的数据包,但再次重新计算转发时刻T(方法同1))。
假设B2,B3取消转发,A,C保持待转发状态,D,E进入待转入状态,那么根据Q值重新计算后,C原来是第2档发送,现重新计算为此时的第3档,A原来是第3档发送,现重新计算为此时的第3档,AC点相当于推迟转发,为有效节点D,E的向前转发减少冲突;
假设此时D为第1档发送,E为第2档发送,D点发出后,C,E收到后重新计算转发时刻为第3档,推迟发送,D点发出后,目标节点可能收到,收到后会立即发出确认帧(收到确认帧的节点立即取消转发,进入待机状态),假设目标节点不能收到,C,E会竞争发出,如C先发出,目标节点假设也不能收到,E由于与C较远(中间隔着D),故会继续转发,E点发出,目标节点收到后立即发出确认帧(160ms)。
,
3)目标节点应用层应答后发出应答帧,假设C,D,E均收到,根据以上原理,D,B3进行数据转发,如果D或B3还处于待转发状态,当收到新数据包(非重复包同,目前存储6组最近的包信息,以便于判断重复包)后,立即变成转发新数据包,进入新的待转发状态。
4)源端收到应答帧,立即发出确认帧,以取消其它节点的转发,为下一次请求创造空闲的载波环境。
。
2.盲中继算法的缺陷
1)冲突问题
目前载波的时隙设置太大,目前是80ms,每档允许冲突的范围太小,目前只有15个,3档共有45个,对大或密集的载波网络,冲突会很大。
时隙受载波同步头检测影响,至少需要3个过零,以前设置过40ms,但当时测试冲突比较大,容易识别不出载波网络忙状态。
2)随机选择转发节点,不能保证每次选择最优点或关键点
每次转发时是随机选择转发点,由于个体或环境差别,不能保证每次选择最优点或关键点。
如果失败,需要多次重试,根据随机情况重新随机最优点或关键点才能成功。
3)前面待转发的节点有可能与应答帧碰撞
一些发送优先级低或被推迟发送的节点一直处于待转发状态,如果应答帧发出并已经到了该区域,由请求和应答之间没有统一的同步而随机,请求帧有可能与应答帧碰撞,而导致本次通讯事务失败,此处可以考虑补发机制,来恢复因载波碰撞而中断的通讯。
3.盲中继算法的改进方案
针对盲中继算法存在的问题,以下进行分析和提出改进方案。
1)减小载波冲突
目前载波的时隙设置太大,目前是80ms,每档允许冲突的范围太小,目前只有15个,3档共有45个,那么设计允许的时间窗口=45*80ms=3600ms。
如果要减少冲突,必须提高允许冲突范围,要么加大时间窗口,要么减小时隙。
针对电力载波抄表应用,一般的现场要3-4级路由,环境复杂或线路较长的现场要6-7级路由,考虑到主站抄表要求一般为60秒内能够抄回,按7级路由,最长50抄回计算,,每级路由占用最大时间(单向)=50s/7/2=3600ms,所以时间窗口3600ms不能再增加了,所以只能从减少时隙的角度考虑。
之前设置80ms,是通过实验测试得到,通过与芯片组沟通,分析如下:
目前LME2210载波物理层发送过程,首先是设置载波发送指令plc_start,芯片在最近一个上升沿过零启动定时8.5ms,定时时间到了,开始发送载波信号1stPreamble(单相3.3ms),然后在下一个过零处发送2stPreamble(单相3.3ms),之后的过零顺序发送载波帧数据(单相3.3ms),发送过程如下图,节点1和节点2分别在两个不同的过零设置载波发送指令plc_start,但载波信号的发送是一个过零,这样就产生了载波冲突。
目前信道检测主要通过查询RX_BUSY寄存器值是否为1(2stPreamble后更新寄存器)来判断信道状态,从上图看节点1在过零3发送,其它节点能够检测出信道占用状态,必须在过零7的3ms后才能检测出载波信道忙,从启动发送到检测出信道占用状态要5个过零,以前并没有与过零同步,前后加了些冗余,共7个过零,与实验测试结果差不多(80ms)。
当前重要的是如何减少信道检测的周期,设置几个过零为合理的时隙,以下进行相关分析。
通过与芯片组的讨论分析,载波芯片可以做到在1stPreamble后CHAN_STAT置1,高层就可以检测出信道忙状态。
1、假设时隙设置为10ms,即每个过零后都可能有节点检测和发送,如下图:
节点1在过零3处检测信道,空闭PLC发送,节点1的载波信号会在过零5处发送,其它节点在过零6处可以将CHAN_STAT置1。
节点2在过零4处检测信道,空闭PLC发送,节点2的载波信号会在过零5处发送,其它节点在过零6处可以将CHAN_STAT置1。
所以节点1和节点2在过零6处产生载波发送冲突。
2、假设时隙设置为20ms,即每隔1个过零后都可能有节点检测和发送,如下图:
节点2在过零5处检测信道,空闭PLC发送,节点2的载波信号会在过零7处发送,其它节点在过零8处可以将CHAN_STAT置1。
由于LME2210启动发送后,无法接收,所以在过零6处,节点2并不知道节点1已经占用信道,继续发送,节点1和节点2在过零7处产生载波发送冲突。
3、假设时隙设置为30ms,即每隔2个过零后都可能有节点检测和发送,如下图:
节点2在过零6处检测信道,空闭PLC发送,按上图所示,节点2在过零6处能够检查出CHAN_STAT为1,信道占用,继续随机检测信道。
如果上图中改为如下:
节点1在过零4处检测信道,空闭PLC发送,节点1的载波信号会在过零5处发送,其它节点在过零6处可以将CHAN_STAT置1。
看起来好象是间隔1个过零就检测信道状态,而不产生发送冲突,这里就有两个要求,一是要求节点必须下降沿过零后检测信道,二是所有节点的过零上升沿和下降沿必须同步。
我们51单片机有IO口与过零电路连接,可以检出是上升沿和下降沿,一可以实现,由于节点接线有零火线之分,接正和反时,上升沿和下降沿刚好也相反,如果实现二,必须要求节点零火接线一致,这点现场是很难保证的,其它载波芯片都无此要求,如果要求客户施工时保证一致也很难做到,出问题还是需要我们调试解决,比较麻烦,不建议采用该方法。
所以目前最少随机时隙设为30ms,并且所有节点都以接收后的第一个过零同步计时,保障检测信道时在过零后5ms处,如下图:
通过以上分析,随机时隙最小设置为30ms,并且所有节点都以接收后的第一个过零同步计时,保障检测信道时在过零后5ms处。
那么允许冲突范围=3600/30=120,如果按Q值分三档优先级算,每档40个,较以前的15,冲突概率减少。
按1000块的电表环境考虑,局部冲突为128块,按上图环境考虑,以中心点发出载波计算,周围共有20个点可接收到,假设每个表箱有8块表,共20*8=160块,假设我们载波的通讯距离只能跨三段,那对面的节点之间互相影响就比较少,去掉最外圈的节点间的影响,大约三分之一,实际冲突的个数约为160*2/3=106块,假设每个表箱有12块表,那冲突的个数为20*12*2/3=160块,目前的允许冲突范围基本与现场情况相当。
2)使有效节点具有更高的优先级
允许载波冲突的个数虽然有几十个,但真正在时间窗口内的能够发出的只有几个,这要依据发送载波数据的长度,一般以普通的抄表为例,抄表请求帧为18字节,载波协议20字节,载波物理层发出的数据为28字节,需要时长=(28+2[CRC])*160/8=600ms,抄表应答帧为36字节[日冻结数据],载波协议20字节,载波物理层发出的数据为56字节,需要时长=(56+2[CRC])*160/8=1160ms,所以3600秒的时间窗口内,最多只能发送6个请求或3个应答,这就要求我们载波发送即要冲突小,又要能够更快的让有效节点先发出去。
通过上面的优化已经加大允许冲突范围,减少了冲突,以下主要分析如何能够更快的让有效的节点先发出去,针对提出我们的设计目标。
设计目标:
1、目前主要能够依据的参数有接收帧的信号强度Q,随机数R,路由级L,要保证Q值居中档的节点优先级最高,Q值最小档优先级次之,Q值最大档优先级最低。
2、在同一Q值档中,各节点产生的随机数呈现非线性,即生成的R小的范围内节点少些,竞争小了,冲突也相对小些,保证有些节点能够在小冲突概率下发送出去。
3、目标节点收到后,立即发送确认帧,其它节点收到后,保留3个过零内不发送载波数据,保证目标节点的确认帧无冲突的发出。
4、待转发请求的中间节点如果收不到目标节点的确认帧,可能会与目标节点的应答帧产生冲突,考虑是否增大确认帧的影响范围,即让某节点[建议用目标节点确认帧前最后一个转发节点]转发目标节点的确认帧,使影响范围扩大到两个片区,如下图(如果确认帧影响范围加大,可以考虑1中按Q值小档先发,以减少路由级数,提高效率,可以弥补一下转发确认帧的时间浪费)。
以上设计目标中1和3都可以实现,2的随机算法目前还没有考虑好,建议大家讨论分析一下,4可以实现也需要大家讨论一下,是否有必要牺牲等待时间来减少冲突。
过零检测处有几处疑问,也需要与芯片组讨论确定,以便硬件过零方案的修改。
1、占空比是否有要求?
要求是多少?
用钱龙电路是否可以,是否能与现在的电路兼容。
2、载波芯片发送时是否对上升沿和下降沿有严格的要求,要求是什么?
附:
(关于随机转发处理的分析)
以下以图形方式表现某转发点,可能参与转发竞争的范围。
1)信号强度最小档的节点,转发时与红圈内的节点会产生转发竞争。
转发节点与可通讯节点竞争为7/20,与同档信号节点竞争有3/8。
2)信号强度中档的节点,转发时与红圈内的节点会产生转发竞争。
转发节点与可通讯节点竞争为12/20,与同档信号节点竞争有5/8。
3)信号强度最大档的节点,转发时与红圈内的节点会产生转发竞争。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LME2210 中继 算法