基于PCI总线的1553B总线接口卡设计

发布者:NatureLover最新更新时间:2014-01-11 来源: elecfans关键字:PCI  局部总线  1553B总线接口卡 手机看文章 扫描二维码
随时随地手机看文章

  在航电系统的研制初期,通常要先在地面以微型计算机为基础做各种仿真实验。这使得用于各仿真系统的接口板的研制和革新工作便同时成为航电系统发展的一个重点。接口板的主要任务是实现航电系统的数据总线与PC机的数据总线之间的通信功能,这使PC机可以模拟航电系统数据总线上所挂接的实际子系统。PCI(Peripheral Component Interconnect)总线,即外围部件互连总线,是一种先进的高性能32/64位地址数据复用局部总线,可同时支持多组外围设备。PCI局部总线不受制于处理器,为中央处理器及调整外围设备提供一座桥梁,更可作为总线之间的交通指挥员,提高数据吞吐量,具有支持线性突发传输、极小的存取延误、采用总线主控和同步操作、兼容性强等优点。本文设计了一种基于PCI总线的接口板,其服务对象是MIL-STD-1553B总线,并编写其在Windows下的驱动程序。

  1 1553B总线协议

  MIL-STD-1553B是一个关于数据总线电器特性和协议规范的军事标准,这个标准规定了飞机内部数字式的命令/响应时分制多路数据总线的技术要求,也规定了多路数据总线的操作方式和总线上的信息流的格式以及电气要求。其作用是提供一个在不同系统之间的传输数据和信息的媒介。

  1553B数据总线以异步、命令/响应方式执行数据信息的传输,是一种计双工通信方式,它有3种终端类型:总线控制器(BC)、远程终端(RT)和总线监视器(BM)。BC是总线上惟一被安排为执行建立和启动数据传输任务的终端,BC控制数据总线上所有数据信息的传输,任何时候总线上只有一个BC。RT是用户子系统到数据总线上的接口,它在BC的控制下提取数据或吸收数据。MT“监控”总线上的信息传输,以完成对总线上的数据源进行记录和分析,但它本身不参与总线的通信。各终端之间信息传输方式有:BC到RT,RT到BC,RT到RT,广播方式和系统控制方式。1553B数据总线上的信息流由消息组成,一个完整的消息包括命令字、数据字和状态字3种类型。每个字的字长为20 b,其前3位为同步字头,有效信息位是16位,最后一位是奇偶校验位,采用奇校验,消息字采用曼彻斯特Ⅱ型码调制信号,所有消息格式都是基于前面所述的3种字类型。

  2 系统设计方案

  系统设计分为2个部分:硬件电路的设计和软件驱动程序及应用程序的设计。

  2.1 系统硬件设计

  系统完整的硬件电路结构如图1所示,主要包括1553B总线接口模块、PCI总线接口模块和逻辑控制模块。系统设计主要实现1553B总线和PCI总线之间的通信,因为在1553B总线上传输的是双极性差分信号,所以要对发送或接收的信号进行电平转换和相应的调制解调,1553B总线接口模块即用来完成数据的组织和编码或解码。PCI总线接口模块完成接口卡与上位机的通信。双端口RAM作为2个模块的数据中继,逻辑控制模块则将这2个模块连接成为一个系统。上位机通过PCI总线接口模块将欲发送的数据存入双端口RAM中,逻辑控制模块根据通信协议将数据送到1553B总线接口模块,1553B总线接口模块将此数据进行组织和编码,发送到1553B主总线上;或1553B总线接口模块从主总线上接收到数据,进行解码并存放在存储器。然后通知上位机,上位机通过PCI总线接口模块从存储器中取出数据以及本次1553B总线操作的状态信息。

  

  2.1.1 1553B总线接口模块设计

  1553B总线接口模块主要包括1553B协议芯片、隔离变压器和时钟晶振。1553B协议芯片采用DDC公司的BU-61580,芯片包含2个低功耗的双端收发器、协议逻辑、存储器管理逻辑、处理器接口逻辑及4K×16 b内置共享静态RAM以及直接面向主处理器的缓存接口组成,最多可扩展64K×16 b的外部RAM。协议芯片通过短截线与1553B主总线相连。而在协议芯片与短截线之间需要设置隔离变压器,该隔离变压器将1553B主总线与接口卡直流隔离,防止接口卡上产生的噪声影响1553B主总线上的信号。

  BU-61580功能上集成了BC/RT/BM一体化设计,可以编程设置BU-61580的配置寄存器来设定系统的工作方式,例如本系统中,通过软件编程BU-61580配置寄存器1的位15为逻辑“1”,位14为逻辑“0”,可使BU-61580工作于RT方式。内存管理模式可选是BU-61580的RT的一大特点。为了下位机处理器可以方便的存取从给定地址接收有效的、完整的数据块,保证为处理器提供最高程度的数据采样一致连贯性,RT方式的内存管理采用双缓冲模式,该模式下可以有选择地将接收的广播消息分解为非广播消息。具体实现方法是为每一个接收到的消息提供2个32位的数据字块,一个为激活的,另一个为停止的。当前命令结束后,BU-61580自动切换该子地址的数据块的激活区域与停止区域,这样,当向同一子地址发送命令时,如果数据有效并且双缓冲区允许,数据会保存到另一个数据块中,而不会使上一次的数据被覆盖。

  与下位机连接方面,BU-61580的接口配置采用16位缓冲模式,它向下位机提供了一个直接共享RAM接口。在该模式下,BU-61580的数据、地址总线与主机的总线地址隔离,并且BU-61580的寻址空间限制在其内部RAM4K字的范围内。

  2.1.2 逻辑控制模块设计

  PCI总线接口模块与1553B总线接口模块之间的逻辑控制电路通过可编程逻辑器件和DSP实现。可编程逻辑器件采用了Altera公司的EP1C 12B芯片,其主要实现地址译码、数据缓存、逻辑控制、握手连接和与BU-61580的协议转换等功能。EP1C12B芯片内部的RAM资源作为双端口RAM和BU-61580之间的数据通道。下位机主控单元DSP控制器采用TI公司的TMS320F2812,用于控制EP1C12B完成1553B总线接口模块对双端口RAM的数据吞吐。上位机对1553B协议芯片进行操作时,相应的数据信号、地址信号和控制信号通过PCI总线发送到双口RAM中。DSP控制FPGA从双口RAM中取出该地址信号和控制信号进行译码,产生对应的地址信号以及控制信号送到BU-61580。如果操作是向1553B主总线发送数据,则同时将数据信号送到BU-61580的数据线。一次读写操作结束时,BU-61580将输入FPGA的READY信号拉低,通知FPGA读写操作结束。如果有中断产生,则在输入FPGA的INT引脚上产生中断波形(下降沿或低电平)。根据BU-61580输入FPGA的中断信号、握手信号或数据信号等,FPGA相应产生上位机需要的中断信号、握手信号、插入等待信号和数据信号等,送到PCI总线上。

  2.1.3 PCI总线接口模块

  PCI总线接口模块包括PCI协议芯片及其配置电路。PCI协议定义了严格的电气特性和时序要求,其接口电路实现难度大,采用专用的PCI接口芯片,可以避开复杂的PCI协议的细节设计,大大缩短开发周期。本系统选用的是PLX公司生产的PCI9052接口芯片作为PCI总线控制器,实现接口卡与PCI总线的桥接。[page]

  在进行驱动编写前,需要根据功能需求对PCI9052芯片进行相应的配置操作。PCI9052芯片有2类寄存器:PCI配置寄存器和局部总线配置寄存器。PCI配置寄存器的内容反映配置空间的情况,它的配置空间的内容包括PCI设备号DID,制造商号VID、中断号、设备类型号、局部空问基地址、局部空间描述符、片选响应以及局部响应控制CNTRL等信号,这些配置信息在芯片复位时通过串行E2PROM加载。PCI9052会自动根据该E2PROM的状态决定其内部寄存器值。E2PROM中的配置信息的正确与否关系着整个板卡是否能够正常工作。当系统配置成功后,接口卡可被PC机识别,即可进行驱动程序的开发。

  2.2 系统软件设计

  2.2.1 驱动程序设计

  设备驱动程序提供连接到计算机的硬件的软件接口,所要完成的任务是链接应用层和硬件层,使操作系统识别具体硬件,并使用硬件资源。微软公司提供了专门的驱动程序开发工具包Windows XP DDK,但是DDK开发难度较大,周期长,不容易掌握,Numga公司的开发工具Driv er Studio可以大大简化驱动程序的开发过程,它制作的类库封装了DDK的函数,完全兼容所有的DDK函数,它封装了比较底层的繁复操作,减少了对简单接口的复杂操作,专门提供了的开发向导Wizard与微软的Visual C++紧密地集成,驱动程序代码框架只需要在DrivetWorks工具向导程序的指引下,根据硬件的具体参数填写必要步骤即可完成。另外,Driver Wizard还能生成专为特殊设备定制的代码,比如PCI设备,ISA设备等。

  驱动程序的基本功能是完成设备的初始化、对端口的读写操作、中断的设备和响应及中断的调用,以及对寄存器和内存的直接读写。在Driver Studio生成的程序框架上,根据具体的要求添加新的类对象和代码,结合接口卡的特点,编写一些特殊的驱动,在VC下编译后即可得到所需的驱动程序。

  2.2.2 应用程序设计

  Windows系统为用户提供了一些API函数,用于向WDM结构的驱动程序发命令以及进行数据交换,在内核区存在各种与之相对应的处理例程,见表1。

  

  CreateFile用于获得驱动程序句柄,CloseHandle关闭驱动程序,而其余函数用于应用程序控制驱动程序或者与驱动程序交换数据,其中Device Control函数完成读取PCI配置空间内容的功能。在WDM中实现输入输出处理可以通过KIoRange类实现。应用层通过DeviceloControl函数向设备句柄调用KIoRange类的成员函数,实现应用层对I/O空间的处理。

  应用程序的流程如图2所示。

  

  3 结语

  1553B作为一种高可靠性和稳定性的数据总线已在军事和工业领域得到越来越广泛的应用。本文设计了一种基于PCI总线的1553B总线接口卡,分别使用PCI9052和BU-61580作为PCI总线和1553B总线的协议芯片,使用FPGA进行总线逻辑控制,提高了系统的集成度,驱动程序方面,利用Driver Studio向导生成驱动程序的框架,极大简化了驱动程序的编制。实验证明,本文设计的接口卡可以为电子设备提供符合1553B标准的接口,完成可靠的数据交换,工作稳定,功能完善,多个板卡可组成一个1553B总线仿真测试系统,通过仿真设备可用于模拟航电设备进行仿真测试,对开发1553B总线通信系统具有重要的现实意义和应用前景。

关键字:PCI  局部总线  1553B总线接口卡 引用地址:基于PCI总线的1553B总线接口卡设计

上一篇:虚拟I2C总线串行显示电路介绍
下一篇:AVX提供0603和0805尺寸的多层有机双工器

推荐阅读最新更新时间:2024-05-02 22:55

泰克PCIe5专题上海开讲, PCI-SIG前主席担任专题导师
泰克实验室开放日活动【PCIe4/PCIe5专题】于9月17~19日在泰克上海办公室举行,活动首日的公开课环节,特邀PCI-SIG前Chairman - Dan Froelish担任PCIe5专题的导师,为工程师们带来PCIe的最新信息。Dan与参会工程师分享了PCI5.0以及PCIe6.0规范的最新进展,设计和测试将面临的挑战,测试方法论的逻辑及其实现方法。 加入泰克前,Dan曾担任PCI-SIG电气工作组联合主席(co-chair)和技术编辑,负责PCIe4.0和PCIe5.0电气规范部分的开发。在2005-2018年间,Dan还担任PCI-SIG CEM 工作组的主席和技术编辑,负责PCIe2.0/3.0/4.0以
[测试测量]
泰克PCIe5专题上海开讲, <font color='red'>PCI</font>-SIG前主席担任专题导师
基于Virtex5的PCI-Express总线接口设计
  PCI Express是由Intel,Dell,Compaq,IBM,Microsoft等PCI SIG联合成立的Arapahoe Work Group共同草拟并推举成取代PCI总线标准的下一代标准。PCI Express利用串行的连接特点能轻松将数据传输速度提到一个很高的频率,达到远远超出PCI总线的传输速率。一个PCI Express连接可以被配置成x1,x2,x4,x8,x12,x16和x32的数据带宽。x1的通道能实现单向312.5 MB/s(2.5 Gb/s)的传输速率。Xilinx公司的Virtex5系列FPGA芯片内嵌PCI-ExpressEndpoint Block硬核,为实现单片可配置PCI-Express总
[嵌入式]
PCI-Express总线简析
背景 PCI Express是一个计算机系统总线的名称,不过大家听得最多的还是“接口”这个词。PCI Express的确是下一代的总线接口,而采用此类接口的产品,多为显卡,而PCI-E接口的显卡,也已在2004年正式面世。早在2001年的春季“英特尔开发者论坛”(IDF2001)上,英特尔公司就提出了要用新一代的技术取代PCI总线和多种芯片的内部连接,并称之为第三代I/O总线技术。随后在2001年底,包括Intel、AMD、DELL、IBM在内的20多家业界主导公司开始起草新技术的规范,并在2002年完成,对其正式命名为PCI Express。看来,新技术也并不是一促而僦的,它也需要长期的准备,这样,才会让它一面世便拥有相当的成熟度
[嵌入式]
工控机Compact PCI总线
  Compact PCI总线     Compact PCI总线简称CPCI,中文又称紧凑型PCI,是国际PICMG协会于1994年提出来的一种总线接口标准。它的出现解决了多年来电信系统工程师与设各制造商面临的棘手问题,将VME密集坚固的封装和大型设备的极佳冷却效果以及PC廉价、易采用最新处理能力的芯片结合在一起,保证了99.999%的高可靠度,极大降低了硬件和软件开发成本。目前PCI总线已成为了事实上计算机的标准总线。     早在1995年,香港塞德公司将具有优质、高效、低耗等优势的最新总线类产品Compact PCI推向中国市场,同时也把美国PICMG协会的发展情况介绍到中国。我国工控界权威人士即达成共识:要跟踪高科技,保持
[嵌入式]
多媒体PCI接口控制芯片SAA7146A及其应用
摘要:概述了多媒体处理芯片SAA7146A的主要特点,描述了其内部的主要结构和关键功能,介绍了其在视频音频处理领域的开发应用,并给出了在视频图像多媒体中相应实例。 关键词:多媒体 PCI总线 信号处理 图像采集 现在,基于PC机的多媒体应用越来越广泛,各种视频、音频信号处理技术日新月异。其中的关键技术之一就是计算机与各种外围多媒体器件的接口问题。PC机可供选择的总线接口基本上有ISA、PCI、USB三种。其中,ISA总线传输率很低,只有8MB/s,基本上已被淘汰;USB接口虽然对用户来说使用很方便,但它的数据传输率也不够高,USB1.1版的数据传输率只有12MB/s。由于多媒体信号中的视频信号的实时处理对数据传输率要求很高,较
[手机便携]
浅论PCI 9 O 5 2芯片功能及其应用
0 引言 目前,PCI总线已成为新一代个人计算机的标准总线,它是一种高性能的32/64位地址数据复用总线,总线时钟频率0~33MHz,具有独立于处理器、高数据传速率、即插即用、低功耗、适应性强等特点。随着PCI总线的广泛应用,其接口的设计开发显得尤为重要。实现PCI总线接口一般采用CPLD或FPGA设计PCI接口,这种方法难度很大;另一种是采用专用的PCI接口电路,使设计开发者免除繁琐的时序分析,缩短开发周期,降低开发成本。PCI通用接口芯片对于PCI协议的良好支持,以及提供给设计者的良好接口都大大减少了设计者的工作量。现有的PCI接口芯片主要有AMCC公司的MACCS59XX系列和PLX公司的PLX系列。本文将对PLX公司的
[工业控制]
浅论<font color='red'>PCI</font> 9 O 5 2芯片功能及其应用
基于PCI总线的无线电高度表测试系统
   0引言   为了适应高科技条件下的现代战争,不仅要不断地提高战斗机的性能,而且对相应检测设备也提出了更高要求。先进测试技术的应用是战斗机维护修理的发展方向,是减少维修时间、提高装备完好率的重要手段。本文所设计的检测设备的技术高低对高度表的日常维护、检测起了决定性的作用。   本文对高度表的组成和工作原理进行分析,确定被测试项目。重点对被测参数进行分析,采用并行的开发模式。选择适合的工控机,设计相应的调理电路。软件用LabWindows/CVI语言,完成编辑、编译、连接、调试、仿真等开发。    1 高度表概述   本文所研究的无线电高度表(以下简称高度表)作为某型导弹纵向弹道控制的关键部件,其性能的好坏将直接
[嵌入式]
PCI9052在多功能CAN适配卡中的应用研究
0 引言 PCI总线是一种独立于CPU的局部总线,实现PCI接口的方案一般有两种:采用可编程逻辑器件和专用总线接口器件。采用可编程逻辑器件实现PCI接口的好处是比较灵活,但其设计难度很高,因为PCI总线对负载要求、传输数据的建立时间的要求都比较苛刻,同时还需要器件内部实现用于配置的各类寄存器,以及完成逻辑校验、地址译码等工作的寄存器。此外,还需加入FIFO、用户寄存器组和后端设备接口等部分。设计这种PCI总线接口会导致将大量的人力、物力投入到复杂的逻辑验证和时序分析的工作上,开发周期较长。采用专用接口器件虽然没有采用可编程逻辑器件那么灵活,但能够有效地降低接口设计的难度,缩短开发时间。专用接口器件具有较低的成本和很高的通用性,能
[单片机]
<font color='red'>PCI</font>9052在多功能CAN适配卡中的应用研究
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved