基于FPGA实现的高速接口与低速接口转换电路及方法.pdf

上传人:1****2 文档编号:1582053 上传时间:2018-06-26 格式:PDF 页数:9 大小:1.52MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210566722.4

申请日:

2012.12.24

公开号:

CN102999467A

公开日:

2013.03.27

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回 IPC(主分类):G06F 13/40申请公布日:20130327|||实质审查的生效IPC(主分类):G06F 13/40申请日:20121224|||公开

IPC分类号:

G06F13/40

主分类号:

G06F13/40

申请人:

中国科学院半导体研究所

发明人:

陈弘达; 黄莉; 张旭

地址:

100083 北京市海淀区清华东路甲35号

优先权:

专利代理机构:

中科专利商标代理有限责任公司 11021

代理人:

汤保平

PDF下载: PDF下载
内容摘要

一种基于FPGA实现的高速接口与低速接口转换电路及方法,该基于FPGA实现的高速接口与低速接口转换电路包括相互连接的:高速并行接口模块、高速写控制模块、高速读控制模块、第一数据缓存FIFO读写模块、第二数据缓存FIFO读写模块、低速读控制模块、低速写控制模块、并串转换模块、串并转换模块和低速串行接口模块。本发明的基于FPGA实现的高速接口与低速接口转换电路及方法,可以解决嵌入式系统中高速并行接口与低速串行接口之间数据率和接口协议不匹配问题,同时能够实现全双工通信,采用Xilinx Virtex-5系列FPGA实现时占用的逻辑资源少,易于系统集成。

权利要求书

权利要求书一种基于FPGA实现的高速接口与低速接口转换电路,包括:
一高速并行接口模块,其根据总线的特征定义一组协议无关的控制信号,实现可变长数据包传输和数据流控制;
一高速写控制模块,其第一输入端与高速并行接口模块的第一输出端连接;
一高速读控制模块,其第一输出端与高速并行接口模块的第二输入端连接;
一第一数据缓存FIFO读写模块,其第一输入端与高速写控制模块的的第一输出端连接,该第一数据缓存FIFO读写模块的第一输出端与高速写控制模块的第二输入端连接,该第一数据缓存FIFO读写模块的第二输入端与高速并行接口模块的第二输出端连接;
一第二数据缓存FIFO读写模块,其第一输出端与高速并行接口模块的第一输入端连接,该第二数据缓存FIFO读写模块的第一输入端与高速读控制模块的第二输出端连接,该第二数据缓存FIFO读写模块的第二输出端与高速读控制模块的第一输入端连接;
一低速读控制模块,其第一输出端与第一数据缓存FIFO读写模块的第三输入端连接,该低速读控制模块的第一输入端与第一数据缓存FIFO读写模块的第二输出端连接;
一低速写控制模块,其第一输出端与第二数据缓存FIFO读写模块的第三输入端连接,该低速写控制模块的第一输入端与第二数据缓存FIFO读写模块的第三输出端连接;
一并串转换模块,其第一输入端与低速读控制模块的第二输出端连接,该并串转换模块的第二输入端与第一数据缓存FIFO读写模块的第三输出端连接;
一串并转换模块,其第一输出端与第二数据缓存FIFO读写模块的第二输入端连接,该串并转换模块的第二输出端与低速写控制模块的第二输入端连接;
一低速串行接口模块,其输入端与并串转换模块的第一输出端连接,其输出端与串并转换模块的第一输入端连接。
根据权利要求1所述的基于FPGA实现的高速接口与低速接口转换电路,其中所述的高速并行接口模块的时钟、高速写控制模块的时钟、高速读控制模块的时钟、第一数据缓存FIFO读写模块的写时钟、第二数据缓存FIFO读写模块的读时钟统一由高速时钟给定;第一数据缓存FIFO读写模块的读时钟、第二数据缓存FIFO读写模块的写时钟、低速读控制模块的时钟、低速写控制模块的时钟、并串转换模块的时钟、串并转换模块的时钟和低速串行接口模块的时钟统一由低速时钟给定。
根据权利要求1所述的基于FPGA实现的高速接口与低速接口转换电路,其中所述的各个模块的复位信号进行统一异步复位或单独复位。
根据权利要求1所述的基于FPGA实现的高速接口与低速接口转换电路,其中所述的第一数据缓存FIFO读写模块和第二数据缓存FIFO读写模块均采用FPGA内部的块RAM实现;用于隔离时钟域,匹配读写速度。
一种基于FPGA实现的高速接口与低速接口转换电路的转换方法,其是采用权利要求1所述的转换电路,该转换方法包括如下步骤:
步骤1:当高速写控制模块的第一输入端信号有效且第一数据缓存FIFO读写模块非满时,第一数据缓存FIFO读写模块写使能,在高速时钟的上升沿同步下将高速并行接口模块的第二输出端数据写入第一数据缓存FIFO读写模块中;
步骤2:当第一数据缓存FIFO读写模块非空时,第一数据缓存FIFO读写模块读使能,在低速时钟的上升沿同步下从第一数据缓存FIFO读写模块中读出数据到并串转换模块中,同时置低速读控制模块的第二输出端信号有效;
步骤3:当并串转换模块的第一输入端信号有效时,并串转换模块将从第一数据缓存FIFO读写模块中读出的并行数据在低速时钟上升沿同步下转换成串行数据,逐位送到第一输出端上,配置外部串行设备的工作模式;
步骤4:串并转换模块将第三输入端上收到的串行数据在低速时钟上升沿同步下转换成并行数据,送到第一输出端上,同时置第二输出端信号有效;
步骤5:当低速写控制模块的第二输入端信号有效且第二数据缓存FIFO读写模块非满时,第二数据缓存FIFO读写模块写使能,在低速时钟的上升沿同步下将串并转换模块的第一输出端数据写入第二数据缓存FIFO读写模块中;
步骤6:当第二数据缓存FIFO读写模块非空时,第二数据缓存FIFO读写模块的读使能,在高速时钟的上升沿同步下读出数据送到高速并行接口模块的第一输入端,同时置高速读控制模块的第一输出端信号有效。
根据权利要求5所述的基于FPGA实现的高速接口与低速接口转换电路的转换方法,其中所述的高速并行接口模块的时钟、高速写控制模块的时钟、高速读控制模块的时钟、第一数据缓存FIFO读写模块的写时钟、第二数据缓存FIFO读写模块的读时钟统一由高速时钟给定;第一数据缓存FIFO读写模块的读时钟、第二数据缓存FIFO读写模块的写时钟、低速读控制模块的时钟、低速写控制模块的时钟、并串转换模块的时钟、串并转换模块的时钟和低速串行接口模块的时钟统一由低速时钟给定。
根据权利要求5所述的基于FPGA实现的高速接口与低速接口转换电路的转换方法,其中所述的各个模块的复位信号进行统一异步复位或单独复位。
根据权利要求5所述的基于FPGA实现的高速接口与低速接口转换电路的转换方法,其中所述的第一数据缓存FIFO读写模块和第二数据缓存FIFO读写模块均采用FPGA内部的块RAM实现;用于隔离时钟域,匹配读写速度。

说明书

说明书基于FPGA实现的高速接口与低速接口转换电路及方法
技术领域
本发明涉及数字电路系统中不同接口总线、不同时钟域之间的转换电路及方法,特别涉及一种基于现场可编程门阵列(FPGA)实现的高速并行接口与低速串行接口转换电路及方法。
背景技术
数字电路系统中不同接口总线、不同时钟域之间大量数据的可靠性传输,一直是数字电路设计中的关键问题;为了实现不同接口总线、不同时钟域之间数据的可靠交换,避免由于异步时钟带来的亚稳态问题,接口转换电路是必不可少的。目前市场上已有各种类型的专用接口转换芯片,但是专用接口转换芯片不可重构,结构单一,灵活性较差。随着可编程逻辑器件的快速发展,采用FPGA丰富的逻辑资源实现接口转换电路更简单快捷,并且用户可以根据需求对其进行重新配置。
发明内容
本发明的目的在于,提供一种基于FPGA实现的高速接口与低速接口转换电路及方法,其可解决高速并行接口与低速串行接口之间数据率和接口协议不匹配问题。
为了解决这个问题,本发明提出了一种基于FPGA实现的高速接口与低速接口转换电路,包括:
一高速并行接口模块,其根据总线的特征定义一组协议无关的控制信号,实现可变长数据包传输和数据流控制;
一高速写控制模块,其第一输入端与高速并行接口模块的第一输出端连接;
一高速读控制模块,其第一输出端与高速并行接口模块的第二输入端连接;
一第一数据缓存FIFO读写模块,其第一输入端与高速写控制模块的的第一输出端连接,该第一数据缓存FIFO读写模块的第一输出端与高速写控制模块的第二输入端连接,该第一数据缓存FIFO读写模块的第二输入端与高速并行接口模块的第二输出端连接;
一第二数据缓存FIFO读写模块,其第一输出端与高速并行接口模块的第一输入端连接,该第二数据缓存FIFO读写模块的第一输入端与高速读控制模块的第二输出端连接,该第二数据缓存FIFO读写模块的第二输出端与高速读控制模块的第一输入端连接;
一低速读控制模块,其第一输出端与第一数据缓存FIFO读写模块的第三输入端连接,该低速读控制模块的第一输入端与第一数据缓存FIFO读写模块的第二输出端连接;
一低速写控制模块,其第一输出端与第二数据缓存FIFO读写模块的第三输入端连接,该低速写控制模块的第一输入端与第二数据缓存FIFO读写模块的第三输出端连接;
一并串转换模块,其第一输入端与低速读控制模块的第二输出端连接,该并串转换模块的第二输入端与第一数据缓存FIFO读写模块的第三输出端连接;
一串并转换模块,其第一输出端与第二数据缓存FIFO读写模块的第二输入端连接,该串并转换模块的第二输出端与低速写控制模块的第二输入端连接;
一低速串行接口模块,其输入端与并串转换模块的第一输出端连接,其输出端与串并转换模块的第一输入端连接。
本发明还提供一种基于FPGA实现的高速接口与低速接口转换电路的转换方法,其是采用权利要求1所述的转换电路,该转换方法包括如下步骤:
步骤1:当高速写控制模块的第一输入端信号有效且第一数据缓存FIFO读写模块非满时,第一数据缓存FIFO读写模块写使能,在高速时钟的上升沿同步下将高速并行接口模块的第二输出端数据写入第一数据缓存FIFO读写模块中;
步骤2:当第一数据缓存FIFO读写模块非空时,第一数据缓存FIFO读写模块读使能,在低速时钟的上升沿同步下从第一数据缓存FIFO读写模块中读出数据到并串转换模块中,同时置低速读控制模块的第二输出端信号有效;
步骤3:当并串转换模块的第一输入端信号有效时,并串转换模块将从第一数据缓存FIFO读写模块中读出的并行数据在低速时钟上升沿同步下转换成串行数据,逐位送到第一输出端上,配置外部串行设备的工作模式;
步骤4:串并转换模块将第三输入端上收到的串行数据在低速时钟上升沿同步下转换成并行数据,送到第一输出端上,同时置第二输出端信号有效;
步骤5:当低速写控制模块的第二输入端信号有效且第二数据缓存FIFO读写模块非满时,第二数据缓存FIFO读写模块写使能,在低速时钟的上升沿同步下将串并转换模块的第一输出端数据写入第二数据缓存FIFO读写模块中;
步骤6:当第二数据缓存FIFO读写模块非空时,第二数据缓存FIFO读写模块的读使能,在高速时钟的上升沿同步下读出数据送到高速并行接口模块的第一输入端,同时置高速读控制模块的第一输出端信号有效。
附图说明
为进一步说明本发明的技术内容,以下结合实施例及附图详细说明如后,其中:
图1是本发明的转换电路结构示意图;
图2是第二数据缓存FIFO读写模块5的读写操作示意图;
图3是采用图1的电路结构实现的实施例。
具体实施方式
请参阅图1所示,图1是本发明提供的转换电路结构示意图,该转换电路100包括高速并行接口模块1、高速写控制模块2、高速读控制模块3、第一数据缓存FIFO读写模块4、第二数据缓存FIFO读写模块5、低速读控制模块6、低速写控制模块7、并串转换模块8、串并转换模块9和低速串行接口模块10。其中,高速并行接口模块1根据并行总线A的特征定义一组协议无关的控制信号,实现可变长数据包传输和数据流控制;高速写控制模块2用于控制第一数据缓存FIFO读写模块4的数据写入过程;高速读控制模块3用于控制第二数据缓存FIFO读写模块5的数据读出过程;第一数据缓存FIFO读写模块4用于暂存高速并行接口模块1写入并串转换模块8的数据;第二数据缓存FIFO读写模块5用于暂存串并转换模块9写入高速并行接口模块1的数据;低速读控制模块6用于控制第一数据缓存FIFO读写模块4的数据读出过程;低速写控制模块7用于控制第二数据缓存FIFO读写模块5的数据写入过程;并串转换模块8用于将并行数据转换成串行数据;串并转换模块9用于将串行数据转换成并行数据;低速串行接口模块10翻译产生总线B的时钟信号和控制信号,驱动与总线B相连接的外部从机设备。
具体构成该转换电路100的各模块之间的连接关系为:高速写控制模块2,其第一输入端21(模块中的接脚标号)连接于高速并行接口模块1的第一输出端11;高速读控制模块3,其第一输出端31连接于高速并行接口模块1的第二输入端14;第一数据缓存FIFO读写模块4,其第一输入端41连接于高速写控制模块2的第一输出端22,该第一数据缓存FIFO读写模块4的第一输出端42连接于高速写控制模块2的第二输入端23,该第一数据缓存FIFO读写模块4的第二输入端43连接于高速并行接口模块1的第二输出端12;第二数据缓存FIFO读写模块5,其第一输出端51连接于高速并行接口模块1的第一输入端13,该第二数据缓存FIFO读写模块5的第一输入端52连接于高速读控制模块3的第二输出端32,该第二数据缓存FIFO读写模块5的第二输出端53连接于高速读控制模块3的第一输入端33;低速读控制模块6,其第一输出端61连接于第一数据缓存FIFO读写模块4的第三输入端44,该低速读控制模块6的第一输入端62连接于第一数据缓存FIFO读写模块4的第二输出端45;低速写控制模块7,其第一输出端71连接于第二数据缓存FIFO读写模块5的第三输入端55,该低速写控制模块7的第一输入端72连接于第二数据缓存FIFO读写模块5的第三输出端56;并串转换模块8,其第一输入端81连接于低速读控制模块6的第二输出端63,该并串转换模块8的第二输入端82连接于第一数据缓存FIFO读写模块4的第三输出端46;串并转换模块9,其第一输出端91连接于第二数据缓存FIFO读写模块5的第二输入端54,该串并转换模块9的第二输出端92连接于低速写控制模块7的第二输入端73;低速串行接口模块10,其输入端101连接于并串转换模块8的第一输出端83,该低速串行接口模块10的输出端102连接于串并转换模块9的第一输入端93。
第一数据缓存FIFO读写模块4和第二数据缓存FIFO读写模块5均采用FPGA内部的块RAM实现,用于隔离时钟域,匹配读写速度。其中,第二数据缓存FIFO读写模块5的读时钟频率比写时钟频率快,所以第二数据缓存FIFO读写模块5的深度只需为2,具体读写操作步骤(参阅图2)为:
a)初始时刻,低速端对地址1进行写操作;
b)时刻1,高速端对地址1进行读操作,同时低速端对地址2进行写操作;
c)时刻2,高速端对地址2进行读操作,同时低速端对地址1进行写操作;
d)重复步骤b、c。
高速并行接口模块1的时钟、高速写控制模块2的时钟、高速读控制模块3的时钟、第一数据缓存FIFO读写模块4的写时钟、第二数据缓存FIFO读写模块5的读时钟统一由高速时钟A给定;第一数据缓存FIFO读写模块4的读时钟、第二数据缓存FIFO读写模块5的写时钟、低速读控制模块6的时钟、低速写控制模块7的时钟、串并转换模块8的时钟、并串转换模块9的时钟和低速串行接口模块10的时钟统一由低速时钟B给定。
各个模块的复位信号进行统一异步复位或单独复位。
基于图1所示的转换电路的具体转换方法为:
1)从第一总线A向第二总线B传输数据:
当高速写控制模块2的第一输入端(1)信号有效且第一数据缓存FIFO读写模块4非满时,第一数据缓存FIFO读写模块4写使能,在高速时钟的上升沿同步下将高速并行接口模块1的第二输出端12数据写入第一数据缓存FIFO读写模块4中;
当第一数据缓存FIFO读写模块4非空时,第一数据缓存FIFO读写模块4读使能,在低速时钟的上升沿同步下从第一数据缓存FIFO读写模块4中读出数据到并串转换模块8中,同时置低速读控制模块6的第二输出端63信号有效;
当并串转换模块8的第一输入端81信号有效时,并串转换模块8将从第一数据缓存FIFO读写模块4中读出的并行数据在低速时钟上升沿同步下转换成串行数据,逐位送到第一输出端83上,配置外部串行设备的工作模式;
2)从第二总线B向第一总线A传输数据:
串并转换模块9将第三输入端93上收到的串行数据在低速时钟上升沿同步下转换成并行数据,送到第一输出端91上,同时置第二输出端92信号有效;
当低速写控制模块7的第二输入端73信号有效且第二数据缓存FIFO读写模块5非满时,第二数据缓存FIFO读写模块5写使能,在低速时钟的上升沿同步下将串并转换模块9的第一输出端91数据写入第二数据缓存FIFO读写模块5中;
当第二数据缓存FIFO读写模块5非空时,第二数据缓存FIFO读写模块5的读使能,在高速时钟的上升沿同步下读出数据送到高速并行接口模块1的第一输入端13,同时置高速读控制模块3的第一输出端31信号有效。
图3示出了依照本发明实现的实施实例。采用本发明实现了高速并行LocalLink接口1与低速串行SPI接口10之间的全双工通信。在一种具体的实施方案中,采用Xilinx公司的Virtex‑5FPGA实现,总线A为LocalLink总线,数据宽度为32位;总线B为SPI总线;高速时钟A为100Mhz,低速时钟B时钟为20Mhz;第一数据缓存FIFO读写模块4的深度为1024,宽度为32位,第二数据缓存FIFO读写模块5的深度为2,宽度为32位;LocalLink接口1产生LocalLink总线控制信号,与DMA模块11相连接;SPI接口10产生SPI总线控制信号,与ADC模块12相连接;具体数据传输过程与转换方法相同。
以上说明对本发明而言只是说明性的,而非限制性的,本领域普通技术人员理解,在不脱离以下所附权利要求所限定的精神和范围的情况下,可做出许多修改、变化或等效,但都将落入本发明的保护范围内。

基于FPGA实现的高速接口与低速接口转换电路及方法.pdf_第1页
第1页 / 共9页
基于FPGA实现的高速接口与低速接口转换电路及方法.pdf_第2页
第2页 / 共9页
基于FPGA实现的高速接口与低速接口转换电路及方法.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《基于FPGA实现的高速接口与低速接口转换电路及方法.pdf》由会员分享,可在线阅读,更多相关《基于FPGA实现的高速接口与低速接口转换电路及方法.pdf(9页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102999467 A(43)申请公布日 2013.03.27CN102999467A*CN102999467A*(21)申请号 201210566722.4(22)申请日 2012.12.24G06F 13/40(2006.01)(71)申请人中国科学院半导体研究所地址 100083 北京市海淀区清华东路甲35号(72)发明人陈弘达 黄莉 张旭(74)专利代理机构中科专利商标代理有限责任公司 11021代理人汤保平(54) 发明名称基于FPGA实现的高速接口与低速接口转换电路及方法(57) 摘要一种基于FPGA实现的高速接口与低速接口转换电路及方法,该基于FPGA实。

2、现的高速接口与低速接口转换电路包括相互连接的:高速并行接口模块、高速写控制模块、高速读控制模块、第一数据缓存FIFO读写模块、第二数据缓存FIFO读写模块、低速读控制模块、低速写控制模块、并串转换模块、串并转换模块和低速串行接口模块。本发明的基于FPGA实现的高速接口与低速接口转换电路及方法,可以解决嵌入式系统中高速并行接口与低速串行接口之间数据率和接口协议不匹配问题,同时能够实现全双工通信,采用Xilinx Virtex-5系列FPGA实现时占用的逻辑资源少,易于系统集成。(51)Int.Cl.权利要求书2页 说明书4页 附图2页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要。

3、求书 2 页 说明书 4 页 附图 2 页1/2页21.一种基于FPGA实现的高速接口与低速接口转换电路,包括:一高速并行接口模块,其根据总线的特征定义一组协议无关的控制信号,实现可变长数据包传输和数据流控制;一高速写控制模块,其第一输入端与高速并行接口模块的第一输出端连接;一高速读控制模块,其第一输出端与高速并行接口模块的第二输入端连接;一第一数据缓存FIFO读写模块,其第一输入端与高速写控制模块的的第一输出端连接,该第一数据缓存FIFO读写模块的第一输出端与高速写控制模块的第二输入端连接,该第一数据缓存FIFO读写模块的第二输入端与高速并行接口模块的第二输出端连接;一第二数据缓存FIFO读。

4、写模块,其第一输出端与高速并行接口模块的第一输入端连接,该第二数据缓存FIFO读写模块的第一输入端与高速读控制模块的第二输出端连接,该第二数据缓存FIFO读写模块的第二输出端与高速读控制模块的第一输入端连接;一低速读控制模块,其第一输出端与第一数据缓存FIFO读写模块的第三输入端连接,该低速读控制模块的第一输入端与第一数据缓存FIFO读写模块的第二输出端连接;一低速写控制模块,其第一输出端与第二数据缓存FIFO读写模块的第三输入端连接,该低速写控制模块的第一输入端与第二数据缓存FIFO读写模块的第三输出端连接;一并串转换模块,其第一输入端与低速读控制模块的第二输出端连接,该并串转换模块的第二输。

5、入端与第一数据缓存FIFO读写模块的第三输出端连接;一串并转换模块,其第一输出端与第二数据缓存FIFO读写模块的第二输入端连接,该串并转换模块的第二输出端与低速写控制模块的第二输入端连接;一低速串行接口模块,其输入端与并串转换模块的第一输出端连接,其输出端与串并转换模块的第一输入端连接。2.根据权利要求1所述的基于FPGA实现的高速接口与低速接口转换电路,其中所述的高速并行接口模块的时钟、高速写控制模块的时钟、高速读控制模块的时钟、第一数据缓存FIFO读写模块的写时钟、第二数据缓存FIFO读写模块的读时钟统一由高速时钟给定;第一数据缓存FIFO读写模块的读时钟、第二数据缓存FIFO读写模块的写。

6、时钟、低速读控制模块的时钟、低速写控制模块的时钟、并串转换模块的时钟、串并转换模块的时钟和低速串行接口模块的时钟统一由低速时钟给定。3.根据权利要求1所述的基于FPGA实现的高速接口与低速接口转换电路,其中所述的各个模块的复位信号进行统一异步复位或单独复位。4.根据权利要求1所述的基于FPGA实现的高速接口与低速接口转换电路,其中所述的第一数据缓存FIFO读写模块和第二数据缓存FIFO读写模块均采用FPGA内部的块RAM实现;用于隔离时钟域,匹配读写速度。5.一种基于FPGA实现的高速接口与低速接口转换电路的转换方法,其是采用权利要求1所述的转换电路,该转换方法包括如下步骤:步骤1:当高速写控。

7、制模块的第一输入端信号有效且第一数据缓存FIFO读写模块非满时,第一数据缓存FIFO读写模块写使能,在高速时钟的上升沿同步下将高速并行接口模块的第二输出端数据写入第一数据缓存FIFO读写模块中;步骤2:当第一数据缓存FIFO读写模块非空时,第一数据缓存FIFO读写模块读使能,在低速时钟的上升沿同步下从第一数据缓存FIFO读写模块中读出数据到并串转换模块权 利 要 求 书CN 102999467 A2/2页3中,同时置低速读控制模块的第二输出端信号有效;步骤3:当并串转换模块的第一输入端信号有效时,并串转换模块将从第一数据缓存FIFO读写模块中读出的并行数据在低速时钟上升沿同步下转换成串行数据,。

8、逐位送到第一输出端上,配置外部串行设备的工作模式;步骤4:串并转换模块将第三输入端上收到的串行数据在低速时钟上升沿同步下转换成并行数据,送到第一输出端上,同时置第二输出端信号有效;步骤5:当低速写控制模块的第二输入端信号有效且第二数据缓存FIFO读写模块非满时,第二数据缓存FIFO读写模块写使能,在低速时钟的上升沿同步下将串并转换模块的第一输出端数据写入第二数据缓存FIFO读写模块中;步骤6:当第二数据缓存FIFO读写模块非空时,第二数据缓存FIFO读写模块的读使能,在高速时钟的上升沿同步下读出数据送到高速并行接口模块的第一输入端,同时置高速读控制模块的第一输出端信号有效。6.根据权利要求5所。

9、述的基于FPGA实现的高速接口与低速接口转换电路的转换方法,其中所述的高速并行接口模块的时钟、高速写控制模块的时钟、高速读控制模块的时钟、第一数据缓存FIFO读写模块的写时钟、第二数据缓存FIFO读写模块的读时钟统一由高速时钟给定;第一数据缓存FIFO读写模块的读时钟、第二数据缓存FIFO读写模块的写时钟、低速读控制模块的时钟、低速写控制模块的时钟、并串转换模块的时钟、串并转换模块的时钟和低速串行接口模块的时钟统一由低速时钟给定。7.根据权利要求5所述的基于FPGA实现的高速接口与低速接口转换电路的转换方法,其中所述的各个模块的复位信号进行统一异步复位或单独复位。8.根据权利要求5所述的基于F。

10、PGA实现的高速接口与低速接口转换电路的转换方法,其中所述的第一数据缓存FIFO读写模块和第二数据缓存FIFO读写模块均采用FPGA内部的块RAM实现;用于隔离时钟域,匹配读写速度。权 利 要 求 书CN 102999467 A1/4页4基于 FPGA 实现的高速接口与低速接口转换电路及方法技术领域0001 本发明涉及数字电路系统中不同接口总线、不同时钟域之间的转换电路及方法,特别涉及一种基于现场可编程门阵列(FPGA)实现的高速并行接口与低速串行接口转换电路及方法。背景技术0002 数字电路系统中不同接口总线、不同时钟域之间大量数据的可靠性传输,一直是数字电路设计中的关键问题;为了实现不同接。

11、口总线、不同时钟域之间数据的可靠交换,避免由于异步时钟带来的亚稳态问题,接口转换电路是必不可少的。目前市场上已有各种类型的专用接口转换芯片,但是专用接口转换芯片不可重构,结构单一,灵活性较差。随着可编程逻辑器件的快速发展,采用FPGA丰富的逻辑资源实现接口转换电路更简单快捷,并且用户可以根据需求对其进行重新配置。发明内容0003 本发明的目的在于,提供一种基于FPGA实现的高速接口与低速接口转换电路及方法,其可解决高速并行接口与低速串行接口之间数据率和接口协议不匹配问题。0004 为了解决这个问题,本发明提出了一种基于FPGA实现的高速接口与低速接口转换电路,包括:0005 一高速并行接口模块。

12、,其根据总线的特征定义一组协议无关的控制信号,实现可变长数据包传输和数据流控制;0006 一高速写控制模块,其第一输入端与高速并行接口模块的第一输出端连接;0007 一高速读控制模块,其第一输出端与高速并行接口模块的第二输入端连接;0008 一第一数据缓存FIFO读写模块,其第一输入端与高速写控制模块的的第一输出端连接,该第一数据缓存FIFO读写模块的第一输出端与高速写控制模块的第二输入端连接,该第一数据缓存FIFO读写模块的第二输入端与高速并行接口模块的第二输出端连接;0009 一第二数据缓存FIFO读写模块,其第一输出端与高速并行接口模块的第一输入端连接,该第二数据缓存FIFO读写模块的第。

13、一输入端与高速读控制模块的第二输出端连接,该第二数据缓存FIFO读写模块的第二输出端与高速读控制模块的第一输入端连接;0010 一低速读控制模块,其第一输出端与第一数据缓存FIFO读写模块的第三输入端连接,该低速读控制模块的第一输入端与第一数据缓存FIFO读写模块的第二输出端连接;0011 一低速写控制模块,其第一输出端与第二数据缓存FIFO读写模块的第三输入端连接,该低速写控制模块的第一输入端与第二数据缓存FIFO读写模块的第三输出端连接;0012 一并串转换模块,其第一输入端与低速读控制模块的第二输出端连接,该并串转换模块的第二输入端与第一数据缓存FIFO读写模块的第三输出端连接;0013。

14、 一串并转换模块,其第一输出端与第二数据缓存FIFO读写模块的第二输入端连接,该串并转换模块的第二输出端与低速写控制模块的第二输入端连接;说 明 书CN 102999467 A2/4页50014 一低速串行接口模块,其输入端与并串转换模块的第一输出端连接,其输出端与串并转换模块的第一输入端连接。0015 本发明还提供一种基于FPGA实现的高速接口与低速接口转换电路的转换方法,其是采用权利要求1所述的转换电路,该转换方法包括如下步骤:0016 步骤1:当高速写控制模块的第一输入端信号有效且第一数据缓存FIFO读写模块非满时,第一数据缓存FIFO读写模块写使能,在高速时钟的上升沿同步下将高速并行接。

15、口模块的第二输出端数据写入第一数据缓存FIFO读写模块中;0017 步骤2:当第一数据缓存FIFO读写模块非空时,第一数据缓存FIFO读写模块读使能,在低速时钟的上升沿同步下从第一数据缓存FIFO读写模块中读出数据到并串转换模块中,同时置低速读控制模块的第二输出端信号有效;0018 步骤3:当并串转换模块的第一输入端信号有效时,并串转换模块将从第一数据缓存FIFO读写模块中读出的并行数据在低速时钟上升沿同步下转换成串行数据,逐位送到第一输出端上,配置外部串行设备的工作模式;0019 步骤4:串并转换模块将第三输入端上收到的串行数据在低速时钟上升沿同步下转换成并行数据,送到第一输出端上,同时置第。

16、二输出端信号有效;0020 步骤5:当低速写控制模块的第二输入端信号有效且第二数据缓存FIFO读写模块非满时,第二数据缓存FIFO读写模块写使能,在低速时钟的上升沿同步下将串并转换模块的第一输出端数据写入第二数据缓存FIFO读写模块中;0021 步骤6:当第二数据缓存FIFO读写模块非空时,第二数据缓存FIFO读写模块的读使能,在高速时钟的上升沿同步下读出数据送到高速并行接口模块的第一输入端,同时置高速读控制模块的第一输出端信号有效。附图说明0022 为进一步说明本发明的技术内容,以下结合实施例及附图详细说明如后,其中:0023 图1是本发明的转换电路结构示意图;0024 图2是第二数据缓存F。

17、IFO读写模块5的读写操作示意图;0025 图3是采用图1的电路结构实现的实施例。具体实施方式0026 请参阅图1所示,图1是本发明提供的转换电路结构示意图,该转换电路100包括高速并行接口模块1、高速写控制模块2、高速读控制模块3、第一数据缓存FIFO读写模块4、第二数据缓存FIFO读写模块5、低速读控制模块6、低速写控制模块7、并串转换模块8、串并转换模块9和低速串行接口模块10。其中,高速并行接口模块1根据并行总线A的特征定义一组协议无关的控制信号,实现可变长数据包传输和数据流控制;高速写控制模块2用于控制第一数据缓存FIFO读写模块4的数据写入过程;高速读控制模块3用于控制第二数据缓存。

18、FIFO读写模块5的数据读出过程;第一数据缓存FIFO读写模块4用于暂存高速并行接口模块1写入并串转换模块8的数据;第二数据缓存FIFO读写模块5用于暂存串并转换模块9写入高速并行接口模块1的数据;低速读控制模块6用于控制第一数据缓存FIFO读写模块4的数据读出过程;低速写控制模块7用于控制第二数据缓存FIFO读写模说 明 书CN 102999467 A3/4页6块5的数据写入过程;并串转换模块8用于将并行数据转换成串行数据;串并转换模块9用于将串行数据转换成并行数据;低速串行接口模块10翻译产生总线B的时钟信号和控制信号,驱动与总线B相连接的外部从机设备。0027 具体构成该转换电路100的。

19、各模块之间的连接关系为:高速写控制模块2,其第一输入端21(模块中的接脚标号)连接于高速并行接口模块1的第一输出端11;高速读控制模块3,其第一输出端31连接于高速并行接口模块1的第二输入端14;第一数据缓存FIFO读写模块4,其第一输入端41连接于高速写控制模块2的第一输出端22,该第一数据缓存FIFO读写模块4的第一输出端42连接于高速写控制模块2的第二输入端23,该第一数据缓存FIFO读写模块4的第二输入端43连接于高速并行接口模块1的第二输出端12;第二数据缓存FIFO读写模块5,其第一输出端51连接于高速并行接口模块1的第一输入端13,该第二数据缓存FIFO读写模块5的第一输入端52。

20、连接于高速读控制模块3的第二输出端32,该第二数据缓存FIFO读写模块5的第二输出端53连接于高速读控制模块3的第一输入端33;低速读控制模块6,其第一输出端61连接于第一数据缓存FIFO读写模块4的第三输入端44,该低速读控制模块6的第一输入端62连接于第一数据缓存FIFO读写模块4的第二输出端45;低速写控制模块7,其第一输出端71连接于第二数据缓存FIFO读写模块5的第三输入端55,该低速写控制模块7的第一输入端72连接于第二数据缓存FIFO读写模块5的第三输出端56;并串转换模块8,其第一输入端81连接于低速读控制模块6的第二输出端63,该并串转换模块8的第二输入端82连接于第一数据缓。

21、存FIFO读写模块4的第三输出端46;串并转换模块9,其第一输出端91连接于第二数据缓存FIFO读写模块5的第二输入端54,该串并转换模块9的第二输出端92连接于低速写控制模块7的第二输入端73;低速串行接口模块10,其输入端101连接于并串转换模块8的第一输出端83,该低速串行接口模块10的输出端102连接于串并转换模块9的第一输入端93。0028 第一数据缓存FIFO读写模块4和第二数据缓存FIFO读写模块5均采用FPGA内部的块RAM实现,用于隔离时钟域,匹配读写速度。其中,第二数据缓存FIFO读写模块5的读时钟频率比写时钟频率快,所以第二数据缓存FIFO读写模块5的深度只需为2,具体读。

22、写操作步骤(参阅图2)为:0029 a)初始时刻,低速端对地址1进行写操作;0030 b)时刻1,高速端对地址1进行读操作,同时低速端对地址2进行写操作;0031 c)时刻2,高速端对地址2进行读操作,同时低速端对地址1进行写操作;0032 d)重复步骤b、c。0033 高速并行接口模块1的时钟、高速写控制模块2的时钟、高速读控制模块3的时钟、第一数据缓存FIFO读写模块4的写时钟、第二数据缓存FIFO读写模块5的读时钟统一由高速时钟A给定;第一数据缓存FIFO读写模块4的读时钟、第二数据缓存FIFO读写模块5的写时钟、低速读控制模块6的时钟、低速写控制模块7的时钟、串并转换模块8的时钟、并串。

23、转换模块9的时钟和低速串行接口模块10的时钟统一由低速时钟B给定。0034 各个模块的复位信号进行统一异步复位或单独复位。0035 基于图1所示的转换电路的具体转换方法为:0036 1)从第一总线A向第二总线B传输数据:0037 当高速写控制模块2的第一输入端(1)信号有效且第一数据缓存FIFO读写模块4说 明 书CN 102999467 A4/4页7非满时,第一数据缓存FIFO读写模块4写使能,在高速时钟的上升沿同步下将高速并行接口模块1的第二输出端12数据写入第一数据缓存FIFO读写模块4中;0038 当第一数据缓存FIFO读写模块4非空时,第一数据缓存FIFO读写模块4读使能,在低速时钟。

24、的上升沿同步下从第一数据缓存FIFO读写模块4中读出数据到并串转换模块8中,同时置低速读控制模块6的第二输出端63信号有效;0039 当并串转换模块8的第一输入端81信号有效时,并串转换模块8将从第一数据缓存FIFO读写模块4中读出的并行数据在低速时钟上升沿同步下转换成串行数据,逐位送到第一输出端83上,配置外部串行设备的工作模式;0040 2)从第二总线B向第一总线A传输数据:0041 串并转换模块9将第三输入端93上收到的串行数据在低速时钟上升沿同步下转换成并行数据,送到第一输出端91上,同时置第二输出端92信号有效;0042 当低速写控制模块7的第二输入端73信号有效且第二数据缓存FIF。

25、O读写模块5非满时,第二数据缓存FIFO读写模块5写使能,在低速时钟的上升沿同步下将串并转换模块9的第一输出端91数据写入第二数据缓存FIFO读写模块5中;0043 当第二数据缓存FIFO读写模块5非空时,第二数据缓存FIFO读写模块5的读使能,在高速时钟的上升沿同步下读出数据送到高速并行接口模块1的第一输入端13,同时置高速读控制模块3的第一输出端31信号有效。0044 图3示出了依照本发明实现的实施实例。采用本发明实现了高速并行LocalLink接口1与低速串行SPI接口10之间的全双工通信。在一种具体的实施方案中,采用Xilinx公司的Virtex-5FPGA实现,总线A为LocalLi。

26、nk总线,数据宽度为32位;总线B为SPI总线;高速时钟A为100Mhz,低速时钟B时钟为20Mhz;第一数据缓存FIFO读写模块4的深度为1024,宽度为32位,第二数据缓存FIFO读写模块5的深度为2,宽度为32位;LocalLink接口1产生LocalLink总线控制信号,与DMA模块11相连接;SPI接口10产生SPI总线控制信号,与ADC模块12相连接;具体数据传输过程与转换方法相同。0045 以上说明对本发明而言只是说明性的,而非限制性的,本领域普通技术人员理解,在不脱离以下所附权利要求所限定的精神和范围的情况下,可做出许多修改、变化或等效,但都将落入本发明的保护范围内。说 明 书CN 102999467 A1/2页8图1图2说 明 书 附 图CN 102999467 A2/2页9图3说 明 书 附 图CN 102999467 A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1