MUSB控制器寄存器详解与Linux驱动调试

5星 · 超过95%的资源 需积分: 49 39 下载量 151 浏览量 更新于2024-07-29 2 收藏 1.62MB PDF 举报
"MUSB寄存器手册提供了关于MUSB(Multi-Point USB)控制器MUSBMHDRC的详细寄存器说明,适用于Linux MUSB驱动的调试。文档由Mentor Graphics公司发布,包含了USB 2.0双角色控制器的产品规格和编程指南,是Mentor Graphics客户内部业务用途的机密资料。" MUSB(Micro-USB)是一种通用串行总线(USB)接口,用于在多个设备之间建立连接,特别适用于移动设备和嵌入式系统。MUSBMHDRC是Mentor Graphics公司设计的一种USB 2.0多点双角色控制器,它能够作为主机或设备运行,支持高速、全速和低速USB设备。 寄存器是微控制器或外围设备中用于存储数据和控制状态的部件,对于理解和调试MUSB驱动至关重要。手册中详细列出了每个寄存器的功能、地址、位定义和操作方式,这有助于开发者理解如何通过读写这些寄存器来控制和配置MUSB控制器。例如,寄存器可能包括以下部分: 1. 控制寄存器:设置MUSB的基本工作模式、中断使能、复位等操作。 2. 状态寄存器:反映MUSB当前的工作状态,如连接状态、速度等级、错误信息等。 3. 地址寄存器:存储设备或主机的USB地址。 4. 数据缓冲区管理寄存器:用于指定数据传输的缓冲区地址和传输长度。 5. 描述符指针寄存器:指向当前操作的数据包描述符。 6. 中断请求和中断状态寄存器:记录中断源,帮助处理设备事件。 7. 时钟和时序控制寄存器:设置USB通信所需的时钟频率和同步定时参数。 在Linux环境下,MUSB驱动会与这些寄存器交互以实现USB协议的底层操作,例如初始化、枚举设备、发送和接收数据包、处理中断等。调试MUSB驱动时,理解寄存器的工作原理和用法可以有效地定位和解决问题,确保USB设备的正常通信。 由于文档的保密性,部分内容未在此提供,但完整的手册应包括详细的寄存器描述、使用示例以及可能遇到的问题解决方案。对于MUSBMHDRC的用户和开发者来说,这份手册是不可或缺的参考资料,它能够提供关键的硬件控制信息,帮助实现高效、稳定的USB接口功能。
2020-08-05 上传
musb 中文翻译和英文文档.可以通过会话请求协议(SRP)发起USB流量,而双角色设备同时支持SRP和主机协商协议(HNP),并且可以根据需要担任主机或外设的角色。MUSBMHDRC还支持拆分事务,这反过来允许它支持使用带有USB 2.0集线器的全速度或低速设备。核心还包括支持在不使用时关闭便携式设备。 除了端点0之外,MUSBMHDRC是用户可配置的,可支持最多15个‘传输’端点和/或最多15个‘接收’端点。(对于IN事务和OUT事务使用这些端点取决于MUSBMHDRC是用作外设还是用作主机。当用作外设时,IN事务通过TX端点处理,OUT事务通过Rx端点处理。当用作主机时,IN事务通过Rx端点处理,OUT事务通过TX端点处理。)这些附加端点可以在软件中单独配置,以处理批量传输(这也允许它们处理中断传输)、同步传输或控制传输。此外,还可以动态地将端点分配给不同的目标设备函数——最大限度地同时支持设备的数量。 每个端点都需要一个FIFO与之关联。MUSBMHDRC有一个RAM接口,用于连接到用于所有端点FIFOs的同步单端口RAM的单个块。(RAM块本身需要由用户添加。) 端点0的FIFO需要为64字节深,并缓冲1个数据包。RAM接口可以根据其他端点FIFOs进行配置,它的大小可以从8到8192字节,可以缓冲1个或2个数据包。单独的FIFOs可以与每个端点相关联:或者,具有相同端点编号的TX端点和Rx端点可以配置为使用相同的FIFO,例如,如果它们永远不能同时活动,可以减少所需RAM块的大小。 MUSBMHDRC提供了一个32位同步CPU接口,设计用于连接AMBA AHB bus1。接口支持使用AHB总线运行在一个大范围的总线速度。AHB总线上的多层操作也被支持。通过添加合适的包装器/桥接器,MUSBMHDRC还可以很容易地连接到一系列其他标准总线。 还支持对端点FIFOs的DMA访问。 MUSBMHDRC提供了一个UTMI+ 3级兼容接口,用于连接到一个合适的USB高/全速收发器。包含了一个可选的ULPI链接包装器(在musbhdrc /docs目录中包含的musbhdrc_ulpi_an.pdf文档中描述),用于连接到与ULPI兼容的物理。另一种接口也提供,允许使用USB 1.1与核心全速PHY,但仅为全速和低速事务。(此接口见8.1节)。 MUSBMHDRC提供发送和接收USB数据包所需的所有编码、解码、检查和重新请求——仅当端点数据已被成功传输时才中断CPU。 当充当主机时,MUSBMHDRC另外维护一个帧计数器,并自动调度SOF、同步、中断和批量传输。它还包括对在点对点通信中使用的会话请求和主机协商协议的支持,其细节在USB 2.0规范的USB on - go补充中给出。MUSBMHDRC提供了一系列的测试模式——主要是USB 2.0规范中描述的高速运行的四种测试模式。它还包括选项,允许它被迫进入全速模式,高速模式或主机模式。最后一个可能在帮助调试硬件PHY问题时有用。 提供了图形用户界面脚本,用于根据用户的需求配置核心。要使用的脚本取决于所选的CPU接口。请注意:在撰写本文时,内核仅在Verilog中可用。 本规范应与USB运行规范一起阅读,该规范还提供了电源要求、电压水平、连接器等细节。.