無(wú)驅(qū)動(dòng)USB認(rèn)證模塊在電子商務(wù)中的應(yīng)用
發(fā)布時(shí)間:2008/5/27 0:00:00 訪問(wèn)次數(shù):461
來(lái)源:?jiǎn)纹瑱C(jī)及嵌入式系統(tǒng)應(yīng)用 作者:謝知非摘要:usb作為一種新型的接口技術(shù)在電子商務(wù)平臺(tái)有其獨(dú)特的優(yōu)勢(shì)。本文主要介紹關(guān)于無(wú)驅(qū)動(dòng)型usb產(chǎn)品hid接口的設(shè)計(jì)過(guò)程,討論產(chǎn)品的軟硬件開(kāi)發(fā)過(guò)程中的一些問(wèn)題,給出參考示例代碼。
關(guān)鍵詞:usb 人機(jī)接口設(shè)備(hid) 電子商務(wù) 安全認(rèn)證 接口技術(shù)usb是由compaq(康柏)、dec、ibm、intel、nec、微軟以及northern telecom(北京電訊)等公司于1994年11月共同提出的,自1995年在comdex上亮相以來(lái)至今已廣泛地為各pc廠家所支持,近年來(lái)應(yīng)用日益廣泛。
但是,國(guó)內(nèi)的usb產(chǎn)品還是相對(duì)較少。首先,是硬件開(kāi)發(fā)系統(tǒng)的問(wèn)題,國(guó)內(nèi)沒(méi)有自己usb芯片產(chǎn)品,所有的關(guān)于usb接口方面的芯片全部由國(guó)外供給,而國(guó)內(nèi)卻沒(méi)有任何技術(shù)方面的支持,因此開(kāi)發(fā)進(jìn)度很難保證。面向芯片的開(kāi)發(fā)系統(tǒng)更是相對(duì)的遲緩。其次,usb產(chǎn)品的軟件研發(fā)也并不是很容易的。usb協(xié)議將設(shè)備分為不同的類(lèi)型,每個(gè)設(shè)備類(lèi)型都定義了類(lèi)似功能設(shè)備的共同行為和協(xié)議。例如,hid人機(jī)接口設(shè)備主指用于人控制計(jì)算機(jī)系統(tǒng)操作的器件。對(duì)設(shè)備進(jìn)行分類(lèi)是了消除不同硬件廠商之間的差異,相同類(lèi)型的設(shè)備都由一組標(biāo)準(zhǔn)定義的功能模塊組成。這樣,如果自己開(kāi)發(fā)的一些設(shè)備類(lèi),可能是沒(méi)有驅(qū)動(dòng)程序的,就面臨著驅(qū)動(dòng)的開(kāi)發(fā)問(wèn)題;而驅(qū)動(dòng)開(kāi)發(fā)是大家公認(rèn)的有難度的問(wèn)題等待,都限制了國(guó)內(nèi)usb產(chǎn)品的開(kāi)發(fā)。
usb產(chǎn)品同時(shí)也沖南昌著電子商務(wù)平臺(tái),F(xiàn)在電子商務(wù)在社會(huì)生產(chǎn)日益廣泛,但是網(wǎng)絡(luò)系統(tǒng)是一個(gè)開(kāi)放的系統(tǒng),存在大量不安全的因素。因此,利用各個(gè)電子商務(wù)公司開(kāi)發(fā)出的各種密鑰管理系統(tǒng)、證書(shū)系統(tǒng);同時(shí),利用計(jì)算機(jī)的usb接口特點(diǎn)開(kāi)發(fā)出方便的硬件安全認(rèn)證證書(shū),已經(jīng)成為各個(gè)認(rèn)證公司追求的安全解決方案。該產(chǎn)品以其方便、靈活、安全等特點(diǎn),在電子商務(wù)中已經(jīng)應(yīng)用,并且近年來(lái)在金融行業(yè)與智能卡逐漸形成并立的趨勢(shì)。
1 安全認(rèn)證模塊硬件結(jié)構(gòu)圖1為認(rèn)證模塊的簡(jiǎn)要結(jié)構(gòu)框圖。
幾乎所有的硬件廠商都有usb接口芯片的相關(guān)產(chǎn)品,選擇也很多,這里選用的是pdiusbd12。它是一種性能優(yōu)化的usb器件,通常用于基于微控制器的系統(tǒng)并與微控制器通過(guò)高速并行接口進(jìn)行通信,也支持本地dma傳輸。該器件采用模塊化的方法實(shí)現(xiàn)一個(gè)usb接口,允許在眾多可用的微控制器中選擇最合適的作為系統(tǒng)微控制器;允許使用現(xiàn)存的體系結(jié)構(gòu)并使固件投資減到最小,是開(kāi)發(fā)低成本且高效的usb外圍設(shè)備的解決方案。
微處理器和eeprom是市場(chǎng)上已經(jīng)成熟的硬件產(chǎn)品,這里采用atmel公司的單片機(jī)和xicor公司的eeprom芯片。
2 hid設(shè)備類(lèi)固件程序設(shè)計(jì)usb1.1協(xié)議定義了11種標(biāo)準(zhǔn)請(qǐng)求,同時(shí)定義了6種有關(guān)hid控制流程的特定請(qǐng)求。其中:set_report,get_report,給主機(jī)和設(shè)備提供了一條相互傳遞數(shù)據(jù)的途徑。
usb單片機(jī)控制程序一般須實(shí)現(xiàn)三個(gè)步驟:
①初始化單片機(jī)和所有的外圍電路(包括pdiusbd12),然后進(jìn)入主程序循環(huán);
②在接口要求中斷后必須進(jìn)入相應(yīng)的中斷服務(wù)程序;
③固件程序須完成鑒權(quán)、加密、解密的算法。
圖2是模塊程序處理的總體流程圖,可以比較直觀地顯示程序結(jié)構(gòu)。
2.1 系統(tǒng)啟動(dòng)必須執(zhí)行的通信過(guò)程
在沒(méi)有安裝驅(qū)動(dòng)程序時(shí),主機(jī)提取51固件程序中設(shè)備描述表,然后設(shè)置usb地址。啟動(dòng)驅(qū)動(dòng)程序(如果沒(méi)有正確的驅(qū)動(dòng)程序,則啟動(dòng)安裝先導(dǎo)),驅(qū)動(dòng)程序讀取設(shè)備描述表、配置描述符等,設(shè)置配置,即發(fā)出連接usb命令后,pc先讀取設(shè)備描述符,然后發(fā)出設(shè)置usb地址setup包。設(shè)置usb地址后,進(jìn)行pc客戶(hù)驅(qū)動(dòng)與設(shè)備初始化。
2.2 usb設(shè)備啟動(dòng)流程
①u(mài)sb設(shè)備接入usb口,發(fā)出連接usb命令。
②主機(jī)發(fā)出讀設(shè)備描述符兩次。
③主機(jī)根據(jù)設(shè)備描述符—廠商id、產(chǎn)品id,啟動(dòng)相應(yīng)設(shè)備驅(qū)動(dòng)程序。
④設(shè)備驅(qū)動(dòng)程序初始化usb設(shè)備:
a讀設(shè)備描述符;
b讀配置描述符;
c選擇接口、端點(diǎn)(管道),確定傳輸方式。
注意:在發(fā)送配置[,接口(1),端點(diǎn)(1),接口(2),端點(diǎn)(2),…,類(lèi),廠商等]聯(lián)合描述表時(shí),各描述表的先后順序可隨意,主機(jī)usbd根據(jù)描述表類(lèi)型標(biāo)識(shí)區(qū)分各種分描述表。
2.3 固件主程序通信主程序
中斷后主程序主要是通過(guò)中斷事件標(biāo)志判斷并且執(zhí)行相應(yīng)的程序代碼。主程序流程簡(jiǎn)圖如圖3所示。
主程序的示例程序代碼見(jiàn)網(wǎng)絡(luò)補(bǔ)充版(http://www.dpj.com.cn)。
2.4 處理主機(jī)標(biāo)準(zhǔn)控制請(qǐng)求
由于中斷程序是通過(guò)usb接口芯片觸發(fā)的,因此它必須
來(lái)源:?jiǎn)纹瑱C(jī)及嵌入式系統(tǒng)應(yīng)用 作者:謝知非摘要:usb作為一種新型的接口技術(shù)在電子商務(wù)平臺(tái)有其獨(dú)特的優(yōu)勢(shì)。本文主要介紹關(guān)于無(wú)驅(qū)動(dòng)型usb產(chǎn)品hid接口的設(shè)計(jì)過(guò)程,討論產(chǎn)品的軟硬件開(kāi)發(fā)過(guò)程中的一些問(wèn)題,給出參考示例代碼。
關(guān)鍵詞:usb 人機(jī)接口設(shè)備(hid) 電子商務(wù) 安全認(rèn)證 接口技術(shù)usb是由compaq(康柏)、dec、ibm、intel、nec、微軟以及northern telecom(北京電訊)等公司于1994年11月共同提出的,自1995年在comdex上亮相以來(lái)至今已廣泛地為各pc廠家所支持,近年來(lái)應(yīng)用日益廣泛。
但是,國(guó)內(nèi)的usb產(chǎn)品還是相對(duì)較少。首先,是硬件開(kāi)發(fā)系統(tǒng)的問(wèn)題,國(guó)內(nèi)沒(méi)有自己usb芯片產(chǎn)品,所有的關(guān)于usb接口方面的芯片全部由國(guó)外供給,而國(guó)內(nèi)卻沒(méi)有任何技術(shù)方面的支持,因此開(kāi)發(fā)進(jìn)度很難保證。面向芯片的開(kāi)發(fā)系統(tǒng)更是相對(duì)的遲緩。其次,usb產(chǎn)品的軟件研發(fā)也并不是很容易的。usb協(xié)議將設(shè)備分為不同的類(lèi)型,每個(gè)設(shè)備類(lèi)型都定義了類(lèi)似功能設(shè)備的共同行為和協(xié)議。例如,hid人機(jī)接口設(shè)備主指用于人控制計(jì)算機(jī)系統(tǒng)操作的器件。對(duì)設(shè)備進(jìn)行分類(lèi)是了消除不同硬件廠商之間的差異,相同類(lèi)型的設(shè)備都由一組標(biāo)準(zhǔn)定義的功能模塊組成。這樣,如果自己開(kāi)發(fā)的一些設(shè)備類(lèi),可能是沒(méi)有驅(qū)動(dòng)程序的,就面臨著驅(qū)動(dòng)的開(kāi)發(fā)問(wèn)題;而驅(qū)動(dòng)開(kāi)發(fā)是大家公認(rèn)的有難度的問(wèn)題等待,都限制了國(guó)內(nèi)usb產(chǎn)品的開(kāi)發(fā)。
usb產(chǎn)品同時(shí)也沖南昌著電子商務(wù)平臺(tái)。現(xiàn)在電子商務(wù)在社會(huì)生產(chǎn)日益廣泛,但是網(wǎng)絡(luò)系統(tǒng)是一個(gè)開(kāi)放的系統(tǒng),存在大量不安全的因素。因此,利用各個(gè)電子商務(wù)公司開(kāi)發(fā)出的各種密鑰管理系統(tǒng)、證書(shū)系統(tǒng);同時(shí),利用計(jì)算機(jī)的usb接口特點(diǎn)開(kāi)發(fā)出方便的硬件安全認(rèn)證證書(shū),已經(jīng)成為各個(gè)認(rèn)證公司追求的安全解決方案。該產(chǎn)品以其方便、靈活、安全等特點(diǎn),在電子商務(wù)中已經(jīng)應(yīng)用,并且近年來(lái)在金融行業(yè)與智能卡逐漸形成并立的趨勢(shì)。
1 安全認(rèn)證模塊硬件結(jié)構(gòu)圖1為認(rèn)證模塊的簡(jiǎn)要結(jié)構(gòu)框圖。
幾乎所有的硬件廠商都有usb接口芯片的相關(guān)產(chǎn)品,選擇也很多,這里選用的是pdiusbd12。它是一種性能優(yōu)化的usb器件,通常用于基于微控制器的系統(tǒng)并與微控制器通過(guò)高速并行接口進(jìn)行通信,也支持本地dma傳輸。該器件采用模塊化的方法實(shí)現(xiàn)一個(gè)usb接口,允許在眾多可用的微控制器中選擇最合適的作為系統(tǒng)微控制器;允許使用現(xiàn)存的體系結(jié)構(gòu)并使固件投資減到最小,是開(kāi)發(fā)低成本且高效的usb外圍設(shè)備的解決方案。
微處理器和eeprom是市場(chǎng)上已經(jīng)成熟的硬件產(chǎn)品,這里采用atmel公司的單片機(jī)和xicor公司的eeprom芯片。
2 hid設(shè)備類(lèi)固件程序設(shè)計(jì)usb1.1協(xié)議定義了11種標(biāo)準(zhǔn)請(qǐng)求,同時(shí)定義了6種有關(guān)hid控制流程的特定請(qǐng)求。其中:set_report,get_report,給主機(jī)和設(shè)備提供了一條相互傳遞數(shù)據(jù)的途徑。
usb單片機(jī)控制程序一般須實(shí)現(xiàn)三個(gè)步驟:
①初始化單片機(jī)和所有的外圍電路(包括pdiusbd12),然后進(jìn)入主程序循環(huán);
②在接口要求中斷后必須進(jìn)入相應(yīng)的中斷服務(wù)程序;
③固件程序須完成鑒權(quán)、加密、解密的算法。
圖2是模塊程序處理的總體流程圖,可以比較直觀地顯示程序結(jié)構(gòu)。
2.1 系統(tǒng)啟動(dòng)必須執(zhí)行的通信過(guò)程
在沒(méi)有安裝驅(qū)動(dòng)程序時(shí),主機(jī)提取51固件程序中設(shè)備描述表,然后設(shè)置usb地址。啟動(dòng)驅(qū)動(dòng)程序(如果沒(méi)有正確的驅(qū)動(dòng)程序,則啟動(dòng)安裝先導(dǎo)),驅(qū)動(dòng)程序讀取設(shè)備描述表、配置描述符等,設(shè)置配置,即發(fā)出連接usb命令后,pc先讀取設(shè)備描述符,然后發(fā)出設(shè)置usb地址setup包。設(shè)置usb地址后,進(jìn)行pc客戶(hù)驅(qū)動(dòng)與設(shè)備初始化。
2.2 usb設(shè)備啟動(dòng)流程
①u(mài)sb設(shè)備接入usb口,發(fā)出連接usb命令。
②主機(jī)發(fā)出讀設(shè)備描述符兩次。
③主機(jī)根據(jù)設(shè)備描述符—廠商id、產(chǎn)品id,啟動(dòng)相應(yīng)設(shè)備驅(qū)動(dòng)程序。
④設(shè)備驅(qū)動(dòng)程序初始化usb設(shè)備:
a讀設(shè)備描述符;
b讀配置描述符;
c選擇接口、端點(diǎn)(管道),確定傳輸方式。
注意:在發(fā)送配置[,接口(1),端點(diǎn)(1),接口(2),端點(diǎn)(2),…,類(lèi),廠商等]聯(lián)合描述表時(shí),各描述表的先后順序可隨意,主機(jī)usbd根據(jù)描述表類(lèi)型標(biāo)識(shí)區(qū)分各種分描述表。
2.3 固件主程序通信主程序
中斷后主程序主要是通過(guò)中斷事件標(biāo)志判斷并且執(zhí)行相應(yīng)的程序代碼。主程序流程簡(jiǎn)圖如圖3所示。
主程序的示例程序代碼見(jiàn)網(wǎng)絡(luò)補(bǔ)充版(http://www.dpj.com.cn)。
2.4 處理主機(jī)標(biāo)準(zhǔn)控制請(qǐng)求
由于中斷程序是通過(guò)usb接口芯片觸發(fā)的,因此它必須
熱門(mén)點(diǎn)擊
- IRIG-B格式時(shí)間碼解碼接口卡電路設(shè)計(jì)
- 可編程多協(xié)議收發(fā)器MAX3160的原理與應(yīng)用
- M-Bus終端收發(fā)芯片TSS721的原理及應(yīng)
- SN75176在微機(jī)多點(diǎn)通訊中的應(yīng)用
- USB總線的體系結(jié)構(gòu)
- 增強(qiáng)并口EPP協(xié)議擴(kuò)展計(jì)算機(jī)的ISA接口
- 基于VME總線的RDC接口電路設(shè)計(jì)
- MAX488收發(fā)器及其應(yīng)用
- 基于C8051F020的通用串口適配器的設(shè)計(jì)
- 光電二極管與放大器集成器件OPT301
推薦技術(shù)資料
- AMOLED顯示驅(qū)動(dòng)芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級(jí)芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個(gè)最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究