專利名稱:面向高速通信接口的低功耗緩沖裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及具有不同時鐘頻率的端口之間的數(shù)據(jù)傳遞。
背景技術(shù):
隨著電子產(chǎn)品的日益發(fā)展,芯片的集成度越來越高,越來越多的高速通信接口被集成到同一芯片中,例如USB、PCI-E、SD等,這極大的方便了使用者,但由于過多的模塊集成在一起帶來的功耗問題越來越突出。例如,電池供電的便攜產(chǎn)品中,除了功能和性能,電池的使用時間也是影響產(chǎn)品競爭力的重要因素。在IC卡領(lǐng)域,由于讀卡設(shè)備所能提供的能量是有限的,也要求芯片要降低功耗。因此,低功耗設(shè)計也是現(xiàn)在芯片設(shè)計中很重要的一個領(lǐng)域,設(shè)計者需要從電源管理、時鐘管理等各個方面考慮降低芯片的功耗,作為芯片中常備的高速通信接口,我們也需要降低其功耗以提升產(chǎn)品性能。USB、PCI_E、SD等是最常見的高速通信接口,由于通信接口的時鐘頻率和處理器的時鐘頻率通常不一致,因此通信接口模塊中需要使用緩沖裝置來完成兩個異步時鐘域間數(shù)據(jù)的傳遞。通常會使用雙口 RAM作為緩沖裝置,使用雙口 RAM匹配不同的時鐘頻率簡單方便,但雙口 RAM功耗很大,占通信接口模塊總功耗很大的比例。為了降低通信接口的功耗, 可以自己定制低功耗的雙口 RAM,但如果沒有這種技術(shù)能力,或者項目時間緊迫沒有時間去設(shè)計,我們就需要考慮其他的降低通信接口功耗的方法。鑒于半導(dǎo)體工藝廠商提供的單口 RAM的功耗要比同等容量的雙口 RAM的功耗小很多,因此我們提出了一種使用單口 RAM作為高速通信接口的緩沖裝置降低芯片功耗的方法。
發(fā)明內(nèi)容
本發(fā)明的目的在于解決上述問題中的一個或多個。本發(fā)明在一個方面提供一種用于具有不同時鐘頻率的端口之間的數(shù)據(jù)傳遞的緩沖單元,包括端口仲裁電路,端口選擇電路,時鐘切換及控制電路,以及
單口 RAM,其中所述端口仲裁電路用于仲裁來自所述具有不同時鐘頻率的端口的訪問請求,所述端口選擇電路用于根據(jù)所述端口仲裁電路的仲裁結(jié)果將獲得授權(quán)端口的數(shù)據(jù)及控制信號傳遞給單口 RAM,所述時鐘切換及控制電路用于根據(jù)所述端口仲裁電路的仲裁結(jié)果把獲得授權(quán)端口的時鐘信號傳遞給單口 RAM。根據(jù)本發(fā)明另一方面,緩沖單元還包括門控電路,用于控制傳遞給單口 RAM的時鐘信號,使得僅在有端口訪問單口 RAM時才給單口 RAM傳遞時鐘信號。根據(jù)本發(fā)明另一方面,時鐘切換及控制電路是無毛刺電路。根據(jù)本發(fā)明另一方面,緩沖單元連接在處理器總線接口處理模塊和高速通信接口處理模塊之間。根據(jù)本發(fā)明另一方面,單口 RAM作為所述端口之間數(shù)據(jù)傳遞的數(shù)據(jù)緩沖裝置。本發(fā)明在另一方面提供一種使用單口 RAM在具有不同時鐘頻率的端口之間傳遞數(shù)據(jù)的方法,包括仲裁來自所述具有不同時鐘頻率的端口的訪問請求, 根據(jù)仲裁結(jié)果將獲得授權(quán)的端口的數(shù)據(jù)及控制信號傳遞給單口 RAM, 根據(jù)仲裁結(jié)果把獲得授權(quán)的端口的時鐘信號傳遞給單口 RAM, 獲得授權(quán)的端口訪問所述單口 RAM。根據(jù)本發(fā)明另一方面,把獲得授權(quán)的端口的時鐘信號傳遞給單口 RAM包括對所述時鐘進(jìn)行去毛刺處理。根據(jù)本發(fā)明另一方面,把獲得授權(quán)的端口的時鐘信號傳遞給單口 RAM包括控制傳遞給單口 RAM的時鐘信號,使得僅在有端口訪問單口 RAM時才給單口 RAM傳遞時鐘信號。根據(jù)本發(fā)明,兩個異步時鐘域采用單口 RAM作為交換數(shù)據(jù)的緩沖裝置。當(dāng)通信接口或處理器需要傳輸數(shù)據(jù)即訪問緩沖裝置時,首先需要向端口仲裁電路提出讀寫請求,如果當(dāng)前沒有端口正在訪問RAM,則請求端口可直接獲得訪問RAM的授權(quán);如果當(dāng)前訪問RAM 的端口和請求的端口相同,則保持授權(quán)不變;如果當(dāng)前正在訪問RAM的端口和請求端口不一致,端口仲裁電路等正在訪問RAM的端口訪問結(jié)束后,重新仲裁,根據(jù)請求的優(yōu)先級重新分配端口的授權(quán)。在端口仲裁電路完成仲裁后,端口選擇電路將單口 RAM的信號端口,例如讀寫, 地址,數(shù)據(jù)等信號連接到獲得授權(quán)的時鐘域的端口上。由于時鐘切換時產(chǎn)生的毛刺可能會對單口 RAM造成不可預(yù)知的影響,因此本發(fā)明在一個實(shí)施例中使用無毛刺時鐘切換和控制電路。由于單口 RAM—直給時鐘會產(chǎn)生比較大的動態(tài)功耗,還需要加入時鐘門控電路保證僅在有端口訪問單口 RAM時才打開,其他時刻關(guān)閉。這兩個電路可以集成在一起。端口訪問RAM結(jié)束后,讀寫,地址,數(shù)據(jù)等信號維持原值,減少信號翻轉(zhuǎn)帶來的翻轉(zhuǎn)功耗。使用本發(fā)明可以充分利用單口 RAM功耗低的優(yōu)點(diǎn),在保證通信接口功能性能的前提下,降低芯片的功耗,減小芯片的面積。
圖1是根據(jù)本發(fā)明一個實(shí)施例的位于處理器總線接口處理模塊和高速通信接口處理模塊之間的緩沖單元的結(jié)構(gòu)圖2是根據(jù)本發(fā)明一個實(shí)施例的無毛刺電路;
圖3是根據(jù)本發(fā)明一個實(shí)施例緩沖單元工作的時序圖4是根據(jù)本發(fā)明一個實(shí)施例SIE與MCU同時寫EP的時序圖5是根據(jù)本發(fā)明一個實(shí)施例SIE寫EP與MCU讀EP同時發(fā)生的時序圖。
具體實(shí)施例方式以下結(jié)合附圖,對本發(fā)明的具體實(shí)施例進(jìn)行詳細(xì)的說明。如圖1所示,處理器總線接口模塊2接到處理器總線1,以與所述處理器總線進(jìn)行數(shù)據(jù)交互。高速通信接口處理模塊4連接到高速通信接口 3,以與高速通信接口進(jìn)行數(shù)據(jù)交互。在處理器總線接口模塊和高速通信接口處理模塊之間的是緩沖單元,緩沖單元包括端口仲裁電路5、端口選擇電路6、時鐘切換和控制電路7及單口 RAM 8。由緩沖單元連接的兩個端口屬于異步的時鐘域,例如通信接口時鐘域和處理器總線時鐘域,兩時鐘域間需要完成數(shù)據(jù)的交互。端口仲裁電路5可工作在兩時鐘域中頻率較快的一側(cè),處理來自另一時鐘域的異步請求信號時則經(jīng)過同步處理,例如使用雙觸發(fā)器采樣同步。端口仲裁電路5接收來自處理器的訪問請求和來自高速通信接口的訪問請求,并進(jìn)行仲裁。具體地,當(dāng)端口需要訪問單口 RAM時向端口仲裁電路5發(fā)出訪問請求,如果沒有端口正在訪問單口 RAM,則端口仲裁電路5直接將授權(quán)給請求端口 ;如果請求端口和當(dāng)前訪問RAM的端口相同,則端口仲裁電路5 保持授權(quán)不變;如果兩個端口同時請求訪問單口 RAM,則端口仲裁電路5根據(jù)兩個端口的優(yōu)先級給予授權(quán)。端口選擇電路6根據(jù)端口仲裁電路5的授權(quán)產(chǎn)生端口選擇信號,把被選中的端口連接到單口 RAM,從而傳遞數(shù)據(jù)及控制信號,其中控制信號與數(shù)據(jù)的時序滿足單口 RAM的時序要求。時鐘切換及控制電路7根據(jù)端口仲裁電路的仲裁結(jié)果把獲得授權(quán)端口的時鐘信號傳遞給單口 RAM8。根據(jù)本發(fā)明的一個實(shí)施例,時鐘切換和控制電路7包括如圖2所示的無毛刺時鐘切換和控制電路,無毛刺時鐘切換和控制電路能夠防止當(dāng)兩個端口連續(xù)訪問單口 RAM 8時,時鐘上出現(xiàn)毛刺。圖2的無毛刺時鐘切換和控制電路中,11、14、16以及19是與門,12、13、17和18
是D觸發(fā)器,15是非門,20是或門。其中端口選擇信號提供給與門11,端口選擇信號還通過非門15提供給與門16,D觸發(fā)器12接收端口 1的時鐘信號,D觸發(fā)器17接收端口 2的時鐘信號,或門20輸出時鐘信號給單口 RAM 8。為了降低單口 RAM8的動態(tài)功耗,只有當(dāng)有端口需要訪問RAM時,才給單口 RAM傳遞時鐘信號。因此,緩沖單元還包括門控電路,用于控制傳遞給單口 RAM的時鐘信號,使得僅在有端口訪問單口 RAM時才給單口 RAM傳遞時鐘信號。為了降低信號的翻轉(zhuǎn)功耗,控制和數(shù)據(jù)信號在沒有新的請求到來之前保持不變。圖3是根據(jù)本發(fā)明實(shí)施例緩沖單元工作的時序圖。實(shí)例
下面將以一款使用AHB總線的USB1. 1從設(shè)備控制器為具體實(shí)例說明如何使用單口 RAM 代替雙口 RAM應(yīng)用??刂破髦械腞AM用于緩沖微處理器MCU (即CPU)和USB主機(jī)間的數(shù)據(jù),RAM —側(cè)為USB的時鐘域(時鐘頻率為12MHz),另一側(cè)為MCU (AHB總線)的時鐘域(時鐘頻率為25MHz),RAM的大小為U8X32,USB中的所有EP(EndPoint)共享同一個RAM。在 SMICO. 18um工藝上,12^(32雙口 RAM的功耗約為IOmA (折算成電流),同等容量的單口 RAM 的功耗約為5mA,相差近一倍,在低功耗應(yīng)用領(lǐng)域,降低5mA的電流能顯著提高有源設(shè)備電池的使用時間或無源設(shè)備的使用距離。圖4和圖5說明USB1. 1從設(shè)備控制器中單口 RAM的時序,以及在兩個時鐘域需要同時操作RAM時的仲裁順序。如圖4所示,當(dāng)SIE (USB串行接口引擎,和USB PHY之間相連)與MCU同時寫EP 緩沖器(EP buffer)時,SIE享有最高優(yōu)先權(quán),MCU寫EP緩沖器時,拉低hready_0,直到采樣到操作成功mcu_ack,釋放hready_o。在hready_o為低期間,AHB接口模塊輸出的mcu_ epbuf_wr, mcu_epbuf_addr值保持不變,當(dāng)SIE與MCU同時寫EP緩沖器時,當(dāng)SIE寫EP緩沖器操作完成后,執(zhí)行MCU寫EP緩沖器操作,在usb_clk時鐘域,當(dāng)采樣到mcUjpbUf_ wr 一次同步有效時,產(chǎn)生操作RAM選通及寫信號mcujpbuf_wr_sync,在操作成功mcu_ack 有效后失效mcujpbuf_Wr_Sync。當(dāng)在hclk時鐘域采樣到mcu_ack信號后,做兩次同步后釋放hready_o及mcujpbuf_wr.對mcu_ack同步兩拍后輸出握手信號對握手信號在usb_ elk時鐘域內(nèi)同步兩拍后作為控制條件清除mcu_ack及mcujpbuf_wr在usb_clk時鐘域內(nèi)同步產(chǎn)生的所有信號。這里,hclk hsel haddr以及hready_0等都是標(biāo)準(zhǔn)的AHB總線接口,rd是讀,cs是芯片選擇,sync是同步,wr是寫,add是地址,ram開頭的是標(biāo)準(zhǔn)的RAM 接口。如圖5所示,MCU讀EP緩沖器操作時,同樣當(dāng)采樣到htrans為1時,拉低hready_ ο信號,當(dāng)hclk采樣到mcu_ack時釋放hready_0;在usb_clk時鐘域,當(dāng)采樣到一次同步后的MCU讀信號有效時產(chǎn)生讀操作RAM選通信號mcu_rdbuf_cs信號,當(dāng)采樣到MCU有操作請求且SIE沒有操作buf請求時產(chǎn)生操作確認(rèn)信號mCu_req_aCk信號,失效RAM選通信號mcu_rdbuf_cs,對mcu_req_ack延遲一拍產(chǎn)生mcu_ack輸出給MCU,此處延遲一拍的原因是當(dāng)mCu_req_aCk有效時,產(chǎn)生mCujpbuf_rd_SynC信號,為保證在MCU讀到數(shù)據(jù)之前數(shù)據(jù)保持不變,對RAM輸入的數(shù)據(jù)進(jìn)行鎖存,如圖中印buf_mcu_data所示,對mcu_req_ack延遲一拍產(chǎn)生mcu_ack輸出時,輸出數(shù)據(jù)已穩(wěn)定;MCU采樣到mcu_ack且對其同步兩拍后釋放 hready_o,在此必須對mcu_ack做兩拍同步處理是由于要確保在hready_0為高時,MCU讀到的數(shù)據(jù)已在MCU時鐘域內(nèi)穩(wěn)定,不存在setup不滿足的問題。輸出對mcu_ack同步兩拍后的的信號在usb_clk時鐘域內(nèi)同步兩拍后作為控制條件清除mCu_req_aCk及mcujpbuf_ rd的所有同步信號。當(dāng)MCU讀與SIE操作同時發(fā)生時,SIE享有優(yōu)先權(quán)。SIE讀操作與MCU讀寫操作同時發(fā)生時,其時序與以上時序相同。由于加入了額外的控制電路,引入了 ImA左右的功耗,但是還是比使用雙口 RAM節(jié)省了 4mA左右的功耗,優(yōu)點(diǎn)是明顯的。應(yīng)當(dāng)理解的是,上述針對具體實(shí)施方式
的描述較為具體,只是為了更好的將本發(fā)明的公開進(jìn)行闡述,并不能因此而認(rèn)為是對本發(fā)明專利保護(hù)范圍的限制,本發(fā)明的專利保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種用于具有不同時鐘頻率的端口之間的數(shù)據(jù)傳遞的緩沖單元,包括 端口仲裁電路,端口選擇電路, 時鐘切換及控制電路,以及單口 RAM, 其中所述端口仲裁電路用于仲裁來自所述具有不同時鐘頻率的端口的訪問請求, 所述端口選擇電路用于根據(jù)所述端口仲裁電路的仲裁結(jié)果將獲得授權(quán)端口連接到單口 RAM,從而傳遞數(shù)據(jù)及控制信號,所述時鐘切換及控制電路用于根據(jù)所述端口仲裁電路的仲裁結(jié)果把獲得授權(quán)端口的時鐘信號傳遞給單口 RAM。
2.根據(jù)權(quán)利要求1所述的緩沖單元,還包括門控電路,用于控制傳遞給單口RAM的時鐘信號,使得僅在有端口訪問單口 RAM時才給單口 RAM傳遞時鐘信號。
3.根據(jù)權(quán)利要求1所述的緩沖單元,其中所述時鐘切換及控制電路是無毛刺電路。
4.根據(jù)權(quán)利要求1所述的緩沖單元,其中所述緩沖單元連接在處理器總線接口處理模塊和高速通信接口處理模塊之間。
5.根據(jù)權(quán)利要求1所述的緩沖單元,其中單口RAM作為所述端口之間數(shù)據(jù)傳遞的數(shù)據(jù)緩沖裝置。
6.一種使用單口 RAM在具有不同時鐘頻率的端口之間傳遞數(shù)據(jù)的方法,包括 仲裁來自所述具有不同時鐘頻率的端口的訪問請求,根據(jù)仲裁結(jié)果將獲得授權(quán)的端口的數(shù)據(jù)及控制信號傳遞給單口 RAM, 根據(jù)仲裁結(jié)果把獲得授權(quán)的端口的時鐘信號傳遞給單口 RAM, 獲得授權(quán)的端口訪問所述單口 RAM。
7.根據(jù)權(quán)利要求6所述的實(shí)現(xiàn)方法,其中所述單口RAM作為所述端口之間數(shù)據(jù)傳遞的數(shù)據(jù)緩沖裝置。
8.根據(jù)權(quán)利要求6所述的實(shí)現(xiàn)方法,其中把獲得授權(quán)的端口的時鐘信號傳遞給單口 RAM包括對所述時鐘進(jìn)行去毛刺處理。
9.根據(jù)權(quán)利要求6所述的實(shí)現(xiàn)方法,其中把獲得授權(quán)的端口的時鐘信號傳遞給單口 RAM包括控制傳遞給單口 RAM的時鐘信號,使得僅在有端口訪問單口 RAM時才給單口 RAM傳遞時鐘信號。
10.根據(jù)權(quán)利要求6所述的實(shí)現(xiàn)方法,其中獲得授權(quán)的端口訪問所述單口RAM后,保持所述控制和數(shù)據(jù)信號不變。
全文摘要
面向高速通信接口的低功耗緩沖裝置。本發(fā)明涉及用于具有不同時鐘頻率的端口之間的數(shù)據(jù)傳遞的緩沖單元和相應(yīng)的方法,緩沖單元包括端口仲裁電路,端口選擇電路,時鐘切換及控制電路,以及單口RAM,其中所述端口仲裁電路用于仲裁來自所述具有不同時鐘頻率的端口的訪問請求,所述端口選擇電路用于根據(jù)所述端口仲裁電路的仲裁結(jié)果將獲得授權(quán)端口連接到單口RAM,從而傳遞數(shù)據(jù)及控制信號,所述時鐘切換及控制電路用于根據(jù)所述端口仲裁電路的仲裁結(jié)果把獲得授權(quán)端口的時鐘信號傳遞給單口RAM。
文檔編號G06F13/362GK102567259SQ20101060721
公開日2012年7月11日 申請日期2010年12月27日 優(yōu)先權(quán)日2010年12月27日
發(fā)明者陳濤 申請人:北京國睿中數(shù)科技股份有限公司