本文轉自公眾號,歡迎關注
(資料圖片)
基于DWC2的USB驅動開發(fā)-0x01開篇介紹與新思DWC2 USB2.0控制器簡介 (qq.com)
前面介紹了USB江湖中,硬件協(xié)議分析儀,軟件抓包工具中的各門各派,各路高手。工欲善其事必先利其器,所以至少需要了解其中一個硬件協(xié)議分析儀和一個軟件抓包工具,后面才能比較方便的進行USB開發(fā),否則可能會迷失在USB協(xié)議的沼澤里,而難以自拔,此時你可能就會不斷進行哲思:”我是誰,我在哪里,我在干嘛,我為什么要搞USB?”; ”軟件問題,硬件問題,還是我的問題?”。
各門各派,江湖大俠都會有自己的獨門絕技和獨門武器,而我們看到各種武俠小說,電視劇中,大俠的長成都是奇遇絕頂高手,然后挑柴,打水,站樁,摸魚(不是屏幕前的摸魚),劃水(不是屏幕前的劃水),一頓輸出,然后鏡頭切換春夏秋冬,從掌動草長鶯飛到劍指秋風落葉,從拳擊萬丈瀑布到腳掃千層白雪,招式基本功達到爐火純青之后,然后就是絕頂高手拿出一本泛黃的小冊子或者來到一處絕壁前傳授內功心法,于是功力突飛猛進,終得大成。終于下山行俠仗義,叱咤江湖,成為一代傳奇。
UBS開發(fā)也是一樣的,尤其是做USB底層比如驅動開發(fā),那么至少需要購買一個USB硬件協(xié)議分析儀,以便抓取分析協(xié)議的底層信號和數據與規(guī)格書對照,這就是前面的基本功練習。,等協(xié)議熟悉了之后,就可以去USB官網搜索各種規(guī)格書,開發(fā)實際的產品,練習心法內功了,就好比可以進入達摩院的藏書樓去翻閱各種絕學典籍了。
實踐是檢驗檢驗真理的唯一標準,所以我們不從USB復雜的協(xié)議規(guī)格書入手,一開始就直接學習少林武功的七十二絕技是不可取的,就好比鳩摩智最終導致的是走火入魔。最好的方法是基于某個USB的控制器,從零實踐其驅動開發(fā),先從實踐開始熟悉協(xié)議,打好基礎,練好基本功。遇到哪些內容或者問題然后理論結合實踐,參照USB控制器的文檔和USB規(guī)格書的文檔進行實踐和理論學習。這樣后面才有可能駕馭,切記不能急于求成,只有基本功結合心法才能提升內力和功力。
相信本系列文章應該是全網第一部專門詳細介紹基于DWC2 USB2.0控制器驅動開發(fā)的文章,慢慢來,希望和大家一起學習,從實踐出發(fā)最終能成為USB開發(fā)的大俠。
新思的USB 2.0 IP應該是業(yè)界使用得最多的IP解決方案了。市面上很多的量產MCU或者MPU都是基于新思的IP,比如各種xxx32的單片等。新思官網可以看到一些信息
https://www.synopsys.com/dw/ipdir.php?ds=dwc_usb_2_0_digital_controllers,但是其手冊等不是直接開放,需要注冊,目前個人注冊好像不太行了。
新思的IP有以下特征:
靈活的配置選項,以最大限度地提高性能和最小化CPU中斷,后面我們也會詳細講到其中斷相關的內容,中斷通過一些bit的組合以標志不同的狀態(tài),以減少需要進行的判斷邏輯。靈活的參數可以輕松集成到低延遲和高延遲系統(tǒng)中?;谙到y(tǒng)要求的USB數據傳輸或事務處理??膳渲玫臄祿彌_選項,以微調性能/面積的權衡。緩沖區(qū)和描述符預取使主機吞吐量最大化。固件可選端點配置,支持后處理應用程序更改;以及靈活的單芯片設計適用于多種應用,總之一個詞就是”靈活”,但是后面看規(guī)格書也可以知道確實很復雜,配置參數選項很多。通過廣泛的約束隨機驗證進行測試,確保高質量的IP。AMBA?高性能總線(AHB)接口可快速集成到基于arm的設計中。所以你可以看到各種基于ARM尤其是Cortex-M系列的xxx32的MCU基本都是采用的新思的IP方案。UTMI+ Level 3可以與兼容的PHY設備快速集成。高速high -Speed (480mbps)、全速Full-Speed (12mbps)和低速Low- Speed (1.5 Mbps)的操作符合USB OTG補充標準。USB 2.0 HS OTG控制器支持外設或主機模式。也支持高速USB EHCI主機控制器。新思USB 2.0 IP主要有兩個文檔需要參考
《DesignWare Cores USB 2.0 Hi-Speed On-TheGo (OTG) Data book》
《DesignWare Cores USB 2.0 Hi-Speed On-TheGo (OTG) Programming Guide》
前者是描述IP的架構,信號,配置,寄存器等,有百多頁。供IC設計,驗證工程師,和驅動工程師查閱。驅動開發(fā)要頻繁參考其寄存器部分,要做到每一個寄存器的每一個bit的作用都要了解,我們后面就會一步步參考它進行驅動的編寫。當然要成為高手肯定要有很好的內力修為,這就需要對其架構等其他部分也要熟悉,所以其他部分我們后面也會一起慢慢閱讀消化。
后者是編程指導,驅動編寫主要參考這一部分進行,也有五百多頁,這個文檔我們后面也會詳細的閱讀
如果需要這兩個文檔的可以公眾號留言或者加我微信,可以分享給你,僅供分享學習之用。
這一篇是我們正式進入USB驅動開發(fā)的第一篇, 與其他所有的USB書籍或者文章不一樣,我們一開始不直接講USB協(xié)議, 我們先從具體的USB IP入手,從USB的底層驅動編寫實踐入手再邊實踐邊了解協(xié)議。理論結合實踐才是好的方式, 心法招式結合基本功練習才有可能練成武功的最高境界,否則就會走火入魔。關于走火入魔的一個很明顯的表現就是,很多USB驅動開發(fā)工程師或者嵌入式開發(fā)人員,一上來就在群里論壇里問”求救,xxx了是什么問題,怎么解決”,這一看就是基本功都沒練習直接就練習少林七十二絕跡的,基本連USB控制器部分的參考手冊數據手冊,USB規(guī)格書都沒怎么閱讀過的,肯定做不好,必定走火入魔,迷失在各種問題里,哪怕是成為調參俠,調API俠,調庫俠,復制粘貼俠最終也可能遇到各種BUG無法解決而終。我們做開發(fā)尤其是嵌入式開發(fā),驅動開發(fā),一定要基本功練好,對底層基本原理熟悉,并且經過親身實踐,理論結合實踐才能做好,成為USB江湖一代大俠。
標簽:
本文轉自公眾號,歡迎關注基于DWC2的USB驅動開發(fā)-0x01開篇介紹與新思...
1、1 分層法分層法是質量管理中整理數據的重要方法之一。2、分層法...
原標題:冒充“精華液、卸妝水”廣州海關在進境寄遞渠道查獲瀕危紅...
核心觀點2023年以來,中國CPI和PPI持續(xù)低于市場預期,引發(fā)“通縮”...
谷城:老舊小區(qū)換新顏改出滿滿幸福感---湖北日報客戶端訊(通訊員李...
天能動力(00819)午后漲超4%,截至發(fā)稿,漲4 38%,報10 24港元,成...
相遇是偶然,分離是必然。一切隨緣,隨緣不變,不變隨緣。行到水窮...
青海衛(wèi)健委通報,2022年11月9日0—24時,青海省新增本土確診病例1例...
,,最火的奇跡手游私服網合集。在那個熱血與鏖戰(zhàn)的記憶中,奇跡游...
1、新發(fā)現《SCIENCE&VIE》是新發(fā)現SCIENCE&VIE出版的圖書,主要以與...
1、說應該stellarmarionette吧MV太性尺度太所禁rainbowCHACHA。本文到此分享完
你們好,最近小未來發(fā)現有諸多的小伙伴們對于公交卡網上充值顯示待...
5月8日,銀輪股份(002126 SZ)在互動平臺表示,目前公司墨西哥工廠...
56款APP(SDK)侵害用戶權益被通報“羊了個羊”等多款游戲在列---人...
?淄博市統(tǒng)計局近日發(fā)布數據顯示,根據市級生產總值統(tǒng)一核算結果,...
相信很多業(yè)主都遇到過這個問題,那就是衛(wèi)生間下水管道不隔音。樓上...
中國連續(xù)第六個月增加黃金儲備,根據國家外匯管理局5月7日公布的數...
季后賽歷史10次得分40+、25次助攻上雙僅兩人:詹姆斯、哈登,76人隊,...
□記者付玉婷報道本報濟南訊省工業(yè)和信息化廳等5部門近日印發(fā)《山東...
5月5日,國家電投召開2023年5月份生產經營工作例會,總結4月份生產...
精品VIP投研內容
錸礦相關上市公司股票有哪些?(2023 5 8),錸礦相關上市公司股票...
5月8日重要經濟數據和風險事件前瞻
車險二次綜改帷幕逐漸拉開!根據監(jiān)管要求,各地區(qū)最晚于5月底采用最...
下面來看一組聯播簡訊:“兩彈一星”精神永放光芒主題宣講報告會在...
1、你好,保健品只能起到保健作用,如果你是正常的,沒必要服用保健...
1、胰腺癌早期無任何癥狀即可確診,因此胰腺癌的診斷非常困難。2、...
為有效延長公路使用壽命,提高公路通行能力,近期,云南省文山壯族...
聞著臭、吃著香、口感綿密而獨特的“果中之王”榴蓮,深受國內水果...
1、打開英雄聯盟游戲,點擊開始游戲。2、玩家對戰(zhàn)、人機對戰(zhàn)、自定...