首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
1553B总线远程端点数据链路层协议的FPGA实现
来源:本站整理  作者:佚名  2009-05-07 11:30:58




    命令解析完成后都需要进行状态反馈或者数据发送,而完成这个功能的是发送模块,发送模块负责把命令解析模块和接收模块装载到发送缓冲器中的数据发送到总线上去,如图3所示,它包括读取数据,产生反相字,曼彻斯特码编码,添加同步头,2 MHz时钟数据发送等几个部分,同时由于发送缓冲器中数据有可能多于2个字节,因此还可能需要循环进行这个操作。下面就根据发送的具体流程设计每个部分。首先是发送缓冲器部分,当接收到发送命令后,发送模块就第一次读取发送缓冲器的前两个字节,因为这两个字节肯定是状态字,然后把这两个字节贴上状态字标签,继续传给后继单元,待完成以后就把接收发送缓冲器的发送数据长度寄存器减1,并把发送缓冲器中的数据向前移动2个字节。如果发送数据长度寄存器不为零,则继续等待下一次的发送。

2.4 上层交互模块
    最后一个模块是上层交互模块,这个模块负责与上层微控制器进行信息交互,它负责把微控制器写入的数据放入相应的寄存器中,或者按上层微控制器的命令回传相关的数据。上层交互模块主要包括边沿信号与电平信号转换、地址解码和读写寄存器。因为协议实现模块中采用的是边沿信号触发,而上层微控制器给FPGA的信号是电平信号,要顺利地完成通信,就需要进行转换,这里通过锁存器和计数器来完成。地址解码就是把收到的地址解码成相应寄存器的地址,然后写入收到的数据或者把寄存器中的数据读出放入到数据总线上。


3 仿真及FPGA实现
    为了确保设计的可行性,必须对设计进行时序仿真。整个协议VerilogHDL实现程序在Altera公司的FPGA开发软件QuartusⅡ中编写、编译、综合。整个程序的仿真在Modelsim 6.0中进行,其仿真过程如下:
    (1)接收数据。总线控制器发送给实现程序两个数据:0x1234和Ox5678,上层微控制器在实现程序接收数据后通过上层交互模块把数据读出,其中第一个数据包含了接收数据长度,通过图4可以看出整个过程顺利进行,完成了预定目标。

 (2)发送数据。总线控制器间隔地发送给实现程序两个发送数据的命令,让实现程序反馈相关的数据,这些数据是通过上层交互模块提前写入到实现程序中的,其仿真过程如图5。通过图5也可以看出在实现程序接收到命令到发送出数据的延时时间大约为4μs,完全符合1553B总线对远程端点反馈信号延时的规定。
    (3)一般命令。总线控制器发送给实现程序一般的方式代码命令,代码分别为:000ll,10010,01111和00001,其仿真过程如图6所示。可见,实现程序正确地反馈了相关信息,符合设计要求。

上一页  [1] [2] [3] [4]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:81,347.66000 毫秒