CN103412847B - 基于fpga的usb转多路链路接口电路 - Google Patents
基于fpga的usb转多路链路接口电路 Download PDFInfo
- Publication number
- CN103412847B CN103412847B CN201310374495.XA CN201310374495A CN103412847B CN 103412847 B CN103412847 B CN 103412847B CN 201310374495 A CN201310374495 A CN 201310374495A CN 103412847 B CN103412847 B CN 103412847B
- Authority
- CN
- China
- Prior art keywords
- unit
- data
- descending
- linkport
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种基于FPGA的USB转多路链路接口电路,主要解决现有单个USB不能与转换为多路链路接口的问题。它包括:USB数据转存单元(1)、下行数据读取单元(2)、下行数据解析单元(3)、N个下行先入先出存储器单元(4)、N个下行Link?Port单元(5)、N个上行Link?Port单元(6)、N个上行先入先出存储器单元(7)、上行数据写入单元(8)和状态机单元(9)。USB数据转存单元(1)提取USB数据,存入下行先入先出存储器单元(4),再由下行Link?Port单元(5)将数据发送给ADSP;上行Link?Port单元(6)提取Link?Port数据,存储到上行先入先出存储器单元(7),再由USB数据转存单元(1)转换为USB数据。本发明具有结构简单、速度快的优点,可用于USB转多路链路接口。
Description
技术领域
本发明属于电子电路技术领域,特别是一种利用FPGA实现将USB接口转为多路链路接口的电路,可应用于电脑向多片ADSP处理器并行数据传输。
背景技术
目前为了实现从电脑向多片数字信号理器ADSP中传输数据,一般都是通过调试接口JTAG向一块ADSP中传输数据,再通过共享内存的方式,将数据传输到其它的ADSP当中去。由于JTAG的传输速度很慢,直接影响了数据的传输速度,在速度要求很高的场合,很难满足实时性要求。另外现有技术中,如果要向多片ADSP中并行的传输数据,需要利用电脑的多个USB接口连接多个JTAG,再通过多个JTAG将数据传输到多片ADSP当中,但是这样需要多个JTAG,增加了电路的成本和复杂性。
近年来,微电子技术和超大规模集成电路制造技术的发展,特别是现场可编程门阵列FPGA的发展,为实现多路并行接口电路转换提供了新的思路,FPGA具有高速和并行结构的特点,以FPGA作为主要处理芯片的电路非常适合做USB转多路LinkPort接口电路,但目前还没有这种利用FPGA来实现USB转多路LinkPort接口电路。
发明内容
本发明的目的在于针对上述现有技术的不足,提出一种基于FPGA的USB转多路链路接口电路,以提高传输速度,实现单台电脑向多片ADSP处理器传输的功能。
本发明的技术原理是:利用FPGA良好的并行特性,将电脑的USB端口的数据通过CY7C68013芯片转换成SlaveFIFO数据,然后用FPGA读取,并根据帧头的标志位存入相应的FIFO中,再通过多个LinkPort接口模块,将数据传输到多片ADSP中。
根据上述原理,本发明的接口电路包括:
USB数据转存单元(1),其输入端与电脑的USB接口连接,其输出端与下行数据读取单元(2)连接,用于在下行数据传输时,将USB串行总线数据转换到其内部的下行从属存储器中,在上行数据传输时,将其内部的上行从属存储器中数据转换为USB串行总线数据;
下行数据读取单元(2),其输入端与USB数据转存单元(1)内部的下行从属存储器和状态机单元(9)连接,其输出端与下行数据解析单元(3)连接,用于读取USB数据转存单元(1)内部的下行从属存储器中的数据;
下行数据解析单元(3),其输入端与下行数据读取单元(2)和状态机单元(9)连接,其输出端与N个下行先入先出存储器单元(4)连接,用于提取USB数据转存单元(1)内部的下行从属存储器中数据的目标信息,并根据该目标信息,将数据存入对应的下行先入先出存储器单元(4)中;
N个下行先入先出存储器单元(4),其输入端与下行数据解析单元(3)连接,其输出端与N个下行LinkPort单元(5)连接,用于暂时存储下行数据解析单元(3)解析出的数据,其中2≤N≤12;
N个下行LinkPort单元(5),其输入端与N个下行先入先出存储器单元(4)连接,其输出端与模拟半导体的数字信号处理器连接,用于将下行先入先出存储器单元(4)中的数据按照LinkPort接口时序发送到模拟半导体的数字信号处理器中;
N个上行LinkPort单元(6),其输入端与模拟半导体的数字信号处理器连接,输出端与N个上行先入先出存储器单元(7)连接,用于提取模拟半导体的数字信号处理器发送的数据,并将数据写入对应的上行先入先出存储器单元(7)中;
N个上行先入先出存储器单元(7),其输入端与N个上行LinkPort发送单元(6)连接,其输出端与上行数据写入单元(8)连接,用于暂时存储上行LinkPort单元(6)提取出的数据;
上行数据写入单元(8),其输入端与N个上行先入先出存储器单元(7)和状态机单元(9)连接,其输出端与USB数据转存单元(1)内部的上行行从属存储器连接,用于读取N个上行先入先出存储器单元(7)中的数据,并将读取出来的数据写入到USB数据转存单元(1)内部的上行从属存储器中;
状态机单元(9),其与下行数据读取单元(2)、下行数据解析单元(3)以及上行数据写入单元(8)连接,用于在下行数据传输时,控制下行数据的读取和解析操作,在上行数据传输时,控制上行数据写入单元(8)的写入操作。
本发明与现有技术相比有以下优点:
1、本发明由于在下行数据传输时,采用解析数据的目标信息,并根据目标信息将数据发送给相应的LinkPort接口方式,实现了单个USB接口发送数据给多个ADSP的功能;
2、本发明在上行数据传输和下行数据传输时,均采用了存储器缓存机制,提高了数据的传输速度。
附图说明
图1是本发明的整体结构框图;
图2是本发明中的下行LinkPort单元结构框图;
图3是本发明中的上行LinkPort单元结构框图。
具体实施方式
参照图1,本发明包括:USB数据转存单元1、下行数据读取单元2、下行数据解析单元3、N个下行先入先出存储器单元4、N个下行LinkPort单元5、N个上行LinkPort单元6、N个上行先入先出存储器单元7、上行数据写入单元8和状态机单元9;该USB数据转存单元1由CY7C68013A芯片与外围阻容元件连接组成,该下行数据读取单元2、下行数据解析单元3、N个下行先入先出存储器单元4、N个下行LinkPort单元5、N个上行LinkPort单元6、N个上行先入先出存储器单元7、上行数据写入单元8和状态机单元9均在FPGA内部实现,其中:
所述USB数据转存单元1,其输入端与电脑的USB接口连接,其输出端与下行数据读取单元2连接,在下行数据传输时,该单元用于将USB串行总线数据转换并存储到其内部的下行从属存储器中;在上行数据传输时,该单元用于将其内部的上行从属存储器中数据转换为USB串行总线数据,并发送给电脑,该单元内部的下行从属存储器具有从属存储器读取接口,该单元内部的上行从属存储器具有从属存储器写入接口;
所述下行数据读取单元2,其输入端与USB数据转存单元1内部的下行从属存储器、状态机单元9连接,其输出端与下行数据解析单元3连接,在下行数据传输时,该单元用于按照从属存储器读取接口读取时序,读取USB数据转存单元1内部下行从属存储器中的数据;
所述下行数据解析单元3,其输入端与下行数据读取单元2、状态机单元9连接,其输出端与N个下行先入先出存储器单元4连接,在下行数据传输时,该单元用于提取出USB数据转存单元1内部的下行从属存储器中数据的目标信息,并根据该目标信息,按照先入先出存储器写入接口时序,将数据存入对应的下行先入先出存储器单元4中;
所述N个下行先入先出存储器单元4,其输入端与下行数据解析单元3连接,其输出端与N个下行LinkPort单元5连接,在下行数据传输时,该单元用于暂时存储下行数据解析单元3解析出的数据,该单元的输入端具有先入先出存储器写入接口,该单元的输出端具有先入先出存储器读取接口,其中2≤N≤12;
所述N个下行LinkPort单元5,其输入端与N个下行先入先出存储器单元4连接,其输出端与模拟半导体的数字信号处理器连接,在下行数据传输时,该单元用于按照先入先出存储器读取接口时序读取下行先入先出存储器单元4中的数据,并按照LinkPort接口时序发送到模拟半导体的数字信号处理器中,该单元的结构如图2所示;
所述N个上行LinkPort单元6,其输入端与模拟半导体的数字信号处理器连接,输出端与N个上行先入先出存储器单元7连接,在上行数据传输时,该单元用于提取模拟半导体的数字信号处理器的LinkPort接口发送的数据,并将数据按照先入先出存储器写入接口时序,将数据写入对应的上行先入先出存储器单元7中,该单元的结构如图3所示;
所述N个上行先入先出存储器单元7,其输入端与N个上行LinkPort发送单元6连接,其输出端与上行数据写入单元8连接,在上行数据传输时,该单元用于暂时存储上行LinkPort单元6提取出的数据,该单元的输入端具有先入先出存储器写入接口,该单元的输出端具有先入先出存储器读取接口;
所述上行数据写入单元8,其输入端与N个上行先入先出存储器单元7、状态机单元9连接,其输出端与USB数据转存单元1内部的上行从属存储器连接,在上行数据传输时,该单元用于按照先入先出存储器读取接口时序,读取N个上行先入先出存储器单元7中的数据,并将数据按照从属存储器写入接口时序,写入到USB数据转存单元1内部的上行从属存储器中;
所述状态机单元9,输出下行数据读取信号a、下行数据解析信号b、上行数据写入信号c,其中,下行数据读取信号a与下行数据读取单元2连接,用于控制下行数据读取单元2中的数据读取操作;下行数据解析信号b与下行数据解析单元3连接,用于控制下行数据解析单元3的解析操作;上行数据写入信号c与上行数据写入单元8连接,用于控制上行数据写入单元8的写入操作。
参照图2,所述的上行LinkPort单元5,包括下行先入先出存储器读取模块51、下行LinkPort时序产生模块52、时钟模块53和状态控制模块54,其中:
下行先入先出存储器读取模块51,其输入端与下行先入先出存储器单元4、时钟模块53连接,其输出端与下行LinkPort时序产生模块52连接,在下行数据传输时,用于按照先入先出存储器读取接口时序读取下行先入先出单元4中的数据,并输出给下行LinkPort时序产生模块52;
下行LinkPort时序产生模块52,其输入端与下行先入先出存储器读取模块51、时钟模块53连接,其输出端与模拟半导体的数字信号处理器连接,用于将下行先入先出存储器读取模块51输入的数据按照LinkPort接口时序发送给模拟半导体的数字信号处理器;
时钟模块53,输出频率为96Mhz信号d和250Mhz信号e,其中,250Mhz信号e与下行LinkPort时序产生模块52连接,用于为下行LinkPort时序产生模块52提供时钟信号;96Mhz信号d分为两路,一路与下行先入先出存储器读取模块51连接,用于为下行先入先出存储器读取模块51提供时钟信号;另一路与状态控制模块54连接,用于为状态控制模块54提供时钟信号;
状态控制模块54,其输入端与时钟模块53连接,输出下行先入先出存储器读取信号f和下行LinkPort时序产生信号g,该下行先入先出存储器读取信号f与下行先入先出存储器读取模块51连接,用于控制下行先入先出存储器读取模块51的读取操作;下行LinkPort时序产生信号g与下行LinkPort时序产生模块52连接,用于控制下行LinkPort时序产生模块52的时序产生操作。
参照图3,所述的上行LinkPort单元6,包括上行LinkPort组合逻辑模块61,时钟模块62,上行先入先出存储器写入模块63和上行状态控制模块64,其中:
上行LinkPort组合逻辑模块61,其输入端与模拟半导体的数字信号处理器、上行状态控制模块64、时钟模块62连接,其输出端与上行先入先出存储器写入模块63连接,用于读取模拟半导体的数字信号处理器发送的数据;
时钟模块62,输出频率为96Mhz信号h和频率为125Mhz的信号i,其中125Mhz信号i与上行LinkPort组合逻辑模块61连接,用于为上行LinkPort组合逻辑模块61提供时钟信号;96Mhz信号h分为两路,一路与上行先入先出存储器写入模块63连接,用于为上行先入先出存储器写入模块63提供时钟信号;另一路与上行状态控制模块64连接,用于为上行状态控制模块64提供时钟信号;
上行先入先出存储器写入模块63,其输入端与上行LinkPort组合逻辑模块61、上行状态控制模块64、时钟模块62连接,其输出端与上行先入先出存储器单元7连接,用于将上行LinkPort组合逻辑模块61提取出的数据写入到上行先入先出存储器单元7中;
上行状态控制模块64,其输入端与时钟模块62连接,输出上行LinkPort读取信号j和上行先入先出存储器写入信号k,该上行LinkPort读取信号j与上行LinkPort组合逻辑模块61连接,用于控制上行LinkPort组合逻辑模块61的读取操作,上行先入先出存储器写入信号k与上行先入先出存储器写入模块63连接,用于控制上行先入先出存储器写入模块63的写入操作。
以上仅为本发明的一个具体实例,不构成对本发明的任何限制,显然,在本发明的思想下可以做出不同的变更,但这些均在本发明的保护范围之列。
Claims (3)
1.一种基于FPGA的USB转多路链路接口电路,包括:USB数据转存单元(1)、下行数据读取单元(2)、下行数据解析单元(3)、N个下行先入先出存储器单元(4)、N个下行LinkPort单元(5)、N个上行LinkPort单元(6)、N个上行先入先出存储器单元(7)、上行数据写入单元(8)和状态机单元(9);
所述USB数据转存单元(1),其输入端与电脑的USB接口连接,其输出端与下行数据读取单元(2)连接,用于在下行数据传输时,将USB串行总线数据转换到其内部的下行从属存储器中,在上行数据传输时,将其内部的上行从属存储器中数据转换为USB串行总线数据;
所述下行数据读取单元(2),其输入端与USB数据转存单元(1)内部的下行从属存储器和状态机单元(9)连接,其输出端与下行数据解析单元(3)连接,用于读取USB数据转存单元(1)内部的下行从属存储器中的数据;
所述下行数据解析单元(3),其输入端与下行数据读取单元(2)和状态机单元(9)连接,其输出端与N个下行先入先出存储器单元(4)连接,用于提取USB数据转存单元(1)内部的下行从属存储器中数据的目标信息,并根据该目标信息,将数据存入对应的下行先入先出存储器单元(4)中;
所述N个下行先入先出存储器单元(4),其输入端与下行数据解析单元(3)连接,其输出端与N个下行LinkPort单元(5)连接,用于暂时存储下行数据解析单元(3)解析出的数据,其中2≤N≤12;
所述N个下行LinkPort单元(5),其输入端与N个下行先入先出存储器单元(4)连接,其输出端与模拟半导体的数字信号处理器连接,用于将下行先入先出存储器单元(4)中的数据按照LinkPort接口时序发送到模拟半导体的数字信号处理器中;
每个下行LinkPort单元(5),包括:
下行先入先出存储器读取模块(51),其输入端与下行先入先出单元(4)、时钟模块(53)连接,其输出端与下行LinkPort时序产生模块(52)连接,用于读取下行先入先出单元(4)中的数据,并输出给下行LinkPort时序产生模块(52);
下行LinkPort时序产生模块(52),其输入端与下行先入先出存储器读取模块(51)、时钟模块(53)连接,其输出端与模拟半导体的数字信号处理器连接,用于将下行先入先出存储器读取模块(51)输入的数据按照LinkPort接口时序发送给模拟半导体的数字信号处理器;
时钟模块(53),其输出端与下行先入先出存储器读取模块(51)、下行LinkPort时序产生模块(52)、状态控制模块(54)连接,用于产生这些模块所需的时钟信号;
状态控制模块(54),其输入端与时钟模块(53)连接,其输出端与下行先入先出存储器读取模块(51)、下行LinkPort时序产生模块(52)连接,用于控制下行先入先出存储器读取模块(51)的读取操作,并控制下行LinkPort时序产生模块(52)的时序产生操作;
所述N个上行LinkPort单元(6),其输入端与模拟半导体的数字信号处理器连接,输出端与N个上行先入先出存储器单元(7)连接,用于提取模拟半导体的数字信号处理器发送的数据,并将数据写入对应的上行先入先出存储器单元(7)中;
每个上行LinkPort单元(6),包括:
上行LinkPort组合逻辑模块(61),其输入端与模拟半导体的数字信号处理器、上行状态控制模块(64)、时钟模块(62)连接,其输出端与上行先入先出存储器写入模块(63)连接,用于读取模拟半导体的数字信号处理器发送的数据;
时钟模块(62),其输出端与上行LinkPort组合逻辑模块(61)、上行先入先出存储器写入模块(63)、上行状态控制模块(64)连接,用于产生这些模块所需的时钟信号;
上行先入先出存储器写入模块(63),其输入端与上行LinkPort组合逻辑模块(61)、上行状态控制模块(64)、时钟模块(62)连接,其输出端与上行先入先出存储器单元(7)连接,用于将上行LinkPort组合逻辑模块(61)提取出的数据写入到上行先入先出存储器单元(7)中;
上行状态控制模块(64),其输入端与时钟模块(62)连接,输出端与上行LinkPort组合逻辑模块(61)、上行先入先出存储器写入模块(63)连接,用于控制上行LinkPort组合逻辑模块(61)的读取操作,并控制上行先入先出存储器写入模块(63)的写入操作;
所述N个上行先入先出存储器单元(7),其输入端与N个上行LinkPort发送单元(6)连接,其输出端与上行数据写入单元(8)连接,用于暂时存储上行LinkPort单元(6)提取出的数据;
所述上行数据写入单元(8),其输入端与N个上行先入先出存储器单元(7)和状态机单元(9)连接,其输出端与USB数据转存单元(1)内部的上行行从属存储器连接,用于读取N个上行先入先出存储器单元(7)中的数据,并将读取出来的数据写入到USB数据转存单元(1)内部的上行从属存储器中;
所述状态机单元(9),其与下行数据读取单元(2)、下行数据解析单元(3)以及上行数据写入单元(8)连接,用于在下行数据传输时,控制下行数据的读取和解析操作,在上行数据传输时,控制上行数据写入单元(8)的写入操作。
2.根据权利要求1所述的基于FPGA的USB转多路链路接口电路,其特征在于:USB数据转存单元(1),由CY7C68013A芯片与外围阻容元件连接组成。
3.根据权利要求1所述的基于FPGA的USB转多路链路接口电路,其特征在于:
下行数据读取单元(2),下行数据解析单元(3),N个下行先入先出存储器单元(4),N个下行LinkPort单元(5),N个上行LinkPort单元(6),N个上行先入先出存储器单元(7),上行数据写入单元(8)和状态机单元(9),均在FPGA内部实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310374495.XA CN103412847B (zh) | 2013-08-24 | 2013-08-24 | 基于fpga的usb转多路链路接口电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310374495.XA CN103412847B (zh) | 2013-08-24 | 2013-08-24 | 基于fpga的usb转多路链路接口电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103412847A CN103412847A (zh) | 2013-11-27 |
CN103412847B true CN103412847B (zh) | 2016-01-13 |
Family
ID=49605860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310374495.XA Active CN103412847B (zh) | 2013-08-24 | 2013-08-24 | 基于fpga的usb转多路链路接口电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103412847B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729320B (zh) * | 2013-12-20 | 2016-06-29 | 天津光电通信技术有限公司 | 一种基于fpga实现cy7c68013通信的方法 |
CN103957381A (zh) * | 2014-04-17 | 2014-07-30 | 华为技术有限公司 | 一种数据传输装置、方法及系统 |
CN109460381A (zh) * | 2018-10-22 | 2019-03-12 | 深圳市派捷电子科技有限公司 | 基于FPGA的LinkPort串行通信系统及方法 |
CN109546520A (zh) * | 2018-12-12 | 2019-03-29 | 佛山市新鹏机器人技术有限公司 | 一种usb自动插拔装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201130376Y (zh) * | 2007-12-19 | 2008-10-08 | 深圳市三旺通信技术有限公司 | Usb多串口扩展器 |
CN202443464U (zh) * | 2012-02-08 | 2012-09-19 | 山东超越数控电子有限公司 | 一种usb转多接口的转换装置 |
CN103092194A (zh) * | 2013-02-01 | 2013-05-08 | 哈尔滨工业大学 | 基于usb总线的通用伺服机构性能测试装置及测试方法 |
-
2013
- 2013-08-24 CN CN201310374495.XA patent/CN103412847B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201130376Y (zh) * | 2007-12-19 | 2008-10-08 | 深圳市三旺通信技术有限公司 | Usb多串口扩展器 |
CN202443464U (zh) * | 2012-02-08 | 2012-09-19 | 山东超越数控电子有限公司 | 一种usb转多接口的转换装置 |
CN103092194A (zh) * | 2013-02-01 | 2013-05-08 | 哈尔滨工业大学 | 基于usb总线的通用伺服机构性能测试装置及测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103412847A (zh) | 2013-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10318468B2 (en) | FPGA-based interface signal remapping method | |
CN206557767U (zh) | 一种基于乒乓操作结构控制数据缓存的缓存系统 | |
CN103412847B (zh) | 基于fpga的usb转多路链路接口电路 | |
CN110334040B (zh) | 一种星载固态存储系统 | |
CN102117342A (zh) | 基于PCI Express总线的多波段红外图像实时采集系统及方法 | |
CN102999467A (zh) | 基于fpga实现的高速接口与低速接口转换电路及方法 | |
CN106970894A (zh) | 一种基于Arria10的FPGA异构加速卡 | |
CN105786741B (zh) | 一种soc高速低功耗总线及转换方法 | |
CN103475493A (zh) | 多网口智能网卡及数据处理方法 | |
CN105515673B (zh) | 一种光纤通道节点卡 | |
CN203224620U (zh) | 基于超高速usb的雷达数据采集装置 | |
CN101833431B (zh) | 基于fpga实现的双向高速fifo存储器 | |
CN102944869A (zh) | 一种基于tm320c6678的雷达中频接收与信号处理板 | |
CN109491940A (zh) | 一种tlk2711传输接口与usb3.0传输接口的转换电路及转换方法 | |
CN102819418A (zh) | 超细粒度门控时钟的fifo数据存储方法及装置 | |
CN101976216B (zh) | 基于ieee 1500标准的ip核测试结构及测试方法 | |
CN209312015U (zh) | 一种tlk2711传输接口与usb3.0传输接口的转换电路 | |
CN103729320A (zh) | 一种基于fpga实现cy7c68013通信的方法 | |
CN102645647A (zh) | 雷达成像信号模拟器 | |
CN105320637A (zh) | Flash数据读取电路 | |
CN103885362A (zh) | 基于cpci-e总线的多dsp并行处理板 | |
CN201994962U (zh) | 基于fpga芯片架构技术的以太网到e1信道适配器 | |
CN104156336A (zh) | 一种usb2.0接口芯片的控制方法 | |
CN104008076A (zh) | 一种支持dvfs的总线数据信号传输的方法及装置 | |
CN203102274U (zh) | 一种高速数据传输连接器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |