基于FPGA和单片机的多路信号光纤传输系统设计
2016-03-17李言武
李言武
(安徽工贸职业技术学院 电气与电子工程系,安徽 淮南 232007)
基于FPGA和单片机的多路信号光纤传输系统设计
李言武
(安徽工贸职业技术学院 电气与电子工程系,安徽 淮南232007)
摘要:基于FPGA和单片机技术,设计了多路信号光纤传输系统,利用单片机实现了模拟数据的高精度采集和通信信号的双向传输,利用FPGA实现了多路复杂信号的处理与传输;实验证明:该系统不仅能传输多路模拟与数字信号,以及低速数字信号与高速脉冲信号,还能实现双向CAN通信;与现有光纤传输系统相比,多路信号光纤传输系统不仅实现了多路复杂信号的采集,而且使用一根光纤实现了大容量多数据的双向传输,一方面减小了产品体积,另一方面降低了产品成本。
关键词:FPGA;单片机;多路信号; 光纤传输
0引言
图1 多路信号光纤传输系统工作原理框图
光纤通信是以光纤为传输介质、光波为信息载体,用光来传输信息的一种通信方式[1-3],与传统的电通信相比具有通信容量大、传输损耗低、传输距离远、抗电磁干扰能力强、保密性好、重量轻等诸多优点。目前,在产品研制和工程实践中经常需要处理和传输不同的信号,如多路模拟信号与数字信号,低速数字信号与高速脉冲信号等,此外还会涉及到远距离高速通信和组网信号传输,若采用传统的电通信方式,则存在传输系统庞大、信号互相干扰、通信距离受限等不足[4-6]。多路信号光纤传输系统是基于FPGA和单片机技术设计的、使用一根光纤实现了大容量多数据双向传输的多路复杂信号传输系统,采用一种高效的、实用的光纤传输方法,能够传输多路模拟与数字信号,以及低速数字信号与高速脉冲信号。与现有光纤传输系统相比,多路信号光纤传输系统不仅实现了多路复杂信号的采集,而且使用一根光纤实现了大容量多数据的双向传输,既减小了产品体积,又降低了产品成本,易于组网与通信。[7-8]
1系统工作原理
多路信号光纤传输系统主要由信号采集模块、数据处理控制模块与传输介质光纤三部分构成,其工作原理如图1所示。其中,信号采集模块、数据处理控制模块之间依靠光纤进行信号传输,而且二者分别通过CAN方式实现组网与远距离高速通信。
在图1中,信号采集模块主要功能是实现4路模拟信号的采集、16路数子信号的发送、2路脉冲信号的接收、16路数子信号的接收;数据处理控制模块主要功能是负责4路模拟信号电压、16路数子信号的接收、2路脉冲信号和16路数子信号的发射。
2硬件架构设计和程序设计
2.1硬件架构设计
多路信号光纤传输系统的硬件架构如图2所示,主要由稳压电路、输入输出接口电路、电平转换电路、单片机外围电路、FPGA外围电路、串化/解串器电路和光模块电路组成。
图2 多路信号光纤传输系统硬件架构图
整个硬件系统接入5 V电源,通过LDO稳压芯片,转换成3.3 V、2.6 V、1.5 V电压为相应单元电路供电。输入输出数字信号和脉冲信号的电平均为5 V TTL,而FPGA采用的是3.3 V供电,因此,输入输出的数字、脉冲信号与FPGA之间需要相应的电平转换电路进行电平转换。信号采集端AD采样后的电压信号通过SPI接口与数据处理控制端的FPGA进行通信,数据处理控制端的FPGA通过SPI接口将电压信号输出给DA。CAN总线信号通过单片机的SCI接口与FPGA进行了通信。在光模块与FPGA之间采用了串化/解串器(SERDES),匹配光模块与FPGA的传输速率,实现并行数据和高速串行数据之间的串并/并串转换。
2.2程序设计
程序设计包括单片机程序与FPGA程序设计两部分,单片机主要实现4路模拟电压的采集和CAN双向通信,FPGA主要实现对数字信号的转换、编码和校验。
1)多路信号光纤传输系统单片机程序设计流程如图3所示。
图3多路信号光纤传输系统单片机程序设计流程图
在图3中,主程序主要完成外设的初始化和通过SPI发送数据给FPGA。采用定时器2定时触发AD采样,AD采样完成后,进入中断对采样数据进行处理,默认开始采样第一路,当第一路采样结束,对ADC0结果寄存器的值进行处理,处理后的数据存入8位AD0_H和AD0_L寄存器中。然后依次将转换通道切换成通道2、3、4,当第4路采样结束后就完成了4路模拟信号的一次采集,再切换至第一路进行采样,依次循环往复实现了4路模拟信号的分时采样;AD采样完成后需要将采样值发送给FPGA,单片机与FPGA之间采用SPI通信, SPI的的波特率为1M。在主程序中,判断发送命令Send_Command是否为1,当发送命令为1时,将使能信号NSS置0,告之FPGA,在此期间接受到的数据有效,然后依次发送高字节和低字节数据,最后一个发送完成时,将发送命令Send_Command置0。每发送完一个字节后,等待SPI发送完成标志Send_Over,若SPI没发送完成,等待,若发送完成,发送下一个字节。
2)多路信号光纤传输系统的FPGA程序设计如图4所示。
图4 多路信号光纤传输系统FPGA程序设计
FPGA处理的数据码流中的长连0和长连1不利于时钟的提取和判别,为了减少长连0和长连1,多路信号光纤传输系统采用了8B/10B编码方式,以此减少了低频分量的影响。要想实现用一根光纤传输2位脉冲信号(单向)、16位数字信号(双向)、4路模拟信号(单向)、1路CAN总线信号(双向)的传输,在软件设计时采用了对数据的并串转换。在程序调试过程中,发现串化/解串器的输入输出发生了移位现象,而且移位是随机的。为了解决该问题,在程序设计中加入了移位检测部分,每隔1 s(10^6个时钟周期),连续发送3个时钟周期的移位检测序列,移位检测序列采用8B/10B编码中的K28.5;在接收端检测移位的位数,对传输的数字信号进行调整,以此解决了移位现象造成的误传输。
3实验结果及分析
通过实验,对多路信号光纤传输系统进行了验证。
1)脉冲信号测试
实验结果如图5所示。
图5 脉冲信号实验结果
在图5中,采集端输入5 V 1MHz、脉冲宽度100 ns、上升沿和下降沿均为3 ns的TTL脉冲信号,测得输出脉冲信号前后沿抖动小于15 ns,上升沿和下降沿小于5 ns,输入输出延时小于180 ns。
2)数字信号测试
实验结果如图6所示。
图6 数字信号实验结果
在图6中,在信号采集端和数据处理控制端依次用信号发生器输入16路5 V、1 kHz、占空比50%的数字信号,测得16路数字信号输出频率为1 kHz、高电平约为5 V,输入输出延时小于700 ns。
3)模拟信号测试
结果如图7所示。
在图7中,在信号采集端输入0.5~4.5 V的模拟信号,选取不同的测试点进行测试,由测试结果可知,在0.5~4.5 V的输入电压范围内,输出电压最大误差为18 mV,精度不低于0.6%。
图7 模拟电压测试结果
4结论
多路信号光纤传输系统基于单片机和FPGA联合开发技术,使用一根光纤实现了多路信号的双向传输,不仅实现了多路模拟与数字信号的采集和传输,还实现了高速脉冲信号和低速数字信号的传输,一方面减小了产品的体积,另一方面降低了产品成本,使用方便、便于工程维护。通过实验验证了多路信号光纤传输系统的正确性,其设计原理、硬件架构设计和程序设计为其他多路信号的采集、控制、传输提供了设计参考,具有重要的指导意义。
参考文献:
[1] 李亮,胡一梁,韩瑞珍. 基于FPGA的数字光端机的设计[J].中国有线电视,2008(9):955-957.
[2] 卢敏, 张子墨. 基于FPGA的LVDS光纤通讯系统的实现[J]. 信息技术, 2007,12(12):164-166.
[3] 蹇清平,佘新平. 一种新的多路数字信号光纤传输系统的设计与仿真[J]. 长江大学学报(自然科学版)理工卷,2009(3):81-84.
[4] 来卫国. 10位BLVDS串化器DS92LV1023和解串器DS92LV1224的原理及应用[J]. 国外电子元器件, 2002(8):45-47.
[5] 季晓飞,迟泽英,游明俊,等.光纤双向传输系统中数字光端机的研制[J]. 南京理工大学学报, 2001,25(2):182-185.
[6] Johnson H, Graham M. High-speed digital design[M]. Beijing: Publishing House of Electronics Industry, 2006:106-127.
[7] 孙坚. 基于GPIB的光纤收发器的设计与实现[J]. 数字技术与应用, 2009(12):22-23.
[8] 郭玉彬,霍佳雨,靳江涛,等. LiNbO3外调制器的10Gbit/s 光纤传输系统[J]. 光学精密工程,2007,15(1): 22-26.
Multi-channel Signal Optical Fiber Transmission System Based on FPGA and MCU
Li Yanwu
(Electrical and Electronic Engineering Department,Occupation’s Technology Institute of Anhui Industry and Commerce Huainan232007,China)
Abstract:Based on FPGA and MCU technology, a multi-channel signal optical fiber transmission system is designed, which makes use of MCU for high-precision analog data acquisition and bidirectional transmission of a communication signal;FPGA for processing and transmission of multi-channel complex signals. Experiments show that: the system not only can transmit multi-channel analog and digital signals, low-speed digital signal and high-speed pulse signal, but also can realize the bidirectional CAN communication. Compared with the existing optical fiber transmission system, the multi-channel signal optical fiber transmission system realizes data acquisition of multi-channel complex signals, also realizes bi-directional transmission of multiple high-capacity data with a fiber. On the one hand reduces the volume of the product, on the other hand to reduce the product cost.
Keywords:FPGA; MCU; multi-channel signal; fiber optic transmission
文章编号:1671-4598(2016)02-0222-03
DOI:10.16526/j.cnki.11-4762/tp.2016.02.061
中图分类号:TN929.11
文献标识码:A
作者简介:李言武(1974-),男,硕士研究生,副教授,副主任,主要从事电子、通讯及自动化控制技术方向的研究。
收稿日期:2015-08-18;修回日期:2015-09-22。