多路高速串行接口控制器的制造方法

文档序号:8361397阅读:664来源:国知局
多路高速串行接口控制器的制造方法
【技术领域】
[0001]本发明属于嵌入式数据处理系统,涉及一种接口控制器,尤其涉及一种多路高速串行接口控制器。
【背景技术】
[0002]随着综合航空电子系统的不断发展,系统对其内部各个功能模块之间的数据交换和数据传输的速率和规模有了更高的需求,传统的并行总线(例如VME,PCI总线)由于时钟频率和信号走线的限制已经满足不了数据传输的需要,所以各模块之间开始大规模地采用高速串行总线来进行数据传输。一些通用的高速串行总线协议,例如PCIE,Rapid1和以太网,尽管比较成熟,标准化的程度高,但是传输协议也非常复杂,对于某些特定的自定义简单协议的传输应用可能并不合适,反而会损失一部分带宽,尤其是对于一些大规模多路传输的应用,如果使用PCIE或者Rapid1总线,就必须构建相应的标准总线网络,使用相应的交换芯片,这些都对系统设计带来了一定的限制,也带来了较高的功耗。所以,对于航空电子系统中各模块之间越来越多的多路大规模数据传输,传统的并行总线和标准高速串行总线都不能满足应用需要。
[0003]Xilinx 公司的自 Virtex2Pro 系列 FPGA 产品问世后,Virtex4、Virtex5、Virtex6,以及截止最新系列V7 FPGA都提供了多路高速串行收发器,用于实现以太网接口,PCIE或者Rapid1等闻速串行总线接口。这种闻速串行收发器可以满足综合航空电子系统中的闻速数据传输需求,同时具有很大的应用灵活性。既可以根据系统要求来实现相应的传输速率,传输线路数目,同时也可以根据需求来编写硬件代码来实现所需的自定义传输协议。

【发明内容】

[0004]为了解决【背景技术】中存在的上述技术问题,本发明提供了一种可以将通用的高速串行总线扩展为系统自定义协议的高速串行接口,提高数据传输速率,增加中央控制功能的多路高速串行接口控制器。
[0005]本发明的技术解决方案是:本发明提供了一种多路高速串行接口控制器,其特殊之处在于:所述多路高速串行接口控制器包括前端通用高速串行总线、主体控制逻辑以及后端多路高速串行接口 ;所述后端多路高速串行接口通过主体控制逻辑接入前端通用高速串行总线。
[0006]上述多路高速串行接口控制器还包括后端多路高速串行接口与外部设备进行连接的高速串行收发器。
[0007]上述主体控制逻辑包括前端局部总线接口、与后端局部总线接口相对应的多路数据缓冲单元、配置及收发控制寄存器组、中断FIFO控制器以及后端局部总线接口 ;所述后端局部总线接口通过多路数据缓冲单元接入前端局部总线接口 ;所述多路缓冲数据单元的缓冲状态通过中断FIFO控制器接入前端通用高速串行总线;所述前端局部总线接口与前端通用高速串行总线相连;所述后端局部总线接口与后端多路高速串行接口相连。
[0008]上述多路高速串行接口中的每路高速串行接口均设置有发送数据缓冲RAM以及接收数据缓冲RAM。
[0009]上述多路串行控制器是由FPGA实现的。
[0010]上述前端通用高速串行总线到前端局部总线接口的转换通过相应的IP Core来进行实现。
[0011]上述前端通用高速串行总线是PCI Express或Rapid1高速串行总线。
[0012]一种基于如上所述的多路高速串行接口控制器的数据发送方法,其特殊之处在于:所述数据发送方法包括以下步骤:
[0013]I)通过用户指定的模式需要发送的数据通过控制器前端局部总线接口写入到要发送的后端局部总线接口的硬件发送缓冲区内;所述用户指定的模式是中断模式或查询模式;
[0014]2)主体控制逻辑将硬件发送缓冲区内的数据写入到相应的后端高速串行接口的高速串行码编码发送单元中;
[0015]3)后端高速串行接口的编码发送单元收到数据后将其收到的数据进行编码并发送。
[0016]一种基于如上所述的多路高速串行接口控制器的数据接收方法,其特殊之处在于:所述数据接收方法包括以下步骤:
[0017]I)后端高速串行接口接收到数据并解码后,将数据写入到主体控制逻辑的该接口对应的硬件接收缓冲区内;
[0018]2)主体控制逻辑在硬件接收缓冲区内有数据后将该路接口的状态设置为有数据待接收,并通过中断FIFO控制器向前端局部总线接口发出中断信号;
[0019]3)判断当前的工作模式,若工作模式是中断接收,则进行步骤4);若工作模式是查询接收,则进行步骤5);
[0020]4)若当前是中断接收工作模式,则收到有数据待接收的中断后,查询中断FIFO控制器内相应的中断状态寄存器,然后从硬件缓冲区中读取接收到的数据,并将数据写入到环形软件缓冲区中,然后通知用户应用程序;用户应用程序调用接收API从软件缓冲区中最终获得接收到的数据;
[0021]5)若当前是查询接收工作模式,则用户应用程序不断循环查询控制器的状态寄存器,发现硬件缓冲区中有待读取的接收数据,则用户应用程序向驱动软件发出接收命令,从硬件缓冲区中读取接收到的数据,并将数据写入到环形软件缓冲区中,用户应用程序再调用接收API从软件缓冲区中最终获得接收到的数据。
[0022]本发明利用具有高速串行收发器的FPGA,开发出一种多路高速串行接口的控制器,该控制器的前端仍采用标准的高速串行总线(例如PCIE或者Rapid1)来进行传输控制,后端可以根据需求实现所需的各种高速串行接口,并且通过缓冲RAM和中断轮询FIFO机制来保证后端的各路高速串行接口访问操作的实时性、数据通讯带宽的均衡性。可以在通用的高速串行总线上扩展出系统所需的多路自定义协议的高速串行接口,既满足了系统中数据传输的需要,又可以降低模块设计难度,降低带宽损失,降低功耗,提高了嵌入式应用开发的灵活性,为嵌入式数据处理系统的设计提供了一种新的架构模式。具体而言,本发明具有以下优点:
[0023]1、在传统的通用高速串行总线交换网络之外,开发出一种新的模块间一路对多路控制模式的高速串行接口的数据传输方式,可以在通用的高速串行总线上扩展出多路其他的高速串行接口来进行收发。这种控制器可以根据系统需求来扩展面向应用的自定义的高速串行接口,相对传统的通用高速串行总线交换网络而言,可以降低模块设计难度,提高数据传输速率,降低功能电路功耗。
[0024]2、控制器支持多种串行总线协议,应用灵活,功能扩展性强。由于控制器的前端和后端都实现为易于扩展的局部总线模式,前端可以扩展为各种通用的高速串行总线,甚至是处理器的局部总线来进行控制;后端的高速串行接口的端口数量、传输协议、传输速率都可以根据需求来扩展实现,也能够实现多种类型总线的混合应用模式,更可进一步增加光电收发器来转换为光路接口,在各功能模块间进行光纤通道通讯功能,从而提高串行总线的传输距离。这种设计模式使得控制器灵活性高,可应用的场景非常广泛。
[0025]3、控制器中实现了各路高速串行接口的中断轮询FIFO机制,确保后端的每路接口的数据收发都可以以相同的优先级被前端高速总线进行处理,不会发生某路高速串行接口长时间占用控制器的情况,同时控制器中实现大量RAM来作为各路高速串行接口的收发缓冲区,采用了分块缓冲技术,保证了高速串行接口上数据传输的稳定性。
【附图说明】
[0026]图1为本发明的结构框图;
[0027]图2为本发明的硬件缓冲区分块管理原理图;
[0028]图3为本发明的中断FIFO机制原理图;
[0029]图4为本发明软件驱动设计的环形数据收发缓冲区工作原理图。
【具体实施方式】
[0030]本控制器在硬件上使用Xilinx公司的FPGA为平台来进行实现,控制器的前端使用标准/通用的高速串行总线来控制后端的多路高速串行接口的数据收发;在软件上使用C语言编写驱动程序,对多路通讯接口采用统一标准的通道管理方式,将通讯接口的各种资源和信息统一封装为标准设备形式,提供统一的API服务,便于应用程序的调用。
[0031]控制器硬件的前端使
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1