MILSTDB数据总线协议样本.doc_第1页
MILSTDB数据总线协议样本.doc_第2页
MILSTDB数据总线协议样本.doc_第3页
MILSTDB数据总线协议样本.doc_第4页
MILSTDB数据总线协议样本.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MILSTDB数据总线协议样本 B MILSTDB数据总线协议本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 11绪论引言随着科技的发展及战争的需要,战车、舰船、飞机等武器平台上电子设备越来越多,越来越复杂,于是将电子设备按一定的协议联网加以有效地综合,使之达到资源和功能共享已成为必然的要求。 电子综合的支撑技术是联网技术,而武器平台上的联网技术不同于一般的局域网络技术,它特别强调网络的可靠性和实时性1。 1553B总线最初是在七十年代末为适应飞机的发展由美国提出的飞机内部电子系统联网标准,其后由于它的高可靠性和灵活性而在其它的机动武器平台上也得到了较广泛的应用。 MIL-S STTD D-1553B B是是070年代发展起来的“飞机内部时分制指令响应式多路传输数据总线”,它具有可靠性高、速度快、反应灵敏、双冗余等特点,特别适用于快速反应武器系统2有。 虽然其传输速率只有1Mbit/s,但它并没有因后来发展起来的高速网遭淘汰,而是随微电子技术和计算机技术的发展而不断提高。 世界上许多集成电路的公司和厂家都不断开发和生产集成度更高、通用性更强的B1553B总线系列器件。 这了些器件优化了B1553B总线通讯接口,减轻了主机的通讯负担,从而提高了系统的可靠性3。 随着时代的发展,对于增加飞机推力、改善气动性能等技术的成熟,航空系统设计任务的重点,逐渐集中在飞机内部的电子设计上。 与此同时,信息工程、计算机技术、控制技术、电子技术都有了长足的进步。 航空电子综合化技术就是在这样的背景下产生的3。 技术的核心问题是实现信息采集、处理、分配、存储的一个系统。 MIL-STD-B1553B多路总线是综合化航空电子系统设备间的数据交换纽带,它将所有的综合化航空电子子系统连接在一起,共同构成具有特殊性的分布式计算机网络,从而实现综合系统内部的信息共享和系统综合化控制。 航空电子系统中,不仅需要不同的硬件接口来应付不同的航空设备,而且航空设备内部接口连线也十分复杂和混乱,可靠性能也不高3。 为了解决这个状况,提出了在航空电子系统中使用数据总线,使得不同的航空电子设备之间能够互相通信。 的美国军方提出的MIL-STD-B1553B数据总线协议就是在航空电子综合化技术发展过程中形成的现代航空机载系统设备互联的网络接口标准。 从推出到现在,经过三十多年的发展,B1553B总线技术也在不断的改进。 当前B1553B总线已经成为在航空航天领本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 域占统治地位的总线标准。 国内对1553B总线协议进行了跟踪研究,制定了相应的国军标GJB289A,科研院所和相关单位在这方面做了大量的工作,也取得了一定的成绩。 如成都恩菲特公司自主研发的eph31580型芯片1。 :成都恩菲特eph31580型芯片从接口实现的具体功能出发,采用自顶向下的设计思想,结合大型可编程逻辑于器件的特点,提出了一种基于FPGA的的1553B总线接口系统的设计方法。 对系统进言行了总体分析及结构设计,使用硬件描述语言VHDL对设计进行了描述,最后在FPGA上进行了实现。 B1553B总线系统的关键核心部分是总线接口芯片,在充分检索相关资料后,对MIL-STD-B1553B数据总线协议进行分析研究,设计基于A FPGA的的B1553B总线控制器,并要设计预留工作方式选择信号及控制信号,以可将总线控制器、远程终端接口、总线监视器结合起来以达到通用航空总线接口的功能。 完成相应的软件系统语言程序最后经综合和仿真验证后,在特定的A FPGA中实现。 采取的设计步骤安排如下:第第1章:主要阐述了MIL-STD-1553B总线技术的国内外发展情况以及相关领域。 的运用。 第第2章:查找一些MIL-STD-B1553B数据总线协议的资料,。 并对其进行初步的制定步骤。 第第3章:结合相关书籍和设计对方法对1553B总线接口提出总体的设计方案。 第第4章:应用1553B总线接口的具体设计与现实现FPGA,并最后对其中每个小模块的设计作详细的设计。 第第5章:1553B总线接口试验分析,主要介绍总线接口芯片测试系统设计及其测试的本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 结果分析以及系统性能分析。 第第6章:总结了本文的研究设计工作,并对将来进一步的工作做了展望。 22MIL-STD-B1553B数据总线协议简介B1553B数据总线的应用和特点由于其传输速率高,设备之间连接简单灵活,噪声容限高,通信效率高而且可靠,为美军标所采用,将其作为机载设备相互通信的总线标准。 从推出到现在,经过三十年的发展,1553B总线技术也在不断的改进。 当前1553B总线已经成为在航空航天领域占统治地位的总线标准4。 MIL-STD-1553B的其可靠性、稳定性的特点,在美国等过早已得到认可,且对1553B的使用,已由军飞机的使用扩展到坦克、船舶、卫星、武器等领域。 1553B航空总线的大体应用领域来综合起来1553B总线有以下几个优良特点56: (1)实时性好,1553B总线的传输码速率为1Mbps,每条消息最多包含32个字,传输本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 一个固定不变的消息所需时间短。 (2)合理的差错控制措施和特有的方式命令,为确保数据传输的完整性,1553B采用了合理的差错控制措施器反馈重传纠错方法。 当总线控制器BC向某一终端RT发发出一个命令或发送一个消息时,终端应在给定的响应时间内发回一个状态字,如果传输的消息有错,终端就拒绝发回状态字,由此报告上次消息传输无效。 而方式命令不仅使系统能完成数据通讯控制任务,还能调查故障情况并完成容错管理功能。 (3)总线效率高,总线形式的拓扑结构对总线效率的要求比较高,为此1553B对涉及总线效率指标的某些强制性要求如命令响应时间、消息间隔时间以及每次消息传输的最大和最小数据块的长度都有严格限制。 (4)具有命令/响应以及“广播”通讯方式,BC能够以“广播”方式向所有RT发送一个时间同步消息,这样总线上的所有消息传输都由总线控制器发出的指令来控制,相关终端对指令应给予响应并执行操作。 这种方式非常适合集中控制的分布式处理系统。 编码方式B1553B总线上数据是以双相曼彻斯特编码的方式传输的。 曼彻斯特码是一种广泛应用于航空电子综合系统中的、线数据传输的双极性码。 它在每个码位中点存在一个跳变。 11信号是一个由l l到到00的负跳沿,而O O信号是由00到到11的正跳沿。 它本身包含了自定时的信息,因此它不需要独立的信道来传输位定时信息,它能够直接从数据中分离出定时时钟,在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,因此具有自同步能力和良好的抗干扰性能7。 它是主要用在数据同步传输中的一种编码方式。 x ManehesterIx编码的方式同时此种编码方式还能与变压器祸合相协调,十分适合用在变压器祸合形式,长度为06m(20英尺)左右的场合,在航空电子综合系统中,它是最主要的编码形式8。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 1Manehester11编码FPGA A的内部结构应用特点:1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 3)FPGA内部有丰富的触发器和I/O引脚。 4)FPGA是是ASIC。 电路中设计周期最短、开发费用最低、风险最小的器件之一。 5)FPGA采用高速CMOS工艺,功耗低,能够与CMOS、TTL电平兼容99。 能够说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要的对片内的RAM进行编程。 用户能够根据不同的配置模式,采用不同的编程方式。 ,加电时,FPGA芯片将EPROM中数据读入片内编程RAM,中,配置完成后,FPGA进入工作状态。 掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。 FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM改编程器即可。 当需要修改FPGA功能时,只需换一片EPROM即可。 这样,同一片FPGA,不同的编程数据,能够产生不同的电路功能。 因此,FPGA。 的使用非常灵活。 硬件描述语言(HDL)本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 言硬件描述语言HDL(Hardware DescriptionLanguage)是一种用形式化方法来描述数字电路和数字逻辑系统的语言。 数字逻辑电路设计者可利用这种语言来描述用自己的设计思想,然后利用EDA工具进行仿真,再自动综合到门级电路,最后用ASIC或或FPGA实现其功能7。 举个例子,在传统的设计方法中,对2输入的与门,我们可能需到标准器件库中个调个74系列的器件出来,但在硬件描述语言中,“&”就是一个与门的形式描述,“C=A&B”就是一个2输入与门的描述。 而“and”就是一个与门器件10。 硬件描述语言发展至今已有二十多年历史,当今业界的标准中(IEEE标准)主有要有VHDL和和Verilog HDL这两种硬件描述语言。 VeriIog HDL在数字电路设计中,数字电路可简单归纳为两种要素:线和器件。 线是器件管脚之间的物理连线;器件也可简单归纳为组合逻辑器件(如与或非门等)和时序逻辑器件(如寄存器、锁存器、RAM等)。 一个数字系统(硬件)就是多个器件通过一定的连线关系组合在一块的。 因此,Verilog HDL的建模实际上就是如何使用HDL语言对数字电路的两种基本要素的特性及相互之间的关系进行描述的过程。 着随着Verilog-XL,算法的成功,Verilog HDL。 语言得到迅速发展。 1989,年,Cadence了公司收购了GDA公司,Verilog HDL语言成为Cadence公司的私有财产。 1990年,Cadence开公司决定公开VerilogHDL了语言,于是成立了OVI(Open VerilogInternational)组织,负责促进Verilog HDL语言的发展。 基于Verilog HDL的优越性,IEEE于于1995年制定了Verilog HDL的的IEEE标准,即Verilog HDL1364-1995;了发布了Verilog HDL1364-标准。 在这个标准中,加入了Verilog HDL-A标准,使Verilog有了模拟设计描述的能力1112。 Verilog HDL适合算法级(Algorithm)、寄存器传输级(RTL)、逻辑级(Logic)、门级(Gate)和板图级(Layout)等各个层次的设计和描述11。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 不同层级的描述方式L VHDL语言VHDL语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必然具有很多其它硬件描述语言所不具备的优点1。 归纳起来VHDL语言主要具有以下优点: (1)VHDL语言功能强大,设计方式多样VHDL语言具有强大的语言结构,的只需采用简单明确的VHDL语言程序就能够描述十分复杂的硬件电路。 同时,它还具有多层次的电路设计描述功能。 此外,VHDL语言能够同时支持同步电路、异步电路和随机电路的设计实现,这是其它硬件描述语言所不能比拟的。 VHDL语言设计方法灵活多样,既支持自顶向下的设计方式,也支持自底向上的设计方法;既支持模块化设计方法,也支持层次化设计方法。 (2)VHDL语言具有强大的硬件描述能力10VHDL语言具有多层次的电路设计描述功能,既可描述系统级电路,也能够描述门级电路;描述方式既能够采用行为描述、寄存器传输描述或者结构描述,也能够采用三者的混合描述方式。 同时,VHDL语言也支持惯性延迟和传输延迟,这样能够准确地建立硬件电路的模型。 VHDL语言的强大描述能力还体现在它具有丰富的数据类型。 VHDL语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。 (3)VHDL语言具有很强的移植能力VHDL语言很强的移植能力主要体现在:对于同一个硬件电路的VHDL语言描述,它能够从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。 (4)VHDL语言的设计描述与器件无关设计层次行为描述结构描述系统级系统算法系统逻辑图寄存器数据流程图、真值表寄存器ALUROL等输出级状态机分模块描述门布尔方程逻辑门触发器锁存器级真值表构成的逻辑图版图级几何图形图形连接关系本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 用采用VHDL语言描述硬件电路时,设计人员并不需要首先考虑选择进行设计的器件。 这样做的好处是能够使设计人员集中精力进行电路设计的优化,而不需要考虑其它的问题。 当硬件电路的设计描述完成以后,VHDL语言允许采用多种不同的器件结构来实现。 (5)VHDL语言程序易于共享和复用VHDL语言采用基于库(library)的设计方法。 在设计过程中,设计人员能够建立各种可再次利用的模块,一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计,而是一些模块的累加。 这些模块能够预先设计或者使用以前设计中的存档模块,将这些模块存放在库中,就能够在以后的设计中进行复用11。 由于VHDL语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言,因此它能够使设计成果在设计人员之间方便地进行交流和共享,从而减小硬件电路设计的工作量,缩短开发周期。 L veriIogHDL和和L VHDL的比较是当前最主要的硬件描述语言是VHDL和和Verilog HDL。 VHDL发展的较早,语而法严格,而Verilog HDL是在C语言的基础上发展起来的一种硬件描述语言、语法较自由(当前ASIC设计多采用Verilog语言)10。 VHDL和和VerilogHDL两者相比,VHDL是一种高级的描述语言,通常更适合行为级和RTL级的描述,能够用于高级而建模,而VerilogHDL则是一种比较低级的描述语言,更适合于RTL级,特别是门级电,路的描述,易于控制电路的资源。 另外,从两种语言推进的过程来看,VHDL语言而偏重标准化考虑,而Verilog语言由于是在Cadence扶植下针对EDA工具开发跟的硬件描述语言,因此,跟EDA工具的结合更为密切。 学习VHDL比学习Verilog但难一些,但Verilog自由的语法也使得的初学者容易上手但也容易出错。 国外电子专授业很多在本科阶段教授VHDL,在研究生阶段教Verilog。 从国内来看,VHDL的参而考书很多,便于查找资料,而VerilogHDL的参习考书则很少,这给学习Verilog HDL带来不少困难。 结合用两者的优点,经常采用VHDL和和VerilogHDL两种混合语言进行电子线路描述,使得利用语言描述硬件的效果更佳1213。 31553字结构1553B总线协议规定,总线上数据是以曼彻斯特编码的字格式进行传输的。 协议规定每次信息传输包括命令字、数据字(指令字和状态字)等几种字格式。 每种字的字长为20位,因为总线数据传输速率是11Mb1t/s,所以传输每一位需要1us的时间,本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 传输一个完整的字需要20us。 这几种字格式的有效信息位是16位,每个字的前33位为同步位,用来表示数据到来并区分为何种字类型。 最后一位为校验位,1553B协议规定总线上传输的数据全部采用奇校验,这种做法方便各个终端设备的接口统一,保证数据传输的可靠性。 由发送端为数据进行补奇,接收端进行奇校验。 数据是以曼彻斯特编码的方式传输的。 同步头是判断数据类型和捕获总线上数据的重要信息,同步头总共占用33个数据位,。 同步头分为两种:前,(方式指令字)或者状态字;,15。 1553B总线命令字/数据字/状态字格式图B155B总线的网络拓扑结构MIL-STD-B1553B总线网络由终端、字系统和总线传输介质组成。 终端是使数据总线和子系统相连接的电子组件。 字系统为多路数据总线上接收数据传输服务的装置或功能单位。 总线控制器(BC)是总线系统上传输的信息并有选择地提取信息以备后用的终端。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 B1553B总线系统采用命令、响应式传输的操作方式。 只有当总线控制器发出命令后,远程终端才能做出响应,也即远程终端永远是被动的,即使它想给C BC或者给别的T RT发信息。 对于C BC功能的B155B工作模式B1553B的三种工作模式:总线控制器(Bus Controller),远程终端(Remote Terminal),总线监控器(Bus Monitor)。 其中总线控制器(BC):对对B1553B总线的控制和管理,也是所有信息传输动作的发起者。 任何时刻总线上只有一个总线控制器,其负责发送命令、参与数据传输、接收状态响应和检测总线系统。 B155B总线的传输方式和数据格式B1553B总线的传输速度是1Mb/s,采用曼彻施特I II型编码,半双工工作方式。 信号以串行数字脉冲编码调制(PCM)形式在数据总线上传输。 逻辑11为双极编码信号号1/0,即一个正脉冲继之一个负脉冲,逻辑00为双极编码信号0/1,即一个负脉冲继之一个正脉冲1415。 B155B总线的传输方式B1553B信息流由一串B1553B消息由命令字、数据字、状态字组成。 所有1553B字都是t20bit长,每一个字都应是3:3为同步头6+16位数据/命令/状态为1+1为奇偶校验。 同步和奇偶校验位被31553硬件用在确定31553信息格式和数据错误的时候17。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 333155B3总线接口设计总体方案B1553B数据总线系统的设计(耦合器)da adcs(耦合器)总线总体设计思路组成B1553B总线接口主要包括33大模块,双通道收发器、B1553B协议处理器和接口寄存器,以及使用A FPGA的片内双口M RAM存储器。 双通道收发器属于电平转换设备,不能够在A FPGA内部实现,能够用收发芯片等来完成其功能。 B1553B协议处理器完成总线控制器的主要功能。 U CPU处理器,EPROM,RAM,信道切换逻辑等组成,完成接收与发送消息的打包和解包处理,以便于子系统接收/发送。 与宿主机接口模块实现宿主机与总线接口板间的接口,连有双端口存储器,驱动电路和译码电路。 双口存储器主要用于主机和总线接口板进行信息交换的缓冲区,减少主机的负荷。 B1553B协议处理器结构1553B协议处理器是一个1553B总线接口的核心部分。 它完成包括收发消息,数据流控制等多种协议处理流程。 因为总线接口能够分为总线控制器BC、远程终端RT和总线监视器BM三种类型,所以协议处理器按功能能够划分为BC、RT或者BM。 本设计要实现的BC和RT在有些功能上是相同的,所以部分模块是BC/RT通用的。 总线控制器B BCC实现的功能18总线控制器是总线信息传输的发起者,要实现的具体功能包括:(l)信息的正确发送:包括命令字/方式指令的写入、添加同步头、字计数、曼彻斯特编码等。 ( (2)信息的正确接收:包括状态字和数据字的接收、同步头识别、字计数、曼彻斯特解码、产生中断及奇偶校验等。 1553协议处理器接口寄存器及控制逻辑读写M RAM控制双通道收发器通道A A宿主机接口C P双端口存储器通道B B本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 (3)字/消息的处理:包括命令字提取,双命令字的协调、状态字的分析、接口寄存器的读写、自测试、存储器及缓冲器读写等。 所以,以下的实验内容主要是围绕着这子模块进行编写和设计。 就是对该些部分的划分结构。 总线接口系统结构图 (1)模拟收发器部分:简要来说接收部分是将双电平曼彻斯特码转化为单电平曼彻斯特码,而发送部分则是将单电平曼彻斯特码转化为双电平曼彻斯特码,包括模拟接收器和模拟发送器两部分。 模拟接收器:数字逻辑与数据总线相接的最基本前端模拟部件。 由于FPGA纯粹基于数字电路设计,所以对于模拟接收中的模拟量处理部分,要经过外部模拟电路进行实现。 尽管总线上的信号是以数字形式传输的,但连接终端的双绞屏蔽线电缆,其特性会引起信号衰减,终端收到的信号常是一个失真的正弦波。 总线上的输入信号通过滤波消除了高频噪声。 门限检出为抑制低频噪声创造了条件且具有与逻辑检测相兼容的数字输出。 并将双极性的曼彻斯特码转换为单极性的曼彻斯特码。 模拟发送器:数字逻辑与数据总线相接的模拟部件,它是将FPGA发出的单极性信号转变为符合MIL-STD-1553B标准的双极性信号。 (2)总线接口部分:接收部分实现的功能是将曼彻斯特码转换为单极性不归零码(NRZ模拟接模拟发时钟存储双口命令字字/发生状态字设检发送超数字接数字发主处理器串并地本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 码),并且实现对同步头的检测,以及奇偶位的校验,实现串/并转换。 发送部分实现的功能是将曼彻斯特码转换为双极性不归零码(NRZ码),并且实现对同步头的编码,实现状态字、数据字和命令字的编码,以及奇偶位的产生,进行并/串转换。 根据1553B通讯协议的规定,发送器要禁止发送大于800微秒的消息。 包括数字接收器,数字发送器和发送超时检测三部分。 数字发送器:该部分即为曼彻斯特码编码,它是将单极性不归零码转换为单极性的曼彻斯特码,而且实现对同步头的编码,以及奇偶位的产生,并对数据进行并/串转换。 数字接收器:该部分即为曼彻斯特码解码,功能与发送器刚好相反,是将单极性曼彻斯特码转换为单极性不归零码,同时实现对同步头的检测,以及奇偶位校验位检测,位计数检测,同步时钟的提取,以及数据的串/并转换。 发送超时检测:在M MIL-STD-1553B协议标准中规定发送器要禁止发送大于800微秒的消息。 本模块就是对发送器进行计时控制,当发送器发送的消息时间大于800微秒时,它就关断发送器。 (3)总线协议处理模块:实现命令字、状态字以及方式命令译码,进行RT地址比较,子地址比较,进行命令字、状态字和方式命令译码,进行错误检测及发送中断信号等。 并要为其余模块发送相应控制量,实现对总线接口的控制。 包括命令字/状态字译码及数据控制,地址控制,检错控制,命令字发送及状态字设置,发送器控制等几部分。 命令字/状态字译码及命令字发送控制部分:该模块实现的功能是在BC工作方式下发送命令字,且在BC/R T/MT三种工作模式下对命令字或状态字进行译码,产生相应的控制信号实现对其它模块的控制,如对地址控制部分,检错控制部分,命令字发送/状态字设置部分,以及发送器控制部分等,本部分是接口芯片的一个核心部分。 地址控制部分:该模块实现对各工作方式下输入双口RAM的地址的控制以及读写使能。 包括地址变换和地址选择两部分。 检错控制部分:该模块用于检测消息传输过程中发生的错误,包括字计数检测及RT响应超时检测,并且根据其它模块检测到的R RTT地址错误、奇偶校验错误和位计数错误等产生中断信号17。 状态字设置部分:该模块实现R RTT工作方式下的返回状态字设置,及对状态字和当前命令字和上一命令字进行存储,以备方式命令的消息方式的实现。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 发送器控制模块:针对不同的工作方式的所需要发送的数据的选择。 时钟产生:对外部输入时钟进行处理产生不同频率的时钟。 它实质上是一个计数器,对外部输入时钟进行分频处理。 (4)主处理器接口部分:实现主处理机与总线接口交换信息的功能,通过共享RAM来实现。 包括并行通信接口、串行通信接口、存储器接口和双端口RAM。 其中每部分的具体功能如下:存储器接口:它实际上是一个隔离器,对外部子系统处理器和总线接口芯片对双口RAM进行访问的信号进行处理,它不允许两者同时对双口RAM进行读或者写,当两者同时读或写时,进行相应控制,规定两者的访问优先级。 双口RAM:它是整个芯片的数据存储区,用以存储不同工作方式下的各类字,是传输消息的内容数据,也是处理器与总线接口芯片通信的数据交换媒介18。 并行通信控制接口:该部分主要实现总线接口芯片与主处理器并行通信。 串行通信接口:该部分即为了实现总线接口芯片的串行通信,在FPGA中嵌入UART(通用异步收发器),能够与具有UART的通信接口部件相连接,例如通过RS232总线与PC机进行串行通信。 总线接口寄存器模块功能接口寄存器是以控制和状态寄存器来实现的,主要有以下几个寄存器:远程终端命令字寄存器:RT模式下,存储接收到的所有命令字和方式指令字。 接收命令字寄存器:只在RT的模式下使用,信息完整的接收后,命令字会从远程终端命令字寄存器送入此寄存器188。 第一命令字寄存器:存放BC要发送的命令字,或者存放RT一RT传输的第一个命令字。 矢量字/第二命令字/方式指令数据寄存器:在BC模式下,能够存放RT一RT传输时的第二个命令字或者方式指令需要的数据字;在RT模式下,存放方式指令提取的矢量字。 第一状态字寄存器:存放RT返回的状态字,或者是RT一RT模式下RT返回的第一个状态字。 同步/第二状态字/返回方式指令数据寄存器:在BC模式下,此寄存器既能够存放RT一RT模式下传输的第二个状态字也能够存放RT的方式指令返回字:RT模式下,作为存放带数据字的方式指令字的数据字的寄存器。 操作寄存器:子系统用来控制总线接口的寄存器。 配置整个接口的功能选择。 方本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 式指令寄存器:RT接收到的方式指令14。 44B1553B总线接口具体设计与实现器总线控制器BC是是1553B总线上唯一能够发起和终止消息传输任务的终端。 一是条总线上只能够存在一个总线控制器,它是1553B总线的指挥和调度者。 其主要功能是,向系统中的远程终端发出指令,控制终端的行为。 包括发送广播指令,模式代码(mode code)指令;普通发送数据指令,普通接收数据指令。 作为总线控制器,要实现的任务包括: (1)数据字的正确接收:包括接收器,同步检出,数据检出,曼彻斯特n码错误检出奇偶检测,位/字计数; (2)数据字的发送:包括发送控制,同步/数据编码,时钟产生; (3)字/消息的处理:包括,a接收部分,计数器,状态寄存器;b自测试部分;c主子系统接口部分,控制,数据地址,控制寄存器;d存储器缓冲器部分;e状态字译码部分,字计数识别,消息错误检出等任务18。 为作为MILSTD一1553B总线的通用接口应完成以下功能:将总线上的串行信息流转换成处理机能够处理的并行信息或者与之相反;接收或发送信息时,能够识的别或生成标准的1553B信息字和消息;完成与处理机之间的信息交换,这包括1553B信息地址的分配,命令字(或状态字)的译码或返回状态字、发送数据字等。 1553B B协议处理器C BC功能模块设计模拟收发器模拟收/发器是BCR/T/MT直接与传输电缆接口的关键部件,1553B总线采用的是双相码中的曼彻斯特码,本身包含了自定时的信息,同时它能与变压器祸合协调,为十分适宜用于变压器祸合形式,电缆长度为500英尺左右航电综合系统中。 简要的说就是将双电平曼彻斯特码转化为单电平曼彻斯特码,以及将单电平曼彻斯特码转化为双电平曼彻斯特码。 总线控制器C BC设计总线接口的每一种类型的终端的设计都包括模拟收发器、总线接口模块、总线控制模块、处理机接口模块四部分,都需要完成字处理和而消息处理,而BC是总线上本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 唯一被安排为执行建立和启动数据传输任务的终端,被指派启动数据总线上信息传对输任务的终端。 针对BC功能,。 外部时钟外部控制信号总线控制器内部结构图下面将结构图中的各小模块进行设计说明。 消息发送器在在BC模式下,需要涉及到发送指令文字,所以发送消息控制模块根据工作模式从接口寄存器中读取相应的指令字,从而判断消息传输模式是否带数据字等。 然后控制发送单元将指令字和数据字发送出去。 BC在发送命令字的同时也对发出的命令取字进行译码,包括提取RT地址,以及要发送数据字的个数,来产生控制信号提供给在其它模块。 在RT模式只需要发送状态字、数据字和方式指令数据码,数据字计数需是要从命令字的字计数字段提取,方式指令数据码是BC通过方式指令字读取的RT状状态,包括上一状态字、上一命令字、矢量字等。 Moore型有限状态机的输出只与有限状态机的当前状态有关,与输入信号的当前值无关。 .时钟产生存储器接双口状态字发生器控检错发送超时数字接数字发送串行并行地发本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 input stateoutput currentstate clokreset Moore型有限状态机示意图Moore型有限状态机在时钟clock脉冲的有效边沿后的有限个门延时后,输出达到稳定值。 即使在一个时钟周期内输入信号发生变化,输出也会在一个完整的时钟周期内保持稳定值而不变。 输入对输出的影响要到下一个周期才能反映出来,Moore型有限状态机最重要的特点就是将输入与输出信号隔离开来。 程单进程Moore型有限状态机其,其VHDL语言描述如下:Library ieee;Use;state stateoutpu本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 Entity mooreis Port(datain:in std_logic_vector(1downto0);Clk,clr:in stdlogic;q:out std_logic_vector(3downto0);End moore;Architecture behavof mooreis Typest_type is(st0,st1,st2,st3,st4);Signal c_st:st_type;Begin Processs(clk,clr)Begin Ifclr=1then C_st=st0;qif datain”10”then cst=st1;Else c_st=st0;end if;qif datain”11”then cst=st2;Else c_st=st1;end if;qif datain”01”then cst=st3;Else c_st=st0;end if;qif datain”00”then cst=st4;Else c_st=st2;end if;qif datain”11”then cst=st0;Else c_st=st3;end if;qc_st,=st0;End case;End if;End process;End behav;其特点是组合进程和时序进程在同一个进程中,此进程能够认为是一个混合进本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 程。 注意在此进程中,CASE语句处于测试时钟上升沿的ELSIF语句中,因此在综对合时,对Q的赋值操作必然引进对Q锁存的锁存器。 这就是说,此进程中能产生两由组同步的时序逻辑电路,一组是状态机本身,另一组是由CLK作为锁存信号的4位位据锁存器,负责锁存输出数据Q。 与多进程的状态机相比,这个状态机结构的优势是,于输出信号不会出现毛刺现象。 这是由于Q的输出信号在下一个状态出现时,由时钟上升沿锁入锁存器后输出,即有时序器件同步输出,从而很好地避免了竞争冒险现象。 于从输出的时序上看,由于Q的输出信号要等到进入下一状态的时钟信号的上升即沿进行锁存,即Q的输出信号在当前状态中由组合电路产生,而在稳定了一个时钟周期后在次态由锁存器输出,因此要比多进程状态机的输出晚一个时钟周期,这是此类状态机的缺点。 :单进程Moore型状态机的工作时序1:I/O写写寄存器作寄存器的写操作VHDL语言描述如下:write:proeess(strb,wr)FPGA的的I/O端端口进程begin if(wrevent andwr=0)then写信号wr有效时继续执行该进程if(ios=0and strb=0)then判断是信息部否是写外部I/O端口case addris when”11111”=mandworddatawordtimerwordnull;end case;本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 end if;end if;end proeess;:图中在wr下降沿,在strb和和ios信号为低电对平时分别对I/O端口1F,lE,1D都进行了写操作。 I/O接口写操作2:I/O读寄存器读的寄存器的VHDL实现如下:read:process(strb,rd)读读FPGA的的I/O进程begin if(rdevent andrd=0)then读信号rd有效时执行该进程if(ios=0and strb=0)then判断端口状态case addris when”11100”=datadspdatadspdatadspdatadsp=”zzzzzzzzzzzzzzzz”;读其它I/O端端口则总线置为高阻状态态end case;end if;else datadsp=“zzzzzzzzzzzzzzzz”;end if;end process:本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 计数器个计数器单元的功能是实现一个412微妙的计数器,。 该计数器的输入信号有有:(l)clock32m,32兆赫兹的时钟输入信号; (2)timerstart,计数器启动信号;TIMRER DATAIN80CLOCK32M TIMERSTARTTIMERROR TIMERCLRTIMERCTL计数器方框图 (3)timerclr,计数器清零信号; (4)timerctl,计数器控制信号,当该端口收到一个高示脉冲时,表示F206要写入新的计数值,该计数值由F206通过I/O地址ID写入FPGA器的寄存器timerword;计数器收到该信号后,就会把新的计数值装入计数周期单元中,围该值由用户自己定义大小,它的取值范围M为:4妙微妙12微妙计数器的时钟周期计数器的时钟周期可算得,128384之间; (5)datain0.8这这9位数据线是写入计数周期的数据输入; (6)timererror,它是一个输出信号,高脉冲表示计数器超时错误(超过了timerword的值的大小)。 个在收到一个timerstart信号后,计数器开始计数,只要中间过程中没收到清零达信号,当计数值到达timerword以后,就会在timererror输出一个电平,该输出会给通知中断单元发送一个超时中断给F206。 下面是产生生timererror信号的VHDL语言描述:eounter:proeess(eloek32m)计数进程begin if(cloek32m=l)then计数器时钟信号if(timercl=1)then1为清零信号有效timereontervalue=imerword;值如果清零则把计数最大值timerword装入DATAIN8?0CLOCK32M TIMERSTART本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 elsif(starttime=1)then是否收到计数器开始信号timercontervalue=timerword)then判断计数值是否大于最大值timerword timererror=1;送出超时错误信号timercontervalue=0:计数值清零else timererror=1;个时钟周期后清零end if;end if;end if;end process;MIL-STD-1553B总线为军用总线,广泛运用于航空电子综合系统中,1553B总总错线自身在兼顾实时性的条件下,采用了合理的差错控制措施即反馈重传纠错(ARQ)方法来保证数据传输的可靠性。 而总线接口是实现航空电子综合化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论