新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > USB開發(fā)基礎(chǔ):USB設(shè)備的開發(fā)流程

USB開發(fā)基礎(chǔ):USB設(shè)備的開發(fā)流程

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

1、設(shè)備系統(tǒng)需求分析

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

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

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

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

2、設(shè)備硬件需求

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

3、設(shè)備軟件需求

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

4、設(shè)備硬件設(shè)計

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

5、設(shè)備軟件設(shè)計

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

6、設(shè)備調(diào)試

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



評論


技術(shù)專區(qū)

關(guān)閉