一种基于MLVDS的多板卡通信系统的制作方法

文档序号:14443998阅读:2359来源:国知局
一种基于MLVDS的多板卡通信系统的制作方法

本发明涉及通信技术领域,具体涉及一种基于mlvds的多板卡通信系统。



背景技术:

随着通信技术的发展,通信系统的硬件部分构成日趋复杂,大多数系统的硬件部分均由多个板卡构成。多个板卡之间需要交互数据,板卡间对大量数据进行高速、实时传输的需求越来越多。出于对系统复杂度的控制及成本考虑,板卡间的通信一般通过总线连接。

目前的板卡间总线一般都是异步时钟总线,传输速率较低,速率只能达到几兆比特每秒。少数的高速总线通信协议物理层都要求每两块板卡之间互联,三块及三块以上板卡无法共享总线,并且需要专用、昂贵的通信芯片。这样做不仅连线复杂,而且功能单一,灵活性低,成本较高,不能满足用户多样化的需求。



技术实现要素:

本发明的目的是针对现有技术中存在的技术缺陷,而提供一种基于mlvds的多板卡通信系统,其可通过mlvds芯片及fpga芯片实现多板卡之间的高速通信。

为实现本发明的目的所采用的技术方案是:

一种基于mlvds的多板卡通信系统,包括相互连接并通信的一个第一通信板卡以及多个第二通信板卡,第一通信板卡及第二通信板卡均包括一个fpga芯片、第一mlvds芯片、第二mlvds芯片;所述第一通信板卡包括时钟芯片;第一通信板卡的fpga芯片分别与时钟芯片以及第一通信板卡的第二mlvds芯片连接,所述时钟芯片与第一通信板卡的第一mlvds芯片连接;第二通信板卡的fpga芯片分别与第二通信板卡的第一mlvds芯片、第二mlvds芯片相连接;第一通信板卡的第二mlvds芯片与第二通信板卡的第二mlvds芯片通过数据总线连接进行数据传输,且第一通信板卡的第一mlvds芯片与第二通信板卡的第一mlvds芯片通过时钟总线相连接实现第一通信板卡与第二通信板卡共享时钟。

所述fpga芯片内包括有时钟电路模块、mlvds发射电路模块和mlvds接收电路模块;

所述mlvds接收电路模块包括帧头搜索电路模块和数据获取电路模块;所述帧头搜索电路模块为多个,多个所述帧头搜索电路模块分别与所述数据获取电路模块以及时钟电路模块连接;

所述时钟电路模块,用于对第一mlvds芯片引入的输入时钟进行三次90度的移相,向帧头搜索电路模块提时钟信号;

所述mlvds发射电路模块,用于使用第一mlvds芯片引入的输入时钟作为电路时钟,将数据进行并串转换,通过第二mlvds芯片,发送数据;

所述帧头搜索电路模块,用于使用时钟电路模块输出的相邻两路之间相移90度的四路时钟对由第二mlvds芯片接收的数据进行串并转换、校验,数据送入数据获取电路模块;

所述数据获取电路模块,用于选择校验无误的一路数据输出。

本发明通过低成本的芯片和fpga内部电路,实现多板卡之间的高速通信。在各种需要多板卡高速互联的设备中具有广泛的应用价值。

附图说明

图1示出了多个通信板卡间的连接原理图;

图2示出了通信板卡内部的功能模块连接原理图;

图3示出了mlvds发射电路模块的有限状态机转移图;

图4示出了mlvds接收电路模块与时钟电路模块的连接原理图。

具体实施方式

以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参见图1-4所示,一种基于mlvds的多板卡通信系统,包括:

相互连接并通信的一个第一通信板卡(图1中的板卡1)以及多个第二通信板卡(图1中的板卡2……板卡n),第一通信板卡及第二通信板卡均包括一个fpga芯片、第一mlvds芯片(图1中的mlvds1芯片)、第二mlvds芯片(图1中的mlvds2芯片);所述第一通信板卡包括时钟芯片;第一通信板卡的fpga芯片分别与时钟芯片以及第一通信板卡的第二mlvds芯片连接,所述时钟芯片与第一通信板卡的第一mlvds芯片连接;第二通信板卡的fpga芯片分别与第二通信板卡的第一mlvds芯片、第二mlvds芯片相连接;第一通信板卡的第二mlvds芯片与第二通信板卡的第二mlvds芯片通过数据总线连接进行数据传输,且第一通信板卡的第一mlvds芯片与第二通信板卡的第一mlvds芯片通过时钟总线相连接实现第一通信板卡与第二通信板卡共享时钟。

本发明中,多块通信板卡中只需要其中一块通信板卡上焊接时钟芯片,时钟芯片的信号通过第一mlvds芯片发送到时钟总线上,其它通信板卡的fpga芯片通过时钟总线共享该时钟芯片的信号,从而实现整个系统的通信是同步通信的目标,所有通信板卡的第二mlvds芯片差分端连接到数据总线上,实现数据在同一条总线上交互的目的。

第二mlvds芯片芯片的接收端和发送端与对应的fpga芯片连接,向fpga芯片提供单端lvttl电平信号,工作时,各个通信板卡上的fpga芯片控制第二mlvds芯片的管脚de(发送使能)为高电平时,第二mlvds芯片发送数据;fpga芯片控制第二mlvds芯片的管脚/re(接收使能)为低电平时,第二mlvds芯片接收数据。

需要说明的是,本发明中,在多块通信板卡只需要任一个通信板卡上有时钟芯片即可,该时钟芯片的时钟信号通过第一mlvds芯片由各个板卡的fpga共享,并不限于图1所示的实施例。

具体的,所述fpga芯片内包括有时钟(clk)电路模块、mlvds发射电路模块和mlvds接收电路模块;

所述mlvds接收电路模块包括帧头搜索(frm_head_srch)电路模块和数据获取(dat_get)电路模块;所述帧头搜索电路模块为多个,多个所述帧头搜索电路模块分别与所述数据获取电路模块以及时钟电路模块连接;

其中,所述时钟电路模块,用于对第一mlvds芯片引入的输入时钟进行三次90度的移相,向帧头搜索电路模块提时钟信号;

所述mlvds发射电路模块,用于使用第一mlvds芯片引入的输入时钟作为电路时钟,将数据进行并串转换,通过第二mlvds芯片,发送数据;

所述帧头搜索电路模块,用于使用时钟电路模块输出的相邻两路之间相移90度的四路时钟对由第二mlvds芯片接收的数据进行串并转换、校验,数据送入数据获取电路模块;

所述数据获取电路模块,用于选择校验无误的一路数据输出,,从而得到最终正确的并行数据。

mlvds发射电路模块的时钟来自mlvds1芯片的输出信号,电路的有限状态机转移图如图3所示。当处于idle(空闲)状态时且信号tr_rqs(要求传输)等于1时,进入tr_frm_head(传输数据帧头)状态;在tr_frm_head(传输数据帧头)状态下,mlvds发射电路模块发送数据的帧头,即6个十六进制数据“9b”,发送帧头的数量由寄存器head_cnt(帧头数量)记录。当head_cnt(帧头数量)等于6时,表示发送帧头完毕,进入tr_sn(传输地址)状态。在tr_sn(传输地址)状态,tmlvds(mlvds发射)电路发送目的板卡的地址,然后进入tr_lng(传输长度)状态。在tr_lng(传输长度)状态,tmlvds(mlvds发射)电路发送帧数据的长度,然后进入tr_dat(传输数据)状态。在tr_dat(传输数据)状态,tmlvds(mlvds发射)电路发送交互的数据,同时对发送的数据进行模二加。最终结果存储到寄存器crc(校验和)中,作为数据的校验和。当已发送数据的长度等于预计发送数据的长度时,进入tr_crc(传输校验和)状态。在tr_crc(传输校验和)状态,mlvds发射电路发送帧数据的校验和,即寄存器crc校验和)存储的数据,然后进入idle(空闲)状态。

具体的,所述mlvds接收电路模块包括有四个frm_head_srch(帧头搜索)电路模块和一个dat_get(数据获取)电路模块,clk(时钟)电路模块接收输入时钟,输出相邻两路之间相移90度的四路时钟。rmlvds电路模块的内部连接以及和clk(时钟)电路模块连接如图4所示。clk(时钟)电路模块的输入时钟信号是clk,输出时钟信号命名为clk0、clk90、clk180和clk270,这四路时钟信号分别是时钟信号clk的0度相移、90度相移、180相移和270度相移,通过fpga内部的锁相环实现。四个frm_head_srch(帧头搜索)电路模块分别命名为frm_head_srch(帧头搜索)电路模块1、frm_head_src(帧头搜索)h电路模块2、frm_head_srch(帧头搜索)电路模块3和frm_head_srch(帧头搜索)电路模块4。frm_head_srch(帧头搜索)电路模块1使用clk0作为电路时钟,frm_head_srch(帧头搜索)电路模块2使用clk90作为电路时钟,frm_head_srch(帧头搜索)电路模块3使用clk180作为电路时钟,frm_head_srch(帧头搜索)电路模块4使用clk270作为电路时钟,分别对输入的mlvds2的输出串行数据进行解串、校验。结果输出到dat_get(数据获取)电路模块。

因为时钟相位裕度的原因,四个frm_head_srch(帧头搜索)电路模块的校验不可能都正确,也不可能都不正确。最少一到两路frm_head_srch(帧头搜索)电路模块的校验结果正确,表明该路frm_head_srch(帧头搜索)电路模块的接收数据是发送端发送的数据。dat_get(数据获取)电路模块选择一路正确的数据作为输出信号,输出信号的格式是8位并行数据。

其中dout_prl(并行输出)是输出的8位并行信号。phs(相位)是dout_prl(并行输出)的接收顺序。phs(相位)是1时,表示dout_prl(并行输出)的值代表本帧数据的目的地址。phs(相位)是2时,表示dout_prl(并行输出)的值代表本帧数据的长度l。phs(相位)是3、4、5、……l+2时,表示dout_prl(并行输出)的值代表本帧数据的内容。phs(相位)是l+3时,表示dout_prl(并行输出)的值代表本帧数据的校验和。

以上所述仅是本发明的优选实施方式,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1