CN202372977U - 基于fpga实现的usb主设备端接口结构 - Google Patents
基于fpga实现的usb主设备端接口结构 Download PDFInfo
- Publication number
- CN202372977U CN202372977U CN2011205237814U CN201120523781U CN202372977U CN 202372977 U CN202372977 U CN 202372977U CN 2011205237814 U CN2011205237814 U CN 2011205237814U CN 201120523781 U CN201120523781 U CN 201120523781U CN 202372977 U CN202372977 U CN 202372977U
- Authority
- CN
- China
- Prior art keywords
- interface
- sie
- buffer zone
- cpu
- main equipment
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本实用新型提供了一种基于FPGA实现的USB主设备端接口结构,包括基于FPGA实现的CPU接口,寄存器组、用于所述USB主设备端的各种数据发送和接收控制的状态机、CRC校验模块、收缓冲区、发缓冲区、串行接口引擎SIE接口;寄存器组、状态机均与所述CPU接口连接,CPU接口经一总线分别与所述收缓冲区、发缓冲区、CRC校验模块连接;状态机分别与所述收缓冲区、发缓冲区、CRC校验模块、串行接口引擎SIE接口连接;所述收缓冲区、发缓冲区、CRC校验模块均与所述串行接口引擎SIE接口连接。本实用新型可以在不增加成本的情况下,便于和其他模块整合在一起共享总线资源,灵活性高,方便软件人员的研发。
Description
【技术领域】
本实用新型涉及通讯设备技术领域,特别涉及基于FPGA(现场可编程门阵列)实现的USB主设备端接口结构。
【背景技术】
在通讯设备系统中一些项目的设计,经常需要实现一个USB主设备端接口,目前市场上的单片USB芯片在实现和系统整合时,会增加系统设计复杂度,并增加采购成本和维护成本。
基于USB 2.0标准的各种单片USB主设备接口方案或者CPU自带USB主设备接口的方案已经比较多,其优点是有现成的软硬件资源可以参考。并且都兼容USB1.1标准。现有的技术中,通常的做法是利用专有的USB主设备端接口芯片或者CPU自带USB主设备端接口模块进行的USB接口设计。其技术的缺点如下:
1)单芯片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自身的一切优点:如节约成本,便于采购、存储、质检维护、以及便于升级。
【附图说明】
图1是本实用新型第一实施例的结构示意图。
图2是本实用新型第二实施例的结构示意图。
【具体实施方式】
请参阅图1所示,本实用新型第一实施例的一种基于FPGA实现的USB主设备端接口结构,包括基于FPGA实现的CPU接口1,寄存器组2、用于所述USB主设备端的各种数据发送和接收控制的状态机3、CRC(循环校验码)校验模块4、收缓冲区5、发缓冲区6、串行接口引擎SIE接口7以及时钟定时电路9;所述寄存器组2、状态机3均与所述CPU接口1连接,所述CPU接口1经一总线8分别与所述收缓冲区5、发缓冲区6、CRC校验模块4连接;所述状态机3分别与所述收缓冲区5、发缓冲区6、CRC校验模块4、串行接口引擎SIE接口7连接;所述收缓冲区5、发缓冲区6、CRC校验模块4均与所述串行接口引擎SIE接口7连接;所述时钟定时电路9分别与所述CPU接口1、状态机3、收缓冲区5、发缓冲区6、串行接口引擎SIE接口7连接。
其中所述收缓冲区5、发缓冲区6均为存储器。
CPU接口1:根据接收到的CPU命令,对状态机和时钟定时电路进行响应控制。
寄存器组2由控制寄存器、设置寄存器、中断状态寄存器、包状态寄存器、发送包长度寄存器、接收包长度寄存器构成;该寄存器组2:是对状态机3进行控制。
状态机3:完成USB主设备端的各种数据发送和接收控制,并检查接收缓冲区5和发送缓冲区6的工作状态,控制CRC校验模块4的开启与关闭,以及选择5位CRC校验还是16位CRC校验,同时向CPU接口1报告状态。
CRC校验模块4:完成5位和16CRC校验,并对接收的数据进行CRC校验判定,并向CPU接口1和寄存器组2报告校验结果。
发送缓冲区5:完成从CPU接口接收数据,并缓冲,在状态机3控制下完成数据的输出。
接收缓冲区6:在状态机3的完成从串行接口引擎SIE接口7的数据接收,缓冲,在CPU接口读取数据时,输出给CPU接口连接的总线。
串行接口引擎SIE(Serial Interface Engine,串行接口引擎)接口7完成数据接收和发送,主要工作如下:
1)发送时,插入同步码、连1检测与0值插入、NRZI编码(Non Returnto Zero Inver,不为0就翻转)、CRC校验结果插入、EOP码插入(End-of-Packet,包结束标志)、差分信号发送;
2)接收时,差分信号接收、NRZI解码、连1检测与0值去除、检测同步码、CRC校验;其中串行接口引擎SIE接口7有涉及DP、Dn信号,DP是差分数据线的正向信号,Dn是差分信号的反向信号。
时钟定时电路9:完成时钟选择和切换、时间标记信号的产生,时钟的选择和分频,产生各种定时信号。该些定时信号为CPU接口1、状态机3、收缓冲区5、发缓冲区6、串行接口引擎SIE接口7的工作提供同步性和执行顺序性;时钟定时电路9是由寄存器组2和CPU接口来控制的。
本实用新型的工作原理如下:
在发送数据时,外界CPU的将数据打包后,通过CPU接口1写入到发送缓冲区5,再通过寄存器组2中的控制寄存器给状态机3发送命令,状态机3根据写入的包的类型和发送包长度寄存器的内容,将发送缓冲区5中的数据读出,并按照包协议发送到串行接口引擎SIE接口7,串行接口引擎SIE接口7插入同步码、连1检测与0值插入、NRZI编码(Non Return 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解码、连1检测与0值去除、检测同步码、CRC校验。状态机3判断包同步信号、包类型和包长等信息。并在接收完帧结束码时,产生接收完成中断。并将接收过程中产生的各种信号信息保存到寄存器组2中的中断状态寄存器和包状态寄存器,数据包中除同步码以外的部分保存到接收缓冲区6。时钟定时电路9完成时钟选择和切换、时间标记信号的产生;CRC校验模块4进行CRC校验判定;外界CPU接收到CPU_INT的中断时,根据寄存器组2中的中断状态寄存器来判断是否为接收数据完成中断,然后根据该中断和接收包长度寄存器来读取刚刚收到的数据包。
如图2所示,为本实用新型的第二实施例,其中与第一实施例的区别在于:还包括一CPU总线10,其所述CPU接口1连接所述CPU接口总线10(该总线10是连接至外界CPU的);本实用型的接口结构是通过CPU总线10与CPU进行通信的。
本实用新型可以在不增加成本的情况下,便于和其他模块整合在一起共享总线资源,灵活性高,方便软件人员的研发;且灵活性高,开发迅速,USB主设备端模块作为一个IP子模块,可以快速的应用到各种设计中,适于用由不同的FPAG实现的通讯系统,便于系统的集成,降低系统复杂程度,减少软件研发的周期时间和成本。
以上所述仅为本实用新型的较佳实施例,凡依本实用新型申请专利范围所做的均等变化与修饰,皆应属本实用新型的涵盖范围。
Claims (4)
1.一种基于FPGA实现的USB主设备端接口结构,其特征在于:包括基于FPGA实现的CPU接口,寄存器组、用于所述USB主设备端的各种数据发送和接收控制的状态机、CRC校验模块、收缓冲区、发缓冲区、串行接口引擎SIE接口以及时钟定时电路;所述寄存器组、状态机均与所述CPU接口连接,所述CPU接口经一总线分别与所述收缓冲区、发缓冲区、CRC校验模块连接;所述状态机分别与所述收缓冲区、发缓冲区、CRC校验模块、串行接口引擎SIE接口连接;所述收缓冲区、发缓冲区、CRC校验模块均与所述串行接口引擎SIE接口连接;所述时钟定时电路分别与所述CPU接口、状态机、收缓冲区、发缓冲区、串行接口引擎SIE接口连接。
2.根据权利要求1所述的基于FPGA实现的USB主设备端接口结构,其特征在于:所述收缓冲区、发缓冲区均为存储器。
3.根据权利要求1所述的基于FPGA实现的USB主设备端接口结构,其特征在于:寄存器组由控制寄存器、设置寄存器、中断状态寄存器、包状态寄存器、发送包长度寄存器、接收包长度寄存器构成。
4.根据权利要求1所述的基于FPGA实现的USB主设备端接口结构,其特征在于:所述CPU接口还连接有一CPU接口总线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011205237814U CN202372977U (zh) | 2011-12-15 | 2011-12-15 | 基于fpga实现的usb主设备端接口结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011205237814U CN202372977U (zh) | 2011-12-15 | 2011-12-15 | 基于fpga实现的usb主设备端接口结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN202372977U true CN202372977U (zh) | 2012-08-08 |
Family
ID=46596672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011205237814U Expired - Fee Related CN202372977U (zh) | 2011-12-15 | 2011-12-15 | 基于fpga实现的usb主设备端接口结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN202372977U (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636300A (zh) * | 2015-02-09 | 2015-05-20 | 南京国电南自美卓控制系统有限公司 | 基于soc fpga的串行收发器及数据接收发送方法 |
-
2011
- 2011-12-15 CN CN2011205237814U patent/CN202372977U/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636300A (zh) * | 2015-02-09 | 2015-05-20 | 南京国电南自美卓控制系统有限公司 | 基于soc fpga的串行收发器及数据接收发送方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102023956B (zh) | 集成电路芯片中串行外设从器件接口结构及数据读写方法 | |
CN105357070A (zh) | 一种基于fpga的arinc818总线分析与测试装置 | |
CN104915303B (zh) | 基于PXIe总线的高速数字I/O系统 | |
CN104954096B (zh) | 一种一主多从的高速同步串行通信数据传输方法 | |
CN103825696A (zh) | 一种基于fpga实现光纤高速实时通信的装置 | |
CN102253913B (zh) | 一种对多板卡端口进行状态获取和输出控制的装置 | |
CN105119907A (zh) | 一种基于FPGA的BiSS-C通信协议方法 | |
CN103714029A (zh) | 新型二线同步通信协议及应用 | |
CN105808396A (zh) | 一种芯片调试装置、调试方法及soc芯片系统 | |
CN106095334A (zh) | 一种基于fpga的高速数据采集存储系统 | |
CN106598889A (zh) | 一种基于fpga夹层板的sata主控器 | |
CN101089838A (zh) | 一种实现i2c读写时序的方法 | |
CN104834620A (zh) | 串行外设接口spi总线电路、实现方法以及电子设备 | |
CN102752180A (zh) | Can总线网络节点的实现方法 | |
CN102981827A (zh) | 一种基于中间件的显示界面数据处理方法及平台 | |
CN103378994A (zh) | 一种通信设备的测试方法及终端 | |
CN106126465A (zh) | 一种数据传输方法及装置 | |
CN203574773U (zh) | Lvds视频信号转换为8lane左右分屏mipi视频信号装置 | |
CN109815073B (zh) | 一种基于pxi平台的高速串口srio的测试方法 | |
CN202372977U (zh) | 基于fpga实现的usb主设备端接口结构 | |
CN105094886A (zh) | 一种从pc机烧录序列号至含rs485总线的下位机的装置和方法 | |
CN103092800B (zh) | 一种数据转换实验平台 | |
CN104866640A (zh) | 一种全fifo电路设计方法及其通用验证平台 | |
CN115904844A (zh) | 一种用于打印boot信息的uart仿真模型及其工作方法 | |
CN104933851A (zh) | 一种具备红外升级功能的电表数据采集器及其升级方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120808 Termination date: 20181215 |