在學習2440的usb配置時鐘中,發現它的時鐘需要設定成48mhz固定的,這個我就來興趣了,為什麼這裡面usb的時鐘一定要是48m呢?在網上找了眾多文章,都是講解如何配置2440的mpll和upll,根據外部晶振來設定不同的引數,先配置upllcon,再配置mpllcon,
但我需要的不是這個,是它背後的原因。於是,開始了找尋答案的旅程。
先還是從datasheet中找:
對upllcon的配置,都是採用固定值:
從下面來時鐘配置來看:
upll實際產生固定96mhz的頻率,二分頻給usb主機使用,一分頻給camera取樣使用
從暫存器預設值設定來看:
從datasheet上面種種介紹來看,s3c2440內部的usb控制器模組時鐘使用的頻率固定為 48mhz。
從6410上面的usb host時鐘設定上來看,也是如此:
這裡,問題就來了,為什麼要設定成固定的48mhz,這個資料對於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的時鐘模型:
ubs的電纜衰減:
結合usb傳輸規定,線纜的最大長度不超過5公尺,usb級聯不能超過5級。同時,在乙個usb系統中,usb device 和usb hub總數不能超過127個,所有的usb device都連線在usb hub。乙個usb host總是與乙個usb root hub相連,usb hub為每個埠提供 100ma電流供裝置使用。
另外,這裡也尋找了一些答案:
usb控制器接收部分的數字部分工作在60mhz,8位模式。當接收到高達480mbps的資料時,為了從資料線中恢復時鐘訊號和資料訊號,usb使用delay-locked loop(dll)來產生取樣時鐘,將取樣的資料儲存到彈性緩衝器中,彈性緩衝器再將資料以60mhz的時鐘匯出到數字部分。最後在這裡找到一些有用的回答:
最後總結一下:
usb匯流排時鐘設定為48mhz,一部分是傳輸電纜本身的衰減因素,另一部分,為了相容usb1.1的低速傳輸,還有的就是規範上的一些限制吧。
這篇文章總結了常用匯流排頻率,很不錯。
常用匯流排頻率介紹
technorati 標籤: usb 匯流排時鐘
為什麼是 pgsql ?
postgresql在國外很流行 在日本是僅次於apache的開源軟體 pgsql 使用程序 postgresql資料庫是多程序的架構.每乙個客戶連線都有乙個服務程序為其進行服務,也有共享記憶體,這一點是與orancle資料庫是相似的.postgresql使用一種客戶端 伺服器的模式.乙個伺服器程序...
為什麼是XML
乙個人倒是可以隨便很多,大概是票價 的原因,今天的參加者不多,也沒遇見熟人。一天下來,思維不斷的轉換,人也有點迷迷糊糊了。最後一場,居然趕錯了會場,開講才知道是db2的講座,主講王先生是 ibm 的 fellow,以前聽過幾次他的演講,沒什麼深刻印象,今天他講 db2 和 xml。這幾年來,偶和 x...
為什麼是XML?
為什麼是xml 1 並不建議現在的edi 標準被直接對映成xml 來實現,重要的目的是抽取豐富的語義並應用在基於xml 的應用計算技術中。當使用xml 實現這種電子商務解決方案時,這種融合叫做xml edi。無論你是否理解edi 語法,我能肯定你一定確信使用xml 會使獲取過程的會話更易讀懂。但是還...