基于fpga实现的usb主设备端接口结构的制作方法

文档序号:6453242阅读:289来源:国知局
专利名称:基于fpga实现的usb主设备端接口结构的制作方法
技术领域
基于FPGA实现的USB主设备端接口结构
技术领域
本实用新型涉及通讯设备技术领域,特别涉及基于FPGA(现场可编程门阵列)实现的USB主设备端接口结构。
背景技术
在通讯设备系统中一些项目的设计,经常需要实现一个USB主设备端接口,目前市场上的单片USB芯片在实现和系统整合时,会增加系统设计复杂度,并增加采购成本和维护成本。基于USB 2.0标准的各种单片USB主设备接口方案或者CPU自带USB主设备接口 的方案已经比较多,其优点是有现成的软硬件资源可以参考。并且都兼容USB1. I标准。现有的技术中,通常的做法是利用专有的USB主设备端接口芯片或者CPU自带USB主设备端接口模块进行的USB接口设计。其技术的缺点如下I)单芯片USB模块方式不利于和其他系统的整合,CPU自带的USB主设备端模块会占用一定的CPU资源。2)增加系统研发成本。3)需要研究相关参考软件的代码,增加软件人员的负担。

发明内容本实用新型要解决的技术问题,在于提供一种便于和通讯设备系统中其他模块整合在一起共享总线资源的基于FPGA实现的USB主设备端接口结构。本实用新型是这样实现的一种基于FPGA实现的USB主设备端接口结构,包括基于FPGA实现的CPU接口,寄存器组、用于所述USB主设备端的各种数据发送和接收控制的状态机、CRC校验模块、收缓冲区、发缓冲区、串行接口引擎SIE接口以及时钟定时电路;所述寄存器组、状态机均与所述CPU接口连接,所述CPU接口经一总线分别与所述收缓冲区、发缓冲区、CRC校验模块连接;所述状态机分别与所述收缓冲区、发缓冲区、CRC校验模块、串行接口引擎SIE接口连接;所述收缓冲区、发缓冲区、CRC校验模块均与所述串行接口引擎SIE接口连接;所述时钟定时电路分别与所述CPU接口、状态机、收缓冲区、发缓冲区、串行接口引擎SIE接口连接。进一步地,所述收缓冲区、发缓冲区均为存储器。进一步地,寄存器组由控制寄存器、设置寄存器、中断状态寄存器、包状态寄存器、发送包长度寄存器、接收包长度寄存器构成。 进一步地,所述CPU接口还连接有一 CPU接口总线。本实用新型的优点在于1、可以在不增加成本的情况下,便于和其他模块整合在一起共享总线资源,方便软件人员的研发。2、灵活性高,开发迅速,USB主设备端模块作为一个IP子模块,可以快速的应用到各种设计中,适于用由不同的FPAG实现的通讯系统,便于系统的集成,降低系统复杂程度,减少软件研发的周期时间和成本。3、与本实用新型配合的软件部分调试和移植都很方便,只需要根据不同的设计修改其收、发缓冲区的起始地址即可。4、具备FPGA自身的一切优点如节约成本,便于采购、存储、质检维护、以及便于升级。

图I是本实用新型第一实施例的结构示意图。图2是本实用新型第二实施例的结构示意图。
具体实施方式
请参阅图I所示,本实用新型第一实施例的一种基于FPGA实现的USB主设备端接口结构,包括基于FPGA实现的CPU接口 1,寄存器组2、用于所述USB主设备端的各种数据发送和接收控制的状态机3、CRC (循环校验码)校验模块4、收缓冲区5、发缓冲区6、串行接口引擎SIE接口 7以及时钟定时电路9 ;所述寄存器组2、状态机3均与所述CPU接口 I连接,所述CPU接口 I经一总线8分别与所述收缓冲区5、发缓冲区6、CRC校验模块4连接;所述状态机3分别与所述收缓冲区5、发缓冲区6、CRC校验模块4、串行接口引擎SIE接口7连接;所述收缓冲区5、发缓冲区6、CRC校验模块4均与所述串行接口引擎SIE接口 7连接;所述时钟定时电路9分别与所述CPU接口 I、状态机3、收缓冲区5、发缓冲区6、串行接口引擎SIE接口 7连接。其中所述收缓冲区5、发缓冲区6均为存储器。CPU接口 I :根据接收到的CPU命令,对状态机和时钟定时电路进行响应控制。寄存器组2由控制寄存器、设置寄存器、中断状态寄存器、包状态寄存器、发送包长度寄存器、接收包长度寄存器构成;该寄存器组2 :是对状态机3进行控制。状态机3 :完成USB主设备端的各种数据发送和接收控制,并检查接收缓冲区5和发送缓冲区6的工作状态,控制CRC校验模块4的开启与关闭,以及选择5位CRC校验还是16位CRC校验,同时向CPU接口 I报告状态。CRC校验模块4 :完成5位和16CRC校验,并对接收的数据进行CRC校验判定,并向CPU接口 I和寄存器组2报告校验结果。发送缓冲区5 :完成从CPU接口接收数据,并缓冲,在状态机3控制下完成数据的输出。接收缓冲区6 :在状态机3的完成从串行接口引擎SIE接口 7的数据接收,缓冲,在CPU接口读取数据时,输出给CPU接口连接的总线。串行接口引擎SIE(Serial Interface Engine,串行接口引擎)接口 7完成数据接收和发送,主要工作如下I)发送时,插入同步码、连I检测与0值插入、NRZI编码(Non Return to ZeroInver,不为0就翻转)、CRC校验结果插入、EOP码插入(End-of-Packet,包结束标志)、差分信号发送;2)接收时,差分信号接收、NRZI解码、连I检测与0值去除、检测同步码、CRC校验;其中串行接口引擎SIE接口 7有涉及DP、Dn信号,DP是差分数据线的正向信号,Dn是差分信号的反向信号。时钟定时电路9 :完成时钟选择和切换、时间标记信号的产生,时钟的选择和分频,产生各种定时信号。该些定时信号为CPU接口 I、状态机3、收缓冲区5、发缓冲区6、串行接口引擎SIE接口 7的工作提供同步性和执行顺序性;时钟定时电路9是由寄存器组2和CPU接口来控制的。本实用新型的工作原理如下在发送数据时 ,外界CPU的将数据打包后,通过CPU接口 I写入到发送缓冲区5,再通过寄存器组2中的控制寄存器给状态机3发送命令,状态机3根据写入的包的类型和发送包长度寄存器的内容,将发送缓冲区5中的数据读出,并按照包协议发送到串行接口引擎SIE接口 7,串行接口引擎SIE接口 7插入同步码、连I检测与0值插入、NRZI编码(NonReturn to Zero Inver不为0就翻转)、CRC校验结果插入、EOP码插入(End-of-Packet包结束标志)、差分信号发送。最终形成差分的USB码流发到USB总线上。同时,CRC校验模块4进行CRC校验判定;状态机3产生的各种信号状态和包状态由寄存器组2的中断状态寄存器和包状态寄存器记录。时钟定时电路9完成时钟选择和切换、时间标记信号的产生;待数据都发送完成后,产生发送完成中断。外界CPU接收CPU_INT信号时,根据寄存器组2的中断状态寄存器来判断是否为发送完成中断,然后进行后续的操作。接收数据时,USB总线进来的数据先经过串行接口引擎SIE接口 7,进行差分信号接收、NRZI解码、连I检测与0值去除、检测同步码、CRC校验。状态机3判断包同步信号、包类型和包长等信息。并在接收完帧结束码时,产生接收完成中断。并将接收过程中产生的各种信号信息保存到寄存器组2中的中断状态寄存器和包状态寄存器,数据包中除同步码以外的部分保存到接收缓冲区6。时钟定时电路9完成时钟选择和切换、时间标记信号的产生;CRC校验模块4进行CRC校验判定;外界CPU接收到CPU_INT的中断时,根据寄存器组2中的中断状态寄存器来判断是否为接收数据完成中断,然后根据该中断和接收包长度寄存器来读取刚刚收到的数据包。如图2所示,为本实用新型的第二实施例,其中与第一实施例的区别在于还包括一 CPU总线10,其所述CPU接口 I连接所述CPU接口总线10 (该总线10是连接至外界CPU的);本实用型的接口结构是通过CPU总线10与CPU进行通信的。本实用新型可以在不增加成本的情况下,便于和其他模块整合在一起共享总线资源,灵活性高,方便软件人员的研发;且灵活性高,开发迅速,USB主设备端模块作为一个IP子模块,可以快速的应用到各种设计中,适于用由不同的FPAG实现的通讯系统,便于系统的集成,降低系统复杂程度,减少软件研发的周期时间和成本。以上所述仅为本实用新型的较佳实施例,凡依本实用新型申请专利范围所做的均等变化与修饰,皆应属本实用新型的涵盖范围。
权利要求1.一种基于FPGA实现的USB主设备端接口结构,其特征在于包括基于FPGA实现的CPU接口,寄存器组、用于所述USB主设备端的各种数据发送和接收控制的状态机、CRC校验模块、收缓冲区、发缓冲区、串行接口引擎SIE接口以及时钟定时电路;所述寄存器组、状态机均与所述CPU接口连接,所述CPU接口经一总线分别与所述收缓冲区、发缓冲区、CRC校验模块连接;所述状态机分别与所述收缓冲区、发缓冲区、CRC校验模块、串行接口引擎SIE接口连接;所述收缓冲区、发缓冲区、CRC校验模块均与所述串行接口引擎SIE接口连接;所述时钟定时电路分别与所述CPU接口、状态机、收缓冲区、发缓冲区、串行接口引擎SIE接口连接。
2.根据权利要求I所述的基于FPGA实现的USB主设备端接口结构,其特征在于所述收缓冲区、发缓冲区均为存储器。
3.根据权利要求I所述的基于FPGA实现的USB主设备端接口结构,其特征在于寄存器组由控制寄存器、设置寄存器、中断状态寄存器、包状态寄存器、发送包长度寄存器、接收包长度寄存器构成。
4.根据权利要求I所述的基于FPGA实现的USB主设备端接口结构,其特征在于所述CPU接口还连接有一 CPU接口总线。
专利摘要本实用新型提供了一种基于FPGA实现的USB主设备端接口结构,包括基于FPGA实现的CPU接口,寄存器组、用于所述USB主设备端的各种数据发送和接收控制的状态机、CRC校验模块、收缓冲区、发缓冲区、串行接口引擎SIE接口;寄存器组、状态机均与所述CPU接口连接,CPU接口经一总线分别与所述收缓冲区、发缓冲区、CRC校验模块连接;状态机分别与所述收缓冲区、发缓冲区、CRC校验模块、串行接口引擎SIE接口连接;所述收缓冲区、发缓冲区、CRC校验模块均与所述串行接口引擎SIE接口连接。本实用新型可以在不增加成本的情况下,便于和其他模块整合在一起共享总线资源,灵活性高,方便软件人员的研发。
文档编号G06F13/40GK202372977SQ20112052378
公开日2012年8月8日 申请日期2011年12月15日 优先权日2011年12月15日
发明者刘文庆 申请人:福建鑫诺通讯技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1