將串行應(yīng)用移植到USB接口的簡便方法(06-100)
軟件界面
本文引用地址:http://2s4d.com/article/81086.htm一旦選擇了單芯片解決方案,我們就需要為應(yīng)用開發(fā)新的PC驅(qū)動程序,甚至可能是新的固件。 幸運的是,軟件開發(fā)人員有多種選擇,可通過重復(fù)使用應(yīng)用界面類的方法來減小開發(fā)工作量。
構(gòu)建到現(xiàn)在PC操作系統(tǒng)中的最常見并獲得最好支持的USB接口類可能是所謂的人機接口設(shè)備(通常指HID類)。 所有的PC計算機都需要一些像鍵盤或鼠標(biāo)這樣的人機接口,這些設(shè)備的連接已經(jīng)從串行或者PS/2端口升級進USB。 其驅(qū)動程序已經(jīng)捆綁在Windows、Linux和MAC OS的每個拷貝中,所以所有操作系統(tǒng)都可以很好地支持HID。因此,對于那些想從不太復(fù)雜的嵌入式設(shè)備中讀寫少量數(shù)據(jù)的設(shè)計工程師而言,HID是一個非常有吸引力的選擇。 不幸的是,應(yīng)用編程接口(API)沒有什么與COM端口接口類似。 因此,將API移植到現(xiàn)有系統(tǒng)上更成問題,特別當(dāng)PC上已經(jīng)有一個復(fù)雜的應(yīng)用軟件的時候。
其它像打印機類和海量存儲這樣的標(biāo)準(zhǔn)USB接口類都可以利用來實現(xiàn)與嵌入式設(shè)備進行通訊。 然而,它們也面臨同樣的問題,即陌生的接口以及必須開發(fā)新PC應(yīng)用軟件。
驅(qū)動程序開發(fā)需要對操作系統(tǒng)底層有深入的了解。 對Windows PC機來說,這意味著要熟悉Windows驅(qū)動程序模型(WDM)。 如果沒有這方面的專業(yè)知識,那么開發(fā)一個可基本工作的驅(qū)動程序原型也需要花費數(shù)月時間。
幸運的是,大部分最新版本W(wǎng)indows都有的一個接口類可以幫助我們擺脫困境。 微軟公司原先開發(fā)這個名為USB通訊設(shè)備類(CDC)的目的是用來支持調(diào)制解調(diào)器應(yīng)用。 例如,開發(fā)人員可以獲得CDC接口的完整源代碼,以進行面向PIC18F4550系列閃存USB 8位單片機的開發(fā)。
Microchip公司的CDC接口提供以下有用特性:
·固件庫的代碼量相對較小,僅3KB;
·單芯片解決方案;
·僅占用大約50B的存儲器空間(不包括緩沖區(qū));
·最大吞吐量為每秒80 K字節(jié);
·完全由USB協(xié)議控制數(shù)據(jù)流量(不需要RS-232 XON/XOFF和硬件流控)。
評論