CN117076364A - 一种risc-v的usb控制系统、方法、设备及介质 - Google Patents
一种risc-v的usb控制系统、方法、设备及介质 Download PDFInfo
- Publication number
- CN117076364A CN117076364A CN202311120674.0A CN202311120674A CN117076364A CN 117076364 A CN117076364 A CN 117076364A CN 202311120674 A CN202311120674 A CN 202311120674A CN 117076364 A CN117076364 A CN 117076364A
- Authority
- CN
- China
- Prior art keywords
- data
- usb
- physical layer
- enumeration
- programmable logic
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请公开了一种基于RISC‑V架构的USB2.0控制器系统、方法、设备及存储介质,涉及芯片设计领域,包括端口物理层、USB核心、可编程逻辑处理器和时钟控制模块;USB核心,用于获取端口物理层的初始数据,并转换为适用RISC‑V的目标数据传输至可编程逻辑处理器;以及接收可编程逻辑处理器传输的枚举数据并发送对应的握手信号至端口物理层,接收端口物理层基于握手信号返回的信号进行对应的数据传输功能;可编程逻辑处理器,用于利用USB核心传输的目标数据进行USB枚举得到枚举数据,并传输至USB核心。基于RISC‑V架构芯片的USB2.0控制器设计可灵活切换访问模式,应用场景比较广泛,能满足不同的客户需要。
Description
技术领域
本发明涉及芯片设计领域,特别涉及一种基于RISC-V架构的USB2.0控制器系统、方法、设备及存储介质。
背景技术
在芯片设计领域中,USB(Universal Serial Bus,通用串行总线)具有接口简单,传输速率高的优点。在ARM架构的芯片中,USB控制器和PHY(Port Physical Layer,端口物理层)是集成在内部的,用户通过调用上层的函数即可现实USB通信。集成了SoC(System onChip,片上系统)的FPGA(Field-Programmable Gate Array,现场可编程门阵列),在PS(Processing System,处理系统)侧也含有USB控制器,通过内部集成的PHY或者外接PHY芯片,也可以实现USB通信。但是ARM处理器芯片中常见的USB2.0接口,在RISC(ReducedInstruction Set Computer,精简指令集计算机)架构芯片中比较少见。由于USB的控制器和PHY设计复杂,以及非开源性,单独购买USB控制器和PHY的IP费用又比较贵。因此针对RISC-V架构芯片设计中,USB控制器IP(USBIP是用于将Linux系统上所识别到的USB设备通过以太网共享出来的一个工具,可以使得USB外接设备可以跨电脑或跨服务器进行访问)购买费用高,开发USB控制器和PHY的难度大。因此如何针对RISC-V设计一种USB2.0控制器是本领域有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种基于RISC-V架构的USB2.0控制器系统、方法、设备及存储介质,基于RISC-V架构芯片的USB2.0控制器设计可灵活切换访问模式,应用场景比较广泛,能满足不同的客户需要。其具体方案如下:
第一方面,本申请提供了一种基于RISC-V架构的USB2.0控制器系统,包括端口物理层、与所述端口物理层连接的USB核心、与所述USB核心连接的可编程逻辑处理器以及用于为所述USB核心和所述端口物理层提供参考时钟的时钟控制模块;其中,
所述USB核心,用于获取所述端口物理层的设备的初始数据,并将所述初始数据转换为适用于所述RISC-V架构的目标数据,将所述目标数据传输至所述可编程逻辑处理器;以及接收所述可编程逻辑处理器传输的枚举数据,并根据所述枚举数据发送对应的握手信号至所述端口物理层,接收所述端口物理层基于所述握手信号返回的信号进行对应的数据传输功能;
所述可编程逻辑处理器,用于利用所述USB核心传输的所述目标数据进行USB枚举得到所述枚举数据,并将所述枚举数据传输至所述USB核心。
可选的,所述USB核心通过ULPI总线与所述端口物理层连接;
相应的,所述USB核心通过所述ULPI总线获取所述端口物理层的所述初始数据,以及通过所述ULPI总线发送所述握手信号至所述端口物理层。
可选的,所述USB核心通过高级高性能总线与所述可编程逻辑处理器连接;
相应的,所述可编程逻辑处理器通过所述高级高性能总线将所述枚举数据传输至所述USB核心。
可选的,所述USB核心包括协议层解析模块,用于解析所述枚举数据得到所述枚举数据的数据类型,以便所述USB核心根据所述枚举数据的数据类型确定对应的握手信号,并将所述握手信号发送至所述端口物理层。
可选的,所述USB核心包括校验模块,用于确定所述枚举数据的数据类型对应的预设校验算法,并根据所述预设校验算法校验所述枚举数据。
第二方面,本申请提供了一种基于RISC-V架构的USB2.0控制方法,包括:
通过USB核心获取端口物理层的设备的初始数据,并将所述初始数据转换为适用于RISC-V架构的目标数据,并将所述目标数据传输至可编程逻辑处理器;
通过所述可编程逻辑处理器利用所述USB核心传输的所述目标数据进行USB枚举得到枚举数据,并将所述枚举数据传输至所述USB核心;
通过USB核心接收所述可编程逻辑处理器传输的枚举数据,并根据所述枚举数据发送对应的握手信号至所述端口物理层,以接收所述端口物理层基于所述握手信号返回的信号进行对应的数据传输功能。
可选的,所述通过USB核心获取端口物理层的设备的初始数据,并将所述初始数据转换为适用于RISC-V架构的目标数据,并将所述目标数据传输至可编程逻辑处理器,包括:
当与所述USB核心的host接口连接的所述可编程逻辑处理器监测到所述USB核心的device接口和所述端口物理层上的目标设备连接后,通过所述host接口向所述device接口发送复位信号以复位所述device接口;
利用所述可编程逻辑处理器通过所述host接口向复位后的device接口发送设备描述符请求,并获取所述复位后的device接口根据所述设备描述符请求发送的所述目标设备的设备描述符;所述设备描述符为通过所述USB核心转换为适用于RISC-V架构的目标数据。
可选的,所述通过所述可编程逻辑处理器利用所述USB核心传输的所述目标数据进行USB枚举得到枚举数据,包括:
根据预设规则确认所述设备描述符正确后,通过所述可编程逻辑处理器利用所述host接口向所述端口物理层上的所述目标设备发送确认数据包,并通过所述host接口再次复位所述device接口;
通过所述host接口向当前复位后的所述device接口发送地址设置请求,以便所述当前复位后的所述device接口根据所述地址设置请求更新所述目标设备的设备地址;
通过所述可编程逻辑处理器利用所述host接口向所述目标设备更新后的设备地址发送设备描述请求,以基于所述设备描述请求获取所述目标设备的设备配置作为所述枚举数据。
第三方面,本申请提供了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述的基于RISC-V架构的USB2.0控制方法。
第四方面,本申请提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的基于RISC-V架构的USB2.0控制方法。
本申请提供了一种基于RISC-V架构的USB2.0控制器系统,包括端口物理层、与所述端口物理层连接的USB核心、与所述USB核心连接的可编程逻辑处理器以及用于为所述USB核心和所述端口物理层提供参考时钟的时钟控制模块;其中,所述USB核心,用于获取所述端口物理层的设备的初始数据,并将所述初始数据转换为适用于所述RISC-V架构的目标数据,将所述目标数据传输至所述可编程逻辑处理器;以及接收所述可编程逻辑处理器传输的枚举数据,并根据所述枚举数据发送对应的握手信号至所述端口物理层,接收所述端口物理层基于所述握手信号返回的信号进行对应的数据传输功能;所述可编程逻辑处理器,用于利用所述USB核心传输的所述目标数据进行USB枚举得到所述枚举数据,并将所述枚举数据传输至所述USB核心。通过上述方案,设计了一种基于RISC-V架构的USB2.0控制器系统,数据传输速度快,可灵活切换数据访问模式,避免单独购买USB控制器和PHY的IP成本较高的问题,兼容性强、实施简便。
本申请还公开了一种基于RISC-V架构的USB2.0控制方法,具有与上述基于RISC-V架构的USB2.0控制器系统相同的技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种基于RISC-V架构的USB2.0控制器系统框图;
图2为本申请提供的一种基于RISC-V架构的USB2.0枚举方法流程图;
图3为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在芯片设计领域中,ARM处理器芯片中常见的USB2.0接口,在RISC架构芯片中比较少见。由于USB的控制器和PHY设计复杂,以及非开源性,单独购买USB控制器和PHY的IP费用又比较贵。开发USB控制器和PHY的难度大。本申请设计了一种基于RISC-V架构的USB2.0控制器系统,数据传输速度快,可灵活切换数据访问模式,避免单独购买USB控制器和PHY的IP成本较高的问题,兼容性强、实施简便。
参见图1所示,本发明实施例公开了一种基于RISC-V架构的USB2.0控制器系统,包括端口物理层、与所述端口物理层连接的USB核心、与所述USB核心连接的可编程逻辑处理器以及用于为所述USB核心和所述端口物理层提供参考时钟的时钟控制模块。
本实施例中的基于RISC-V架构芯片的USB2.0控制器系统包括以下模块:端口物理层即外部的PHY芯片、与所述端口物理层连接的USB核心即USB_CORE处理部分、与所述USB核心连接的可编程逻辑处理器即PL(Progarmmable Logic,可编程逻辑)侧CPU_SYS处理器部分、时钟控制模块即CLK时钟部分。
如图1所示,上述USB2.0控制器系统中,外部的PHY芯片采用USB3320,USB3320集成了USB2.0 ULPI(UTMI+low-pin interface,低引脚接口)收发器,支持休眠模式,集成了3.3V电源调节器,参考时钟通过外部引脚可选择。ULPI接口引脚数量少,只有12个,包括DATA、clock、dir、nxt和stp。PHY芯片通过ULPI接口和RISC-V主芯片进行连接。
USB_CORE处理部分对外连接ULPI的PHY芯片,自身作为OTG/HOST/peripheralLINK,对内通过AHB总线连接PL侧CPU_SYS处理器部分。PL侧CPU_SYS处理器部分包括USB_PL模块、USB_BULK_I模块、USB_BULK_O模块、USB_ISO_I模块、USB_ISO_O模块、USB_control_I模块、USB_control_O模块、USB_interrupt_I模块、USB_CRC模块。具体的,协议层解析USB_PL模块,是系统方案的底层,响应所有USB输入和输出数据和控制信息。USB_BULK_I模块是批量传输,从device到Host,USB_BULK_O模块是批量传输,从Host到device。USB_ISO_I模块和USB_ISO_O模块是同步传输模块。USB_control_I和USB_control_O是控制传输模块。USB_interrupt_I是中断传输模块。USB_BULK_I模块和USB_BULK_O模块是批量传输处理模块,采用的端口4和端口6,USB_ISO_I模块和USB_ISO_O模块是同步传输模块。
PL侧CPU_SYS处理器部分,是RISC-V架构芯片的处理器,通过AHB(Advanced HighPerformance Bus,高级高性能总线)和USB_CORE处理部分进行数据交互。CPU_SYS处理器主要完成USB的枚举功能。
CLK时钟部分,时钟来源于板上的有源晶振,通过CLK_PLL处理后,输出同源的clk1和clk2。其中,clk1连接至RISC-V架构芯片的外部引脚,作为其参考时钟,clk2接至PHY芯片的时钟引脚,作为其参考时钟。
所述USB核心,用于获取所述端口物理层的设备的初始数据,并将所述初始数据转换为适用于所述RISC-V架构的目标数据,将所述目标数据传输至所述可编程逻辑处理器;以及接收所述可编程逻辑处理器传输的枚举数据,并根据所述枚举数据发送对应的握手信号至所述端口物理层,接收所述端口物理层基于所述握手信号返回的信号进行对应的数据传输功能。
本实施例中的USB核心可以获取端口物理层的设备的初始数据,并将初始数据转换为适用于RISC-V架构的目标数据,然后将目标数据传输至可编程逻辑处理器。本实施例中USB_CORE处理部分是核心模块,负责将PHY通过ULPI总线上传输的数据转换成RISC-V架构芯片可用的数据。
所述可编程逻辑处理器,用于利用所述USB核心传输的所述目标数据进行USB枚举得到所述枚举数据,并将所述枚举数据传输至所述USB核心。
通过可编程逻辑处理器可以利用USB核心传输的目标数据进行USB枚举得到枚举数据,并将枚举数据传输至USB核心。这样一来,USB核心可以接收可编程逻辑处理器传输的枚举数据,并根据枚举数据发送对应的握手信号至端口物理层,然后接收端口物理层基于握手信号返回的信号进行对应的数据传输功能。
需要指出的是,USB核心通过ULPI总线与端口物理层连接,相应的,通过ULPI总线获取端口物理层的初始数据,以及通过ULPI总线发送握手信号至端口物理层。可以理解的是,USB_CORE处理部分是设计的核心模块,负责对外USB数据的收发,配合其他模块的协同工作。并且USB核心通过高级高性能总线与可编程逻辑处理器连接,相应的,可编程逻辑处理器通过高级高性能总线将枚举数据传输至USB核心。
基于上述USB核心,USB核心中包括协议层解析模块,用于解析枚举数据得到枚举数据的数据类型,以便USB核心根据枚举数据的数据类型确定对应的握手信号,并将握手信号发送至端口物理层。通过采集总线上的数据,配合协议层解析USB_PL模块进行数据处理,可以通过AHB总线和PL侧CPU_SYS处理器部分进行数据交互,配合处理器完成USB枚举过程。然后根据ULPI协议,返回相关的握手信号ACK(Acknowledge character,确认字符)、NAK(Negative Acknowledgment,没有应答)等,以配合相应的模块完成控制传输、批量传输、中断传输和同步传输。可以理解的是,USB枚举是host端为了配置device进行的一个重要配置,如果枚举成功,那么设备大概率正常工作,USB枚举主要进行的操作是获取配置描述符,解析配置描述符、解析端口描述符,即从device端获取device性能和配置。
USB核心还包括校验模块,用于确定枚举数据的数据类型对应的预设校验算法,并根据预设校验算法校验所述枚举数据。本实施例中通过协议层解析USB_PL模块解析枚举数据。枚举数据一般采用控制传输,包括指令包,数据包和握手包,上述数据由USB_PL模块解析,然后将数据类型返回USB_CORE模块中。其中,校验模块USB_CRC模块包括CRC5和CRC16两种校验。需要指出的是,CRC5用在令牌包传输的过程中,CRC5有5位CRC校验位,用于令牌包中,在地址、端点、IN、OUT和SETUP等事务中。CRC16用在数据包传输的过程中,有16位CRC校验位,CRC的设计方法采用按位异或的组合逻辑。
本实施例中提供的基于RISC-V架构的USB2.0控制器系统,包括端口物理层、与端口物理层连接的USB核心、与USB核心连接的可编程逻辑处理器以及用于为USB核心和端口物理层提供参考时钟的时钟控制模块;其中,USB核心,用于获取端口物理层的设备的初始数据,并将初始数据转换为适用于RISC-V架构的目标数据,将目标数据传输至可编程逻辑处理器;以及接收可编程逻辑处理器传输的枚举数据,并根据枚举数据发送对应的握手信号至端口物理层,接收端口物理层基于握手信号返回的信号进行对应的数据传输功能;可编程逻辑处理器,用于利用USB核心传输的目标数据进行USB枚举得到枚举数据,并将枚举数据传输至USB核心。通过上述方案,设计了一种基于RISC-V架构的USB2.0控制器系统,通过ULPI接口和外部的PHY芯片USB3320进行通信。并且,采用ULPI接口引脚数量少,方便硬件设计,又能满足USB2.0主从机功能要求,高速模式下,信号速率可达480Mbps,数据传输速度快,应用场景比较广泛,能满足不同的客户需要。
基于上一实施例可知,本申请设计了一种基于RISC-V架构的USB2.0控制器系统,接下来,本实施例中将对基于上述系统的基于RISC-V架构的USB2.0控制方法进行详细地阐述。参见图2所示,本申请实施例公开了一种基于RISC-V架构的USB2.0控制的USB枚举方法,包括:
步骤S11、通过USB核心获取端口物理层的设备的初始数据,并将所述初始数据转换为适用于RISC-V架构的目标数据,并将所述目标数据传输至可编程逻辑处理器。
本实施例中,首先通过USB核心获取端口物理层的设备的初始数据,并将初始数据转换为适用于RISC-V架构的目标数据,然后将目标数据传输至可编程逻辑处理器。首先当与USB核心的host接口连接的可编程逻辑处理器监测到USB核心的device接口和端口物理层上的目标设备连接后,通过host接口向device接口发送复位信号以复位device接口;然后利用可编程逻辑处理器通过host接口向复位后的device接口发送设备描述符请求,并获取复位后的device接口根据设备描述符请求发送的目标设备的设备描述符,上述设备描述符为通过所述USB核心转换为适用于RISC-V架构的目标数据。
本实施例在usb host检测到usb device插入后,可以发送总线复位信号,复位device。当device复位完成后,地址为0。然后通过host向地址0的endpoint 0发送数据,请求设备描述符,以便device收到主机请求后,发送设备描述给host。
步骤S12、通过所述可编程逻辑处理器利用所述USB核心传输的所述目标数据进行USB枚举得到枚举数据,并将所述枚举数据传输至所述USB核心。
本实施例中通过可编程逻辑处理器利用USB核心传输的目标数据进行USB枚举得到枚举数据。在根据预设规则确认设备描述符正确后,通过可编程逻辑处理器利用host接口向端口物理层上的目标设备发送确认数据包,并通过host接口再次复位device接口,然后通过host接口向当前复位后的device接口发送地址设置请求,以便当前复位后的所述device接口根据地址设置请求更新目标设备的设备地址。并通过可编程逻辑处理器利用host接口向目标设备更新后的设备地址发送设备描述请求,以基于设备描述请求获取目标设备的设备配置作为枚举数据,并将枚举数据传输至USB核心。
本实施例中通过host接收并确认device发来的设备描述符后,向device返回发一个确认数据包。并通过host再次复位device,进入地址设置阶段。在地址设置阶段中,host向地址0的endpoint 0发送设置地址请求数据包,包里就存放着新的设备地址,因此无数据过程。当device收到设置地址请求数据包后,向host返回一个零字节的状态数据包。host收到这个0字节状态数据包以后,向device会发一个确认包。以便device在收到这个ACK包后,开始使用新的地址了。然后host向新的设备地址endpoint 0发送请求设备描述符包获取整个设备描述符,并将获取到的配置描述符、配置集合、字符串描述符等传输至USB核心。
步骤S13、通过USB核心接收所述可编程逻辑处理器传输的枚举数据,并根据所述枚举数据发送对应的握手信号至所述端口物理层,以接收所述端口物理层基于所述握手信号返回的信号进行对应的数据传输功能。
本实施例中通过USB核心接收获取到的获取到的配置描述符、配置集合、字符串描述符,并发送对应的握手信号至端口物理层,以接收端口物理层基于握手信号返回的对应不同数据传输功能的信号进行对应的数据传输功能。
本实施例中,通过USB核心获取端口物理层的设备的初始数据,并将初始数据转换为适用于RISC-V架构的目标数据,并将目标数据传输至可编程逻辑处理器。通过可编程逻辑处理器利用USB核心传输的目标数据进行USB枚举得到枚举数据,并将枚举数据传输至USB核心。通过USB核心接收可编程逻辑处理器传输的枚举数据,并根据枚举数据发送对应的握手信号至端口物理层,以接收端口物理层基于握手信号返回的信号进行对应的数据传输功能。可以通过基于RISC-V架构的USB2.0控制器系统进行USB枚举,从device端获取device性能和配置,可灵活切换数据访问模式,避免单独购买USB控制器和PHY的IP成本较高的问题,实施简便。
进一步的,本申请实施例还公开了一种电子设备,图3是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图3为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的基于RISC-V架构的USB2.0控制方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的基于RISC-V架构的USB2.0控制方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的基于RISC-V架构的USB2.0控制方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于RISC-V架构的USB2.0控制器系统,其特征在于,包括端口物理层、与所述端口物理层连接的USB核心、与所述USB核心连接的可编程逻辑处理器以及用于为所述USB核心和所述端口物理层提供参考时钟的时钟控制模块;其中,
所述USB核心,用于获取所述端口物理层的设备的初始数据,并将所述初始数据转换为适用于所述RISC-V架构的目标数据,将所述目标数据传输至所述可编程逻辑处理器;以及接收所述可编程逻辑处理器传输的枚举数据,并根据所述枚举数据发送对应的握手信号至所述端口物理层,接收所述端口物理层基于所述握手信号返回的信号进行对应的数据传输功能;
所述可编程逻辑处理器,用于利用所述USB核心传输的所述目标数据进行USB枚举得到所述枚举数据,并将所述枚举数据传输至所述USB核心。
2.根据权利要求1所述的基于RISC-V架构的USB2.0控制器系统,其特征在于,所述USB核心通过ULPI总线与所述端口物理层连接;
相应的,所述USB核心通过所述ULPI总线获取所述端口物理层的所述初始数据,以及通过所述ULPI总线发送所述握手信号至所述端口物理层。
3.根据权利要求1所述的基于RISC-V架构的USB2.0控制器系统,其特征在于,所述USB核心通过高级高性能总线与所述可编程逻辑处理器连接;
相应的,所述可编程逻辑处理器通过所述高级高性能总线将所述枚举数据传输至所述USB核心。
4.根据权利要求1所述的基于RISC-V架构的USB2.0控制器系统,其特征在于,所述USB核心包括协议层解析模块,用于解析所述枚举数据得到所述枚举数据的数据类型,以便所述USB核心根据所述枚举数据的数据类型确定对应的握手信号,并将所述握手信号发送至所述端口物理层。
5.根据权利要求4所述的基于RISC-V架构的USB2.0控制器系统,其特征在于,所述USB核心包括校验模块,用于确定所述枚举数据的数据类型对应的预设校验算法,并根据所述预设校验算法校验所述枚举数据。
6.一种基于RISC-V架构的USB2.0控制方法,其特征在于,包括:
通过USB核心获取端口物理层的设备的初始数据,并将所述初始数据转换为适用于RISC-V架构的目标数据,并将所述目标数据传输至可编程逻辑处理器;
通过所述可编程逻辑处理器利用所述USB核心传输的所述目标数据进行USB枚举得到枚举数据,并将所述枚举数据传输至所述USB核心;
通过USB核心接收所述可编程逻辑处理器传输的枚举数据,并根据所述枚举数据发送对应的握手信号至所述端口物理层,以接收所述端口物理层基于所述握手信号返回的信号进行对应的数据传输功能。
7.根据权利要求6所述的基于RISC-V架构的USB2.0控制方法,其特征在于,所述通过USB核心获取端口物理层的设备的初始数据,并将所述初始数据转换为适用于RISC-V架构的目标数据,并将所述目标数据传输至可编程逻辑处理器,包括:
当与所述USB核心的host接口连接的所述可编程逻辑处理器监测到所述USB核心的device接口和所述端口物理层上的目标设备连接后,通过所述host接口向所述device接口发送复位信号以复位所述device接口;
利用所述可编程逻辑处理器通过所述host接口向复位后的device接口发送设备描述符请求,并获取所述复位后的device接口根据所述设备描述符请求发送的所述目标设备的设备描述符;所述设备描述符为通过所述USB核心转换为适用于RISC-V架构的目标数据。
8.根据权利要求7所述的基于RISC-V架构的USB2.0控制方法,其特征在于,所述通过所述可编程逻辑处理器利用所述USB核心传输的所述目标数据进行USB枚举得到枚举数据,包括:
根据预设规则确认所述设备描述符正确后,通过所述可编程逻辑处理器利用所述host接口向所述端口物理层上的所述目标设备发送确认数据包,并通过所述host接口再次复位所述device接口;
通过所述host接口向当前复位后的所述device接口发送地址设置请求,以便所述当前复位后的所述device接口根据所述地址设置请求更新所述目标设备的设备地址;
通过所述可编程逻辑处理器利用所述host接口向所述目标设备更新后的设备地址发送设备描述请求,以基于所述设备描述请求获取所述目标设备的设备配置作为所述枚举数据。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求6至8任一项所述的基于RISC-V架构的USB2.0控制方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求6至8任一项所述的基于RISC-V架构的USB2.0控制方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311120674.0A CN117076364A (zh) | 2023-08-31 | 2023-08-31 | 一种risc-v的usb控制系统、方法、设备及介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311120674.0A CN117076364A (zh) | 2023-08-31 | 2023-08-31 | 一种risc-v的usb控制系统、方法、设备及介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN117076364A true CN117076364A (zh) | 2023-11-17 |
Family
ID=88719468
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202311120674.0A Pending CN117076364A (zh) | 2023-08-31 | 2023-08-31 | 一种risc-v的usb控制系统、方法、设备及介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN117076364A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118535515A (zh) * | 2024-06-03 | 2024-08-23 | 之江实验室 | 一种usb通信方法及装置 |
-
2023
- 2023-08-31 CN CN202311120674.0A patent/CN117076364A/zh active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118535515A (zh) * | 2024-06-03 | 2024-08-23 | 之江实验室 | 一种usb通信方法及装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Axelson | USB complete: the developer's guide | |
| CN110687993B (zh) | 通过usb隧道传送消息从而控制电力输送 | |
| CN106209695B (zh) | 给加载/存储通信协议提供低功率物理单元 | |
| US7660938B1 (en) | Flash card reader and data exchanger utilizing low power extended USB protocol without polling | |
| KR100460650B1 (ko) | 데이터 전송 제어 장치, 전자 기기 및 데이터 전송 제어방법 | |
| CN111953387A (zh) | 近场通信和无线功率 | |
| KR20160013174A (ko) | Usb 디바이스와의 mctp 통신을 수행하기 위한 방법, 장치 및 시스템 | |
| CN102750559B (zh) | 信息处理装置和信息处理方法 | |
| DE112013001661T5 (de) | Bereitstellung eines konsolidierten Seitenband Kommunikationskanal zwischen Geräten | |
| CN115499505B (zh) | Usb网卡和通信方法 | |
| CN112346665B (zh) | 基于pcie的通信方法、装置、设备、系统及存储介质 | |
| US20200201804A1 (en) | I3c device timing adjustment to accelerate in-band interrupts | |
| CN118673848A (zh) | 单信号调试端口 | |
| CN117076364A (zh) | 一种risc-v的usb控制系统、方法、设备及介质 | |
| US7469304B2 (en) | Data transfer control device, electronic equipment, and method for a data transfer through a bus, the data transfer control device including a register and a packet buffer that are commonly used during a host operation and a peripheral operation | |
| US11782474B2 (en) | Clock control method, apparatus, and device, and storage medium | |
| CN108287804A (zh) | 一种i2c控制器驱动方法及系统 | |
| CN101763324B (zh) | 设备模拟的实现方法和装置 | |
| CN116974636B (zh) | 多路互联系统及其总线接口初始化方法、装置 | |
| CN108027744A (zh) | 数据传输方法和移动终端 | |
| CN114756498A (zh) | 芯片、主控芯片、芯片通信方法、芯片阵列及相关设备 | |
| US6584536B1 (en) | Bus transaction accelerator for multi-clock systems | |
| TW583572B (en) | Bus system and bus interface | |
| CN120711094A (zh) | 一种资产信息获取方法、装置、服务器、控制器及介质 | |
| CN115168276A (zh) | 一种主从切换通信的控制方法、装置及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |