• USB时钟为什么是48MHz


        在学习2440的USB配置时钟中,发现它的时钟需要设置成48MHz固定的,这个我就来兴趣了,为什么这里面USB的时钟一定要是48M呢?在网上找了众多文章,都是讲解如何配置2440的MPLL和UPLL,根据外部晶振来设置不同的参数,先配置UPLLCON,再配置MPLLCON,

     ARM_设置MPLL和UPLL的顺序

    但我需要的不是这个,是它背后的原因。于是,开始了找寻答案的旅程。

     

    先还是从datasheet中找:

    image

    对UPLLCON的配置,都是采用固定值:

    image

    从下面来时钟配置来看:

    image

    UPLL实际产生固定96MHZ的频率,二分频给USB主机使用,一分频给Camera采样使用

    从寄存器默认值设置来看: image 

    从datasheet上面种种介绍来看,S3C2440内部的USB控制器模块时钟使用的频率固定为 48MHz。

    从6410上面的USB Host时钟设置上来看,也是如此:

    image

    这里,问题就来了,为什么要设置成固定的48MHz,这个数据对于USB传输来说,有什么意义?

     

    通过网上了解USB速度相关的知识:

    USB 1.1

                低速(low-speed) 传输速率 1.5Mbps

                全速(full-speed) 传输速率 12Mbps

                标准脉冲时钟为12MHz,总线脉冲时钟为1KHz,也就是说,每个1ms,USB主机控制器在USB线缆上产生一个时钟脉冲序列,这个为帧开始数据包(SOF)

    USB 2.0 在USB 1.1 的基础上,向下兼容,并增加高速模式

    USB 2.0

                低速(low-speed) 传输速率 1.5Mbps

                全速(full-speed) 传输速率 12Mbps

                高速 (high-speed)传输速率 480Mbps

     

    USB 3.0  在USB2.0的基础上,向下兼容,增加了超高速模式(super speed)

    USB 3.0

                低速(low-speed) 传输速率 1.5Mbps

                全速(full-speed) 传输速率 12Mbps

                高速 (high-speed)传输速率 480Mbps

                超高速(Super Speed)传输速度4.8Gbps

     

    上述速度均为理论传输最高数值,单位为Mbps,如需化为MB/S,需要除以8. 在实际使用中,需要兼容其他系统的速度,往往会打个8折。

     

    上网翻来USB2.0规范,在 5.12.2 节 USB Clock Model 和7.1.17 Cable Attenuation l一节中,发现一点有用的东西,先摘录如下:

    USB的时钟模型:

    image

    UBS的电缆衰减:

    image

    结合USB传输规定,线缆的最大长度不超过5米,USB级联不能超过5级。同时,在一个USB系统中,USB device 和USB Hub总数不能超过127个,所有的USB device都连接在USB Hub。一个USB HOST总是与一个USB Root Hub相连,USB Hub为每个端口提供 100mA电流供设备使用。

    另外,这里也寻找了一些答案:

    http://www.edaboard.com/thread91063.html

    USB控制器接收部分的数字部分工作在60MHz,8位模式。当接收到高达480Mbps的数据时,为了从数据线中恢复时钟信号和数据信号,USB使用Delay-locked loop(DLL)来产生采样时钟,将采样的数据保存到弹性缓冲器中,弹性缓冲器再将数据以60MHz的时钟导出到数字部分。

     

    最后在这里找到一些有用的回答:http://electronicdesign.com/boards/480-mbitss-signal-integrity-becomes-issue-usb-20-designs

    image

     

    最后总结一下:

    USB总线时钟设置为48MHz,一部分是传输电缆本身的衰减因素,另一部分,为了兼容USB1.1的低速传输,还有的就是规范上的一些限制吧。

    目前,就网上的资料就找到这么多,在找寻答案的同时,发现如下一些好文章,现在给出来:

     

    这篇文章里面,介绍了USB Connector相关知识:

    http://www.beyondlogic.org/usbnutshell/usb2.shtml

     

    这篇文章总结了常用总线频率,很不错。

    常用总线频率介绍

    Technorati 标签:
  • 相关阅读:
    21.面向对象:多态与多态性、面向对象进阶:内置方法,反射。异常处理
    mysql 复习
    Python之math模块
    mysql数据类型转换
    Remmina
    JWT校验流程源码
    JWT签发token
    elasticsearch使用
    Flask基础
    初识Flask
  • 原文地址:https://www.cnblogs.com/cherishui/p/4204280.html
Copyright © 2020-2023  润新知