当前位置:首页 > 嵌入式 > 嵌入式硬件

摘要:门光子计数器是量子光学实验中单光子探测常用的数据采集设备,用于收集单光子探测器探测到的单个光子信号。由于不同的场合需要用到不同的计数模式,商用的计数器往往难以满足具体的需求,或者造成采集效率低下。系统采用的是一种基于MicroBlaze系统FSL总线的可扩展计数器设计架构,该架构能够灵活的添加不同的计数功能,并通过统一的FSL总线和Microblaze CPU与PC通信。在该架构的基础上实现了针对量子单自旋调控实验中常用的计数模式。系统所采用的设计和实现方式可以推广到其他光子计数需求中,并具有较低的设计和生产成本。
关键词:计数器;Microblaze;FSL

0 引言
光学领域尤其是量子光学领域的实验常常需要进行单个相干光子的探测用于实现实验数据的采集。一般常用的配置是一个单光子探测器加上一个门光子计数器,其前端的单光子探测器用来收集光子信号,每探测到一个光子产生一个TTL脉冲,后端的门光子计数器用来记录该TTL上升沿数目并且与PC等其他器件通信或者同步。APD的工作方式相对简单,而门光子计数器则由于具体实验需求不同而要求不同的工作方式,很难有一种通用的计数模式能够满足各种情况的需求。由于成本限制,功能固定的计数器往往因为没有广阔的市场而造成价格很高。另一方面,工业和科研界购买的商用计数器往往无法满足自己的具体需求而导致工作效率低下,甚至无法满足要求。
所谓门光子计数器就是针对单自旋量子调控实验研究中对单个光子探测的需求所研制的。单自旋量子调控是对晶体中的缺陷,如量子点和金刚石色心进行控制,其信号读出一般是通过自旋发生的单个光子进行探测实现的。在此类实验中常用的技术有三种:门光子计数、定时计数和相关函数测量。文中所述的系统建立了一种可扩展的通信和控制架构能够添加不同方式的计数功能。

1 系统结构设计
整体系统结构示意图如图1所示,通过PC机的以太网口实现与计数系统的数据通讯与命令传输,PC机将工作模式选择等命令通过网口向系统发送,而系统将在不同模式下的计数值及计数状态等数据通过网口发送到PC机,交由PC机对数据进行处理。系统的主芯片采用Xilinx的SPARTAN 3E系列的XC3S500E。系统的光子计数输入由两个BNC接口引入,这两个接口可以由FPGA进行配置,使光子计数器以不同的模式进行工作。系统的固件烧写在FLASH芯片内,SDRAM提供了大容量存储空间,用于运行时装载Microblaze软核代码、计数应用代码以及存储计数的数据。


系统以FPGA为处理中心,实现各种工作模式,其功能框图如图2所示。功能模块主要包括软核Microblaze、对外部存储器的接口MPMC、以及需要设计实现的Counterpulse IP核。在Counterpulse IP核与处理器软核之间,采用了FSL总线进行连接,实现由Microbalze对Counterpu-lse核的配置,以及由Counterpulse核到Microblaze的数据传输。


系统工作时,由Microblaze软核通过网口接收由PC机发送来的命令,根据命令,通过一路FSL总线对光子计数IP核进行工作模式的选择和配置。计数IP核对外部计数源进行计数,计数的结果和状态数据通过另一路FSL总线发送到Microblaze软核,由Microblaze软核将该数据在DDRRAM内进行缓冲,并通过网口将这些数据最终发送给PC机,由PC机进行分析处理。
系统有三种工作模式:模式一:使能计数,使能信号有效时(高电平有效),对光子计数输入的计数脉冲信号进行计数;模式二:定周期计数,根据设定的计数周期,对光子计数输入的计数脉冲信号进行计数;模式三:启动和停止信号分开的计时,根据输入的计数启动信号和计数停止信号(均为上升沿有效),进行以系统基频为基准的计时,以实现函数测量。

2 系统设计实现
2.1 系统硬件框图
计数系统硬件结构如图3所示,由FPGA、64MB的DDR存储器、16MB的FLASH存储器和10M/100M以太物理层(PHY)等组成。系统工作时,由PC机通过网口发送命令到FPGA,FPGA内部的Microblaze软核配置计数IP核的工作模式,由FPGA通过两路BNC接口对外部计数源进行计数,并将数据在DDRRAM内进行缓冲,最终将这些数据通过网口发送到PC机。


2.2 主要元器件介绍
2.2.1 FPGA芯片及其配置芯片选用
FPGA选用Xilinx公司的Spartan-3E系列XC3S500E,采用先进的90nm制造工艺生产,其器件密度为50万门。Spartan3系列的FPGA是Xilinx公司专门针对大容量、低成本需求的电子设计而开发的,可支持多种电平的I/O标准;含有丰富的逻辑资源。XC3S500E具有360kbits的块RAM、73kbits的分布式RAM、10476个逻辑单元、20个18×18的乘法器和4个DCM时钟管理模块。
FPGA的配置芯片选用的是Xilinx公司的在系统可编程配置芯片XCF04S,该芯片可为XC3S500E提供易于使用、成本低且可重复编程的配置数据存贮方法,该芯片支持IEEE1149.1标准的JTAG边界扫描测试和编程。在本系统设计中,XCF04S主要存放用于引导Microblaze软核及应用程序的引导代码。
2.2.2 存储芯片
系统使用的RAM是Micron Technology公司的DDRSDRAM(MT46V32M16),是一片容量为512Mbit(32Mx16)的16位总线宽度存储芯片,用于上电后加载Microblaze软核代码和应用程序代码,以及对计数数据进行缓冲。FLASH芯片是Intel StrataFlash parallel NORFlash,型号为28F256J3,存储密度为256Mbit,在本系统中用于保存Microblaze软核代码和应用程序代码。

3 功能设计实现
3.1 基于EDK的FPGA软核Microblaze的应用设计实现
系统设计工具主要采用Xilinx公司的嵌入式开发套件EDK,它是用于设计嵌入式处理系统的集成解决方案。它包括搭建硬件平台的XPS和进行软件配置的SDK。
Microblaze是Xilinx公司推出的32位软处理器核,支持CoreConnect总线的标准外设集合。MicroBlaze处理器运行在150MHz时钟下,可提供125 D-MIPS的性能,这种高效的软核在本系统中可用于实现处理器功能,实现对计数IP核的配置,以及支撑Xilinx的clockgenerator、Et-hernet等IP核。系统对计数器的实现采用Verilog语言将计数功能编写为IP核,将其通过FSL总线挂在Microblaze软核上,以实现计数功能。
3.2 通讯协议
Microblaze到计数IP核之间的通讯数据定义如下:


计数IP核到Microblaze之间的通讯数据定义如下:


3.3 计数IP核的设计实现
3.3.1 计数IP核的结构
计数IP核采用verilog硬件语言编写,其结构如图6所示,顶层文件counterpulse3对接口进行配置,并根据FSL总线上的命令参数选择工作模式,pulsecount1、pulsecount2和pulsecount3分别是3种工作模式的代码实现,fsloprt是与FSL进行接口的代码。


3.3.2 与FSL总线接口
fslopn.v的代码完成与FSL总线接口功能。FSL总线是单向点对点的通道,它用于完成任意FPGA中两个模块的快速通讯。FSL总线是基于FIFO的,基于非共享的无仲裁通信机制,它的深度是可以设置的,最大可以到8k,具备高速的通信性能,其结构如图7所示。


由于FSL总线是单向的,所以系统中采用了两条FSL总线,实现Mieroblaze到计数IP核之间的双向通讯,计数IP核在面对两条FSL总线时,担当的分别是MASTER(主)和SLAVE(从)两种角色。因此,fsloprt.v的代码应该同时满足与FSL总线接口的读和写时序。读写时序如图8和图9所示。


3.4 计数IP核和FSL总线的在EDK中的连接实现
为了能使用FSL总线,首先应该在XPS图形界面中对Microblaze进行配置,在Buses中将Number of FSL Links设置为1。再在IP Catalog中将FSL总线加入到工程中两次。
在计数IP核编写后并综合通过后,将该IP核导入到XPS工程中。
在XPS中,分别对Microblaze和计数IP核的MFSL和SFSL进行连接,将Microblaze的MFSL端连接到计数IP核的SFSL端,反之将计数IP核的MFSL端连接到Microblaze的SFSL端。并在system.mhs中进行如下配置:


由于从计数IP到Microblaze方向数据量较大,所以对FSL总线的深度进行了配置,如上述代码中,PARAMETERC_FSL_DEPTH=128,被配置为128级深度。

4 结论
在系统的设计中,光子计数IP核与Mieroblaze软核之间通过FSL总线进行通讯,并且对FSL总线上的FIFO缓冲进行了深度扩充,大大增强了光计数数据的传输可靠性。由于系统将门光子计数的三种模式,以IP核的方式实现,相对于市场上商用的计数器来说,实现方式灵活,易于配置和扩展,这种方式为门光子其他可能潜在的计数需求留下了扩展的基础,并具有较低的设计和生产成本。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

74LS192是一款广泛应用在数字电子系统中的同步十进制可逆计数器集成电路,属于美国德州仪器(TI)早期推出的7400系列TTL逻辑家族的一员。该芯片设计为四位二进制计数器,并因其特殊的十进制计数特性以及双向计数能力而广...

关键字: 74ls192 计数器

在这篇文章中,小编将对USB接口的相关内容和情况加以介绍以帮助大家增进对USB接口的了解程度,和小编一起来阅读以下内容吧。

关键字: USB 通用串行总线 总线

2023年11月28日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 宣布与全球工业自动化领域知名供应商Siemens签订代理协议。Sieme...

关键字: 工业自动化 人机接口 计数器

今天,小编将在这篇文章中为大家带来嵌入式总线技术的有关报道,通过阅读这篇文章,大家可以对嵌入式总线技术具备清晰的认识,主要内容如下。

关键字: 嵌入式 总线

汽车CAN/LIN总线系统测试的关键是测试流程、测试标准和测试工具,掌握专业的总线分析和测试工具的使用技术,开发测试软件并将它们应用到测试过程是对中国汽车厂家和汽车工程师的重大挑战汽车总线测试流程。概括的讲,汽车总线的测...

关键字: CAN 总线 汽车

现代电子技术的正处于一个飞速发展的时代,随着现代汽车整体性能的逐渐完善,单片机和集成电路不再是家电等电器产品的专属,也正愈来愈广泛的被在应用现代汽车上,电子控制单元部件及各种传感器数量在现代汽车的装配也越来越多。为方便这...

关键字: 汽车 总线 监控

现在CAN的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面,现场总线是当今自动化领域技术发展的热点之一、被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠...

关键字: CAN 总线 硬件

CAN(Controller Area Network)是一种多主方式的串行通讯总线。基本设计规范要求有高的位速率、高抗电磁干扰性,而且能够检测出产生的任何错误,当信号传输距离达到 10Km 时 CAN-bus 仍可提供...

关键字: CAN 串行通讯 总线

CAN(Controller Area Network)即控制器局域网络。是应用在现场、在微机化测量设备之间实现双向串行多节点数字通讯系统,是一种开放式、数字化、多点通信的底层控制网络。 CAN协议建立在ISO/OSI模...

关键字: CAN 数字通讯 总线

当前市场行业发展CAN总线虽然有强大的抗干扰和纠错重发机制,但目前CAN大量地运用于电动汽车、充电桩、电力电子、轨道交通等电磁环境比较恶劣的场合,因此对CAN总线的抗干扰能力也会存在挑战,所以对CAN总线的抗干扰能力需要...

关键字: CAN 通信 总线
关闭
关闭