MILSTD1553B数据总线协议学士学位论文.doc

上传人:仙人指路1688 文档编号:4018794 上传时间:2023-04-01 格式:DOC 页数:40 大小:859KB
返回 下载 相关 举报
MILSTD1553B数据总线协议学士学位论文.doc_第1页
第1页 / 共40页
MILSTD1553B数据总线协议学士学位论文.doc_第2页
第2页 / 共40页
MILSTD1553B数据总线协议学士学位论文.doc_第3页
第3页 / 共40页
MILSTD1553B数据总线协议学士学位论文.doc_第4页
第4页 / 共40页
MILSTD1553B数据总线协议学士学位论文.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《MILSTD1553B数据总线协议学士学位论文.doc》由会员分享,可在线阅读,更多相关《MILSTD1553B数据总线协议学士学位论文.doc(40页珍藏版)》请在三一办公上搜索。

1、1 绪论1.1 引言随着科技的发展及战争的需要,战车、舰船、飞机等武器平台上电子设备越来越多,越来越复杂,于是将电子设备按一定的协议联网加以有效地综合,使之达到资源和功能共享已成为必然的要求。电子综合的支撑技术是联网技术,而武器平台上的联网技术不同于一般的局域网络技术,它特别强调网络的可靠性和实时性1。1553B总线最初是在七十年代末为适应飞机的发展由美国提出的飞机内部电子系统联网标准,其后由于它的高可靠性和灵活性而在其他的机动武器平台上也得到了较广泛的应用。MIL-STD-1553B是70年代发展起来的“ 飞机内部时分制指令响应式多路传输数据总线”,它具有可靠性高、速度快、反应灵敏、双冗余等

2、特点,特别适用于快速反应武器系统2。虽然其传输速率只有1Mbit/s,但它并没有因后来发展起来的高速网遭淘汰, 而是随微电子技术和计算机技术的发展而不断提高。世界上许多集成电路公司和厂家都不断开发和生产集成度更高、通用性更强的1553B总线系列器件。这些器件优化了1553B总线通讯接口,减轻了主机的通讯负担,从而提高了系统的可靠性3。1.2国内外1553B总线研究发展状况及涉及领域 随着时代的发展,对于增加飞机推力、改善气动性能等技术的成熟,航空系统设计任务的重点,逐渐集中在飞机内部的电子设计上。与此同时,信息工程、计算机技术、控制技术、电子技术都有了长足的进步。航空电子综合化技术就是在这样的

3、背景下产生的3。技术的核心问题是实现信息采集、处理、分配、存储的一个系统。MIL-STD-1553B多路总线是综合化航空电子系统设备间的数据交换纽带,它将所有的综合化航空电子子系统连接在一起,共同构成具有特殊性的分布式计算机网络,从而实现综合系统内部的信息共享和系统综合化控制。航空电子系统中,不仅需要不同的硬件接口来应付不同的航空设备,而且航空设备内部接口连线也十分复杂和混乱,可靠性能也不高3。为了解决这个状况,提出了在航空电子系统中使用数据总线,使得不同的航空电子设备之间能够互相通信。美国军方提出的MIL-STD-1553B数据总线协议就是在航空电子综合化技术发展过程中形成的现代航空机载系统

4、设备互联的网络接口标准。从推出到现在,经过三十多年的发展,1553B总线技术也在不断的改进。目前1553B总线已经成为在航空航天领域占统治地位的总线标准。国内对 1553B 总线协议进行了跟踪研究,制定了相应的国军标 GJB289A,科研院所和相关单位在这方面做了大量的工作,也取得了一定的成绩。如成都恩菲特公司自主研发的 eph31580 型芯片1。如图1.2所示:图1.1 成都恩菲特eph31580 型芯片1.3本论文的研究内容及安排从接口实现的具体功能出发,采用自顶向下的设计思想,结合大型可编程逻辑器件的特点,提出了一种基于FPGA的1553B总线接口系统的设计方法。对系统进行了总体分析及

5、结构设计,使用硬件描述语言VHDL对设计进行了描述,最后在FPGA上进行了实现。1553B总线系统的关键核心部分是总线接口芯片,在充分检索相关资料后,对MIL-STD-1553B数据总线协议进行分析研究,设计基于FPGA的1553B总线控制器,并要设计预留工作方式选择信号及控制信号,以可将总线控制器、远程终端接口、总线监视器结合起来以达到通用航空总线接口的功能。完成相应的软件系统语言程序最后经综合和仿真验证后,在特定的FPGA中实现。采取的设计步骤安排如下:第1章:主要阐述了MIL-STD-1553B总线技术的国内外发展情况以及相关领域的运用。第2章:查找一些MIL-STD-1553B数据总线

6、协议的资料,并对其进行初步的制定步骤。第3章:结合相关书籍和设计方法对1553B总线接口提出总体的设计方案。第4章:应用1553B总线接口的具体设计与实现FPGA,并最后对其中每个小模块的设计作详细的设计。第5章:1553B总线接口试验分析,主要介绍总线接口芯片测试系统设计及其测试的结果分析以及系统性能分析。第6章:总结了本文的研究设计工作,并对将来进一步的工作做了展望。2 MIL-STD-1553B数据总线协议简介2.1 1553B数据总线的应用和特点由于其传输速率高,设备之间连接简单灵活,噪声容限高,通信效率高而且可靠,为美军标所采用,将其作为机载设备相互通信的总线标准。从推出到现在,经过

7、三十年的发展,1553B总线技术也在不断的改进。目前1553B总线已经成为在航空航天领域占统治地位的总线标准4。MIL-STD-1553B的其可靠性、稳定性的特点,在美国等过早已得到认可,且对1553B的使用,已由军飞机的使用扩展到坦克、船舶、卫星、武器等领域。图2.1 1553B航空总线的大体应用领域综合起来1553B总线有以下几个优良特点56:(1)实时性好,1553B总线的传输码速率为1Mbps,每条消息最多包含32个字,传输一个固定不变的消息所需时间短。(2)合理的差错控制措施和特有的方式命令,为确保数据传输的完整性,1553B采用了合理的差错控制措施反馈重传纠错方法。当总线控制器BC

8、向某一终端RT发出一个命令或发送一个消息时,终端应在给定的响应时间内发回一个状态字,如果传输的消息有错,终端就拒绝发回状态字,由此报告上次消息传输无效。而方式命令不仅使系统能完成数据通讯控制任务,还能调查故障情况并完成容错管理功能。(3)总线效率高, 总线形式的拓扑结构对总线效率的要求比较高,为此1553B对涉及总线效率指标的某些强制性要求如命令响应时间、消息间隔时间以及每次消息传输的最大和最小数据块的长度都有严格限制。 (4)具有命令/响应以及“广播”通讯方式,BC能够以“广播”方式向所有RT发送一个时间同步消息,这样总线上的所有消息传输都由总线控制器发出的指令来控制,相关终端对指令应给予响

9、应并执行操作。这种方式非常适合集中控制的分布式处理系统。2.2 编码方式1553B总线上数据是以双相曼彻斯特编码的方式传输的。曼彻斯特码是一种广泛应用于航空电子综合系统中的、线数据传输的双极性码。它在每个码位中点存在一个跳变。1信号是一个由l到0的负跳沿,而O信号是由0到1的正跳沿。它本身包含了自定时的信息,因此它不需要独立的信道来传输位定时信息,它可以直接从数据中分离出定时时钟,在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,因此具有自同步能力和良好的抗干扰性能7。它是主要用在数据同步传输中的一种编码方式。图2.2给出了 ManehesterIx编码

10、的方式同时此种编码方式还能与变压器祸合相协调,十分适合用在变压器祸合形式,长度为6m(20英尺)左右的场合,在航空电子综合系统中,它是最主要的编码形式8。图2.2 Manehester11编码2.2.1 FPGA的内部结构应用特点:1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。2)FPGA可做其它全定制或半定制ASIC电路的中试样片。3)FPGA内部有丰富的触发器和I/O引脚。4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5) FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容9。可以说,FPGA芯片是

11、小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。2.3 硬件

12、描述语言(HDL)硬件描述语言HDL(Hardware Description Language )是一种用形式化方法来描述数字电路和数字逻辑系统的语言。数字逻辑电路设计者可利用这种语言来描述自己的设计思想,然后利用EDA工具进行仿真,再自动综合到门级电路,最后用ASIC或FPGA实现其功能7。 举个例子,在传统的设计方法中,对2输入的与门,我们可能需到标准器件库中调个74系列的器件出来,但在硬件描述语言中,“&”就是一个与门的形式描述,“C = A & B”就是一个2输入与门的描述。而“and”就是一个与门器件10。 硬件描述语言发展至今已有二十多年历史,当今业界的标准中(IEEE标准)主要

13、有VHDL和Verilog HDL 这两种硬件描述语言。2.3.1 VeriIog HDL在数字电路设计中,数字电路可简单归纳为两种要素:线和器件。线是器件管脚之间的物理连线;器件也可简单归纳为组合逻辑器件(如与或非门等)和时序逻辑器件(如寄存器、锁存器、RAM等)。一个数字系统(硬件)就是多个器件通过一定的连线关系组合在一块的。因此,Verilog HDL的建模实际上就是如何使用HDL语言对数字电路的两种基本要素的特性及相互之间的关系进行描述的过程。随着Verilog-XL算法的成功,Verilog HDL语言得到迅速发展。1989年,Cadence公司收购了GDA公司,Verilog HD

14、L语言成为Cadence公司的私有财产。1990年,Cadence公司决定公开VerilogHDL语言,于是成立了OVI(Open Verilog International)组织,负责促进Verilog HDL语言的发展。基于Verilog HDL的优越性,IEEE于1995年制定了Verilog HDL的IEEE标准,即Verilog HDL1364-1995;2001年发布了Verilog HDL 1364-2001标准。在这个标准中,加入了Verilog HDL-A标准,使Verilog有了模拟设计描述的能力1112。Verilog HDL适合算法级(Algorithm)、寄存器传输级

15、(RTL)、逻辑级(Logic)、门级(Gate)和板图级(Layout)等各个层次的设计和描述11。具体如表2.2所示。表2.2 不同层级的描述方式设计层次 行为描述 结构描述系 统 级 系统算法 系统逻辑图寄 存 器 数据流程图、真值表 寄存器ALUROL等 输 出 级 状态机 分模块描述 门 布尔方程 逻辑门触发器锁存器 级 真 值 表 构成的逻辑图版 图 级 几何图形 图形连接关系2.3.2 VHDL语言VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必然具有很多其他硬件描述语言所不具备的优点1。归纳起来 VHDL 语言主要具有以下优点:(1) VHDL 语言功能强大,

16、设计方式多样VHDL 语言具有强大的语言结构,只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时,它还具有多层次的电路设计描述功能。此外,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现, 这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多样,既支持自顶向下的设计方式,也支持自底向上的设计方法;既支持模块化设计方法,也支持层次化设计方法。(2) VHDL 语言具有强大的硬件描述能力10VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路,也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方

17、式。同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。 (3) VHDL 语言具有很强的移植能力VHDL 语言很强的移植能力主要体现在:对于同一个硬件电路的 VHDL 语言描述,它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。(4) VHDL 语言的设计描述与器件无关 采用VHDL 语言描述硬件电路时,设计人员并不需要首先考虑选择进行设

18、计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化,而不需要考虑其他的问题。当硬件电路的设计描述完成以后,VHDL 语言允许采用多种不同的器件结构来实现。 (5) VHDL 语言程序易于共享和复用VHDL 语言采用基于库 ( library) 的设计方法。在设计过程中,设计人员可以建立各种可再次利用的模块,一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计,而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块,将这些模块存放在库中,就可以在以后的设计中进行复用11。由于 VHDL 语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言,因此它可以使设

19、计成果在设计人员之间方便地进行交流和共享,从而减小硬件电路设计的工作量,缩短开发周期。2.3.3 veriIog HDL和VHDL的比较目前最主要的硬件描述语言是VHDL和Verilog HDL。VHDL发展的较早,语法严格,而Verilog HDL是在C语言的基础上发展起来的一种硬件描述语言、语法较自由(目前ASIC设计多采用Verilog语言)10。VHDL和VerilogHDL两者相比,VHDL是一种高级的描述语言,通常更适合行为级和RTL级的描述,可以用于高级建模,而VerilogHDL则是一种比较低级的描述语言,更适合于RTL级,尤其是门级电路的描述,易于控制电路的资源。另外,从两种

20、语言推进的过程来看,VHDL语言偏重标准化考虑,而Verilog语言由于是在Cadence扶植下针对EDA工具开发的硬件描述语言,因此,跟EDA工具的结合更为密切。学习VHDL比学习Verilog难一些,但Verilog自由的语法也使得的初学者容易上手但也容易出错。国外电子专业很多在本科阶段教授VHDL,在研究生阶段教Verilog。从国内来看,VHDL的参考书很多,便于查找资料,而VerilogHDL的参考书则很少,这给学习Verilog HDL带来不少困难。结合两者的优点,经常采用VHDL和VerilogHDL两种混合语言进行电子线路描述,使得利用语言描述硬件的效果更佳1213。2.4 1

21、553字结构1553B总线协议规定,总线上数据是以曼彻斯特编码的字格式进行传输的。协议规定每次信息传输包括命令字、数据字(指令字和状态字)等几种字格式。每种字的字长为20位,因为总线数据传输速率是1Mb1t/s,所以传输每一位需要 1us的时间,传输一个完整的字需要20us。这几种字格式的有效信息位是16位,每个字的前3位为同步位,用来表示数据到来并区分为何种字类型。最后一位为校验位,1553B协议规定总线上传输的数据全部采用奇校验,这种做法方便各个终端设备的接口统一,保证数据传输的可靠性。由发送端为数据进行补奇,接收端进行奇校验。数据是以曼彻斯特编码的方式传输的。同步头是判断数据类型和捕获总

22、线上数据的重要信息,同步头总共占用3个数据位,它的特点就是电平变化以1.5个数据位为单位,因此接收端只要判断电平在1.5个数据单位变化就认为是同步头。同步头分为两种:前 1.5个数据位为高电平,后1.5个数据位为低电平的同步头用来表示这个字为命令字(方式指令字)或者状态字;前1.5个数据位为低电平,后1.5个数据位为高电平的同步头用来表示这个字为数据字15。图2.3 1553B总线命令字/数据字/状态字格式图2.5 155B总线的网络拓扑结构 MIL-STD-1553B总线网络由终端、字系统和总线传输介质组成。终端是使数据总线和子系统相连接的电子组件。字系统为多路数据总线上接收数据传输服务的装

23、置或功能单位。总线控制器(BC)是总线系统上传输的信息并有选择地提取信息以备后用的终端。 1553B总线系统采用命令、响应式传输的操作方式。只有当总线控制器发出命令后,远程终端才能做出响应,也即远程终端永远是被动的,即使它想给BC或者给别的RT发信息。2.6 对于BC功能的155B工作模式1553B的三种工作模式:总线控制器(Bus Controller),远程终端(Remote Terminal),总线监控器(Bus Monitor)。其中总线控制器(BC):对1553B总线的控制和管理,也是所有信息传输动作的发起者。任何时刻总线上只有一个总线控制器,其负责发送命令、参与数据传输、接收状态响

24、应和检测总线系统。2.7 155B总线的传输方式和数据格式 1553B总线的传输速度是1Mb/s,采用曼彻施特II型编码,半双工工作方式。信号以串行数字脉冲编码调制(PCM)形式在数据总线上传输。逻辑1为双极编码信号1/0,即一个正脉冲继之一个负脉冲,逻辑0为双极编码信号0/1,即一个负脉冲继之一个正脉冲1415。图2.4 155B总线的传输方式 1553B信息流由一串1553B消息由命令字、数据字、状态字组成。所有1553B字都是20bit长,每一个字都应是:3为同步头+16位数据/命令/状态为+1为奇偶校验。同步和奇偶校验位被1553硬件用在确定1553信息格式和数据错误的时候17。3 1

25、55B3总线接口设计总体方案3.1 1553B数据总线系统的设计总线系统原理工作硬件组成如图3.1 双通道收发器宿主机接口双端口存储器C P U接口寄存器及控制逻辑1553协议处理器(耦合器) da通道Aadcs通道B读写RAM控制(耦合器)图3.1 总线总体设计思路组成 1553B总线接口主要包括3大模块,双通道收发器、1553B协议处理器和接口寄存器,以及使用FPGA的片内双口RAM存储器。双通道收发器属于电平转换设备,不能够在FPGA内部实现,可以用收发芯片等来完成其功能。1553B协议处理器完成总线控制器的主要功能。CPU处理器,EPROM,RAM,信道切换逻辑等组成,完成接收与发送消

26、息的打包和解包处理,以便于子系统接收/发送。与宿主机接口模块实现宿主机与总线接口板间的接口,连有双端口存储器,驱动电路和译码电路。双口存储器主要用于主机和总线接口板进行信息交换的缓冲区,减少主机的负荷。3.2 1553B协议处理器结构1553B协议处理器是一个1553B总线接口的核心部分。它完成包括收发消息,数据流控制等多种协议处理流程。因为总线接口可以分为总线控制器BC、远程终端RT和总线监视器BM三种类型,所以协议处理器按功能可以划分为BC、RT或者BM。本设计要实现的BC和RT在有些功能上是相同的,所以部分模块是BC/RT通用的。 总线控制器BC实现的功能18总线控制器是总线信息传输的发

27、起者,要实现的具体功能包括:(l)信息的正确发送:包括命令字/方式指令的写入、添加同步头、字计数、曼彻斯特编码等。(2)信息的正确接收:包括状态字和数据字的接收、同步头识别、字计数、曼彻斯特解码、产生中断及奇偶校验等。(3)字/消息的处理:包括命令字提取,双命令字的协调、状态字的分析、接口寄存器的读写、自测试、存储器及缓冲器读写等。所以,以下的实验内容主要是围绕着这子模块进行编写和设计。如图3.3 就是对该些部分的划分结构。时钟产生模块主处理器 地址控制存储器接口并行通信接口串行通信接口数字接收器模拟接收器双口RAM命令字/状态字译码及发送命令字控制发生器控制模拟发送器数字发送器状态字设置/命

28、令字寄存器发送超时监测检错控制图3.2 总线接口系统结构图(1)模拟收发器部分:简要来说接收部分是将双电平曼彻斯特码转化为单电平曼彻斯特码,而发送部分则是将单电平曼彻斯特码转化为双电平曼彻斯特码,包括模拟接收器和模拟发送器两部分。模拟接收器:数字逻辑与数据总线相接的最基本前端模拟部件。由于FPGA纯粹基于数字电路设计,所以对于模拟接收中的模拟量处理部分,要经过外部模拟电路进行实现。尽管总线上的信号是以数字形式传输的,但连接终端的双绞屏蔽线电缆,其特性会引起信号衰减,终端收到的信号常是一个失真的正弦波。总线上的输入信号通过滤波消除了高频噪声。门限检出为抑制低频噪声创造了条件且具有与逻辑检测相兼容

29、的数字输出。并将双极性的曼彻斯特码转换为单极性的曼彻斯特码。模拟发送器:数字逻辑与数据总线相接的模拟部件,它是将FPGA发出的单极性信号转变为符合MIL-STD-1553B标准的双极性信号。(2)总线接口部分:接收部分实现的功能是将曼彻斯特码转换为单极性不归零码(NRZ码),并且实现对同步头的检测,以及奇偶位的校验,实现串/并转换。发送部分实现的功能是将曼彻斯特码转换为双极性不归零码(NRZ码),并且实现对同步头的编码,实现状态字、数据字和命令字的编码,以及奇偶位的产生,进行并/串转换。根据1553B通讯协议的规定,发送器要禁止发送大于800微秒的消息。包括数字接收器,数字发送器和发送超时检测

30、三部分。数字发送器:该部分即为曼彻斯特码编码,它是将单极性不归零码转换为单极性的曼彻斯特码,而且实现对同步头的编码,以及奇偶位的产生,并对数据进行并/串转换。数字接收器:该部分即为曼彻斯特码解码,功能与发送器刚好相反,是将单极性曼彻斯特码转换为单极性不归零码,同时实现对同步头的检测,以及奇偶位校验位检测,位计数检测,同步时钟的提取,以及数据的串/并转换。发送超时检测:在MIL-STD-1553B协议标准中规定发送器要禁止发送大于800微秒的消息。本模块就是对发送器进行计时控制,当发送器发送的消息时间大于800微秒时,它就关断发送器。(3)总线协议处理模块:实现命令字、状态字以及方式命令译码,进

31、行RT地址比较,子地址比较,进行命令字、状态字和方式命令译码,进行错误检测及发送中断信号等。并要为其余模块发送相应控制量,实现对总线接口的控制。包括命令字/状态字译码及数据控制,地址控制,检错控制,命令字发送及状态字设置,发送器控制等几部分。命令字/状态字译码及命令字发送控制部分:该模块实现的功能是在BC工作方式下发送命令字,且在BC/RT/MT三种工作模式下对命令字或状态字进行译码,产生相应的控制信号实现对其他模块的控制,如对地址控制部分,检错控制部分,命令字发送/状态字设置部分,以及发送器控制部分等,本部分是接口芯片的一个核心部分。地址控制部分:该模块实现对各工作方式下输入双口RAM的地址

32、的控制以及读写使能。包括地址变换和地址选择两部分。检错控制部分:该模块用于检测消息传输过程中发生的错误,包括字计数检测及RT响应超时检测,并且根据其它模块检测到的RT地址错误、奇偶校验错误和位计数错误等产生中断信号17。状态字设置部分:该模块实现RT工作方式下的返回状态字设置,及对状态字和当前命令字和上一命令字进行存储,以备方式命令的消息方式的实现。发送器控制模块:针对不同的工作方式的所需要发送的数据的选择。时钟产生:对外部输入时钟进行处理产生不同频率的时钟。它实质上是一个计数器,对外部输入时钟进行分频处理。(4)主处理器接口部分:实现主处理机与总线接口交换信息的功能,通过共享RAM来实现。包

33、括并行通信接口、串行通信接口、存储器接口和双端口RAM。其中每部分的具体功能如下:存储器接口:它实际上是一个隔离器,对外部子系统处理器和总线接口芯片对双口RAM进行访问的信号进行处理,它不允许两者同时对双口RAM进行读或者写,当两者同时读或写时,进行相应控制,规定两者的访问优先级。双口RAM:它是整个芯片的数据存储区,用以存储不同工作方式下的各类字,是传输消息的内容数据,也是处理器与总线接口芯片通信的数据交换媒介18。并行通信控制接口:该部分主要实现总线接口芯片与主处理器并行通信。串行通信接口:该部分即为了实现总线接口芯片的串行通信,在FPGA中嵌入UART(通用异步收发器),可以与具有UAR

34、T的通信接口部件相连接,例如通过RS232总线与PC机进行串行通信。3.3 总线接口寄存器模块功能接口寄存器是以控制和状态寄存器来实现的,主要有以下几个寄存器:远程终端命令字寄存器:RT模式下,存储接收到的所有命令字和方式指令字。接收命令字寄存器:只在RT的模式下使用,信息完整的接收后,命令字会从远程终端命令字寄存器送入此寄存器18。第一命令字寄存器:存放BC要发送的命令字,或者存放RT一RT传输的第一个命令字。矢量字/第二命令字/方式指令数据寄存器:在BC模式下,可以存放RT一RT传输时的第二个命令字或者方式指令需要的数据字;在RT模式下,存放方式指令提取的矢量字。第一状态字寄存器:存放RT

35、返回的状态字,或者是RT一RT模式下RT返回的第一个状态字。同步/第二状态字/返回方式指令数据寄存器:在BC模式下,此寄存器既可以存放来自RT一RT模式下传输的第二个状态字也可以存放来自RT的方式指令返回字:RT模式下,作为存放带数据字的方式指令字的数据字的寄存器。操作寄存器:子系统用来控制总线接口的寄存器。配置整个接口的功能选择。方式指令寄存器:RT接收到的方式指令14。4 1553B总线接口具体设计与实现4.1总线BC功能总线控制器BC是1553B总线上唯一可以发起和终止消息传输任务的终端。一条总线上只可以存在一个总线控制器,它是1553B总线的指挥和调度者。其主要功能是,向系统中的远程终

36、端发出指令,控制终端的行为。包括发送广播指令,模式代码(mode code)指令;普通发送数据指令,普通接收数据指令。 作为总线控制器,要实现的任务包括:(1)数据字的正确接收:包括接收器,同步检出,数据检出,曼彻斯特n码错误检出奇偶检测,位/字计数;(2)数据字的发送:包括发送控制,同步/数据编码,时钟产生;(3)字/消息的处理:包括,a接收部分,计数器,状态寄存器;b自测试部分;c主子系统接口部分,控制,数据地址,控制寄存器;d存储器缓冲器部分;e状态字译码部分,字计数识别,消息错误检出等任务18。作为MILSTD一1553B总线的通用接口应完成以下功能:将总线上的串行信息流转换成处理机可

37、以处理的并行信息或者与之相反;接收或发送信息时,能够识别或生成标准的1553B信息字和消息;完成与处理机之间的信息交换,这包括1553B信息地址的分配,命令字(或状态字)的译码或返回状态字、发送数据字等。4.2 1553B协议处理器BC功能模块设计4.2.1 模拟收发器模拟收/发器是BCR/T/MT直接与传输电缆接口的关键部件,1553B总线采用的是双相码中的曼彻斯特码,本身包含了自定时的信息,同时它能与变压器祸合协调,十分适宜用于变压器祸合形式,电缆长度为500英尺左右航电综合系统中。简要的说就是将双电平曼彻斯特码转化为单电平曼彻斯特码,以及将单电平曼彻斯特码转化为双电平曼彻斯特码。4.2.

38、2 总线控制器BC设计 总线接口的每一种类型的终端的设计都包括模拟收发器、总线接口模块、总线控制模块、处理机接口模块四部分,都需要完成字处理和消息处理,而BC是总线上唯一被安排为执行建立和启动数据传输任务的终端,被指派启动数据总线上信息传输任务的终端。针对BC功能,其FPGA部分的逻辑结构如图4.1示。时钟产生模块地址控制存储器接口并行通信接口外部时钟发送命令字串行通信接口外部控制信号数字接收器双口RAM状态字译码/接收数据字发生器控制数字发送器发送超时监测检错控制图4.1 总线控制器内部结构图下面将结构图中的各小模块进行设计说明。4.2.3 消息发送器在BC模式下,需要涉及到发送指令文字,所

39、以发送消息控制模块根据工作模式从接口寄存器中读取相应的指令字,从而判断消息传输模式是否带数据字等。然后控制发送单元将指令字和数据字发送出去。BC在发送命令字的同时也对发出的命令字进行译码,包括提取RT地址,以及要发送数据字的个数,来产生控制信号提供给其他模块。在RT模式只需要发送状态字、数据字和方式指令数据码,数据字计数需要从命令字的字计数字段提取,方式指令数据码是BC通过方式指令字读取的RT状态,包括上一状态字、上一命令字、矢量字等。Moore型有限状态机的输出只与有限状态机的当前状态有关,与输入信号的当前值无关。在图4.2中描述了Moore型有限状态机的示意图.state logicout

40、put logicstate registerinputstateoutputcurrent stateclokreset图4.2 Moore型有限状态机示意图Moore型有限状态机在时钟clock脉冲的有效边沿后的有限个门延时后,输出达到稳定值。即使在一个时钟周期内输入信号发生变化,输出也会在一个完整的时钟周期内保持稳定值而不变。输入对输出的影响要到下一个周期才能反映出来,Moore型有限状态机最重要的特点就是将输入与输出信号隔离开来。单进程Moore型有限状态机,其VHDL语言描述如下:Library ieee;Use ieee.std_logic_1164.all;Entity moor

41、e is Port(datain : in std_logic_vector(1 downto 0); Clk,clr : in std logic; q : out std_logic_vector(3 downto 0);End moore;Architecture behav of moore is Type st_type is (st0,st1,st2,st3,st4);Signal c_st : st_type;BeginProcesss(clk,clr)BeginIf clr=1 then C_st=st0; qif datain”10” then c st=st1; Else

42、c_st=st0; end if; qif datain”11” then c st=st2; Else c_st=st1; end if; qif datain”01” then c st=st3; Else c_st=st0; end if; qif datain”00” then c st=st4; Else c_st=st2; end if; qif datain”11” then c st=st0; Else c_st=st3; end if; qc_st,=st0; End case;End if;End process;End behav;其特点是组合进程和时序进程在同一个进程中

43、,此进程可以认为是一个混合进程。注意在此进程中,CASE语句处于测试时钟上升沿的ELSIF语句中,因此在综合时,对Q的赋值操作必然引进对Q锁存的锁存器。这就是说,此进程中能产生两组同步的时序逻辑电路,一组是状态机本身,另一组是由CLK作为锁存信号的4位锁存器,负责锁存输出数据Q。与多进程的状态机相比,这个状态机结构的优势是,输出信号不会出现毛刺现象。这是由于Q的输出信号在下一个状态出现时,由时钟上升沿锁入锁存器后输出,即有时序器件同步输出,从而很好地避免了竞争冒险现象。从输出的时序上看,由于Q的输出信号要等到进入下一状态的时钟信号的上升沿进行锁存,即Q的输出信号在当前状态中由组合电路产生,而在

44、稳定了一个时钟周期后在次态由锁存器输出,因此要比多进程状态机的输出晚一个时钟周期,这是此类状态机的缺点。图4.3单进程Moore状态机的工作时序图:图4.3 单进程Moore型状态机的工作时序4.2.4寄存器 1:I/O写寄存器寄存器的写操作VHDL语言描述如下:write:proeess(strb,wr) FPGA的I/O端口进程beginif(wrevent and wr=0)then 写信号wr有效时继续执行该进程if(ios=0 and strb=0)then 判断是信息否是写外部I/O端口case addr iswhen”11111”=commandworddatawordtimerwordnull;end case;end if;end if;end proeess;其操作波形如图4.4所示:图中在wr下降沿,在strb和ios信号为低电平时分别对I/O端口1F,lE,1D都进行了写操作。图4.4 I/O接口写操作2:I/O读寄存器读寄存器的VHDL实现如下:read:process(strb,rd) 读FPGA的I/O进程beginif(rdevent and rd=0)then 读信号rd有效时执行该进程if(ios=0 and strb=0)then 判断端口状态case addr iswhen”11100”=datadspdatadspdatadspdata

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号