1、1553B 编码器的设计与实现摘要本文介绍用FPGA设计实现MIL-STD1553B部接口中的曼彻斯特码编解码器。该设计采用VHDL硬件描述语言编程,在QuartusII进行时序仿真,最后在FPGA上实现。本文在研究MIL_STD_1553B总线协议的基础上,提出了MIL_STD_1553B总线曼彻斯特编码的总体设计方案。曼彻斯特码是一种广泛应用于航空电子综合系统中的总线数据传输的双极性码 1。曼彻斯特码编码是1553B总线接口中不可缺少的重要组成部分,曼彻斯特码编解码器设计的好坏直接影响总线接口的性能。本文在研究 MIL-STD1553B 总线协议的基础上,提出了 MIL-STD1553B
2、总线接口中的曼彻斯特码编解码器的总体设计方案。根据项目要求,本文完成了以下工作:根据项目要求,曼彻斯特编码过程分为,以下工作:1. 同步字头生成,并分为数据字或命令字;2. 对曼码形式的数据进行编码;3. 将并行数据转化为串行数据;4. 进行奇偶效应。关键词:MIL-STD-1553B 数据总线,FPGA,VHDL,QuartusIIABSTRACTUse FPGA to design that Manchester code in realizing the MIL-STD1553B headquarter interface weaves a decoder that the main b
3、ody of a book is introduced. Should design that adopt the VHDL hardware describe that language programming, The sequence being in progress in quartus II simulates, The at last comes true on FPGA. The basis in the agreement studying the MIL_STD_1553B highway is listed in the main body of a book, Have
4、 brought forward the MIL_STD_1553B highway Manchester code population design plan. Manchester is one kind of highway data transmission bipolarity code in applying to avionic synthetical system broadly yard. It changes in there existing one in every code place midpoint springing. 1 signal is that one
5、 springs from 1 to 0s defeat follow, But, 0 signals are that rectifying springs from 0 to 1 follow.Demand according to the poject, Decipher process of Manchester works for the following mark:1 The synchronism character head comes into being,And be data character or order character mark;2 Code form d
6、ata carries out code on Man;3 Change parallel data into serial data;4 Carry out the odd-even effect.Keywords:MIL-STD-1553B data bus,FPGA,VHDL,quartusII第 1 页 共 39 页目 录1 引言 11.1 MIL_STD_1553B 总线国内外的研究现状 11.2 1553B 总线的产生及发展 31.3 1553B 总线研究的目的和意义 42 MIL-STD-1553B 总线简介 52.1 MIL-STD-1553B 总线概述 52.2 典型 MIL
7、-STD-1553B 系统组成 52.3 MIL-STD-1553B 总线特点 62.4 本章小结 73 1553B 总线传输协议简介 83.1 编码方式 83.2 字的类型 83.3 总线消息传输格式 .103.4 1553B 总线同其它航电总线的对比 .114 FPGA 实现曼彻斯特编码部分的设计 114.1 FPGA 的概述 124.2 QUARTUS II 仿真设计软件及 VHDL 语言 .134.3 曼彻斯特码简介及其格式 .155 MIL-STD-1553B 编码的设计与实现 .175.1 同步头产生模块 .185.2 保持寄存器模块 .205.3 移位、并串转换,奇偶位生成模块
8、.225.4 曼彻斯特 II 型码形成模块 255.5 6 倍分频器模块 .285.6 2 倍分频器模块 .295.7 曼彻斯特编码器 .306 试验与仿真.326.1 具体试验 步骤 .32第 2 页 共 39 页6.2 FPCA 设计中,问题的处理 .357 小结.36参考文献 37致谢39第 1 页 共 39 页1 引言1.1 MIL_STD_1553B 总线国内外的研究现状20 世纪 50、60 年代,航空电子系统由一些简单的相互独立的分系统组成,导航、通信、飞行控制和显示等分系统都是模拟系统,它们之间的联系是点对点的配线连接,信号主要为模拟电压、同步信号和开关信号。随着分系统不断增加
9、,驾驶舱越来越拥挤,配线变得越来越复杂,航空器越来越重。从 20 世纪 60 年代后期开始,共享信息,减少设备数量显得非常必要。一个传感器信号需要提供给导航系统、武器系统、飞行控制系统和驾驶员显示系统。然而,航空电子设备仍然是模拟的,共享传感器虽然减少了设计数量,但是连线和连接器还是很复杂。图 1.1 简单系统配置图70 年代后期,航空电子系统采用了数字计算机技术。由于技术的进步和微处理器的出现,数字设备之间使用了数据传输,所以较大程度提高了传感器信息的共享程度。数字信号的双向传输、串行传输,使得设备之间、系统之间的互相联络变得简单 2。但是这种“简单”并不那么完备,由此显示出了共享数据传输介
10、质(数据总线)的必要性,这个时间系统的连接如图 1.1.2 所示。总线上的设备和系统需要按一定的规则使用总线,不同设备之间的通信应当占用不同的总线时间,MIL_STD_1553B 定义了 1553B 总线时分多路复用(TDM)规则。MIL_STD_1553B 标准的出现使得 MIL_STD_1553B 总线可以广泛用于卫星、航天飞机、国际空间站、大型运输机、空中加油机、直升机等等。除此之外,海军第 2 页 共 39 页把 MIL_STD_1553B 总线应用于水上舰艇和水下潜艇;陆军除直升飞机外,MlL_STD_1553B 总线还用在坦克和其他战车上。目前,MIL_STD_1553B 总线由于
11、其高稳定性、双冗余等特点,正逐渐运用于非军事领域 3 。图 1.2 共享传输介质系统配置图MIL_STD_1553B 总线接口板是实现航空电子综合化系统的关键部件,主要完成总线的信息综合,资源共享,任务协调和容错重构。早期的 MIL_STD_1553B 总线接口板主要是以美国的 SCM 公司的 COM1553B,UT 公司的 UT1553B 协议为主,进行接口板的设计 4 。这样设计的接口板要加许多硬件电路,故集成化程度还不是太高,电路复杂、工作效率低、功能少,不易实现小型化给系统带来许多不便 3。支持该标准的协议芯片有一系列:BU6517,BU_61585,BU_61590 和 BU_656
12、20 等。上个世纪 90 年代初,美国的 DDC 公司推出了新型高级协议处理芯片 BU_61580 协议芯片,该协议芯片不仅完个满足 MIL_STD_1553B 标准,而且可以作为 BC,RT,MT 实现完成航空电子综合化系统的功能,使用方便灵活、可靠性高,可与计算机接口适用于个人计算机和兼容机 5。目前,MIL_STD_1553B 已经被我国多种军用飞机选为通信总线标准,由于其性能优异,航天系统卫星等越来越多采用 MIL_STD_1553B 作为通信标准。我国对MIL_STD_1553B 总线接口也有一定的研究和应用。例如:1553B 仿真系统总线控制软件设计;1553B 数据总线设计;基于
13、 1553B 多路传输数据总线的分布式多机系统:1553BPCI 卡和 1553B 总线的 VXL 模块设计,但它们基本都是采用美国的专用接口芯片。第 3 页 共 39 页1.2 1553B 总线的产生及发展20 世纪 50、60 年代,航空电子系统由一些简单的相互独立的分系统组成,导航、通信、飞行控制和显示等分系统都是模拟系统。它们之间的联系是点对点的配线连接,信号主要为模拟电压、同步信号和开关信号。随着分系统不断增加,驾驶舱越来越拥挤,配线变得越来越复杂,航空器的载荷越来越大。从 20 世纪 60 年代后期开始,设计者意识到共享信息,减少设备数量的迫切性。一个传感器信号(例如:航向、速度)
14、需要提供给导航系统、武器系统、飞行控、制系统和驾驶员显示系统等多个系统,如图 1.2.1 所示 6 。然而,航空电子设备仍然是模拟的,共享传感器虽然减少了设备数量,但是连线和连接器还是很复杂。图 1.3 较早前的航电系统结构与采用 1553B 总线后的结构70 年代后期,航空电子系统采用了数字计算机技术。由于技术的进步和微处理器的出现,数字设备之间使用了数据传输,所以较大程度上提高了传感器信息的共享程度。数字信号的双向传输、串行传输,使得设备之间、系统之间的互相联络变得简单。但是随着应用的复杂化, “简单”并不那么完美,显出了共享数据传输介质(数据总线)的必要性。总线上的设备需要按一定的规则使
15、用总线,如图1.2.1 所示,不同设备之间的通信应当占用不同的总线时间,为此 MIL-STD-1553B定义了 1553B 总线时分多路复用(TDM)规则。MIL-STD-1553B 标准的出现使得1553B 总线可广泛应用于卫星、航天飞机、国际空间站、大型运输机、空中加油机、轰炸机、直升机等等。海军把 1553B 总线应用于水上舰艇和水下潜艇,陆军除直升飞机外,1553 总线还用在坦克和其它战车上 7 。第 4 页 共 39 页1.3 1553B 总线研究的目的和意义航空电子综合化系统是以 1553B 总线为联网工具而构成的分布式计算机系统,各个独立航空电子子系统的处理机完成数据的采集、计算
16、和处理,通过 1553B 总线接口板完成信息的融合和交换、任务的协调和控制,因此对于 1553B 总线系统,接口板的设计就显得尤为重要。曼彻斯特码编解码器是 1553B 总线接口板中不可缺少的重要组成部分。其设计的好坏直接影响 1553B 总线接口板的性能。本文所介绍的就是其中的编码器的设计实现。第 5 页 共 39 页2 MIL-STD-1553B 总线简介2.1 MIL-STD-1553B 总线概述MIL-STD-1553B 是一个关于数据总线电器特性和一协议规范的军事标准,它的全称为“飞机内部时分制指令/响应型多路传输数据总线” ,这个标准规定了飞机内部数字式的命令浏句应时分制多路数据总
17、线的技术要求,也规定了多路数据总线的操作方式和总线上的信息流的格式以及电气要求。其作用是提供一个在不同系统之间的传输数据和信息的媒介。由于 MIL-STD-1553B 传输速率高,设备之间连接简单灵活,噪声容限高,通信效率高而且可靠性高,为美军所采用。美军方将其作为机载设备相互通信的总线标准,在 B52,A10,F16 等各种型号的飞机上使用,后来还应用到舰船和坦克上。而且由于其显著的优越性被多个国家采用。我国也参照 MIL-STD-1553B 总线协议制定了航空总线标准。从推出到现在,MIL-STD-1553B 总线技术在不断改进。目前 MIL-STD-1553B 总线己经成为在航空航天领域
18、占统治地位的总线标准。 MIL-STD-1553B 数据总线传输速度为 IMbps,字的长度为 20bit,数据有效长度为 6bit,信息量最大长度为 32 个字,传输为半双工方式,传输协议为命令例句应方式,故障容错为典型的双冗余方式,第二条总线处于热备份状态;信息格式有 BC 到 RT、RT 到 BC、RT 到 RT,广播方式和系统控制方式 8 ;能挂 31 个远程终端,终端类型有总线控制器(BC)、远程终端(RT)和总线监视器(MT);传输介质为屏蔽双绞线,MIL-STD-1553B 总线藕合方式有直接藕合和变压器祸合。在信号传输方面,MIL-STD-1553B 总线传输的是曼彻斯特 II
19、 型调制信号。2.2 典型 MIL-STD-1553B 系统组成MIL-STD-1553B 总线由四种基本硬件组成:传输介质即总线和短截线、总线控制器(BC)、总线监视器(MT)、远程终端(RT)。下面主要介绍总线控制器(BC)、总线监视器MT)、远程终端(RT)的功能和用途。总线控制器负责数据总线上数据流动的方向。当几个终端都可以当做总线控制器使用时,某个时刻只允许一个被激活。总线控制器向总线上送出数据传送命令、总线控制和管理命令。总线控制器第 6 页 共 39 页的功能通常由指控计算机、显示处理机、或者火控计算机来完成。总线控制器的结构有三种类型:字控制器、消息控制器和帧控制器。标准仅规定
20、了送到总线上的命令,而没有对总线控制器内部如何工作做出规定。帧控制器是总线控制器的最新概念,随着微处理器和专用集成电路的出现,这类控制器发展很快,它能够处理的信息帧内容较多,帧结束或错误发生时可中断计算机,有效地减轻了子系统的负担。图 2.1 典型 MIL-STD-1553B 总线系统组成图2.3 MIL-STD-1553B 总线特点MIL-STD-1553B 是一种面向消息的通信协议,是一个比较完善的标准。其基本特点如下 9 :(l)强调了整个系统的实时性:即传输了一个固定不变的消息所需的时间要短。MIL-STD-1553B 中规定了码率为 IMbps,虽然与高速数据总线的速度相比较低,但较
21、一般的通讯网高。(2)由于是以总线形式为其拓扑,因此对于总线效率的要求比较高,为此规定了设计总线效率指标的某些强制性要求,即指令响应时间,消息间隔时间以及每次消息传输的最大和最小数据块长度等。(3)为保证数据传输的完整性,在兼顾实时性的条件下,采用了合理的差错控制措施,即反馈重传纠错(ARQ)方法。从一般的概念上讲,反馈重传纠错的方法是指发第 7 页 共 39 页送端发出能够使接收端发现(检测出)错误的码,接收端根据该码的编码规则及相应的判误特性,能判别出传输过程中有无错误,并通过信息反馈把判决结果告诉发送端。发送端再根据这些判决反馈特性确认它上次传输是否有效,如接收端反馈的信息说明上次传输有
22、错,则发送端就把认为出错的消息再重新传送(称之为重试),直到接收端认为正确接收为止。在 MIL-STD-1553B 通信协议中,系统的主控端(总线控制器)向执行端(终端)颁发一个命令或者发送一个消息时,终端在给定的响应时间范围内应发回一个状态字,如果传输的消息有错,终端就拒绝发回状态字。由此报告上次传输无效。(4)通信协议中还反映了支持航空电子系统中同步/异步通一讯的特性。同步通讯即保证总线控制器能够以“广播”的方式向其余的全部终端发送一个时间同步信息,很显然在这种广播方式的通讯中,是一个用户对多个用户的同时通讯,因而应排除 ARQ 方式,即在广播通讯中不应发回状态字。异步通讯是指在通讯过程中
23、主控端应能通过对状态的判别,而识别出是否存在任何随机发生的异步服务请求,并有进行异步服务的能力。因此,在通讯过程中反馈信号状态字中应明确标明存在一个异步服务请求的服务位,并且主控制端能够进而调查异步请求的具体要求以便进行针对性的服务。(5)为了使航空电子综合系统不仅能完成总线控制器到终端,终端向主控端,以及终端到终端的数据通一讯的控制任务,而且还具有目的在于调查故障情况以及进行容错管理的功能,因此还专门规定了一些用于系统工作管理的命令,这些命令称之为方式指令。2.4 本章小结本章主要是对 MIL-STD-1553B 做详细的介绍。对 MIL-STD-1553B 做了概述。然后详细介绍了 MIL
24、-STD-1553B 的系统组成和特点。第 8 页 共 39 页3 1553B 总线传输协议简介3.1 编码方式1553B 采用脉冲编码调制对总线上传输的信号进行调制,而对要传输的数据按照曼彻斯特(Manchester)II 型码进行编码。图 3.1 曼彻斯特 II 型码编码方式如图 3.1.1 所示,1553B 的数据传输速率是 1Mbit/s。按照曼彻斯特 II 型码规则,将逻辑“0”用编码“01”来表示,其中“0”和“1”各占 0.5us,也即用一个由低到高的跳变来表示;将逻辑“1”用编码“10”来表示,其中“1”和“0”各占 0.5us,也即用一个由高到低的跳变来表示 10 。3.2
25、字的类型MIL-STD-1553B 总线标准定义了三种字类型:命令字、数据字和状态字。每一种字类型都有唯一的格式,但三种字类型有相同的数据结构,如图 3.2.1 所示。每个字有 20 比特(bit) ,最前面三个比特是同步字头,标志新字的开始,同步字头波形是无效的曼彻斯特码,因为其跳变仅仅发生在第二比特时间的正中。使用这种不同的模式,是为了让解码器在每个字的开头重新建立同步,以及保持发送的整体稳定性;接下去的十六比特是信息字段,三种类型的字有不同的含义;最后一个比特是该字的奇偶校验位,标准规定为奇校验。第 9 页 共 39 页图 3.2 三种不同字类型各个位的定义(1)命令字命令字(CW)说明
26、一个 RT 要执行的功能,只有激活的 BC 能传送命令字。命令字以一个命令/状态同步头开始,接下来的 16 比特信息域如图 2-3 所示。5 比特的终端地址域,说明此命令是发给哪个 RT 的。地址(00000)B(11110)B 是有效地址,地址(11111)B 是广播地址。另外,BC 并不要求占有一个地址,这样数据总线上的终端(RT)的最大数目能达到 31 个。命令字的第九比特是发送/接收比特。此比特定义了信息的流向,是从 RT 的角度来定义的。发送命令(逻辑 1)指示 RT 要传送数据,接收命令(逻辑 0)指示 RT 要接收数据。第 10 比特到第 14 比特是子地址/模式命令比特。这个域
27、的所有其它组合用来把数据指向子系统的不同功能。例如(00001)B 是可能代表位置和速度数据,(00010)B 可能是频率数据。逻辑(00000)B 和(11111)B 表明这个域是模式命令,如果子地址/模式命令比特是除去逻辑(00000)B 和(11111)B 之外的数值,则表示普通的子地址。第 15 比特到第 19 比特是字计数器或者模式码。如果子地址/模式命令域是(00000)B 或者(11111)B,那么这个域就定义了将要被执行的模式码。如果不是模式码,这个域就代表将要收到或者发送的字的数目,是接收还是发送就要看T/R 域。 (00000)B 代表 32 个字。最后一个比特是字奇偶校验
28、比特:协议定义为奇校验。(2)数据字数据字(DW)包含被传送的实际信息。同样的,其前三比特是同步域,此同第 10 页 共 39 页步域与命令字和状态字的同步域恰恰相反,是它独有的。数据字可以由 RT 或者BC 传送。接下来的 16 比特信息域是要传递的有效数据。(3)状态字RT 对一个有效的消息的响应,只是传送状态字(SW) 。状态字告诉 BC 一条消息是否被正确的收到了或者反应 RT 当前的工作状态。状态字信息域的前 5 比特,是终端地址域(TA) 。这 5 比特应该与此终端收到的命令字中的对应域相同。RT 设置这些比特到对应的地址。BC 将检查这些比特以确保它收到的终端响应正是命令字指向的
29、那个终端。3.3 总线消息传输格式标准定义了十种类型的信息传输格式,所有格式都使用上述三种字类型。十种格式分为两组 11 :一组是非广播信息传输格式;另一组是广播信息格式。在非广播方式下,BC 发出命令字后需得到 RT 状态字的响应。在广播方式下,如果一条信息在同一时间由多个 RT 收到,则不需要用状态字响应。总线控制器为了确定 RT 是否收到消息,可以用相关探询的方式指令得到状态信息。(1)非广播数据传输格式BC 到 RT:BC 给 RT 一个接收命令后,发送规定数目的数据字;RT 接收后,向 BC 返回状态字。RT 到 BC:BC 给 RT 一个发送命令后,RT 向 BC 发送状态字和相应
30、数目的数据字。RT 到 RT:BC 给一个 RT 发送接收命令,给另一个 RT 发发送命令,该 RT 返回状态字确认发送命令后向另一个 RT 发送数据字;接收完毕后,接收数据字的 RT向 BC 发送状态字。方式指令传输格式和数据传输类似。(2)广播数据传输格式 12BC 到各 RT:BC 给 RT 发一个接收命令,命令中的地址字段是广播地址 31,发送规定数目的数据字。RT 接收后,不向 BC 返回状态字而仅仅把状态字中的第 15位置为 1。RT 到 RT:BC 给总线上的某 RT 发一个接收命令,命令中的地址字段是广播地第 11 页 共 39 页址 31。BC 再给另一个 RT 发发送命令,
31、该 RT 确认发送命令后向其它 RT 发数据字。接收完毕,接收数据字的 RT 不向 BC 返回状态字而仅仅把状态字中的第 15 位置为1。方式指令传输格式和数据传输类似。3.4 1553B 总线同其它航电总线的对比航空数据总线经过几十年的发展,目前应用最广泛的标准有以下几种:(1)MIL-STD-1553B 总线,该总线最初是在七十年代末为适应飞机的发展由美国提出的飞机内部电子系统联网标准。其后由于它的高可靠性,实时性和灵活性高,被广泛地应用在军用飞机上。(2)ARINC-429 总线,机载数据总线 ARINC429 总线在当代的运输机和相当数量的民航客机以及军用飞机中都得到广泛的应用。(3)
32、ARINC-629 总线,它是一种适用于民用飞机的总线,速率较高,一些性能不利于实时性要求较高的军用飞机。目前只在波音 777 飞机上采用了这种总线,它上面有 11 条这样的 ARINC629 通路。(4)MIL-STD-1773 总线,它是一种以光为信号传输载体的新型数据总线,采用该标准的优点是传输距离长、重量轻、损耗低、带宽宽、电气隔离性好。(5)高速数据总线(HSDB) ,它是一种线性令牌总线,所谓线性。是指使用一种线性(广播)介质,另外还有一些其它总线,这里不做介绍。3.5 本章小结本章介绍了 MIL-STD-1553B 协议的基本特点,对其硬件构成、编码方式、字的类型、总线消息传输格
33、式以及方式指令等进行了基本的描述,最后对比了目前常用的几种航电数据总线标准。通过本章的阐述,为后面进行基于 FPGA 的 1553B总线编码的设计打下了基础。第 12 页 共 39 页4 FPGA 实现曼彻斯特编码部分的设计4.1 FPGA 的概述FPGA 是在 CPLD 的基础上发展起来的新型高性能可编程逻辑器件,它一般采用 SRAM 工艺 13 ,也有一些专用器件采用 Flash 工艺或反熔丝工艺等,FPGA 的集成度高,其器件密度从万系统门到数千万系统门不等,可以完成极其复杂的时序与组合逻辑电路功能,适用高速、高密度的高端数字逻辑电路设一计领域。FPGA 是一种基于查找表(LUT)的可编
34、程逻辑器件,主要由逻辑单元(LE,LogicElement)构成的可配置逻辑块、可编程 IO 和可编程内部互联模块组成。用户也可以根据需要对它进行编程,使之生成特定的电路结构,完成一定的功能。FPGA 的基本特点主要有 14 :(l)规模越来越大。随着 VLSI(VeryLargeScaleIC,超大规模集成电路)工艺的不断提高,单一芯片内部可以容纳上百万个晶体管,FPGA 芯片的规模也越来越大。单片逻辑门数己经愈千万。芯片的规模越大所能实现的功能就越强,同时也更适于实现片上系统。(2)开发过程投资小。FPGA 芯片在出厂前都做过严格的测试,而且 FPG 人设计灵活,发现错误时可以直接更改设计
35、,减少了投片风险,节省了许多潜在的花费。所以不但许多复杂系统使用 FPGA 完成,甚至设计 ASIC 时也要把实现即 GA 功能样机作为必需的步骤。(3)FPGA 一般可以反复地编程、擦除。在不改变外围电路的情况下,设计不同片内逻辑就能实现不同的电路功能。所以,用 FPGA 试制功能样机,能以最快的速度占领市场。甚至在有些领域,因为相关标准协议发展太快,设计 AISC 跟不上技术的更新速度,只能依靠 FPGA 完成系统的研制与开发。(4)FPGA 开发工具智能化,功能强大。现在,FPGA 开发工具种类繁多、智能化高、功能强大。应用各种工具可以完成从输入、综合、实现到配置芯片等一系列功能。还有很
36、多工具可以完成对设计的仿真、优化、约束、在线调试等功能。这些工具易学易用,可以使设计人员更能集中精力进行电路设计,快速将产品推向市场。(5)新型的 FPGA 内嵌 CPU 或 DSP 内核,支持软硬件协同设计,可以作为片上第 13 页 共 39 页可编程系统的硬件平台。(6)新型 FPGA 内部内嵌高性能 ASIC 的 HardCore。通过这些 Hard CoreIP,可以完成某些高速复杂设计(如 sP14.2、PCIExPress、Fibre_Channel 等通信领域成熟标准和接口等),提高通信的工作频率与效能,减轻工程师任务量,避免了研发风险,加速了研发进程。FPGA 是由存放在片内
37、RAM 中的程序来设置其工作状态的,因此,工作时需要片内的 RAM 进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA 芯片将 EPROM 中数据读入片内编程 RAM 中,配置完成后,FPGA 进入工作状态掉电后,FPGA 恢复成白片,内部逻辑关系消失,因此,FPGA 能够反复使用。FPGA 的编程无须专用的 FPGA 编程器,只须用通用的 EPROM、PROM 编程器即可。当需要修改 FPGA 功能时,只需换一片 EPROM 即可。这样,同一片 FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA 的使用非常灵活。另外,FPGA 有多种配置模式:并行主模式
38、为一片 FPGA 加一片 EPROM 的方式;主从模式可以支持一片 PROM 编程多片 FPGA;串行模式可以采用串行 PRoM 编程FPGA;外设模式可以将 FPGA 作为微处理器的外设,由微处理器对其编程 15 。FPGA(现场可编程门阵列)与 CPLD(复杂可编程逻辑器件)都是最主要的可编程逻辑器件,它们是在 PAL,GAL 等逻辑器件的基础之上发展起来的。同以往的PAL,GAL 等来相比较,FPGA/CPLD 的规模比较大,它可以替代几十甚至几千块通用 IC 芯片。这样的 FPGA/CPLD 实际上就是一个子系统部件 16 。FPGA 和 CPLD 的特点不同,所以他们在应用也有所区别
39、 17 。FPGA 主要应用在时序电路的设计,而 CPLD 主要应用在组合电路的设计中。由于本设计中要使用可编程逻辑器件实现曼彻斯特 H 型码的编码和解码,涉及到较多时序电路,所以本设计采用 FPPG 来实现曼彻斯特 II 型码的编码和解码。4.2 Quartus II 仿真设计软件及 VHDL 语言Quartus II 开发软件是 Altera 公司的第四代 CPLD 和 FPGA 开发系统。和MAX+plus II 相比,Quratus II 软件支持许多性价比更高的新器件,以及更常用的 CPLD/PGA。Quartus II 开发软件支持 VHDL 和 VerilogHDL 硬件描述语言
40、的设计输入,基于图形的设计输入方式和集成系统设计工具,它可以把设计、综合、第 14 页 共 39 页布局布线、系统验证全部都集成到一个无缝的开发环境中,其中还包括与第三方EDA 工具的高效接口。总之,Quartus II 使设计者可以将精力集中到系统设计上,而不是工具系统的使用上。Quartus II 开发总体流图如图 4.2.1 所示。图 4. 1 QuartusII 开发总体流程硬件描述语言自 20 世纪 70 年代在学术界开始使用,发展至今,己经有 30 年历史。但是最初由于各个 EDA 公司均开发支持自己公司产品的硬件描述语言,导致硬件描述语言品种很多,互相之间不能通用,语言本身的性能
41、也不够完善,影响了这种设计工具的推广。直到 20 世纪 80 年代,标准化的硬件描述语言开始研究和应用,VHDL 和 VerilogHDL 两种硬件描述语言先后成为 IEEE 的标准,采用硬件描述语台描述的设计方法才得到广泛的应用 18 。VHDL,语台诞生于 1983 年,1987 年被美国国防部和 IEEE 确定为标准的硬件描述语言。自从 IEEE 发布了 VHDI,的第一个标准版本 IEEE1076 一 1987 后,各大 EDA 公司都先后推出了自己的支持 VHDL 的 EDA 工具。VHDL 在电子设计行业得到了广泛的认同。此后 IEEE 又先后发布了 IEEE1076 一 1993
42、 和 IEEE1076 一 2000版本。VHDL 作为 IEEE 标准化的硬件描述语言,具有许多特点:能够抽象的描述电路结构和行为支持逻辑设计层次与领域的描述、硬件描述与实现工艺无关、易于理解和可移植性好等 19 。第 15 页 共 39 页VHDL 作为一种通用的硬件描述语言,具有以下基本特点:(1)VHDL 语言支持结构化和自顶向下的设计方法,这样非常便于设计的模块化。设计者从系统整体要求出发,自上而下将系统内容细化,最后将模块组合完系统的整体设计。(2)VHDL 语言具有多层次描述和仿真系统硬件功能的能力,可以从系统级到门级电路不同层次对数字进行建模和描述,不同的描述还可以混合使用,大
43、大简了硬件设计任务,提高了设计效率和可靠性,缩短了产品开发周期。(3)VHDL 语言是一种工业标准语一言,设计者、EDA 开发工具的供应商和 IC芯片生产商都要遵循这一标准,因此它具有设计与开发环境、具体电路实现工艺及采用的实现芯片无关的特点,设计成果便于移植、交流和二次开发。另外由于语法严格,是强类型语言,因此设计安全性好,也便于阅读和修改。(4)VHDL 语言既支持传输延时也支持惯性延时,不仅可以很好地描述系统和电路的逻辑功能,也可以真实地反映系统和电路的时间特性。4.3 曼彻斯特码简介及其格式数据在总线上是以序列脉冲码调制形式传输的。本系统选择基带调制,而不是载波调制,因为载波调制技术的
44、传输媒体需要更宽的带宽,从而需要更加复杂的硬件终端。在航空电子综合技术上,计算机布局网上的信息交换都是采用基带传输的形式 20 。所谓基带,即基本频率。也即为终端设备把数字信息转换成电信号时,其原始电信号所固有的频带。在信道中直接传送基带信号即称为基带传输。MIL-STD-1553B 总线采用双电平的曼彻斯特 II 型码作为基带传输码型,曼彻斯特 II 型码是自带时钟波形的,非常适用于那些位同步无法通过其他方式来传递的应用,同时双电平能与变压器藕合方式相兼容,可以通过主传输媒介来传输数据。双电平非常适用于短程变压器祸合的局部总线,或者变压器祸合主传输媒介(当位同步信息通过信号波形来传输,而不能
45、通过一个独立的通道来提供的时候)。通过使用双电平的数据编码,仅仅使数据总线的信号连接器反接,就可以实现信号的求反。在非归零码中,逻辑“O”用低电平表示。逻辑“1”用高电平表示。曼彻斯特 II 型码表示二进制数值不是用电平而是用跳变。跳变产生在每一个位时第 16 页 共 39 页的中点,逻辑 l 可以用一个双相信号 110 来传输(即一个正的脉冲其后紧跟一个负脉冲);而逻辑 0 应当以一个双相编码信号 011 来传输(即一个负的脉冲其后紧跟一个正脉冲) 21 。由于曼彻斯特 II 型码在每一位元中都有电平的转变,因此,传输时无直流分量,可降低系统的功耗,而对非归零码波形,当出现连续的 1 时,将
46、有直流分量的产生。图 4.3.1 给出了非归零码和曼彻斯特 II 型码分别表示二进制数的的图形。图 4.2 用非归零码和曼彻斯特码分别表示二进制数的的图在采用曼彻斯特 II 型码的传输系统中,广泛采用数据的帧格式, MIL-STD-1553B 总线也采用帧格式,一帧数据共有 20 位,其中,3 位同步头,16 位数据位,l 位校验位。数据字中,同步头 1.5 位元处有一个上跳变; 命令字,状态字中,同步头 1.5 位元处有一个下跳变。每帧的最后一位为校验位,曼彻斯特采用奇校验。根据曼彻斯特码的特点,每个数据位都由高、低电平组成,因而在连续传输的有效数据位中不会存在超过一个数据位宽度的高电平或低
47、电平,在每个帧数据的前面设一个同步头,高低电平各为 1.5 位元。这样在接收数据时,只要采样得到电平满足 1.5 位元时,则认为该电平是同步头,开始接收数据。第 17 页 共 39 页5 MIL-STD-1553B 编码的设计与实现MIL-STD-1553B 编码器部分实现的功能是从子系统接口单元接收到 16 位的MIL-STD-1553B 数据,将非归零码转换为曼彻斯特 II 型码,并实现对同步头的编码,以偶位的产生,并对数据进行并串转换,以 IMbps 的传输速度将数据编码串行发送到发送器进而传送到 1553B 总线上 22 。1553B 数据总线的传输速率是 IMbps,由于曼彻斯特 I
48、I 型码的每位数据编码都占两位,所以所需的最小时钟频率为 ZMHz。本文选取编码器的采样时钟为12MHz,可以采用 6 分频器去产生 ZMHz 的频率。编码的过程具体可以分为三个部分 23 :检测编码周期是否开始,并辨别同步字信号用以产生同步字;对 16 位数据进行并串转换,产生奇偶校验位;对数据位、奇偶位、同步头进行曼彻斯特编码形成符合 1553B 的标准的双极性字。编码器的结构图如图 5.1。图 5.1 编码器结构图图 5.1 中。Clk2 是输入时钟,其频率为 12MHz。同步头选择位 conmd 和写信号共同控制产生同步头。同步字头产生后,向保持寄存器和移位、串并转换控制模块发出信号开
49、始移位,并向奇偶生成模块发出信号生成奇偶校验位。曼彻斯特码形成器对经串并转换的 16 位数据、奇偶位、同步头进行处理后形成 MIL-STD-第 18 页 共 39 页1553B 的双极性字 tx 和 ntx,并且产生一个 txrdy 信号。txrdy 信号用来表示数据是否传输结束,传输完成后该信号为高电平。下面对曼彻斯特编码设计过程做具体介绍 24 25 。5.1 同步头产生模块将 12MHz 的时钟频率进行分频,这里使用的是一个 6 倍的分频器来实现。分频后得到的是 2MHz 的时钟频率。2MHz 的时钟频率用来实现同步头的生成,同步头生成模块框图如图 5.1.1 所示,有四个输入信号和两个输出信号。两个输出信号分别是同步头生成信号 dataout 和移位、并串转换模块的使能信号 AA。当写信号 load 为高电平时,若同步头选择位信号 tx_dw 为高电平,则产生命令字、状态字的同步字头,若同步头选择位信 tx_dw 为低电平,则产生数据字的同步字头。图 5.1.2 是同步字头产生模块的仿真波形,其中 clk 是 2MHz。同步头模块具 VHDL程序如下: 图 5.2 同步头模块的框图LIBRARY IEEE;USE IEEE.STD_L