基于USB設備控制器的端點(diǎn)緩沖區的優(yōu)化設計
對于USB的控制端點(diǎn),其接收的最大數據包為64 b。故本文設計的雙向FIFO使用的sram亦為64 b。使用memory complier生成。圖5是設計的雙向FIFO在Modelsim下的仿真波形圖。該波形顯示了方向0寫(xiě)數據,方向1讀數據和方向1寫(xiě)數據,方向0讀數據的過(guò)程。

2.2 其他端點(diǎn)的優(yōu)化設計
對于USB設備控制器的其他端點(diǎn),由于其與控制端點(diǎn)有所不同??刂贫它c(diǎn)是一個(gè)雙向端點(diǎn),而非控制端點(diǎn)單向的傳輸。故對于非控制端點(diǎn)對應的緩沖區的容量設定,應使USB的帶寬利用率盡量達到最高。由于USB規范中規定緩沖區必須有足夠的空間,可以為全(高)速設備容納一個(gè)時(shí)間片所能傳輸的數據量的兩倍的容量。這樣USB在處理一個(gè)數據分組的同時(shí),可以接收下一個(gè)數據分組。以此種重疊技術(shù)可以提高總線(xiàn)利用率。如果批量端點(diǎn)的緩沖區的深度設計為1 024 B。就可以得到最大的帶寬利用率。
圖6是其他端點(diǎn)所采用的雙緩沖FIFO方案示意圖。在狀態(tài)1,req0控制訪(fǎng)問(wèn)FIFO0,reql控制訪(fǎng)問(wèn)FIFO1;在狀態(tài)2,req0切換到訪(fǎng)問(wèn)FIFO1,req1切換到訪(fǎng)問(wèn)FIFO0。基于雙緩沖FIFO的設計方案可使其他端點(diǎn)的帶寬利用率達到最高,滿(mǎn)足高速傳輸的需求。

3 電路的ASIC實(shí)現結果
對上述設計方案采用Verilog硬件描述語(yǔ)言進(jìn)行設計。仿真工具為Modelsim SE 6.2b,前仿真通過(guò)后,對設計好的電路使用Design Complier進(jìn)行綜合。綜合所使用的工藝庫是SMIC 0.18 μm工藝庫。
對于控制端點(diǎn),考慮到其主要處在SIE時(shí)鐘和MCU時(shí)鐘之間,對其所加的時(shí)鐘約束分別為60 MHz和30 MHz;此外還對傳統的雙緩沖FIFO結構進(jìn)行了綜合,兩者所加約束完全一致。將兩者的電路的綜合結果對比如表2所示。

對比表2可知在保證控制端點(diǎn)功能的前提下,本文所采用的新型FIFO結構比傳統雙FIFO結構在電路的實(shí)現面積方面減小了45.3%。
對于其他端點(diǎn)所采用的雙緩沖FIFO方案保證了傳輸速度,但卻是以犧牲面積為代價(jià)換來(lái)的。表3給出了批量(Bulk)傳輸端點(diǎn)(兩個(gè)深度為512 B的FIFO)的實(shí)現面積報告。

4 結 語(yǔ)
USB設備控制器端點(diǎn)緩沖區的性能,直接關(guān)系到總線(xiàn)的帶寬利用率。這里分析了USB的四種傳輸類(lèi)型并根據其特點(diǎn)靈活的設計了不同的方案,并給出了最終電路的ASIC實(shí)現結果。特別是針對控制端點(diǎn)所提出的一種新方案具有一定的通用性,該方案可以應用在其他類(lèi)似場(chǎng)合的設計中。本文引用地址:http://dyxdggzs.com/article/149541.htm
pid控制器相關(guān)文章:pid控制器原理
評論