本发明涉及通信领域,尤其涉及一种电力线载波通信测试系统及其测试方法。
背景技术:
电力线通信(Power Line Communication,PLC)是指利用电力线作为传输介质实现数据传输的一种通信技术。由于电力基础设施的广泛普及,以及电力线通信安全、可靠、高效、低成本的技术优势,在智能电网、智能家居、智能建筑、智能灯控等物物互联新兴领域具有广阔的应用前景。
但是,低压电力线并不是专门用来传输通信数据的主流信道,它的拓扑结构和物理特性都与传统的通信传输介质不同。在进行信号传输时,信道特性相当复杂,负载多、噪声干扰强、信道衰减大。同时,与电力线信道相关的主要参数如阻抗特性、信道噪声、信道衰减特性也不是固定不变的,而是随着时间,频率不停的发生变化。
由于电力线信道是非线性时变信道,在现有技术中,很难对低压电力线通信信道进行精准建模。通常采用较为简单的信道模型对电力线通信算法性能进行仿真,在仿真通过后,进行电路实现。在电路实现后,通过现场可编程门阵列(Field Programmable Gate Array,FPGA)在实际的低压电力线上进行通信性能的验证,并根据认证结果对通信算法和电路进行调整,最后才能进行芯片的设计和流片。
然而,在进行验证的过程中,需要对通信算法和电路反复改动及调试,造成验证时间过长,拖延项目周期。
技术实现要素:
本发明解决的问题是如何减小电力线载波通信系统的设计及测试周期。
为解决上述问题,本发明提供一种电力线载波通信测试系统,包括:
发送端,适于对测试数据进行处理以生成测试数据帧并缓存,在预设的 每个定时发送周期中的固定发送时刻,将所述测试数据帧通过电力线发送至接收端;
所述接收端,适于在第i个定时接收周期内接收来自所述电力线的所有数据并缓存;在所述第i个定时接收周期之后的时间段内从接收到的所有数据中获取所述测试数据帧,对所述测试数据帧进行处理以确定是否成功接收所述测试数据帧并统计接收成功率,且当完成对所述测试数据帧进行处理后,在下一个定时接收周期内接收来自所述电力线上的所有数据并缓存;
所述定时发送周期与所述定时接收周期相等。
可选的,所述接收端还适于:当在所述第i个定时接收周期内接收到的来自所述电力线的所有数据中,未能获取完整的所述测试数据帧时,从所述来自电力线的所有数据中获取帧同步域的位置;根据所述帧同步域的位置获取所述发送端的第一定时器的相位;根据所述第一定时器的相位,对所述接收端的第二定时器的相位进行修改,使得所述接收端在所述定时接收周期内接收到完整的所述测试数据帧;所述第一定时器适于提供定时发送周期,所述第二定时器适于提供定时接收周期。
可选的,所述发送端包括:发送端上位机以及数据存储发送装置,其中:
所述发送端上位机,适于对测试数据进行处理以生成测试数据帧,并将所述测试数据帧通过数据传输接口发送至所述数据存储发送装置;
所述数据存储发送装置,适于接收所述发送端上位机发送的所述测试数据帧并缓存;在预设的每个定时发送周期中的固定发送时刻,将所述测试数据帧通过电力线发送至所述接收端。
可选的,所述第一定时器设置在所述数据存储发送装置中,且所述数据存储发送装置包括:发送控制单元以及第一数据缓存单元,其中:所述第一定时器,适于提供定时发送周期;所述第一数据缓存单元,适于缓存所述测试数据帧;所述发送控制单元,适于在预设的每个定时发送周期中的固定发送时刻,将所述测试数据帧通过电力线发送至所述接收端。
可选的,所述数据存储发送装置为FPGA。
可选的,所述接收端包括:接收端上位机以及数据接收存储装置,其中:
所述数据接收存储装置,适于在所述第i个定时接收周期内接收来自所述电力线的所有数据并缓存;在所述第i个定时接收周期之后的时间段内将所述接收到的所有数据通过数据传输接口发送至所述接收端上位机;当检测到所述接收端上位机对所述测试数据帧处理完成后,在下一个定时接收周期内接收来自电力线上的所有数据并缓存;
所述接收端上位机,适于从所述接收到的所有数据中获取所述测试数据帧,并对所述测试数据帧进行处理以确定是否成功接收所述测试数据帧并统计接收成功率。
可选的,所述第二定时器设置在所述数据接收存储装置中,且所述数据接收存储装置包括:接收控制单元以及第二数据缓存单元,其中:所述第二定时器,适于提供定时接收周期;所述第二数据缓存单元,适于缓存在所述第i个定时接收周期内接收到的来自所述电力线的所有数据;所述接收控制单元,适于当检测到所述接收端上位机对所述测试数据帧处理完成后,在下一个定时接收周期内接收来自所述电力线上的所有数据。
可选的,所述数据接收存储装置为FPGA。
本发明实施例还提供了一种电力线载波通信测试方法,采用上述任一种所述的电力线载波通信测试系统进行测试,所述测试方法包括:
发送端对测试数据进行处理以生成测试数据并缓存,在预设的每个定时发送周期中的固定发送时刻,将所述测试数据帧通过电力线发送至接收端;
所述接收端在第i个定时接收周期接收来自所述电力线的所有数据并缓存,在所述第i个定时接收周期之后的时间段内从接收到的所有数据中获取所述测试数据帧,对所述测试数据帧进行处理以确定是否成功接收所述测试数据帧并统计接收成功率,且当完成对所述测试数据帧进行处理后,在下一个定时接收周期内接收电力线上的所有数据并缓存;所述定时发送周期与所述定时接收周期相等。
与现有技术相比,本发明的技术方案具有以下优点:
发送端通过电力线将测试数据帧发送至接收端,接收端接收来自电力线上的所有数据,从中提取出测试数据帧以确定是否成功接收测试数据帧,并统计测试数据帧的接收成功率。由于在真实的电力线上进行数据的发送和接收来进行测试,因此在对通信算法进行验证的过程中,无需建立电力线通信信道模型,从而可以避免因无法精确建模而导致对算法和电路进行反复改动验证,导致项目周期较长的问题。
进一步,接收端通过检测接收来自电力线上的所有数据提取帧同步域,根据帧同步域的位置推算第一定时器的相位,并根据第一定时器的相位对第二定时器的相位进行调整,使得接收端在之后的定时接收周期内接收到完整的所述测试数据帧,从而可以避免在一个定时接收周期内无法接收到一个完整的测试数据帧的问题。
附图说明
图1是本发明实施例中的一种电力线载波通信测试系统的结构示意图;
图2是本发明实施例中的一种测试数据帧的结构示意图;
图3是本发明实施例中的另一种电力线载波通信测试系统的结构示意图;
图4是本发明实施例中的一种电力线载波通信测试系统的工作时序图;
图5是本发明实施例中的一种电力线载波通信测试系统的工作时序图;
图6是本发明实施例中的一种定时接收周期调整的时序图。
具体实施方式
在现有技术中,由于电力线信道是非线性时变信道,因此,很难对低压电力线通信信道进行精准建模。在算法设计和电路实现的过程中,往往需要预留一定的参数余量,在通过FPGA进行验证的阶段,根据电力线信道的实际情况对通信算法和电路进行调整。然而,有些问题可能无法通过调整参数来解决,需要对通信算法或电路进行较大的改动,且可能需要反复改动和测试,造成验证时间过长,拖延项目研发周期。
在本发明中,发送端通过电力线将测试数据帧发送至接收端,接收端接收来自电力线上的所有数据,从中提取出测试数据帧以确定是否成功接收测 试数据帧,并统计测试数据帧的接收成功率。由于在真实的电力线上进行数据的发送和接收来进行测试,因此在对通信算法进行验证的过程中,无需建立电力线通信信道模型,从而可以避免因无法精确建模而导致的对算法和电路进行反复改动验证,导致项目周期较长的问题。
为使本发明实施例的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参照图1,给出了本发明实施例中的一种电力线载波通信测试系统10,包括:发送端101和接收端102,其中:
所述发送端101,适于对测试数据进行处理以生成测试数据帧并缓存,在预设的每个定时发送周期中的固定发送时刻,将所述测试数据帧通过电力线发送至所述接收端102;
所述接收端102,适于在第i个定时接收周期内接收来自所述电力线的所有数据并缓存,在第i个定时接收周期之后的时间段内从接收到的所有数据中获取所述测试数据帧;对所述测试数据帧进行处理以确定是否成功接收所述测试数据帧并统计接收成功率;当完成对所述测试数据帧进行处理后,在下一个定时接收周期内接收电力线上的所有数据并缓存,定时发送周期与定时接收周期相等。
参照图2,给出了本发明实施例中的一种测试数据帧的结构示意图。一个测试数据帧可以包括帧同步域、有效数据以及CRC校验域,其中,帧同步域设置在测试数据帧的帧头位置,CRC校验域设置在测试数据帧的帧尾位置,有效数据设置在帧同步域与CRC校验域之间。
在本发明实施例中,有效数据可以包括经过编码和调制后的测试数据;帧同步域可以用来对有效数据进行帧同步,以及用来进行发送端和接收端定时器相位的同步;接收端可以通过CRC校验域来判断接收到的测试数据帧是否出现错误,以统计测试数据帧的接收成功率。
参照图3,给出了本发明实施例中的一种电力线载波通信测试系统的结构示意图。
在本发明实施例中,发送端可以包括发送端上位机301以及数据存储发 送装置302,其中,发送端上位机301与数据存储发送装置302可以通过数据传输接口进行通信。在对通信算法程序进行验证时,发送端上位机301中的通信算法程序生成测试数据。发送端上位机301对待发送的测试数据进行CRC校验、编码以及调制等处理后,生成测试数据帧,并通过数据传输接口发送至数据存储发送装置302。
数据存储发送装置302在接收到测试数据帧后,可以先将接收到的测试数据帧缓存。在预设的每个定时发送周期中的固定发送时刻,数据存储发送装置302将测试数据帧通过电力线305发送至接收端的数据接收存储装置304。
在本发明实施例中,定时发送周期中的固定发送时刻可以是定时发送周期的起始时刻,也可以是定时发送周期的截止时刻,还可以是定时发送周期中的任一时刻。
在本发明一实施例中,数据存储发送装置302包括第一数据缓存单元3023、发送控制单元3022以及第一定时器3021,其中:第一定时器3021适于提供定时发送周期;第一数据缓存单元3023用于缓存发送端上位机301发送的测试数据帧;发送控制单元3022,在预设的每个定时发送周期中的固定发送时刻,将测试数据帧通过电力线305发送至接收端。
发送端上位机301可以为PC机,数据存储发送装置302可以是与PC机耦接的硬件电路,该硬件电路可以实现数据存储及定时发送的功能。硬件电路可以为ARM处理器,或为FPGA等。在本发明一实施例中,数据存储发送装置为FPGA。发送端上位机301与数据存储发送装置302之间的数据传输接口可以为UART接口,也可以为USB接口或其他类型的通信接口。
接收端可以包括接收端上位机303以及数据接收存储装置304,数据接收存储装置304与接收端上位机303可以通过数据传输接口耦接。数据接收存储装置304可以通过电力线305与发送端的数据存储发送装置302耦接,以接收数据存储发送装置通过电力线305发送的测试数据帧。
由于接收端事先可能并不确定发送端发送测试数据帧的时刻,只知道发送端每一个定时发送周期均会发送一个测试数据帧,且定时发送周期与定时 接收周期相等,因此,数据接收存储装置304可以在第i个定时接收周期内接收来自电力线305上的所有数据,并将接收到的所有数据缓存。
在第i个定时接收周期之后的下一个周期,即第i+1个定时接收周期,数据存储接收装置304将第i个定时接收周期接收到的所有数据发送至接收端上位机303。接收端上位机303随后对接收到的所有数据进行处理,从中提取出测试数据帧,并对测试数据帧进行处理,以判断是否成功接收到测试数据帧,从而获取测试数据帧的接收成功率。
当接收端上位机303进行数据处理时,数据接收存储装置304可以不接收电力线305上的数据,直至接收端上位机303完成数据处理后,在下一个定时接收周期,数据接收存储装置304再接收电力线305上的所有数据。
在本发明一实施例中,数据接收存储装置304包括:接收控制单元3042、第二定时器3041以及第二数据缓存单元3043,其中:第二数据缓存单元3043,适于缓存第i个定时接收周期内接收到的来自电力线的所有数据;第二定时器3041适于提供定时接收周期;接收控制单元3042,适于当检测到接收端上位机303对测试数据帧处理完成后,在下一个定时接收周期内接收来自电力线305上的所有数据。
接收端上位机303可以为PC机,数据接收存储装置304可以是与PC机耦接的硬件电路,该硬件电路可以实现数据存储及定时接收的功能,硬件电路可以为ARM处理器,或为FPGA等。在本发明一实施例中,数据接收存储装置为FPGA。接收端上位机303与数据接收存储装置304之间的数据传输接口可以为UART接口,也可以为USB接口或其他类型的通信接口。
下面对本发明上述实施例中提供的电力线载波通信测试系统的工作流程进行详细说明。
以发送端上位机为PC机,数据存储发送装置为FPGA为例对发送端的工作流程进行说明。
发送端PC机上运行有待验证的通信算法程序。发送端PC机对通信算法程序生成的测试数据进行CRC校验、编码以及调制等处理后,生成测试数据帧并通过数据传输接口发送至发送端FPGA。
当发送端PC机开机运行时,发送端FPGA的第一定时器开始计时。当接收端PC机开机运行时,发送端FPGA的第二定时器开始计时。第一定时器的定时周期为2s,即定时发送周期为2s,每隔2s第一定时器的计数清零并重新开始计时。定时发送周期的固定发送时刻为每一个定时发送周期结束时刻。例如,定时发送周期的固定发送时刻为第一定时器的计数到10000时的时隙点。
发送端FPGA通过数据传输接口接收发送端PC机发送的测试数据帧,并将测试数据帧保存在第一数据缓存单元中。当检测到每一个定时发送周期结束时,即当检测到第一定时器的计数为10000时,发送控制单元将第一数据缓存单元中的测试数据帧通过电力线发送至接收端。
从上述发送过程中可知,发送端PC只负责生成测试数据帧并发送至发送端FPGA。发送端FPGA在每一个定时发送周期结束时,将测试数据帧通过电力线向接收端发送,即发送端FPGA在每个定时发送周期内均向接收端发送一个测试数据帧。
以接收端上位机为PC机,数据接收存储装置为FPGA为例对接收端的工作流程进行说明。定时接收周期与定时发送周期相等,均为2s。
接收端FPGA在第i-1个定时接收周期结束时,也即第i个定时接收周期开始时,通过接收控制单元接收来自电力线上的所有数据,并缓存在第二数据缓存单元中。在第i+1个定时接收周期,接收端PC通过数据传输接口从第二数据缓存单元中读取来自电力线上的所有数据。
接收端PC机对读取到的来自电力线上的所有数据进行处理,从中提取出测试数据帧,对提取出的测试数据帧进行同步、解调、解码以及CRC校验等操作,根据CRC校验的结果,判定测试数据帧接收成功或者失败,并以此来统计测试数据帧的接收成功率。
当接收端PC机进行数据处理时,接收端FPGA并不接收来自电力线上的数据。当接收端PC机完成对测试数据帧的操作后,接收控制单元在下一个定时接收周期接收来自电力线上的所有数据。例如,在第i+3个定时接收周期内接收端PC机完成对测试数据帧的操作,则在第i+4个定时接收周期开始时接 收来自电力线上的所有数据。
下面结合时序图对本发明上述实施例中提供的电力线载波通信测试系统的测试过程进行说明,参照图4。
发送端PC机在t0时刻生成测试数据帧并发送至发送端FPGA。发送控制单元在每个定时发送周期的结束时刻:t1、t2、t3、t4、t5、t6时刻,将测试数据帧通过电力线发送至接收端FPGA,即发送控制单元分别在t1、t2、t3、t4、t5、t6时刻均通过电力线发送测试数据帧,如图4中发送端对应的阴影部分所示。t1~t2、t2~t3、t3~t4、t4~t5、t5~t6的时长间隔均为一个定时发送周期。
接收端FPGA的定时接收周期与发送端FPGA的定时发送周期相等,第一定时器与第二定时器同相,定时接收周期依次为t1~t2、t2~t3、t3~t4、t4~t5、t5~t6。
在t1~t2时刻,接收控制单元接收来自电力线上的所有数据,并将接收到的来自电力线上的所有数据缓存;在t2~t4时刻,接收端PC机从第二数据缓存单元中读取t1~t2时刻内缓存的数据,从中提取出测试数据帧,并对测试数据帧进行处理以确定是否成功接收测试数据帧,并统计测试数据帧的接收成功率。接收端PC机在t2~t4时刻内完成上述操作。在t2~t4时刻,接收控制单元并不接收电力线上的数据。
在下一个定时接收周期,即t4~t5时刻,接收控制单元接收来自电力线上的所有数据。以此类推,接收控制单元每隔两个定时接收周期进行一次数据接收;接收端PC机每隔两个定时接收周期,对接收到的来自电力线上的所有数据进行处理,统计测试数据帧的接收成功率。
由此可见,发送端通过电力线将测试数据帧发送至接收端,接收端接收来自电力线上的所有数据,并从中提取出测试数据帧以确定是否成功接收测试数据帧,并统计测试数据帧的接收成功率。由于在真实的电力线上进行数据的发送和接收来进行测试,因此在对通信算法进行验证的过程中,无需建立电力线通信信道模型,从而可以避免因无法精确建模而导致的对算法和电路进行反复改动验证,导致项目周期较长的问题。
从图4中可知,发送端FPGA的第一定时器的相位与接收端FPGA的第 二定时器的相位同相。然而,在实际应用中,由于发送端FPGA与接收端FPGA相互独立工作,发送端FPGA的第一定时器的相位与接收端FPGA的第二定时器的相位可能错开,如图5所示。在定时接收周期t21~t22中,接收端FPGA接收到两个不完整的测试数据帧。由于定时发送周期与定时接收周期相等,此时,在之后的任一定时接收周期内,接收端FPGA都无法接收到完整的测试数据帧,导致接收端PC机判定所有的测试数据帧均为错误的情况发生,从而无法获取测试结果。
为避免上述问题的发生,在本发明实施例中,可以通过调整接收端第二定时器的相位的方法来解决上述问题。
从图2中可知,测试数据帧包括帧同步域。因此,当接收端在接收到发送端发送的第一个测试数据帧时,即可获知第一定时器的相位,并对第二定时器的相位进行相应地调整,从而可以避免在任一定时接收周期内均无法接收到完整的测试数据帧的情况发生。
参照图6,给出了本发明实施例中的一种定时接收周期调整的时序图。发送端的第一个定时发送周期为t1~t2,第一个定时接收周期为t21~t22,从图6中可知,第一个定时接收周期内接收控制单元接收到的测试数据帧并不是一个完整的测试数据帧。
在第一个定时接收周期之后的时间段内(t22~t23),接收端PC机并不对接收到的测试数据帧进行解析,而是从第一个定时接收周期内接收到的所有数据中查找帧同步域,根据帧同步域的位置推算出第一定时器的相位,然后对第二定时器的相位进行修改。修改后的第二定时器的相位与第一定时器的相位错开一定的角度,使得可以在一个定时接收周期内接收到一个完成的测试数据帧。
在t23之后的下一个定时接收周期t24~t25,接收端接收来自电力线上的所有数据,由于第二定时器的相位已将在t22~t23进行了相应的修改,因此在之后的定时接收周期内接收端接收到的来自电力线的所有数据中均包括完整的测试数据帧。
由此可见,接收端通过检测接收来自电力线上的所有数据提取帧同步域, 根据帧同步域的位置推算第一定时器的相位,并根据第一定时器的相位对第二定时器的相位进行调整,使得接收端在之后的定时接收周期内可以接收到完整的所述测试数据帧,从而可以避免在一个定时接收周期内无法接收到一个完整的测试数据帧的问题。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。