日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網

USB2.0

USB2.0 的PDF資料

暫且沒有下載
其他型號

USB2.0的供應商:
聯(lián)系人:朱先生/李小姐
電話:0755-83325286/0755-83326422
聯(lián)系人:詹小姐
電話:0755-83797351
聯(lián)系人:林小姐
電話:075583047638
聯(lián)系人:謝小姐
電話:0755-82546293
>>更多供應商

USB2.0設備控制器IP核的AHB接口技術

查看最近90天中添加的最新產品 最新電子元器件資料免費下載 派睿電子TI有獎問答 - 送3D汽車鼠標 IR推出采用焊前金屬的汽車級絕緣柵雙極晶體管 全球電子連接器生產商—samtec 最新斷路器保護套

  摘要 介紹了USB2.0設備控制器IP核的AHB接口的設計。解決了雙時鐘域問題;實現(xiàn)了多事務DMA控制,減少了塊傳輸?shù)闹袛啻螖?shù);緩存采用乒乓機制,并對外隱蔽了雙緩沖區(qū)。最后用Verilog完成RTL代碼,并通過充分驗證,證明接口符合AHB協(xié)議,且完成既定所有功能。

  引言

  通用串行總線USB 2.0接口是目前PC機的主流接口,可提供480 Mb/s(60 MB/s)的高速數(shù)據(jù)傳輸,具有即插即用、熱插拔、接口體積小巧、節(jié)省系統(tǒng)資源、傳輸可靠、提供電源、良好的兼容性、共享式通信、低成本等優(yōu)點。由于USB接口的優(yōu)點和流行,當今嵌入式設計要與PC連接,首選USB接口。

  ARM 公司提出的AMBA總線,由于其本身的高性能和ARM 處理器的廣泛應用,已經成為SoC 設計中廣泛使用的總線標準。AMBA rev20中的AHB,采用地址/數(shù)據(jù)分離格式,支持固定長/不定長猝發(fā)(burst) 交易、分裂(split) 交易特性和多個主設備的總線管理,具有高帶寬、高性能特性,適合于嵌入式處理器與高性能外圍設備、片內存儲器及接口功能單元的連接。

  根據(jù)兩種總線的特點和廣泛支持,為了給嵌入式SoC系統(tǒng)提供USB接口,需要設計USB和AHB間的橋接IP核(Intellectual Property Core)。本文介紹USB 2.0設備控制器IP中的AHB接口部分設計。

  1  設計概述

  1.1  協(xié)議概述

  設計前首先需要了解USB和AHB數(shù)據(jù)傳輸?shù)奶攸c。

  USB上的數(shù)據(jù)組織為事務進行串行傳輸,最小數(shù)據(jù)單位是字節(jié)。USB傳輸始終是由主機方發(fā)起的,設備方只負責響應。USB的數(shù)據(jù)傳輸分為塊、同步、控制、中斷四種傳輸,本IP支持前三種。對于塊傳輸,默認上層協(xié)議為BULK ONLY協(xié)議[1]。

  AHB總線采用單時鐘域同步設計。數(shù)據(jù)、地址線寬32位,采用2級流水線結構,地址、控制信號比數(shù)據(jù)信號早一個時鐘周期?捎免Оl(fā)(burst)傳輸來傳數(shù)據(jù)。只需一個時鐘周期就可完成總線交權。由于是嵌入式的SoC片上總線,故強調的是面積、工作頻率和功耗等。詳細情況參見USB[13]和AMBA協(xié)議[4]。

  1.2  設計規(guī)格

  本IP核的AHB接口,最主要的任務是控制數(shù)據(jù)在緩存和AHB總線間正確傳輸,使接口時序滿足AHB協(xié)議,并協(xié)助AHB上的MCU(默認為ARM)控制數(shù)據(jù)傳輸;同時要處理與USB控制部分的連接問題,控制USB端的中斷申請和寄存器輸出。

  為了適用于大數(shù)據(jù)量的傳輸,本IP要求的控制傳輸是用非DMA方式,塊、同步用DMA方式,且已知外部有DMA控制器(默認為ARM雙Master的DMA控制器[5])。

  在總體設計中有如下關鍵問題,決定了IP中AHB接口設計的細節(jié)。

  ①  雙時鐘域問題。USB時鐘是60 MHz,設計的AHB時鐘頻率是30~133 MHz?鐣r鐘域的控制信號需要用同步器同步。

 、  數(shù)據(jù)的緩沖問題。IP中使用32位數(shù)據(jù)位寬的流過式DPRAM(雙口SRAM)作為USB和AHB間的數(shù)據(jù)緩沖。每個端點有固定的緩沖區(qū),使各端點間透明;使用乒乓機制,每個端點兩個緩沖區(qū),減小USB和AHB總線速率的相關性,使數(shù)據(jù)傳輸更流暢;同時DPRAM的兩個口分屬不同時鐘域,起到隔離數(shù)據(jù)的雙時鐘域問題的作用。

  ③  是否需要AHB Master的問題。IP在USB端是從設備,在AHB端是主設備。也就是AHB上傳輸?shù)亩际怯杀綢P發(fā)起的。本來設計中有一個AHB Master,當作DMA控制器,F(xiàn)在由于已經有外部DMA控制器,因此IP只需要AHB Slave,用中斷告知ARM信息,由ARM配置外部DMA控制器來進行DMA傳輸。所以為了減小面積和功耗,去掉AHB Master。

 、  要實現(xiàn)多事務DMA才發(fā)一次中斷,減少中斷次數(shù)。由于塊傳輸通過上層BULK ONLY協(xié)議已經知道多個事務數(shù)據(jù)長度,所以前面的事務DMA可以用硬件處理,最后一次事務完成后才報中斷。

  ⑤  AHB地址劃分。每個端點在AHB上只有一個固定地址,看作一個I/O接口,隱蔽雙緩沖區(qū)和緩沖區(qū)內部的相對地址,而IP中每個內部寄存器有一個單獨的AHB地址。

  2  AHB接口設計實現(xiàn)

  2.1  模塊劃分

  如圖1所示,根據(jù)功能可把AHB接口分為如下6個模塊:

 、  CTRL,產生對外部DMA控制器的DMA申請信號,并接收回應信號;負責控制多個通道的多事務長度的DMA結束中斷;改變REG模塊中的DMA配置信息[56]。

  ②  SLV,負責接收AHB上的讀寫請求,控制AHB Slave的時序。

 、  DEC,地址譯碼模塊,根據(jù)AHB地址譯碼產生寄存器選中信號或緩沖寫信號。

 、  MUX,DPRAM和寄存器輸出的多選一模塊,包括USB端寄存器輸出。

  ⑤  INT,總中斷產生模塊。綜合USB端的中斷申請,產生總中斷信號和總中斷向量。

  ⑥  REG,ARM配置的寄存器組模塊。



  圖1  AHB接口模塊框圖

  2.2  SLV模塊設計

  SLV模塊處理AHB時序,主要功能是根據(jù)AHB地址和控制信號,產生對緩存的讀寫、地址信號;支持猝發(fā)傳輸?shù)奶崆敖Y束和插入BUSY周期。SLV模塊不需要使用RETRY/SPLTT功能來干預AHB仲裁器的仲裁。這是因為IP中有用于緩存的DPRAM,并且處于USB設備端,在AHB總線看來,IP在接受AHB IN/OUT操作前都已經做好準備,不存在不能接收AHB操作的情況。

  Slave狀態(tài)轉換如圖2所示。Slave狀態(tài)機是AHB Slave設計的關鍵。hready_in和hsel同時為高時,SLV才能采樣地址和控制信號。



  圖2  Slave狀態(tài)轉換圖

  對于寫操作,當收到N*EQ時,先存儲地址信息,在下一周期收到hwdata后同時發(fā)對緩沖的寫信號、寫地址、寫數(shù)據(jù)。遇到BUSY周期進入HS_WRBUSY狀態(tài),等待下次寫操作。

  對于讀操作,當收到N*EQ時,先采樣地址信息,判斷是否正確,再發(fā)讀信號和讀地址,這需要一個周期。一個周期后從緩沖收到讀數(shù)據(jù),還要通過一級寄存器后才能發(fā)到AHB總線上。所以SLV處理AHB讀操作需要3個周期預讀取數(shù)據(jù),加入HS_RDSTART1、HS_RDSTART2、HS_RDSTART3狀態(tài),拉低hready_out,等待讀數(shù)據(jù)。因為每個端點只有1個AHB地址,如果SLV一直對同一個端點進行傳輸,則可以使用預讀取數(shù)據(jù),保持流水,提高數(shù)據(jù)傳輸效率。遇到BUSY周期進入HS_RDBUSY狀態(tài),有專門寄存器存儲預讀數(shù)據(jù),等待后面讀操作中使用。

  SLV只支持WORD(32位)傳輸,但是USB是以字節(jié)為單位的。解決的辦法是寄存器組REG中對每個端點都有一個DMA長度寄存器,ARM寫入多事務數(shù)據(jù)的長度,精確到字節(jié), IP知道數(shù)據(jù)的字節(jié)數(shù),而AHB上只以WORD為單位傳輸。這樣做還有個目的是簡化外部DMA控制的操作,一次連貫的DMA只需ARM配置一次。否則,傳輸非WORD的數(shù)據(jù)可能要ARM特殊處理。

  SLV有檢錯機制,當讀寫地址操作端點緩沖邊界或進行非WORD傳輸時,SLV認為出錯,先后進入HS_ERR1、HS_ERR2狀態(tài),進行2周期的AHB錯誤回應。

  AHB中的1 KB地址邊界檢查是由AHB Master保證的,Slave不作檢查。

  2.3  其他模塊設計

  DPRAM控制部分對每個端點有一個busy信號和hbuf信號。當busy為0時,表示端點控制權在AHB端;否則,在USB端。hbuf信號為0表示端點使用緩沖區(qū)0,否則使用緩沖區(qū)1。對于OUT端點,busy為0表示緩沖中有USB OUT數(shù)據(jù),需要DMA傳輸;對于IN端點,busy為0表示緩沖空閑,可以接收DMA IN數(shù)據(jù)。所以CTRL模塊接收這兩組信號,以hbuf指示的busy信號為0作為端點的對外部DMA控制器的申請,同時需要打開相關DMA使能。這還需要外部DMA控制器支持多個DMA申請。

  ARM往DMA長度寄存器寫入多事務數(shù)據(jù)的長度,當Slave傳輸了此長度的數(shù)據(jù)后,向ARM報DMA結束中斷。這樣可以不依賴外部DMA控制器,IP自己硬件減少塊DMA傳輸中斷數(shù),否則一般會每次事務報一次中斷。

  其余模塊實現(xiàn)的功能都不復雜,都是簡單的邏輯控制。

  2.4  同步器設計[6]

  需要同步的信號分兩種,單周期高電平有效和多周期高電平有效,要不同處理。

  對單周期高電平有效信號,如果從快時鐘域到慢時鐘域,可能寄存器采不到信號,需要先延長源信號的高電平,等采到后再拉底;而目標時鐘域中通過兩級寄存器同步,使平均出錯頻率變?yōu)榇蠹s100年一次,最后再用上升沿檢測電路使其只保持一個慢周期高電平。具體電路如圖3所示。


  圖3  單周期有效信號的同步模塊

  對于多周期高電平有效,只需要通過兩級寄存器即可。這樣設計簡單,出錯概率極小。

  3  IP驗證驗證

  工作主要是驗證平臺的搭建和testcase編寫。要求驗證集完備,能充分驗證正常和非正常的工作情況。

  驗證使用的軟件是VCS,在驗證環(huán)境中使用synopsys的UTMI和AHB VIP(驗證IP)對USB部分和AHB接口一起驗證。使用VIP能提高驗證平臺自身的可靠性。

  針對AHB接口的testcase有非DMA傳輸,多DMA一起傳輸,塊端點和同步端點一起傳輸和AHB錯誤狀態(tài)檢查等。所有testcase都已通過,達到驗證的目標。圖4是外部DMA控制器的Master寫IP Slave的波形圖。



  圖4  外部DMA控制器寫Slave的波形

  結語

  經過充分的驗證,證明AHB接口設計符合AHB協(xié)議,并完成既定功能。設計中應用同步器解決了雙時鐘域問題;用總長度寄存器,實現(xiàn)了多事務DMA控制,減少了塊傳輸?shù)闹袛啻螖?shù);采用外部不可見的乒乓機制的緩存,減小了USB和AHB的數(shù)據(jù)相關性,提高了IP效率。

  在DC下綜合后速度能達到150 MHz,給后端設計留下充分余地。本IP按計劃已經投入實際使用;但也有需要改進的地方,DPRAM比較耗面積,占了IP總面積的70%。如果使用SPRAM(單口SRAM),緩存面積至少會減小一半。所以改用SPRAM,會降低成本和功耗,只是增加了USB和AHB的控制相關性以及等待時間。



  來源:輕舞尋夢
收藏此頁】【關閉】【返回】【打印】【推薦
分享: QQ空間 人人網 開心網 騰訊微博 新浪微博 搜狐微博 網易微博
本頁面信息由維庫用戶提供,如有侵犯您的知識產權,請致電本站,本站核實后將迅速刪除!

熱門詞條:剝離強度試驗機GPIBSMD功率電感數(shù)據(jù)轉換器便攜式數(shù)字相位表濕度記錄儀通信電源交換機配網電容電流測試儀后備電源更多>>
相關文章
  • 更多"USB2.0"相關文章
  • 關于我們 | 服務項目 | 付款方式 | 聯(lián)系我們 | 友情鏈接 | 投訴 建議 合作 | 網站地圖 | 加入收藏 | 公司庫
    © 2026 維庫電子市場網(www.hbjingang.com) 版權所有 經營許可證編號:浙B2-20050339 版權聲明
    二十一年專注打造優(yōu)質電子元器件采購網、IC交易平臺。