|  客服中心  |  合作联系
搜刊网
论文下载
您当前位置
首页 > 论文下载 > 机械与建筑工程 > 基于FPGA+PCI_CORE的ARINC429总线测试卡设计
基于FPGA+PCI_CORE的ARINC429总线测试卡设计
来源:互联网 qikanw | 何 勇,周九飞,李延伟,刘波
【分  类】 机械与建筑工程
【关 键 词】 FPGA;PCI总线;ARINC429总线;LABVIEW;WINDRIVER;
【来  源】 互联网
【收  录】 中文学术期刊网
正文:

  摘 要:提出了一种ARINC429总线转PCI总线的设计方法。PCI接口设计是基于PCIC_CORE实现的,ARINC429接口选用HI-8582协议芯片实现,驱动程序采用WINDRIVER开发,用户应用程序采用LABVIEW实现。该测试卡经实际测试完全能满足工程使用要求。

  关键词:FPGA;PCI总线;ARINC429总线;LABVIEW;WINDRIVER;

  中图法分类号:TP331 文献标识码:B

  Abstract: A design method of ARINC429/PCI interface is put forward. The design of PCI interface is realized base on PCI_CORE. ARINC429 interface is realized by HI-8582. The card driver is designed via the WINDRIVER. User program is designed by LABVIEW. The results of test card show that the test card can satisfy the requirement of engineering application.

  Key words: FPGA; PCI BUS; ARINC429 BUS; LABVIEW; WINDRIVER;

  0 引言ARINC429总线是一种广泛应用于航空电子设备上的数据传输总线。在对航空产品的研发及使用过程中,经常需要利用计算机对航空产品进行调试、检测、监控及控制,因此需要一个可与ARINC429总线及计算机进行通信的测试卡。PCI总线成熟稳定,传输速度快,是工控计算机的标准配置,目前本项目组所使用的测试卡就是国外基于PCI总线设计的,但价格昂贵,而且出现问题难于维护且维护成本高、周期长。所以本文设计了一种基于PCI总线的ARINC429测试卡,而且与国外采用专用PCI接口芯片的测试卡不同,本设计采用PCI_CORE软核嵌入到FPGA中做为一个模块以实现PCI接口与计算机通信,使设计更紧凑、成本更低、可靠性更高。系统结构框图如图1所示。该测试卡的PCI驱动采用JUNGO公式的WINDRIVER快速实现,应用软件采用NI公式的LABVIEW开发。

  图1 系统结构框图 2 硬件设计 硬件设计包括两部分,一部分为PCI接口电路设计,用于同计算机通信;另外一部分为ARINC429接口电路设计,用于同具有ARINC429总线的航空电子设备通信。 2.1 PCI接口设计 PCI(peripheral component interconnect)总线,即外部器件互连总线,是一种成熟的、高效的地址/数据复用总线。标准配置是32bit宽、33MHz时钟,理论最大传输速率是132MB/s。PCI接口电路的实现主要有两种方法,一种是利用专用PCI接口芯片,如PLX公司的PCI9054芯片,该方法设计难度低,集成度低,使用不够灵活。另外一种方法是在FPGA/CPLD中嵌入PCI核实现,该方法成本低,集成度高,设计灵活,扩展能力强,本文就采用该方法。

  FPGA选择XILINX公司的低端产品SPARTANⅡ系列的x2s200-pq208,集成度约20万门,具有4704个四输入查找表,56kbit块RAM,另外该器件5v耐压,这样所设计的PCI测试卡可以设计成适应3.3v和5v信号环境的通用卡。

  PCI接口的硬件设计主要注意一下几点即可: PCI总线端IRDY、TRDY和PCLK信号在FPGA上有专用支持引脚,一定要使用这些专用引脚; FPGA的第107、153及154管脚是JTAG配置专用引脚,不可它用; 该器件的全局时钟引脚只能用作输入,如果有双向信号或输出信号切忌连到全局时钟引脚上; PCLK时钟长度为2500±100mil,其余PCI信号小于1500mil即可; PCI信号PRST1#和PRSNT2#表示能耗需求,不能都悬空。具体定义如表1所示。 表1 板卡配置信号 PRSNT1# PRSNT2# 板卡配置 开路 开路 不存在板卡 地 开路 有板卡,最大功耗25W 开路 地 有板卡,最大功耗15W 地 地 有板卡,最大功耗7.5W 只要遵循了上述几点,PCI接口的硬件设计就不应该存在问题了。软核使用XILINX公司的PCI Initiator/Target V3.162版本,该IP核支持主和从模式,本设计中仅使用Target从模式。该核的使用关键要设置好配置信息,主要配置信息如下:

  // Device ID and Vendor ID

  assign CFG[151:120] = 32'h1234_5678 ;

  // Class Code and Revision ID

  assign CFG[183:152] = 32'h06800001 ;

  // BAR0

  assign CFG[0] = `ENABLE ;

  assign CFG[32:1] = `SIZE16 ;

  assign CFG[33] = `IO_PREFETCH ;

  assign CFG[35:34] = `IO_TYPE ;

  assign CFG[36] = `IO ; 2.2 ARINC429接口设计ARINC429数据总线协议规定一个数据字由32位组成,以脉冲形式发送,采用双极性归零码,码速率为12.5kb/s或100kb/s。电气特性为:高电平(+10V)为逻辑1;低电平(-10V)为逻辑0;0电平(0V)发送自身时钟脉冲,字与字之间以一定间隔(不少于4位)分开,以此间隔作为字同步。一个32位的数据字由五部分组成:标志位(LABEL),用于标识传输数据的信息类型;源/目的标识码(S/D),用于判断在一个多系统中的源系统;数据区(DATA);符号/状态位(SSM),用于标识数据字的特征或数据发生器的状态;奇偶校验位(PARITY),ARINC429数字信息传输使用奇校验。

  从ARINC429总线协议的规定可以看出,FPGA的IO特性是无法满足ARINC429所要求的电气特性的,必须增加外部协议芯片。本文选择HOLT公司的HI-8582协议芯片完成与航空电子设备的通信。该芯片是+5V和±10V供电,其并行16位数据线及相关控制信号线直接引入FPGA的IO,由FPGA内部的429接口逻辑模块控制对HI-8582芯片收发数据。429接口逻辑模块的主要Verilog-HDL代码如下:

  //429各逻辑信号产生

  //地址2为写HI-8582发送寄存器

  assign pl1_n = arinc_oe | (arinc_addr != 2);

  assign pl2_n = shift_cnt[7] | (arinc_addr != 2);

  //地址5为写HI-8582控制寄存器

  assign cwstr_n = arinc_oe | (arinc_addr != 5);

  //地址0为读HI-8582状态寄存器

  assign sel = ((arinc_addr == 0 | arinc_addr == 3) ? arinc_cs : 1'b1) | (read429_flag != 1);

  //地址1为读HI-8582控制寄存器

  assign rsr_n = arinc_oe | (arinc_addr[2:1] != 2'b00) | (read429_flag != 1);

  //地址3为读HI-8582接收寄存器

  assign read429_en = read429_clk1 & read429_clk2;

  assign read429_clk1 = arinc_oe | (arinc_addr != 3) | (read429_flag != 1);

  assign read429_clk2 = shift_cnt[7] | (arinc_addr != 3) | (read429_flag != 1);

  assign readfir_clk = read429_clk1 & rsr_n_bak;

  assign entx = ((entx_reg[7:0] == 8'h5A) ? 1 : 0);

  assign arinc_429d[15:0] = (pl1_n_bak & cwstr_n_bak) ? ((pl2_n_bak) ? 16'hz : my_io_reg[31:16]) : my_io_reg[15:0];

  assign ADIO = out_rd ? out_reg[31:0] : 32'bz;

  always @ (posedge readfir_clk or posedge RST)

  if(RST) out_reg[15:0] <= 16'h0;

  else out_reg[15:0] <= arinc_429d[15:0];

  always @ (posedge read429_clk2 or posedge RST)

  if(RST) out_reg[31:16] <= 16'h0;

  else out_reg[31:16] <= arinc_429d[15:0]; 3 驱动设计 本文的驱动程序采用JUNGO公司出品的WinDriver设备驱动程序工具包进行开发,该工具包提供了功能全面的API函数,使得基于PCI、USB等不同总线的硬件设备驱动程序的开发周期大为缩短,并且具有良好的可移植性。

  考虑到内存的使用效率以及开发用户应用程序的LABVIEW不直接支持结构体类型,所以在本文的设计中对WinDriver的API函数以及板卡功能函数进行了再封装,生成动态链接库,这个动态链接库为用户应用程序提供必需的API接口,用户应用程序通过调用这些接口函数完成对接口板卡的驱动功能。动态链接库的重封装使用VC++6.0,由于本文的应用程序主要实现存储器访问,所以仅对以下几个必要的接口函数进行了重封装:

相关推荐
热门期刊
江西中医药大学学报《江西中医药大学学报》
《江西中医药大学学报》杂志,双月刊,于1988年经国家新闻出版总署批准正式创刊,CN:36-1331/R,本刊在国内外有广泛的覆盖面,题材新颖,信息量大、时效性强的特点,其中主要...
中国临床保健《中国临床保健》
《中国临床保健》双月刊,创刊于1998年,由国家卫生和计划生育委员会主管,卫生部北京医院、安徽省保健委员会主办、坚持以临床医学与保健为主题,以促进保健医学的形成...
口腔护理用品工业《口腔护理用品工业》
《口腔护理用品工业》(双月刊)创刊于1987年,由中国口腔清洁护理用品工业协会、黑龙江省轻工科学研究院主办。获奖情况:黑龙江省数届科技期刊编辑奖,主编奖。 《口腔护...
群言《群言》
《群言》杂志,于1985年经国家新闻出版总署批准正式创刊,CN:11-1005/D,本刊在国内外有广泛的覆盖面,题材新颖,信息量大、时效性强的特点,其中主要栏目有:文化长廊、灯下...
安徽建筑大学学报《安徽建筑大学学报》
《安徽建筑大学学报》杂志,于1993年经国家新闻出版总署批准正式创刊,CN:34-1142/TU,本刊在国内外有广泛的覆盖面,题材新颖,信息量大、时效性强的特点,其中主要栏目有:施...
土工基础《土工基础》
《土工基础》杂志,于1981年经国家新闻出版总署批准正式创刊,CN:42-1151/TU,本刊在国内外有广泛的覆盖面,题材新颖,信息量大、时效性强的特点,其中主要栏目有:综述、测试...
友情链接
中教杯 国家新闻出版总署 中国知网 万方数据 维普网 中国科学院 中国国家图书馆 央视英文版 中国留学网 中青网 中国国家人才网 中国经济网 中国日报网 中国新闻网 中国学术期刊网
关于我们
平台简介
诚聘英才
企业文化
竞争优势
版权信息
服务条款
客服承诺
常见问题
版权声明
合作加盟
期刊加盟
广告服务
联系我们
网站导航
期刊大全
论文下载
课题申报
学术会议
编辑QQ
编辑联络
2007-2023
中文学术期刊检索机构
bianjibu777@qq.com
联系我们

版权所有©2007- 2023 中国学术期刊网(qikanw.com) All Rights Reserved 京ICP备2021008252号
本站是学术论文网络平台,若期刊网有侵犯您的版权,请及时与期刊网客服取得联系,联系信箱: bianjibu777@qq.com    
中国学术期刊网