基于USB設備控制器的端點緩沖區(qū)的優(yōu)化設計
對于USB的控制端點,其接收的最大數(shù)據(jù)包為64 b。故本文設計的雙向FIFO使用的sram亦為64 b。使用memory complier生成。圖5是設計的雙向FIFO在Modelsim下的仿真波形圖。該波形顯示了方向0寫數(shù)據(jù),方向1讀數(shù)據(jù)和方向1寫數(shù)據(jù),方向0讀數(shù)據(jù)的過程。
2.2 其他端點的優(yōu)化設計
對于USB設備控制器的其他端點,由于其與控制端點有所不同??刂贫它c是一個雙向端點,而非控制端點單向的傳輸。故對于非控制端點對應的緩沖區(qū)的容量設定,應使USB的帶寬利用率盡量達到最高。由于USB規(guī)范中規(guī)定緩沖區(qū)必須有足夠的空間,可以為全(高)速設備容納一個時間片所能傳輸?shù)臄?shù)據(jù)量的兩倍的容量。這樣USB在處理一個數(shù)據(jù)分組的同時,可以接收下一個數(shù)據(jù)分組。以此種重疊技術可以提高總線利用率。如果批量端點的緩沖區(qū)的深度設計為1 024 B。就可以得到最大的帶寬利用率。
圖6是其他端點所采用的雙緩沖FIFO方案示意圖。在狀態(tài)1,req0控制訪問FIFO0,reql控制訪問FIFO1;在狀態(tài)2,req0切換到訪問FIFO1,req1切換到訪問FIFO0。基于雙緩沖FIFO的設計方案可使其他端點的帶寬利用率達到最高,滿足高速傳輸?shù)男枨蟆?br />
3 電路的ASIC實現(xiàn)結果
對上述設計方案采用Verilog硬件描述語言進行設計。仿真工具為Modelsim SE 6.2b,前仿真通過后,對設計好的電路使用Design Complier進行綜合。綜合所使用的工藝庫是SMIC 0.18 μm工藝庫。
對于控制端點,考慮到其主要處在SIE時鐘和MCU時鐘之間,對其所加的時鐘約束分別為60 MHz和30 MHz;此外還對傳統(tǒng)的雙緩沖FIFO結構進行了綜合,兩者所加約束完全一致。將兩者的電路的綜合結果對比如表2所示。
對比表2可知在保證控制端點功能的前提下,本文所采用的新型FIFO結構比傳統(tǒng)雙FIFO結構在電路的實現(xiàn)面積方面減小了45.3%。
對于其他端點所采用的雙緩沖FIFO方案保證了傳輸速度,但卻是以犧牲面積為代價換來的。表3給出了批量(Bulk)傳輸端點(兩個深度為512 B的FIFO)的實現(xiàn)面積報告。
4 結 語
USB設備控制器端點緩沖區(qū)的性能,直接關系到總線的帶寬利用率。這里分析了USB的四種傳輸類型并根據(jù)其特點靈活的設計了不同的方案,并給出了最終電路的ASIC實現(xiàn)結果。特別是針對控制端點所提出的一種新方案具有一定的通用性,該方案可以應用在其他類似場合的設計中。本文引用地址:http://www.ex-cimer.com/article/149541.htm
pid控制器相關文章:pid控制器原理
評論