將串行應(yīng)用移植到USB接口的簡便方法(06-100)
關(guān)于VID和PID
盡管設(shè)計師可以任意修改制造商部分和字符串部分的內(nèi)容,但VID和PID代碼的使用是非常嚴(yán)肅的。 USB-IF全權(quán)負(fù)責(zé)為每個希望銷售和生產(chǎn)USB產(chǎn)品的制造商分配一個16位唯一VID代碼。 VID代碼通過許可協(xié)議獲得,并需要支付一次性注冊費用。
一旦分配了VID代碼,制造商就可以利用65,536 (16位) PID代碼來唯一地標(biāo)識其不同型號的產(chǎn)品。 換句話說,VID代碼是“終生有效的”,因此很容易攤平初始的VID許可和注冊成本。 當(dāng)然,對于純粹開發(fā)目的,并不需要完成整個許可過程,因為不同的制造商通常都提供“開發(fā)用VID/PID代碼對”。 為進一步鼓勵小型企業(yè)、初創(chuàng)企業(yè)、咨詢企業(yè)以及其它非常小批量生產(chǎn)企業(yè),有些單片機生產(chǎn)商還提供獲得單個VID/PID對的選擇(免費)。
擁有COM端口
如果一切順利,此時即插即用已經(jīng)完成了安裝過程,一個新的串行設(shè)備就會出現(xiàn)在硬件管理器中。 系統(tǒng)會自動使用下一個可用的端口號為它指定一個名稱(例如,已經(jīng)安裝了COM2和COM1,就會出現(xiàn)COM3)。 用戶可以使用已經(jīng)編寫好用來訪問實際COMx端口的程序來訪問這個端口(如所有Windows軟件中的超級終端程序)。 連接好后,除了通訊速度提高了,功能上沒有什么區(qū)別。與PC上最快的串行端口相比,通信速度提高了一到兩個數(shù)量級。 Visual Basic或C++程序可通過標(biāo)準(zhǔn)的Windows OpenFile()、ReadFile() 和WriteFile() API 來對仿真的COM端口進行讀寫,不用改變?nèi)魏未a。
結(jié)語
現(xiàn)在市場上已經(jīng)有了兼容USB的、全功能閃存單片機。這些單芯片解決方案為嵌入式控制設(shè)計工程師提供了最低的成本和最大的靈活性。 通過使用CDC類庫,串行端口仿真為工程師們將應(yīng)用程序從傳統(tǒng)串行端口移植到更快的USB通信提供了一條捷徑,并且避免了Windows底層開發(fā)所帶來的障礙。 按照上述步驟,嵌入式設(shè)計工程師可以快速地從串行端口轉(zhuǎn)移到USB,從而可將100%的精力集中到嵌入式應(yīng)用這個他們最擅長的方面。
評論