Windows2000下USB接口的IC卡讀寫裝置客戶程序設(shè)計
發(fā)布時間:2008/5/27 0:00:00 訪問次數(shù):965
     張建新
     來源:《電子技術(shù)應(yīng)用》
     摘要:分析了windows2000下usb客戶程序的框架,并就如何開發(fā)windows2000下usb接口的ic卡讀寫裝置客戶程序進(jìn)行了闡述。
    
    
     關(guān)鍵詞:usb總線
     客戶程序 ic卡 windows2000
     ic卡是高科技的產(chǎn)物,它廣泛用于銀行、電信、交通運輸、小區(qū)管理、校園管理等領(lǐng)域,體現(xiàn)了它的巨大優(yōu)越性。作者在開發(fā)一個ic卡機房收費系統(tǒng)時遇到了新問題,那就是當(dāng)計算機和ic卡裝置通信的時候,如果采用傳統(tǒng)的串行通信方式固然可行,但供電必須休用單獨的外置電源,這樣加大了讀卡裝置的體積。通過翻閱資料發(fā)現(xiàn)usb接口可以輸出5v電壓、500ma的電流,能滿足ic卡裝置對電源的要求。另外,usb接口和windows2000操作系統(tǒng)能良好地融合,支持即插即用和電源管理的新特性,使得其與主機的相連日趨簡單和輕松。因此決定開發(fā)usb接口的ic卡讀寫裝置,一方面可以解決供電問題,使讀寫裝置使用方便;另一方面也可以滿足其它方面的性能需求。
     usb需要主機硬件、操作系統(tǒng)和外部設(shè)備三個方面的支持才能工作。目前主板一般都有支持usb功能的控制芯片張和usb接口插座。微軟win9x操作系統(tǒng)以及windows2000均支持usb,并提供了底層的驅(qū)動程序,新版的linux也支持usb。在usb設(shè)備方面,目前有許多公司生產(chǎn)支持usb的微控制器,比較著名的有motorola公司的mc68hc05系列,intel公司的80931ha,cypress公司的cy7c63系列等?梢哉f,usb的發(fā)燕尾服已得到各軟硬件廠商的支持。前景光明。
     1 windows2000下的usb架構(gòu)
     主機要使用usb設(shè)備,必須有驅(qū)動程序。微軟操作系統(tǒng)中,windows98支持usb,windowsnt4.0不支持usb,nt5.0(windows2000)支持usb。windows2000和windows98對usb的支持主要是基于wdm(windows驅(qū)動程序模型)技術(shù),因此usb驅(qū)動程序是wdm驅(qū)動程序。wdm驅(qū)動程序采用分層結(jié)構(gòu),由兩部分組成,一個為功能驅(qū)動程序,即通常所說的驅(qū)動程序,它負(fù)責(zé)指揮硬件工作,由類驅(qū)動程序和小類驅(qū)動程序構(gòu)成;另外一個為總線驅(qū)動程序,它負(fù)責(zé)管理計算機和硬件之間的連接。在功能驅(qū)動程序上層和下層,一些設(shè)備還具有過濾驅(qū)動程序。它們的作用是監(jiān)視功能驅(qū)動程序執(zhí)行i/o操作及修改已有的功能驅(qū)動程序。
     windows2000 usb驅(qū)動程序框架由usb功能驅(qū)動程序和usb總線驅(qū)動程序組成。sub總線驅(qū)動程序由windows2000提供,包括usb主控制器驅(qū)動程序(openhci.sys或uhcd.sys,它們分別支持不同的sub主控制器)、usb
     hub驅(qū)動程序(uszbhub.sys)以及為控制器驅(qū)動程序使用的類驅(qū)動程序(usbd.sys)。它們一起組成了usb驅(qū)動程序棧,可為所有的usb設(shè)備驅(qū)動程序共用。用戶或廠商所寫的針對特定usb設(shè)備的wdm驅(qū)動程序稱為功能驅(qū)動程序或客戶驅(qū)動程序(位于usb驅(qū)動程序棧的上層)。它并不直接訪問硬件,而是調(diào)用驅(qū)動程序棧完成對硬件的操作。usb驅(qū)動程序棧通過usbdi(usb
     driver interface)向客戶驅(qū)動程序提供wdm系統(tǒng)服務(wù)。
     windows2000下usb驅(qū)動程序棧如圖1所示。
     有過驅(qū)動程序編制經(jīng)驗的人都知道,編寫驅(qū)動程序是一項需要較高技巧并且很繁瑣的工作。對于某一些usb規(guī)范定義的類設(shè)備,微軟提供了類驅(qū)動程序,負(fù)責(zé)該設(shè)備的設(shè)備驅(qū)動。對于這類設(shè)備,系統(tǒng)能夠自動識別它們,并不需要附加額外的驅(qū)動程序,用戶只需編寫普通的win32程序即可對其進(jìn)行訪問。目前,windows2000為hid(human
     input device人工輸入設(shè)備)類、音頻設(shè)備類等提供了類驅(qū)動程序。
     hid設(shè)備,顧名思義是指那些能被人們用來直接輸入數(shù)據(jù)給計算機的設(shè)備,例如鍵盤、鼠標(biāo)、游戲桿及其他虛擬現(xiàn)實設(shè)備如數(shù)據(jù)手套等。盡管hid設(shè)備概指人工輸入設(shè)備,但是那些傳輸數(shù)據(jù)量較小、傳輸速度較慢的設(shè)備,因與輸入設(shè)備類似,也可歸類為人工輸入設(shè)備,例如遠(yuǎn)程控制設(shè)備、面板等。ic卡讀寫裝置與計算機之間的數(shù)據(jù)交換具有量小、傳輸速度慢、雙向傳輸?shù)奶攸c,因而可歸類為hid設(shè)
     張建新
     來源:《電子技術(shù)應(yīng)用》
     摘要:分析了windows2000下usb客戶程序的框架,并就如何開發(fā)windows2000下usb接口的ic卡讀寫裝置客戶程序進(jìn)行了闡述。
    
    
     關(guān)鍵詞:usb總線
     客戶程序 ic卡 windows2000
     ic卡是高科技的產(chǎn)物,它廣泛用于銀行、電信、交通運輸、小區(qū)管理、校園管理等領(lǐng)域,體現(xiàn)了它的巨大優(yōu)越性。作者在開發(fā)一個ic卡機房收費系統(tǒng)時遇到了新問題,那就是當(dāng)計算機和ic卡裝置通信的時候,如果采用傳統(tǒng)的串行通信方式固然可行,但供電必須休用單獨的外置電源,這樣加大了讀卡裝置的體積。通過翻閱資料發(fā)現(xiàn)usb接口可以輸出5v電壓、500ma的電流,能滿足ic卡裝置對電源的要求。另外,usb接口和windows2000操作系統(tǒng)能良好地融合,支持即插即用和電源管理的新特性,使得其與主機的相連日趨簡單和輕松。因此決定開發(fā)usb接口的ic卡讀寫裝置,一方面可以解決供電問題,使讀寫裝置使用方便;另一方面也可以滿足其它方面的性能需求。
     usb需要主機硬件、操作系統(tǒng)和外部設(shè)備三個方面的支持才能工作。目前主板一般都有支持usb功能的控制芯片張和usb接口插座。微軟win9x操作系統(tǒng)以及windows2000均支持usb,并提供了底層的驅(qū)動程序,新版的linux也支持usb。在usb設(shè)備方面,目前有許多公司生產(chǎn)支持usb的微控制器,比較著名的有motorola公司的mc68hc05系列,intel公司的80931ha,cypress公司的cy7c63系列等。可以說,usb的發(fā)燕尾服已得到各軟硬件廠商的支持。前景光明。
     1 windows2000下的usb架構(gòu)
     主機要使用usb設(shè)備,必須有驅(qū)動程序。微軟操作系統(tǒng)中,windows98支持usb,windowsnt4.0不支持usb,nt5.0(windows2000)支持usb。windows2000和windows98對usb的支持主要是基于wdm(windows驅(qū)動程序模型)技術(shù),因此usb驅(qū)動程序是wdm驅(qū)動程序。wdm驅(qū)動程序采用分層結(jié)構(gòu),由兩部分組成,一個為功能驅(qū)動程序,即通常所說的驅(qū)動程序,它負(fù)責(zé)指揮硬件工作,由類驅(qū)動程序和小類驅(qū)動程序構(gòu)成;另外一個為總線驅(qū)動程序,它負(fù)責(zé)管理計算機和硬件之間的連接。在功能驅(qū)動程序上層和下層,一些設(shè)備還具有過濾驅(qū)動程序。它們的作用是監(jiān)視功能驅(qū)動程序執(zhí)行i/o操作及修改已有的功能驅(qū)動程序。
     windows2000 usb驅(qū)動程序框架由usb功能驅(qū)動程序和usb總線驅(qū)動程序組成。sub總線驅(qū)動程序由windows2000提供,包括usb主控制器驅(qū)動程序(openhci.sys或uhcd.sys,它們分別支持不同的sub主控制器)、usb
     hub驅(qū)動程序(uszbhub.sys)以及為控制器驅(qū)動程序使用的類驅(qū)動程序(usbd.sys)。它們一起組成了usb驅(qū)動程序棧,可為所有的usb設(shè)備驅(qū)動程序共用。用戶或廠商所寫的針對特定usb設(shè)備的wdm驅(qū)動程序稱為功能驅(qū)動程序或客戶驅(qū)動程序(位于usb驅(qū)動程序棧的上層)。它并不直接訪問硬件,而是調(diào)用驅(qū)動程序棧完成對硬件的操作。usb驅(qū)動程序棧通過usbdi(usb
     driver interface)向客戶驅(qū)動程序提供wdm系統(tǒng)服務(wù)。
     windows2000下usb驅(qū)動程序棧如圖1所示。
     有過驅(qū)動程序編制經(jīng)驗的人都知道,編寫驅(qū)動程序是一項需要較高技巧并且很繁瑣的工作。對于某一些usb規(guī)范定義的類設(shè)備,微軟提供了類驅(qū)動程序,負(fù)責(zé)該設(shè)備的設(shè)備驅(qū)動。對于這類設(shè)備,系統(tǒng)能夠自動識別它們,并不需要附加額外的驅(qū)動程序,用戶只需編寫普通的win32程序即可對其進(jìn)行訪問。目前,windows2000為hid(human
     input device人工輸入設(shè)備)類、音頻設(shè)備類等提供了類驅(qū)動程序。
     hid設(shè)備,顧名思義是指那些能被人們用來直接輸入數(shù)據(jù)給計算機的設(shè)備,例如鍵盤、鼠標(biāo)、游戲桿及其他虛擬現(xiàn)實設(shè)備如數(shù)據(jù)手套等。盡管hid設(shè)備概指人工輸入設(shè)備,但是那些傳輸數(shù)據(jù)量較小、傳輸速度較慢的設(shè)備,因與輸入設(shè)備類似,也可歸類為人工輸入設(shè)備,例如遠(yuǎn)程控制設(shè)備、面板等。ic卡讀寫裝置與計算機之間的數(shù)據(jù)交換具有量小、傳輸速度慢、雙向傳輸?shù)奶攸c,因而可歸類為hid設(shè)
熱門點擊
- 功率驅(qū)動器件與MCU/DSC的接口電路設(shè)計技
- TMS320F2812擴展正交解碼脈沖接口的
- NRZ-HDB3碼制轉(zhuǎn)換器設(shè)計
- 基于USB接口的同步視頻輸出系統(tǒng)設(shè)計
- AD7874--四通道十二位同步數(shù)據(jù)采集器結(jié)
- SDH接口芯片PM5342及其應(yīng)用
- X25054/45 E2 PROM及其與51
- FIFO用做并行數(shù)據(jù)延遲線
- CF卡在數(shù)字音頻系統(tǒng)中的應(yīng)用
- Windows2000下USB接口的IC卡讀
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究