一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种1553B总线控制器协议处理IP核的制作方法

2022-02-24 14:33:00 来源:中国专利 TAG:

一种1553b总线控制器协议处理ip核
技术领域
1.本发明涉及数据通信领域,具体涉及一种1553b总线控制器协议处理ip核。


背景技术:

2.1553b总线是一种时分制命令/响应型多路传输的半双工数据总线,总线结构包括:互为冗余备份的a/b总线,其上挂接有三种终端类型:总线控制器(bc)、远置终端(rt)和总线监视器(bm)。总线控制器对总线上所有信息传输事务起到初始控制的作用,远程终端完成bc与rt间的信息传输,总线监视器不参与通信,完成对1553b总线上消息传输过程的监听功能。总线上最多可以有1个总线控制器,31个远程终端,总线监视器可选。
3.目前国内对总线控制器内部协议处理逻辑相对落后,协议处理不够灵活,cpu参与度较高,需要在软件上不断配置消息,cpu的不断参与才可实现对消息流的调度管理。


技术实现要素:

4.本发明要解决的技术问题是现有技术中协议处理灵活度低,cpu参与度高的问题,由此提供一种灵活性强的1553b总线控制器ip核。
5.为实现上述目的,本发明提供了一种1553b总线控制器协议处理ip核,设置在cpu和1553b总线之间,该ip核包括axi从设备接口、寄存器、共享ram、指令控制逻辑单元、ram管理单元、bc协议处理器、编码器、解码器和1553b收发器;
6.所述axi从设备接口,用于将本ip核连接到ambaaxi总线上,使本ip核作为axi总线的外设进行工作;还用于实现cpu对寄存器和共享ram进行初始化读写操作;
7.所述寄存器,用于通过cpu写入信息,配置本ip核实现1553b总线数据通信功能;还用于通过bc协议处理器写入信息,记录本ip核的工作状态;
8.所述共享ram,用于存储bc指令列表、bc消息块的说明和各种数据;
9.所述指令控制逻辑单元,用于对cpu的消息进行消息序列控制;还用于基于bc指令列表对bc协议处理器处理的消息进行调度;
10.所述ram管理单元,用于管理共享ram,为指令控制逻辑单元和bc协议处理器分配共享ram;
11.所述bc协议处理器,用于对接收到的消息进行解析和处理,并将处理后的数据字发送至编码器;
12.所述解码器,用于对1553b收发器发送的数据进行解码,发送至bc协议处理器;
13.所述编码器,用于对bc协议处理器发送的数据进行编码,发送至1553b收发器;
14.所述1553b收发器,用于接收1553b总线上传输的数据字、状态字,转发至解码器,还用于接收解码器输出的数据,转发至1553b总线上。
15.作为上述系统的一种改进,所述共享ram包括bc指令列表区、bc消息块说明区和数据区;其中,bc指令列表区用于存储排列好的多个指令,每个指令由两个字组成:一个指令码和一个参数字;一个指令码包括:操作码和执行条件码;所述bc消息块说明区中存储每条
bc消息块的说明;bc消息的排序使用了指令码列表,控制bc消息排序的bc指令列表起始地址从固定位置开始;所述数据区包括待发送数据字与待接收数据字,发送数据区和接收数据区的大小通过配置寄存器进行配置。
16.作为上述系统的一种改进,参数字与其指令码匹配,参数字包括:时间值,设置或清除标志位的参数值,指令列表的某地址指针值和消息块起始地址的存储器指针值。
17.作为上述系统的一种改进,每个指令码为16位:最高位为奇偶校验位、5位的操作码字段、5位为验证字段和5位条件码字段。
18.作为上述系统的一种改进,所述指令控制逻辑单元在处理cpu消息时,从bc指令列表中获取并执行指令码,指针地址指向消息块中的第一个字,即bc控制字;当消息块执行时,将要发送或接收的数据单独开辟共享ram空间进行存放,执行完成后,根据消息的完成标志更新bc指令列表地址指针。
19.作为上述系统的一种改进,当指令控制逻辑单元获取一个或多个错误条件的指令码时,则ip核立即停止执行;错误条件的指令码包括:bit15偶数奇偶性、bit14-10包含未定义的操作码和验证字段位9-5不等于01010。
20.作为上述系统的一种改进,所述bc协议处理器接收到的消息包括:bc到rt的发送消息、rt到bc的发送消息、rt到rt的发送消息和广播消息。
21.作为上述系统的一种改进,所述编码器对待发送数据进行曼彻斯特编码,把单极性码转换成为1553b总线上传输的曼彻斯特ⅱ型码;所述解码器对待发送数据进行曼彻斯特解码,将1553b总线传输的曼彻斯特ⅱ型码转换为单极性码。
22.本方面的优势在于:
23.1、本发明采用曼彻斯特ⅱ型双相编码方案,提高传输系统的可靠性;
24.2、本发明提出的消息序列控制方案采用操作码的方式编排消息序列,将原来在软件中实现消息调度、安排消息的功能在硬件中实现,使总线控制器可以自发安排消息流,处理消息更加灵活智能;大大减少了cpu的处理工作负载;
25.3、本发明的ip核的可移植性强,可移植到fpga、asic、soc芯片中。
附图说明
26.图1为本发明的1553b总线控制器协议处理ip核的结构框图;
27.图2为本发明的共享ram的示意图;
28.图3为本发明的bc指令列表的示意图。
具体实施方式
29.下面结合附图对本发明的技术方案进行详细说明。
30.如图1所示,一种1553b总线控制器协议处理ip核,设置在cpu和1553b总线之间,包括axi从设备接口、寄存器、共享ram、指令控制逻辑单元、ram管理单元、bc协议处理器、编码器、解码器和1553b收发器;
31.axi从设备接口通过axi连接cpu,并分别连接共享ram和寄存器;axi从设备接口,用于将本ip核连接到ambaaxi总线上,使本ip核作为axi总线的外设进行工作;还用于实现cpu对寄存器和共享ram进行初始化读写操作;
32.寄存器,用于通过cpu写入信息,配置本ip核实现1553b总线数据通信功能;还用于通过bc协议处理器写入信息,记录本ip核的工作状态;
33.共享ram包括bc指令列表区、消息块说明区和数据区;其中,bc指令列表区用于存储排列好的多个指令,每个指令由两个字组成:一个指令码和一个参数字;参数字与其指令码匹配,可以是以下四种参数:(1)时间值,(2)设置或清除标志位的参数值,(3)指令列表的某地址指针值,(4)消息块起始地址的存储器指针值;一个指令码包括:操作码加上执行条件码;所述消息块说明区中存储每条bc消息块的说明;bc消息的排序使用了指令码列表,控制bc消息排序的bc指令列表起始地址从固定位置开始;所述数据区包括待发送数据字与待接收数据字,发送数据区和接收数据区的大小通过配置寄存器进行配置。
34.指令码的内容如表1所示:
35.表1
[0036][0037]
指令控制逻辑单元,用于实现cpu的消息序列控制:在处理cpu消息时,从bc指令列表中获取并执行指令码,指针地址指向消息块中的第一个字,即bc控制字;当消息块执行时,将要发送或接收的数据单独开辟共享ram空间存放,执行完成后系统会根据消息的完成标志更新bc指令列表地址指针;
[0038]
bc指令列表中的每个指令码为16位:最高位为奇偶校验位、5位的操作码字段、5位为验证字段和5位条件码字段。
[0039]
5位条件码字段的内容见表2:
[0040]
表2
[0041]
[0042]
[0043][0044]
当获取如下一个或多个错误条件的指令码,则ip核立即停止执行;错误条件的指令码包括:bit15偶数奇偶性、bit14-10包含未定义的操作码和验证字段位9-5不等于01010。
[0045]
指令控制逻辑单元还用于基于bc指令列表对bc协议处理器处理的消息进行调度;
[0046]
应用示例:插入消息。此示例允许在bc处理计划的消息帧时,将一个待插入的消息排序,在预设好的消息处理结束后,在指定位置根据条件插入消息帧。当处理完一个或多个
插入消息后,将返回之前安排好的消息帧并在它停止的地方继续执行指令列表。
[0047]
表3
[0048][0049]
从0x2000固定地址开始存放opcode指令列表,一个opcode指令字加一个参数字排列存放。第一条指令无条件执行消息所存放的值为0-00001-01010-01111,即054f。以此类推按照上小结编排好的插入消息实例,初始化opcode指令列表见表4:
[0050]
表4
[0051]
[0052][0053]
初始化四个消息块,配合opcode验证,总线控制器中ram需要初始化的数据见表5。2100地址开始存放消息块,每五个字代表一个消息块。第一个字控制字,0x2101中存放的命令字0x0821,表示bc向rt1子地址1发送1个数据字,非rt-rt命令,第二个命令字忽略,数据指针从0000处取数据发送,讲rt返回的状态存在0300地址处。在数据字指针地址0000和0001中存放55aa作为待传输的数据字,0010地址处开始存放1111、2222、1111、2222、3333作为待传输的数据字。
[0054]
表5
[0055]
[0056][0057]
初始化指令列表、消息块、数据块后,启动bc_start开始执行消息。指令列表中消息块顺序为msg1-msg2-msg3-msg4。总线控制器在a总线上发送的命令字数据字是曼彻斯特码,顺序为0821-55aa,1822-1111-2222,3823-1111-2222-3333,0821-55aa,对应的消息块顺序为msg1-msg4-msg2-msg3,在msg1和msg2中间插入了两条消息msg3和msg4。
[0058]
ram管理单元,用于管理分配共享ram实现仲裁功能;cpu可通过axi从设备接口对共享ram进行读写,bc协议处理器也可对ram进行读写。为了防止读写产生冲突,需进行仲裁。通过axi总线的valid/ready握手机制,如遇冲突时可以等待,bc协议处理器具有高优先级可以打断cpu读写。
[0059]
bc协议处理器,用于完成消息的解析和处理,实现bc到rt的发送、rt到bc的发送、rt到rt的发送、广播这四种消息格式的协议处理,并将处理后的数据字发送至编码器。
[0060]
解码器分别连接bc协议处理器和1553b收发器,用于将接收到的1553b总线上传输的曼彻斯特ⅱ型码转换为单极性码传递给1553b协议处理器进行数据处理。本模块主要完成总线上传输的状态字、数据字的解码工作。
[0061]
编码器分别连接bc协议处理器和1553b收发器;用于将待发送数据进行曼彻斯特编码把单极性码转换成为1553b总线上传输的曼彻斯特码,并通过1553b收发器发送到1553b总线上。本模块主要完成对命令字、数据字的编码工作。
[0062]
1553b收发器,用于接收1553b总线上传输的数据字和状态字,并发送bc协议处理器输出的命令字、数据字和状态字到1553b总线上。1553b收发器采用holt公司hi-1568收发器。
[0063]
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献