<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > USB開(kāi)發(fā)基礎:USB設備的開(kāi)發(fā)流程

USB開(kāi)發(fā)基礎:USB設備的開(kāi)發(fā)流程

作者: 時(shí)間:2016-12-13 來(lái)源:網(wǎng)絡(luò ) 收藏
USB設備的開(kāi)發(fā)一般包括主機端(上位機)驅動(dòng)程序的開(kāi)發(fā)(如果您的USB設備符合某一標準設備類(lèi)且主機端已經(jīng)提供了此類(lèi)設備的驅動(dòng)程序的話(huà),則可以省掉此步驟)和USB設備端驅動(dòng)程序的開(kāi)發(fā),有時(shí)還可能包括主機端應用程序的設計工作。

1、設備系統需求分析

本文引用地址:http://dyxdggzs.com/article/201612/329553.htm

設備系統需求分析是進(jìn)行USB設備設計的第一步,通過(guò)對USB設備功能特性和USB主機端操作系統的分析,可以獲得實(shí)現該USB設備的軟硬件設計需求。

在該階段,設計者需要充分了解該設備的應用環(huán)境(如USB主機的軟件、硬件平臺),這樣以用來(lái)確定是否需要提供USB主機端相關(guān)軟件工作,以便該設備能得到廣泛地應用。為了提供合理的軟硬件設計方案,設計者還需要充分了解市場(chǎng)上的USB接口芯片,不同的USB接口芯片在USB協(xié)議上有著(zhù)不同程度的支持,比如,對數據包地址的硬件自動(dòng)識別、CRC16和CRC5的自動(dòng)生成等等。

當然,在確定具體的軟硬件需求時(shí),產(chǎn)品的開(kāi)發(fā)費用和開(kāi)發(fā)周期也是必須考慮的因素。

2、設備硬件需求

通過(guò)設備系統需求分析,以及對市場(chǎng)上USB接口芯片的充分了解,設計者必須確定相應的設備硬件結構以及可能采用的硬件。在選擇器件時(shí),需要考慮到器件體積、功耗等,因為,小的設備功耗,有利于采用總線(xiàn)供電模式。必須通過(guò)設備系統的功耗來(lái)確定是否需要提供本地電源?! ?/p>

3、設備軟件需求

在確定了設備的硬件結構以后,該設備的軟件結構就會(huì )同時(shí)產(chǎn)生。不同的硬件平臺,可能需要不同程度的軟件支持。

4、設備硬件設計

在選定USB控制芯片以后,如果是帶USB接口的單片機,則是一般單片機應用系統的開(kāi)發(fā);反之,就是如何把USB接口芯片與單片機應用系統融合的問(wèn)題。一般USB接口芯片都支持多種并行總線(xiàn)結構(復用/非復用),可以方便的與多種單片機接口。硬件設計中要注意的就是USB接口芯片的時(shí)鐘速度比較高,所以匹配網(wǎng)絡(luò )的設計以及PCB布線(xiàn)要特別關(guān)注。

5、設備軟件設計

USB設備的軟件設計主要包括兩部分:一是USB設備端的軟件開(kāi)發(fā),主要完成USB協(xié)議處理與數據交換以及其它應用功能程序。二是主機端的程序,由USB通信程序(驅動(dòng)程序)和用戶(hù)服務(wù)程序兩部分組成,主機端用戶(hù)服務(wù)程序通過(guò)USB通信程序(驅動(dòng)程序)與系統USBDI(USB Device Interface)通信,由系統完成USB協(xié)議的處理與數據傳輸。主機端程序的開(kāi)發(fā)難度比較大,程序員不僅要熟悉USB協(xié)議,如果需要開(kāi)發(fā)主機端驅動(dòng)程序的話(huà),還要熟悉主機端操作系統(如常用的WINDOWS系統)體系結構并能熟練運用DDK工具(驅動(dòng)程序開(kāi)發(fā)工具)。

6、設備調試

要快捷、成功的開(kāi)發(fā)一個(gè)USB設備,正確、合理的調試方法是必不可少的環(huán)節。調試基本分三步進(jìn)行:首先對外部設備(單片機部分)借助PC調試軟件(常用的有:bus hound、USB MONITOR,某些芯片生產(chǎn)商還提供針對特定芯片的調試軟件)將設備端的USB協(xié)議(主要有描述符請求、端口配置、地址設置以及基本數據交換)調通(當然我們還可以使用USB分析儀等開(kāi)發(fā)設備,但此類(lèi)設備一般比較昂貴)。然后,用調試好的USB設備接口來(lái)開(kāi)發(fā)、調試PC軟件,這一步相對比較容易。最后,加上USB設備端的其它用戶(hù)程序,對整個(gè)完整的系統進(jìn)行系統調試。



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>