- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
与数据字
* * 航空总线设计 AVIATION BUS DESIGN 基于MIL-STD-1553B协议的 主讲人:李继峰 第一章 MIL-STD-1553B的简单概述 1.1 1553B的历史背景与简单概述 1.2 1553B的协议内容及其字格式 1.3 1553B的消息格式 1.4 1553B协议总线控制器和远程终端与总线监 视器的FPGA实现 1553B总线协议是由美国军方在20世纪70年代制定的,在航空、航天、军事等领域应用广泛.协议采用双向曼彻斯特码,数据在总线上以串行脉冲形式传输,传输速率为1Mb/s. 协议规定的信息字类型有3种,分别是命令字、数据字和状态字. 总线上连接的节点类型有3类:总线控制器(BC)、远程终端(RT)和总线监视器(MT)¨ 1.1 1553B历史背景与概述 一条总线上挂有1个BC,1个MT和至多31个RT.总线传输的消息格式有BC到RT,RT到BC,RT到RT,广播以及方式代码. 1.2 1553B的协议内容及其字格式 1553B有三种字格式分别为:命令字,数据字,状态字.其结构如左图 同步头为三位,命令字与状态字(先正后负)与数据字(先负后正)不同 由于1553B在通信时使用的是曼码编码故20位字格式也可以视为40位 1.3 1553B的消息格式 时钟 管理 解码器 编码器 BC/RT 译码管理模块 RAM 信号监视与指示灯预留接口 通 信 接 口 管 理 BC/RT 编码 模块 R A M 信号监视与指示灯预留接口 并 串 转换 串 并 转换 左图为已完成的设计图部分 可以正确的完成编码 解码 监视器 指示灯(子系统的挂起)接口已预留 并调试可以反映系统状况 1.4 1553B协议总线控制器和远程终端 与总线监视器的FPGA实现 第二章 关于1553B总线曼码通讯的设 计与FPGA的实现 2.1 1553B曼码通讯的概述 2.2 曼码的编码实现 2.3 曼码的解码实现 2.4 曼码的编码控制器 2.5 曼码的解码控制器 2.1 1553B曼码通讯概述 1553B协议要求利用曼彻斯特码传输 消息位’1’要编码为”10” 消息位’0’要编码为”01” 曼码的时钟扫描频率为字扫描频率的两倍 同步字若用曼码扫描频率可等效为”111000”或”000111”根据曼码的编码要求 同步字为无效字段既可以实现同步功能 2.2 曼码的编码实现 利用函数进行编码 部分代码如下 function code_n(I: std_logic ) return std_logic_vector is variable S: std_logic_vector(1 downto 0); begin if I=1 then S:=01; elsif I=0 then S:=10; else S:=ZZ; end if; return S; 2.2.1 曼彻斯特码编码器设计结构图 16位并行数据输入 数据寄存 奇偶效验位生成 数据类型输入 同步字生成 曼码生成 串并转换 时钟管理输入 1 5 5 3 B 总 线 2.2.2编码器仿真波形 clk 为时钟脉冲,csw 由编码控制模块控制。为输入的同步字头控制信号。d_in、d_out分别为并行的数据输入及编码后的数据输出。Rst为复位引脚。en为使能引脚。上图中,d_in输入的数据信号为“0101000111000111”(逆序),经过编码器后,当为命令同步字头时(csw为‘1’)的编码序列为“1110000110011001010110101001010110101001”最后两位为奇偶检验位的‘0’的编码“01”,同步字头为“111000”同样的,当为数据同步字头时(csw为‘0’)的编码显示仅仅与前面的编码序列的同步字头不同,为“000111”其他均相同。由此可证明该编码正确。 2.3 曼码解码实现 利用函数实现 部分代码如下 architecture behave of test5 is function decode_n( I: std_logic_vector (1 downto 0) ) return std_logic is variable S: std_logic; begin if I=01 then S:=1; elsif I=10 then S:=0; else S:=Z; end if; return S; end decode_n; 2.3.1 曼彻斯特码解码器设计结构图 同步字头状态检验 时钟输入 曼码输入 采样计数 数据采集
文档评论(0)