基于LabVIEW 的串行通信接口设计
2020-04-13高萍萍
张 晖,高萍萍
(1.陆军工程大学通信士官学校,重庆 400035;2.重庆电讯职业学院 大数据与数字媒体学院,重庆 402247)
0 引 言
LabVIEW 属于一种程序开发技术,由于具有易操作,开发程序质量较高等优点,被应用到各种程序开发中。随着网络技术的快速发展,对串行通信接口的要求逐渐提高,传统的串行通信接口由于在应用过程中具有较高的误比特率,已经无法满足串行通信的需求,所以此次将LabVIEW 技术应用到串行通信接口设计中,降低串行通信接口的误比特率。
1 基于LabVIEW 的串行通信接口设计
串行通信接口主要是用于传输与转换终端设备与通信设备之间的数据,不同的应用对串行通信接口的参数设计要求不同。此次以串行速率8 b/s,参考时钟300 MHz,串行数据宽度24 位为例,运用LabVIEW 技术设计了一组串行通信接口。利用LabVIEW 技术设计的接收端口采集终端设备传输出来的串行数据流,运用PUY 电路从串行数据流中提取到隐藏在数据中的时钟信息,由于串行数据通信问题需要考虑到对齐问题,所以要用Comma 把串行数据流进行对其,将其转化为串并数据,否则会导致串行通信接口输出的数据存在bit 问题,影响到接口的通信效果[1]。串并数据是否可以有效传输到通信设备,还必须对电路进行相位对齐,解决时钟相位的差异问题,以此实现了基于LabVIEW的串行通信接口设计,图1 为基于LabVIEW 的串行通信接口设计流程图。
图1 基于LabVIEW 的串行通信接口设计流程图
1.1 接收端口设计
终端设备通信数据采集是串行通信接口的基础部分,此次采用LabVIEW 技术对接收端口进行设计,保证接收端口输出数据的质量[2]。LabVIEW 技术和计算机C 语言类似,都具有一个庞大的函数库,能够根据数据特征自动挑选出合适的函数对数据进行有效采集。该函数库具有通信数据采集、通信数据分析、各种通信协议控制以及通信数据保程序编程功能。此次运用LabVIEW 技术采集到差分接收端口的差分信号。差分信号是两种通信数据之间的比较差异,差分接收端口设计是基于LabVIEW 的,该部分决定了串行差分信号的电压值。运用LabVIEW 技术能够有效保证信号的完整性[3]。串行通信接口正端口的值大于副端口的值时,则采集到的差分信号为2;当串行通信接口正端口的值小于副端口的值时,则采集到的差分信号为1。图2 为LabVIEW 编程的接收端口电路图。
图2 LabVIEW 编程的接收端口电路图
1.2 时钟信号提取方法设计
当设计完接收端口后,需要对差分数据中潜在的时钟信息进行提取。该部分设计主要利用鉴相器、压控振荡器、环路滤波器等硬件设备实现。图3 为时钟信息提取原理图。
图3 时钟信息提取原理图
如图3 所示,压控振荡器把鉴相器的输出值锁定到与参考时钟信息相近的参数上,再把压控振荡器的输出信号返回到鉴相器,信号经过鉴相器的处理,将输出值与预设参考时钟值相匹配,利用环路滤波器锁定输出,以此实现时钟信号的提取。
1.3 Comma 串行数据对齐
串行数据对齐主要是保证串行通信接口传输数据质量。由于串行通信接口比并行通信接口传输数据量少,所以适用于远距离通信设备数据传输,这就要求串行通信接口要具有较高的传输速率。为了避免高速率数据传输时电磁因素的影响,在传输串行数据流时必须对接收端口的串行数据进行对齐,保证串行通信接口传输数据的质量[4]。此次对串行通信接口的发送端与接收端设计一个可共同识别的序列,即Comma 序列,在串行通信接口的发送端发送一个Comma 序列,接收端接收到该序列后依据序列中的对齐规则将数据流进行对齐,以此实现了串行通信接口的数据对齐。
1.4 串并转换
在对串行通信接口接收到的数据流对齐之后,还需要对其进行串并转换。由于通信接口采集到的串行数据最终要以并行数据的形式输出,所以要对数据流进行串并转换。除了要将串行数据转化为并行数据以外,还要将对齐后的数据流转换成低速并行数据。对于串行通信接口设计,串并转换实现的质量将直接决定着串行通信接口实现的效果,串并转换在整个串行通信接口设计中具有重要的作用。通常,串并转换的方法有很多,如多相时钟法、树型结构法、移位寄存法等。由于树型结构法、移位寄存法对于串行通信接口设计具有一定的难度,并且比较复杂,而多相时钟法易于理解,串行通信电路容易实现,对时钟信号的要求较少,根据此次串行通信接口设计要求,采用多相时钟法对数据进行串并转换。当提取的时钟信号与数据宽度相符时,在该时钟信号节拍下,将bit 流打入数据流中,以此实现了利用多相时钟法对数据流的串并转换。
1.5 相位对齐
串行通信接口在将数量流输出之前,需要用相位对齐将串并转换后的XCLK 并行时钟与USJDLK 并行时钟同步。
在相位对齐过程中要注意如下两点:第一,XCLK并行时钟和USJDLK 并行时钟要满足同步要求,利用一个振荡器为所有的收发器提供参考时钟;第二,将RXRECCLK 驱动接收器的时钟信号设置为恢复后时钟信号。通过这两点可以确保XCLK 并行时钟和USJDLK并行时钟相位相同,接收器对串行通信数据进行接收,将其转化为并行数据,以此实现了基于LabVIEW 的串行通信接口设计。
2 对比实验
2.1 实验准备
串行通信的大数据量快速传输是此次设计的最终目标,此次将LabVIEW 技术应用到串行数据通信中,设计了一种基于LabVIEW 串行通信接口。为了证明该接口能更好的满足串行通信需求,将其与传统串行通信接口进行对比实验。此次实验利用ChipScope Pro 软件对两种通信接口进行测试,通过JTAG 口在线读出接口的通信信号,并将其实时地保存到Block RAM 中,再通过JTAG 口将数据传送到计算机,最后在GUI 界面显示出时序波形。
2.2 实验结果与分析
以此检验对比两种串行通信接口的误比特率。图4 为两种串行通信接口的误比特率对比图。
从图4 可以看出,此次设计的串行通信接口误比特率平均为5500%,传统接口的平均误比特率为 8 500,远远高于此次设计的串行通信接口。实验证明此次设计的串行通信接口满足误比特率要求,可以更好的接收通信数据。
3 结 论
此次将LabVIEW 技术运用到串行通信接口设计中,设计了一种基于LabVIEW 技术的串行通信接口。目前,该接口尚在研发阶段,未对其进行大量的实践应用,可能还存在一些不足之处,还需要对其进行不断的完善和优化,以保证基于LabVIEW 技术的串行通信接口的应用价值。
图4 两种串行通信接口的误比特率对比图