- 相關(guān)推薦
無驅(qū)動USB認證模塊在電子商務(wù)中的應用
摘要:USB作為一種新型的接口技術(shù)在電子商務(wù)平臺有其獨特的優(yōu)勢。本文主要介紹關(guān)于無驅(qū)動型USB產(chǎn)品HID接口的設(shè)計過程,討論產(chǎn)品的軟硬件開發(fā)過程中的一些問題,給出參考示例代碼。USB是由Compaq(康柏)、DEC、IBM、Intel、NEC、微軟以及Northern Telecom(北京電訊)等公司于1994年11月共同提出的,自1995年在Comdex上亮相以來至今已廣泛地為各PC廠家所支持,近年來應用日益廣泛。
但是,國內(nèi)的USB產(chǎn)品還是相對較少。首先,是硬件開發(fā)系統(tǒng)的問題,國內(nèi)沒有自己USB芯片產(chǎn)品,所有的關(guān)于USB接口方面的芯片全部由國外供給,而國內(nèi)卻沒有任何技術(shù)方面的支持,因此開發(fā)進度很難保證。面向芯片的開發(fā)系統(tǒng)更是相對的遲緩。其次,USB產(chǎn)品的軟件研發(fā)也并不是很容易的。USB協(xié)議將設(shè)備分為不同的類型,每個設(shè)備類型都定義了類似功能設(shè)備的共同行為和協(xié)議。例如,HID人機接口設(shè)備主指用于人控制計算機系統(tǒng)操作的器件。對設(shè)備進行分類是了消除不同硬件廠商之間的差異,相同類型的設(shè)備都由一組標準定義的功能模塊組成。這樣,如果自己開發(fā)的一些設(shè)備類,可能是沒有驅(qū)動程序的,就面臨著驅(qū)動的開發(fā)問題;而驅(qū)動開發(fā)是大家公認的有難度的問題等待,都限制了國內(nèi)USB產(chǎn)品的開發(fā)。
USB產(chǎn)品同時也沖南昌著電子商務(wù)平臺,F(xiàn)在電子商務(wù)在社會生產(chǎn)日益廣泛,但是網(wǎng)絡(luò)系統(tǒng)是一個開放的系統(tǒng),存在大量不安全的因素。因此,利用各個電子商務(wù)公司開發(fā)出的各種密鑰管理系統(tǒng)、證書系統(tǒng);同時,利用計算機的USB接口特點開發(fā)出方便的硬件安全認證證書,已經(jīng)成為各個認證公司追求的安全解決方案。該產(chǎn)品以其方便、靈活、安全等特點,在電子商務(wù)中已經(jīng)應用,并且近年來在金融行業(yè)與智能卡逐漸形成并立的趨勢。
1 安全認證模塊硬件結(jié)構(gòu)
圖1為認證模塊的簡要結(jié)構(gòu)框圖。
幾乎所有的硬件廠商都有USB接口芯片的相關(guān)產(chǎn)品,選擇也很多,這里選用的是PDIUSBD12。它是一種性能優(yōu)化的USB器件,通常用于基于微控制器的系統(tǒng)并與微控制器通過高速并行接口進行通信,也支持本地DMA傳輸。該器件采用模塊化的方法實現(xiàn)一個USB接口,允許在眾多可用的微控制器中選擇最合適的作為系統(tǒng)微控制器;允許使用現(xiàn)存的體系結(jié)構(gòu)并使固件投資減到最小,是開發(fā)低成本且高效的USB外圍設(shè)備的解決方案。
微處理器和EEPROM是市場上已經(jīng)成熟的硬件產(chǎn)品,這里采用Atmel公司的單片機和Xicor公司的EEPROM芯片。
2 HID設(shè)備類固件程序設(shè)計
USB1.1協(xié)議定義了11種標準請求,同時定義了6種有關(guān)HID控制流程的特定請求。其中:set_report,get_report,給主機和設(shè)備提供了一條相互傳遞數(shù)據(jù)的途徑。
USB單片機控制程序一般須實現(xiàn)三個步驟:
①初始化單片機和所有的外圍電路(包括PDIUSBD12),然后進入主程序循環(huán);
②在接口要求中斷后必須進入相應的中斷服務(wù)程序;
③固件程序須完成鑒權(quán)、加密、解密的算法。
圖2是模塊程序處理的總體流程圖,可以比較直觀地顯示程序結(jié)構(gòu)。
2.1 系統(tǒng)啟動必須執(zhí)行的通信過程
在沒有安裝驅(qū)動程序時,主機提取51固件程序中設(shè)備描述表,然后設(shè)置USB地址。啟動驅(qū)動程序(如果沒有正確的驅(qū)動程序,則啟動安裝先導),驅(qū)動程序讀取設(shè)備描述表、配置描述符等,設(shè)置配置,即發(fā)出連接USB命令后,PC先讀取設(shè)備描述符,然后發(fā)出設(shè)置USB地址SETUP包。設(shè)置USB地址后,進行PC客戶驅(qū)動與設(shè)備初始化。
2.2 USB設(shè)備啟動流程
①USB設(shè)備接入USB口,發(fā)出連接USB命令。
②主機發(fā)出讀設(shè)備描述符兩次。
③主機根據(jù)設(shè)備描述符—廠商ID、產(chǎn)品ID,啟動相應設(shè)備驅(qū)動程序。
④設(shè)備驅(qū)動程序初始化USB設(shè)備:
a讀設(shè)備描述符;
b讀配置描述符;
c選擇接口、端點(管道),確定傳輸方式。
注意:在發(fā)送配置[,接口(1),端點(1),接口(2),端點(2),…,類,廠商等]聯(lián)合描述表時,各描述表的先后順序可隨意,主機USBD根據(jù)描述表類型標識區(qū)分各種分描述表。
2.3 固件主程序通信主程序
中斷后主程序主要是通過中斷事件標志判斷并且執(zhí)行相應的程序代碼。主程序流程簡圖如圖3所示。
主程序的示例程序代碼見網(wǎng)絡(luò)補充版(http://.cn)。
2.4 處理主機標準控制請求
由于中斷程序是通過USB接口芯片觸發(fā)的,因此它必須判斷是何種中斷,是否進行處理等情況。中斷程序流程簡圖如圖4所示。
2.5 系統(tǒng)中斷程序中斷處理代碼示例
unsigned char ENDPOINT_A0_FIFO[8];
//判斷輸入的是SETUP請求,并將其讀入緩沖區(qū)ENDPOINT_A0_FIFO...
if((ENDPOINT_A0_FIFO[0]
【無驅(qū)動USB認證模塊在電子商務(wù)中的應用】相關(guān)文章:
電子商務(wù)應用論文11-02
時間驅(qū)動作業(yè)成本法在商業(yè)銀行的應用淺探08-28
加快電子商務(wù)在我國農(nóng)業(yè)產(chǎn)業(yè)化中的應用(通用7篇)07-27
電子商務(wù)應用論文15篇11-02
電子商務(wù)應用論文(15篇)11-02
淺談刑事痕跡勘驗工作中電子證據(jù)的收集與認證04-29
電子商務(wù)應用論文(通用15篇)11-02
氣管插管在院前急救中的應用05-29