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設備端的其它用戶程序,對整個完整的系統進行系統調試。
評論