基于STM32和FPGA的多通道光源控制平台设计

发表时间:2020/8/28   来源:《科学与技术》2020年9期   作者:张爱国 金辉
[导读] 为满足光电器件产线对多通道光源测试应用需求

         摘  要:为满足光电器件产线对多通道光源测试应用需求,设计了一种采用FPGA内置双口RAM与STM32通信的多通道光源控制与数据采集上传系统。系统采用FPGA控制多路D/A和A/D实现光源的控制与数据采集,利用STM32作为主控制器,FPGA通过内置双端口RAM与其实现数据交互,并设计了高效的仲裁通信控制,同时控制器通过以太网控制器实现与上位机的数据通信。所采用的双口RAM是充分利用FPGA内部资源实现,提高了数据传输速率,达到了小型化、实用化的设计效果,可应用于小型模块、低成本的多通道测试光源平台设计。

         关键词:STM32 ;FPGA;双口RAM;多通道;光源;以太网控制器


0 引 [] 言
         随着光纤通信的迅速发展,对光电器件的应用需求日益增长[1-2],产线生产效率变得尤为重要,而提高生产测试效率是满足市场需求的关键之一。为能满足光电器件批量生产对测试的需求,设计了一种针对多通道测试光源控制和状态数据采集的上传系统,可实现16通道光源的开启、关闭、功率设定、光功率实时监测等工作,并配合上位机开发完成产线的自动化测试。
1  系统原理
         该系统设计原理如图1所示,主要包括光源控制电路、光功率监测电路、A/D数据采集、计算与存储、主控制器、以太网控制器等部分。主控制器采用了STM32F103ZET6处理器,该处理器最高工作主频可高达到72MHz,具有丰富的外设[3],其主要完成与FPGA的数据交互,并通过以太网控制器实现数据的上传,接收上位机命令,完成相关命令操作。FPGA采用了Xilinx公司的Spartan-6的XC6SLX9,该型号具有9,152的逻辑数量单元,可满足低成本、低功耗的场合应用需求[4]。16路光源控制电路通过D/A设定参考电压,利用恒流源实现各自通道的激光器驱动,并通过1%分光耦合器实现输出功率的实时监测与反馈,光功率信号通过光电探测电路实现I/V转换,FPGA利用并行处理优势,控制16路A/D转换器实现模数转换,并通过串行接口实现数据采集,FPGA获取数据后进行数字滤波后存储。STM32F103处理器作为核心主控制器主要实现与FPGA的数据通信、数据处理、数据上传等功能;STM32F103通过采用ENC28J60网络控制器实现处理数据的上传。

图1 多通道测试光源控制与数据采集系统原理
2  系统硬件设计   
         硬件设计主要包括光源控制电路、功率反馈采集电路、主控制单元、网络控制单元等。主控制单元作为数据上传与数据采集的协调模块,负责对每通道光源的设定数据存取、反馈功率的计算、命令解析等。数据采集电路主要包括16路光源通道的参考电压设定、反馈光-电信号的调理、采集、滤波等部分。数据采集电路通过利用FPGA的并行执行优势,控制16通道D/A和A/D分别进行数据设定和数据采集,FPGA获取数据后进行平均滤波,滤波次数可根据系统设置来调整。网络控制器采用ENC28J60,利用SPI总线实现与主控制器的数据交互,数据上传由网络控制器实现。
         2.1光源控制电路
            光源控制控制电路主要有如下图2所示,该电路通过采用精密恒流源为激光器提供了电流驱动。在电流驱动中RT采用10Ω的精密恒流信号采集,并通过运放后实现电压转换为。D/A设定电压,
并通过放大后与反馈信号进行比较驱动三极管实现激光器的恒流驱动。激光器驱动电流与设定电压关系如下公式(1):
                                (1)

图2 激光器恒流驱动电路
         为能实现良好的光源功率稳定性,采用了分光耦合的形式进行光功率监测,光功率监测采用1%的光耦合器实现,图3为光功率监测和调理电路
        
         图3光功率监测和调理电路设计
         电路中采用了2级放大电路,第1级放大电路中,采用2个舌簧继电器,实现了2级的增益放大AG1。舌簧继电器采用了9401型号,该舌簧继电器的接触电阻小于0.5Ω,关断隔离电阻可达1013Ω,将会大大降低因为传统的模拟开关引起的泄露电流,提升1级I/V转换效率。第1级的转换传输函数如下:
                                            (2)
         为光电二极管的输出电流, 和为第1级档位放大的增益和补偿电容,二者组合设置信号带宽。理想情况下,光电二极管的全部输出电流均通过,但由于所有运算放大器都存在输入偏置电流,导致其输出产生误差。最好能够将运算放大器的输入偏置电流限制在数pA范围内,进一步减小泄露电流引起的误差带来的影响。
         图3中1级放大电路为关键敏感电路(虚线包围),在进行PCB布局和布线中,为提升检测灵敏度,需要在敏感线路中应该远离地线,以防止光功率较低时,电流传输线通过PCB板材向地线泄露。
         第二级放大电路中采用同相比例放大,可实现3个不同增益放大AG2。
         因此输入至A/D的电压传递函数如下:
                                         (3)
          2.2数据采集控制器

图3 STM32与FPGA的接口设计
         设计中采用EEPROM存储各通道功率档位校准因子Δ、波长因子λ,上位机根据设定参数下发至主控制器,由主控制进行读写存储器实现存储。单片机与FPGA的通信采用基于双端口RAM的设计方案,为降低设计成本,双端口通过采用FPGA内部的块RAM实现,系统所采用的FPGA具有18 Kb (2 x 9 Kb) 块RAM结构,每路D/A占据2个字节,光功率采集数据为2字节,共16通道,共需要64个字节,此外,系统为方便设计调试,需要给各通道功率设定档位校准因子、波长因子、各通道调零数据、工作波长、可设置档位,通道ID、当前工作档位等多项参数,共计900字节,采用该型号FPGA完全满足应用需求。
          2.3网络通信模块设计
         网络通信模块采用了ENC28J60嵌入式以太网控制器,其带有SPI接口,非常适合面向嵌入式具有媒体访问控制器,采用了10BASE-T以太网物理层,可实现高达10Mbit/s的数据吞吐量,满足低成本和嵌入式开发的应用需求[5-8]。系统中,ENC28J60控制器与STM32F103ZET6通过SPI总线实现数据交互,由STM32运行UIP1.0网络通信协议,实现TCP/IP通信,其设计原理图如下。以太网控制器中断引脚告知主控制器数据包的收发情况。

图4 ENC28J60以太网控制器硬件设计
2.软件设计
    主控制与FPGA所采用的双口RAM形式,通过设计简单的通信协议后即可实现双边同时操作,提高数据采集、数据交互、数据处理效率。但是为保护双口RAM数据,需要采用一定的仲裁协议实现避免主控制器与FPGA同一时刻对同一单元进行读写。FPGA运行具有高速并发机制和丰富逻辑单元,因此可在FPGA内部设计一个独立的地址仲裁器,仲裁器判断的结果可作为主控制器和FPGA内部读写模块的执行依据。仲裁器为主控制器侧读写优先,通过设置CS信号和ADDR地址信号线后再去读取BUSY信号标志,若该信号线标志位为高,说明FPGA内部的地址仲裁器判断得出FPGA也正在对该地址单元进行操作,主控制器需要等待FPGA的一个读写周期,若为低,主控制器可直接读取地址线上对应的存储内容;而在FPGA内部读写模块可执行如下状态机实现,FPGA内部读写模块根据CS信号和仲裁标志位进行读写,当准备读写时,先放置要读写的地址总线数据,并依次根据CS信号和仲裁标志位进行判断,当仲裁器通知忙碌时,需要延时一定时间后再去判断仲裁器的标志位,直至等到仲裁器标志位ADDR=0再去读写RAM单元,在读写期间,仲裁器仍然需要实时去判断外部读取状态是否为同一地址单元,当为同一地址单元仲裁器拉高BUSY信号,外部主控制器将首先依据BUSY信号状态进行操作内存单元。如图5所示为FPGA控制双口RAM读写存储单元的状态机。

图5  FPGA读写双口RAM状态机
          3.总结
         随着当前光纤通信测量需求不断提升,提高产线测试效率成为光模块或光器件厂商主要关注点。本设计设计了16路光源,设计中采用精密恒流驱动以提高激光器的输出功率稳定度,通过分光耦合的方式实现了反馈光功率,可进一步有效控制半导体激光器随温度变化引起的功率波动。采用了FPGA内置双口RAM,作为与STM32的数据交换的缓冲器,设计了高效快捷的通信总裁协议,可降低多数据接口交互的竞争风险;采用了低成本的ENC28J60嵌入式以太网控制器,利用STM32平台运行uip微型网络协议,实现了STM32至上位机数据的可靠传输。本设计完全适合产线高效测试需求,利用网络接口,通过编写合适的中控应用程序,可实现多通道光源的开启、关闭、功率监测与调整等自动控制,大大提高产线测试效率。
        
        
        
         参考文献:
         1.徐佳仁.光纤通信技术的发展现状及应用[J].信息与电脑(理论版),2017(18):164-165.
         2.陶林.有关光纤通信系统的研究[J].中国科技投资,2013(14):170.
         3.彭俊杰,陈永泰. 基于 STM32的铯光泵磁力仪数据采集系统[J].仪 表 技 术 与 传 感 器,2016(7):75-76.
         4.郝锐敏,丛 聪,张斌,赵冬娥. 双相机高速交替成像时序控制系统[J].测试技术学报,2019,32(1):55.
         5.缑延军,郑富全.嵌入式系统中的 ENC28J60 应用[J]. 山东科学,2007,20(2):75-79.
         6.李伟尧.基于以太网控制器ENC28J60 嵌入式TCP/IP技术的研究[J].科技信息,2009(30):239-240.
         7.张庆辉,马延立.STM32F103VET6 和ENC28J60的嵌入式以太网接口设计[J].单片机与嵌入式系统应用,2012(9):49-53.
         8.于浩洋,邵国平,秦杰9 基于ENC28J60以太网控制器的SPI接口设计[J].黑龙江工程学院学报 ( 自然科学版),2009,23(2):63-65.
        
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: