2. 上海航天设备制造总厂, 上海 200245
2. Shanghai Aerospace Equipment Manufacture Factory, Shanghai 200245, China
智能照明是指利用计算机、无线通信数据传输、扩频电力载波通信、计算机智能化信息处理及节能型电器控制等技术组成的分布式无线遥测、遥控、遥讯控制系统, 来实现对照明设备的智能化控制.一套智能照明控制系统一般采用分布式网络拓扑结构(如图 1所示), 监控中心通过GPRS信号控制集中控制器, 集中控制器控制若干个单灯控制器, 单灯控制器通过对单灯的输入输出变量控制而使其工作状态改变[1-3].集中控制器和单灯控制器间可采用数据传输方式有:485总线、EIB、Zigbee、电力载波等.作为电力系统特有的通信方式, 传输稳定、带宽高, 不需要重新架设网络, 数据将运送电能的电线作为通信介质而传输, 从而可以节约用其他总线需要重新布线的成本, 同时可以克服无线组网覆盖区域小的缺陷.目前电力载波是智能照明系统主要的通信方式.电力载波是半双工通信, 采用底层通信协议不包含冲突避免机制.分布式照明系统中一个集中控制器控制一片区域中的几十个甚至上百个单灯控制器.当同一时刻有多个单灯控制器并发数据时, 入电力线的信号高低电平相互干扰, 导致集中控制器接收到错乱的数据.CSMA/CA算法是各网络设备在超帧竞争访问时段争用信道所采用的一种机制[4-5].CSMA/CA是指载波侦听、多路访问、冲突避免[6].Tang等[7]在不增加并行数据传输接口的情况下, 利用现有的移动设备WiFi和蜂窝数据接口, 提出了ALP-A带宽聚集原型, 增加了传输吞吐量, 降低了能耗.Laufer等[8]研究无线CSMA/CA的网络行为, 了解一个特定节点的传输对媒体访问、最终的吞吐量、网络中的其他节点影响.Huang等[9]针对基于CSMA/CA的无线网络遭受严重的隐藏终端问题和暴露终端问题, 提出了一种联合的解决方法.在智能照明系统中, 尚未有将CSMA/CA机制引入到电力载波通信来解决数据并发传输问题的研究.
本文针对电力载波并发通信数据相互干扰引起的错乱现象, 通过引入CSMA/CA机制, 提出了一种解决数据并发错乱的电力载波通信技术, 并将其应用到照明控制系统中, 提高了系统通信的稳定性和可靠性.
1 电力载波的并发通信异常及防碰撞原理电力载波是半双工通信, 且底层通信协议无冲突避免机制, 为使数据传送正确, 需保证同一时刻电力线只有一个终端发送数据.如图 2所示, 单灯控制器C1在T0时刻向电力线广播数据包B1:000000, 为7位的低电平信号.单灯控制器C2在T0时刻向电力线广播数据包B2:1111111, 为7位高电平信号.同时进入电力线的两个信号(B1和B2)高低电平互相干涉, 原数据错乱, 报文丢失, 造成集中控制器端接收到“失真”数据包Bi:10101010, 具体体现为数据包内容改变, 单个数据包长度变长, 总包数变少.
为解决电力载波并发通信引起数据错乱现象, 本文提出了基于CSMA/CA防并发机制.如图 3所示, 在软件应用层引入CSMA/CA机制后, 相对于原来数据的即时发送, 单灯控制器每次发送数据前都会侦听电力线的状态, 根据当前电力线的状态决定是否发送数据.从而可以避免同一时刻多个单灯控制器共同竞争电力线资源, 减少了发送的盲目性.电力线的状态分为忙与闲两种, 忙说明电力线的信道用于其他单灯控制器发送数据, 资源被占用, 不能发送;闲则说明当前电力线的信道无数据传输, 资源闲置.单灯控制器通信模块执行两个任务, 任务Ⅰ:发送数据.任务Ⅱ:侦听总线的状态.为清楚描述任务Ⅰ和任务Ⅱ, 定义以下符号:
n 为同一时刻电力线上请求发送数据包的单灯控制器总数;
Ci 为电力线上第i个并发单灯控制器, 1≤i≤n;
Tij 为Ci第j次产生的随机时长, 1≤j≤jmax, jmax为n个单灯控制器成功发送数据过程中产生的随机时长总次数;
Tcrc 为Ci接收数据包并对数据包进行CRC效验发出CRC效验包所需时间;
Bi 为Ci发送的数据包;
A 为CRC效验包, 用于标识单灯控制器电力线的状态, 一个字节;
Ttotal 为并发的单灯控制器成功发送数据的延迟时间, 以第一次产生随机时间Ti1开始到最后一个单灯控制器成功发送数据结束;
Tpj 为并发的单灯控制器第j次产生的随机时长到j+1次产生随机时长的间隔;
任务Ⅰ:对于电力线上的任意单灯控制器Ci, 开始发送数据前, 产生一个随机的时长Ti1.在Ti1内, 侦听电力线状态.如发现电力线忙, 则避开电力线被占用时段, 回到初始状态, 重新产生随机等待时间Ti2.如在Ti1内, 电力线一直闲, 则在Ti1时段结束时刻, 发送数据包Bi, 并继续等待一定的时长Tcrc.Tcrc内, 侦听电力线的状态, 若发现电力线忙, 说明Tcrc时段多个单灯控制器竞争电力线资源, 进入电力线的数据包Bi受其他数据包干扰而错乱, 单灯控制器发送数据包Bi失败, 回到初始状态, 重新产生随机时长Ti3, 准备重新发送数据包Bi;若Tcrc内电力线闲, Ci发送数据包Bi成功.
任务Ⅱ:对于电力线上的任意单灯控制器Ci, 在Tij时长内, 一直轮询来自电力线的数据包.若接收到CRC效验包A, 则判定电力线忙.若接收到其他单灯控制器Cq发送的数据包Bq, q≠i, 则进行CRC效验.效验结果正确, 说明Tij时长内, 电力线资源仅被一个单灯控制器占用, 判定电力线状态闲.若效验结果错误, 说明Tij时长内电力线资源被多个单灯控制器占用, 判定电力线状态忙, 同时发送CRC效验包A, 告知电力线中其他单灯控制器此刻电力线状态.在Tcrc时长内, 同理.
对于任意单灯控制器Ci, 任务Ⅰ完成数据的发送, 任务Ⅱ完成对电力线状态的侦听, 任务Ⅱ是任务Ⅰ执行的节拍器.对于n个并发数据的单灯控制器, 它们在发送数据前会产生n个随机时长Tij, 由于随机性和公平性, 单灯控制器的Tij在一定时间范围呈均匀分布, 这就降低了同一时刻竞争电力线资源的单灯控制器数量, 将原来同一时刻请求发送数据单灯控制器的分散在不同时刻发送, 规避了数据间相互干扰.电力线上请求发送数据的单灯控制器一旦侦听到电力线的状态忙, 则重新获得随机等待时间.前后两次产生随机时间的间隔称为一个时间周期Tpj.在每个Tpj内都会有一部分单灯控制器成功发送数据, 如此循环, 直至所有的单灯控制器都正确发送数据.将开始产生第一个随机时间的时刻到最后一个单灯控制器成功发送数据时刻这个时间段记为Ttotal, 即并发的单灯控制器成功发送数据的延迟时间.为了证明基于CSMA/CA电力载波通信技术解决并发通信问题的有效性, 以及确认不同并发数下所有终端成功发送数据所消耗的期望时间E(Ttotal).
2 延迟期望时间E(Ttotal)的预测数学模型及仿真单灯控制器Ci在发送数据的过程中, 会遇到如图 4所示4种基本场景.
场景a:在随机时长Tij内, 电力线闲, 发送数据Bi.在Tcrc内, 电力线闲, 数据成功发送.则第k次经历场景a所需时间为
(1) |
其中:Tcrc的大小与数据包Bi长度有关, 假设Bi长度固定, 令Tcrc为常数, Tcrc的大小能够满足Ci接收数据包并对数据包进行CRC效验发出CRC效验包.
场景b:在随机时长Tij内, 电力线闲, 发送数据Bi.在等待时间Tcrc内, 历时Tbrk收到CRC效验包A, 电力线忙, 回到初始状态.Tbrk是随机值.则第k次经历场景b所需时间为
(2) |
场景c:在随机时长Tij内, 历时Tcrk内收到A, 电力线忙, 回到初始状态.Tcrk是随机值.则第k次经历场景c所需时间为
(3) |
场景d:在随机时长Tij内, 历时Tdrk开始接收数据包Bq, q≠i, 结束完Bq, 对其进行CRC效验, 错误, 发送A, 回到初始状态.如果CRC效验正确直接回到初始状态.令接收和处理数据Bq所需时间为Treceive.Tdrk是随机值.则第k次经历场景d所需时间为
(4) |
在并发通信的情况下, n个单灯控制器每次产生随机时间的产生都伴随着某个单灯控制器Ci经历a, b, c, d 4种场景中的一种.所以, 单灯控制器完成数据包发送经历的时间是上面4种场景的线性组合:
(5) |
(6) |
其中:
蒙特卡洛法[11]亦称统计试验法, 是一种通过构造概率模型并对它进行随机试验来解决数学问题的方法.在VS2013环境下用C#程序语言通过蒙特卡洛仿真的形式求出多个单灯控制器并发数据包时, 所有单灯控制器成功发送数据所需延迟时间的数学期望E(Ttotal).随机时间Tij产生规则是:将n个单灯控制器的发送时间Tij随机分配到m个离散的时间点上, 这m个时间点构成一个序列, 称之为随机时间序列, 记为S, 随机时间序列的长度用m描述.对于连续相邻的两个随机时间Tij和Ti+1j, Tij≤Ti+1j, 获得随机时间Tij对应的单灯控制器为Ci, 获得随机时间Ti+1j对应的单灯控制器Ci+1, 为保证Ci发送数据包后有足够的时间验证刚才数据包是否发送正确, Ci+1的随机时间Ti+1j满足:
(7) |
仿真时取Tcrc为10 ms, 取Ti+1j-Tij结果为临界值10 ms, 取m值为5.则随机时间序列S为:0, 10, 20, 30, 40 ms, 为首相是0, 公差是10, 长度为5等差数列.蒙特卡洛仿真的算法步骤如下.
step1:初始化.n依次取[2, 20]区间上的整数,Ttotal=0.
step2: n个单灯控制器获取随机时间{Tij, 1≤i≤n, 1≤j≤jmax}; 将随机时间从小到大排列:
0≤T1j≤T2j≤…≤Tij≤…≤Tnj≤40, 形成队列Q.
step3:判断n.若n=1, 说明所有数据包发送成功, 跳至step5, 若n>1, 继续发送, 跳至step4.
step4:遍历队列Q.
如果Tij≠Ti+1j, 说明随机时间Tij内无数据并发, 单灯控制器Ci成功发送数据.更新Ttotal=Tij+Tcrc, n=n-1, i=i+1;跳转至step3;
如果Tij=Ti+1j, 说明随机时间Tij内有数据并发, Ci与其他单灯控制器竞争电力线资源.更新j=j+1, Ttotal=Tij+Random(0, Tcrc), Random(0, Tcrc)为Ci开始发送数据包到收到CRC效验包所用时间, 是(0, Tcrc)区间随机值;跳转至step2.
step5:计算并记录Ttotal.
step6:重复step2~step5一万次, 求Ttotal平均值, 记为E(Ttotal).
step7:求n在[2, 20]区间上每个取值对应的E(Ttotal).
仿真结果如图 5所示, 分析结果可知:① 并发数据的单灯控制器在经历一定时间的延迟后, 都能将数据成功发送;② 随着同一时刻需要发送数据的单灯控制器增多, 完成所有数据成功发送所需期望延迟时间E(Ttotal)也会呈指数趋势增长, 即从一开始并发的单灯控制器个数为2需要25 ms的期望延迟时间完成发送, 到并发的单灯控制器个数为20需要2 858 ms的期望延迟时间完成发送.通常满足智能照明系统的应用要求.
上述仿真在理论上验证了基于CSMA/CA的电力载波技术解决并发通信问题的可行性与有效性, 定量给出了并发终端数n和期望延迟时间E(Ttotal)的关系.下面从实验的角度进一步验证该方法的正确性, 对影响通信时长的两个因素——随机时间序列S和并发终端数n分别测试观察, 进行灵敏度分析.
3.1 实验环境实验现场如图 6所示.电力载波通信使用的芯片是来自杭州讯能的一款高性能低压电力线载波通信系统芯片XN5106.波特率为9 600 bit/s情况下, Tcrc取10 ms, 留2 ms的时间宽放.电力线的一端与PC机相连.选择通信终端为一个集中控制器和若干个单灯控制器.实验测试的是当多个单灯控制器检测到电压过载时, 同时上传其报警数据包所需延迟时间Ttotal, Ttotal的计算方法是串口调试助手上收到第一包数据开始到收到最后一包数据结束的时间差.
由上述分析可知, 影响Ttotal大小来源于两个变量:一是并发的单灯控制器数量n;二是随机时间序列S.实验测试时, 先后改变这两个变量, 观察其对实验结果的影响.n的取值范围为1≤n≤10, S分为5组(产生规则参考第二节):
S1:0, 10, 20, 30, 40, 50, 60, 70 ms;
S2:0, 10, 20, 30, 40, 50, 60 ms;
S3:0, 10, 20, 30, 40, 50 ms;
S4:0, 10, 20, 30, 40 ms;
S5:0, 10, 20, 30 ms.
在对应的每个随机时间序列Si下, 测试1≤n≤10范围内Ttotal的变化, 每组实验重复100次, 求出Ttotal的期望E(Ttotal).实验结果见表 1, 对结果进行灵敏度分析表明:
1) 基于CSMA/CA的电力载波通信技术可以有效解决单灯控制器的并发通信问题, 所有的电压报警数据包都在串口调试助手中显示, 数据包在经过多次碰撞后都会成功发送, 尽管相对即时发送有些延迟, 但在1≤n≤10范围内, 延迟多能控制在600 ms以内, 这在民用照明系统中可忽略不计.
2) 当随机时间序列S确定时, 随着并发单灯控制器n的增加, 完成所有数据包的成功发送所需延迟时间也会增加, 且增加的幅度越来越大, 呈指数趋势.
3) 当并发的单灯控制器n一定时, 随机时长序列m的长短对实验结果有影响, 当|m-n|越小, E(Ttotal)也越小, 当|m-n|越大, E(Ttotal)也越大.
4) 工程项目中, 为达到网络的综合效能最优, 随机时长序列S的确定要根据网络中单灯控制器并发量的概率分布而定.如果网络吞吐量大, 并发数据的终端数n大, 则随机时间序列S长度m应取较大的值, 如果网络吞吐量小, 并发数据的终端数n小, 则随机时间序列S长度m应取较小的值.总原则是使|m-n|的值最小.
4 结语本文提出的基于CSMA/CA电力载波通信技术成功解决了照明控制系统电力载波线上多终端并发通信的数据错乱的问题.从原理上分析了应用CSMA/CA机制解决电力载波中并发通信数据错乱问题的可行性, 在此基础上建立了完成并发通信所需时间的模型, 基于模型运用蒙特卡洛仿真求出不同并发终端数下完成所有终端数据成功发送的期望延迟时间, 最后从实验的角度验证本文提出的技术的可行性.研究结果为实际工程项目提供了理论指导.
[1] | Pandharipande A, Caicedo D, Wang X. Sensor-driven wireless lighting control:system solutions and services for intelligent buildings[J]. IEEE Sensors Journal, 2014, 14(12): 4207–4215. DOI:10.1109/JSEN.2014.2351775 |
[2] |
袁佳, 焦志曼, 余建波, 等.
基于GPRS和ZigBee的远程分布式灯光控制系统[J]. 计算机工程和设计, 2015, 36(1): 108–114.
( Yuan Jia, Jiao Zhi-man, Yu Jian-bo, et al. GPRS and Zigbee based remote intelligent distributed control system for LED lighting[J]. Computer Engineering and Design, 2015, 36(1): 108–114. ) |
[3] | Li X, Chen G, Zhao B, et al.A kind of intelligent lighting control system using the EnOcean network[C]//International Conference on Computer, Information and Telecommunication Systems (CITS).Jeju, 2014:1-5. |
[4] | Ni J, Tan B, Srikant R. Q-CSMA:queue-length-based CSMA/CA algorithms for achieving maximum throughput and low delay in wireless networks[J]. IEEE/ACM Transactions on Networking, 2012, 20(3): 825–836. DOI:10.1109/TNET.2011.2177101 |
[5] | Ziouva E, Antonakopoulos T. CSMA/CA performance under high traffic conditions:throughput and delay analysis[J]. Computer Communications, 2002, 25(3): 313–321. DOI:10.1016/S0140-3664(01)00369-3 |
[6] |
赵海, 白宗振, 林恺, 等.
工业以太网中层次拓扑结构对网络性能的影响[J]. 东北大学学报(自然科学版), 2008, 29(10): 1418–1421.
( Zhao Hai, Bai Zong-zhen, Lin Kai, et al. Effect of hierarchical topology on industrial ethernet[J]. Journal of Northeastern University(Natural Science), 2008, 29(10): 1418–1421. DOI:10.3321/j.issn:1005-3026.2008.10.013 ) |
[7] | Tang Z, Wang Z, Li P, et al. An application layer protocol for energy-efficient bandwidth aggregation with guaranteed quality-of-experience[J]. IEEE Transactions on Parallel and Distributed Systems, 2015, 26(6): 1538–1546. DOI:10.1109/TPDS.2014.2328586 |
[8] | Laufer R, Kleinrock L. The capacity of wireless CSMA/CA networks[J]. IEEE/ACM Transactions on Networking, 2015, 99: 1–15. |
[9] | Huang C, Lea CT, Wong A K S. A joint solution for the hidden and exposed terminal problems in CSMA/CA wireless networks[J]. Computer Networks, 2012, 56(14): 3261–3273. DOI:10.1016/j.comnet.2012.06.008 |
[10] |
何璇, 赵海, 朱剑, 等.
无线传感器网络中MAC层超帧重设计[J]. 东北大学学报(自然科学版), 2012, 33(6): 810–814.
( He Xuan, Zhao Hai, Zhu Jian, et al. MAC layer superframe redesigning in wireless sensor network[J]. Journal of Northeastern University (Natural Science), 2012, 33(6): 810–814. ) |
[11] | Mishra B K. Monte Carlo method for the analysis of particle breakage[M]. London: Elsevier, 2007: 637-660. |