新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > USB開發基礎:USB設備的開發流程

        USB開發基礎:USB設備的開發流程

        作者: 時間:2016-12-13 來源:網絡 收藏
        USB設備的開發一般包括主機端(上位機)驅動程序的開發(如果您的USB設備符合某一標準設備類且主機端已經提供了此類設備的驅動程序的話,則可以省掉此步驟)和USB設備端驅動程序的開發,有時還可能包括主機端應用程序的設計工作。

        1、設備系統需求分析

        本文引用地址:http://www.104case.com/article/201612/329553.htm

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

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

        當然,在確定具體的軟硬件需求時,產品的開發費用和開發周期也是必須考慮的因素。

        2、設備硬件需求

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

        3、設備軟件需求

        在確定了設備的硬件結構以后,該設備的軟件結構就會同時產生。不同的硬件平臺,可能需要不同程度的軟件支持。

        4、設備硬件設計

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

        5、設備軟件設計

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

        6、設備調試

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



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 通道| 忻州市| 扶风县| 静乐县| 阿图什市| 澄城县| 汤原县| 玛纳斯县| 锡林郭勒盟| 威宁| 西青区| 广宗县| 乐亭县| 温泉县| 宜兰市| 德江县| 广昌县| 永安市| 泊头市| 习水县| 烟台市| 深水埗区| 凤翔县| 郧西县| 金秀| 平果县| 容城县| 青州市| 丘北县| 通化县| 正阳县| 花莲市| 吉安市| 垫江县| 玉门市| 青田县| 福鼎市| 保康县| 安阳市| 安陆市| 襄樊市|