基于PCIe总线的B码解码卡的设计与实现.docxVIP

基于PCIe总线的B码解码卡的设计与实现.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

?

?

基于PCIe总线的B码解码卡的设计与实现

?

?

霍海强陈旭东赵岩

摘要:针对计算机时间同步需求,设计了一种基于PCIExpress(PCIe)总线的IRIG-B码(B码)解码卡,该板卡接收外部B码信号并解调出B码时间信息,通过PCIe总线将B码时间信息传递给计算机进而完成计算机时间同步。测试结果表明,计算机能够同步到B码时间,且B码解码精度优于100ns,能够满足多数应用需求。

关键词:PCIe;B码;FPGA

中图分类号:TN253文献标志码:A文章编号:1008-1739(2021)15-51-4

0引言

时间是靶场、电力系统、导航定位、计算机网络通信等领域的一个非常重要的参数,同步精度指标直接影响着系统工作的稳定性与可靠性。为保障系统中各个设备之间时间的准确性,通常配备时钟源作为时间基准,将B码等时频信号传输到用时设备,系统中计算机则配置B码解码卡从时钟源获取高精度的时间[1],从而与系统时间保持一致。鉴于B码解码卡仅用于传输时间信息,传输的数据量小,因此设计采用内嵌PCIe硬核的FPGA实现PCIe总线通信,通过这样的方式简化设计难度,降低制作成本,同时能够为计算机提供基于PCIe总线的时间信息[2]。

1总体设计

1.1B码授时原理

GJB2991A-2008《B时间码接口终端通用规范》规定,B码的时帧速率为1帧/秒,1帧包含100个脉冲(码元),码元周期为10ms。每个码元序号由索引计数所确定,索引计数由准时点起,0~99。码元脉宽分为5ms,2ms,8ms,2ms表征二进制0;5ms表征二进制1;8ms表征位置识别标志P[3]。在B码的帧格式中,时帧的参考标志由一个位置识别标志和相邻的参考码元组成,Pr为帧参考点,其宽度为8ms。每10个码元有一个位置识别标志:P1,P2,P3,…,P9,P0,它们均为8ms宽度。一个时间格式帧从帧参考标志开始,因此连续2个8ms宽脉冲表明时帧中秒的开始,从第2个8ms开始对码元进行编码,分别为第0,1,2,…,99个码元。B码共100个码元,使用部分码元表示年、天、时、分、秒、润秒锋信息,第2个8ms的上升沿代表秒始信号,通过对B码进行解码进而获得时间信息及秒始信号,即完成B码授时,B码格式如图1所示[4]。

2总体架构设计

基于PCIe总线的B码解码卡由解码卡、驱动和上位机软件三部分组成。B码解码卡完成B码解码、搭建底层PCIe链路功能;驱动程序构建上位机软件与解码卡之间的PCIe链路;上位机软件通过驱动读取B码解码卡解出的时间信息,进而更新本地时间,完成计算机B码授时,总体架构设计如图2所示。

3解码卡设计

3.1硬件电路设计

解码卡主要由电平转换芯片、FPGA、Flash及电源芯片等组成,其中FPGA选用XILINX公司内置PCIe硬核的SPARTAN6系列,鉴于计算机上电过程中BIOS需要在500ms内扫描到PCIe硬件,因此FPGA及Flash需要在500ms内具备运行状态,为了保证FPGA上电程序导入时间满足上述要求,解码卡采用并行BPIFlash保证程序导入时间。硬件设计框图如图3所示。

解码卡通过电平转换芯片将外部B(DC)码转换为LVTTL电平送入FPGA,FPGA可使用内时频或外时频解调出B码时间信息及1PPS信号建立本地时间基准,计算机通过金手指为解码卡供电,并通过PCIe通信链路设置解码卡参数,读取B码解码时间。

3.2FPGA程序设计

3.2.1B码解码程序设计

根据B码特性,2个连续8ms码元的第2个8ms代表秒始,因此有哪些信誉好的足球投注网站这2个码元最为关键[5-6],在获得秒始后,根据码元计数可得B码时间信息,具体流程如下。

①FPGA以晶振的10MHz为参考时钟分频出1kHz脉冲,对外部输入B码脉宽进行计数,判别出各个码元的脉宽;

②根据连续2个8ms脉宽码元,获得秒始信号Pr;

③根据Pr位置及后续码元脉宽,获得各个位置码元值;

④存储各个码元值,根据国军标规定的年、天、时、分、秒、润、秒对应的码元位置及码元值,确定B码解码时间;

⑤根据Pr位置提取秒始信号,获得秒沿1PPS信号并输出。

在1PPS信号上升沿秒以上进行加一秒操作,秒以下计数清零,同时秒以下计数以晶振10MHz为时钟进行累加,提供秒以下时间信息。

3.2.2PCIe通信链路程序设计

解码卡FPGA的PCIe通信链路程序由PCIe硬核及逻辑程序组成,通过例化FPGA厂家封装的IP核即可调用PCIe硬核,另外,可根据具体需求对PCIeIP核的各个寄存器进行设置,其中包括BAR、ID、性能寄存器、结构寄存器等多个参数。需要注意的是,当需要插入2张解码卡时,2张卡的ID不能相同,否则会造成冲突。

完成IP核设置之后,

您可能关注的文档

文档评论(0)

180****0576 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档