日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 智能硬件 > 智能硬件
[導讀]介紹關于無驅(qū)動型USB產(chǎn)品HID接口的設計過程,討論產(chǎn)品的軟硬件開發(fā)過程中的一些問題,給出參考示例代碼。

  摘要:USB作為一種新型的接口技術在電子商務平臺有其獨特的優(yōu)勢。本文主要介紹關于無驅(qū)動型USB產(chǎn)品HID接口的設計過程,討論產(chǎn)品的軟硬件開發(fā)過程中的一些問題,給出參考示例代碼。

    關鍵詞:USB 人機接口設備(HID) 電子商務 安全認證 接口技術

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)品,所有的關于USB接口方面的芯片全部由國外供給,而國內(nèi)卻沒有任何技術方面的支持,因此開發(fā)進度很難保證。面向芯片的開發(fā)系統(tǒng)更是相對的遲緩。其次,USB產(chǎn)品的軟件研發(fā)也并不是很容易的。USB協(xié)議將設備分為不同的類型,每個設備類型都定義了類似功能設備的共同行為和協(xié)議。例如,HID人機接口設備主指用于人控制計算機系統(tǒng)操作的器件。對設備進行分類是了消除不同硬件廠商之間的差異,相同類型的設備都由一組標準定義的功能模塊組成。這樣,如果自己開發(fā)的一些設備類,可能是沒有驅(qū)動程序的,就面臨著驅(qū)動的開發(fā)問題;而驅(qū)動開發(fā)是大家公認的有難度的問題等待,都限制了國內(nèi)USB產(chǎn)品的開發(fā)。

USB產(chǎn)品同時也沖南昌著電子商務平臺?,F(xiàn)在電子商務在社會生產(chǎn)日益廣泛,但是網(wǎng)絡系統(tǒng)是一個開放的系統(tǒng),存在大量不安全的因素。因此,利用各個電子商務公司開發(fā)出的各種密鑰管理系統(tǒng)、證書系統(tǒng);同時,利用計算機的USB接口特點開發(fā)出方便的硬件安全認證證書,已經(jīng)成為各個認證公司追求的安全解決方案。該產(chǎn)品以其方便、靈活、安全等特點,在電子商務中已經(jīng)應用,并且近年來在金融行業(yè)與智能卡逐漸形成并立的趨勢。

1 安全認證模塊硬件結(jié)構(gòu)

圖1為認證模塊的簡要結(jié)構(gòu)框圖。

幾乎所有的硬件廠商都有USB接口芯片的相關產(chǎn)品,選擇也很多,這里選用的是PDIUSBD12。它是一種性能優(yōu)化的USB器件,通常用于基于微控制器的系統(tǒng)并與微控制器通過高速并行接口進行通信,也支持本地DMA傳輸。該器件采用模塊化的方法實現(xiàn)一個USB接口,允許在眾多可用的微控制器中選擇最合適的作為系統(tǒng)微控制器;允許使用現(xiàn)存的體系結(jié)構(gòu)并使固件投資減到最小,是開發(fā)低成本且高效的USB外圍設備的解決方案。

微處理器和EEPROM是市場上已經(jīng)成熟的硬件產(chǎn)品,這里采用Atmel公司的單片機和Xicor公司的EEPROM芯片。

2 HID設備類固件程序設計

USB1.1協(xié)議定義了11種標準請求,同時定義了6種有關HID控制流程的特定請求。其中:set_report,get_report,給主機和設備提供了一條相互傳遞數(shù)據(jù)的途徑。

USB單片機控制程序一般須實現(xiàn)三個步驟:

①初始化單片機和所有的外圍電路(包括PDIUSBD12),然后進入主程序循環(huán);

②在接口要求中斷后必須進入相應的中斷服務程序;

③固件程序須完成鑒權、加密、解密的算法。

圖2是模塊程序處理的總體流程圖,可以比較直觀地顯示程序結(jié)構(gòu)。

2.1 系統(tǒng)啟動必須執(zhí)行的通信過程

在沒有安裝驅(qū)動程序時,主機提取51固件程序中設備描述表,然后設置USB地址。啟動驅(qū)動程序(如果沒有正確的驅(qū)動程序,則啟動安裝先導),驅(qū)動程序讀取設備描述表、配置描述符等,設置配置,即發(fā)出連接USB命令后,PC先讀取設備描述符,然后發(fā)出設置USB地址SETUP包。設置USB地址后,進行PC客戶驅(qū)動與設備初始化。

2.2 USB設備啟動流程

①USB設備接入USB口,發(fā)出連接USB命令。

②主機發(fā)出讀設備描述符兩次。

③主機根據(jù)設備描述符—廠商ID、產(chǎn)品ID,啟動相應設備驅(qū)動程序。

④設備驅(qū)動程序初始化USB設備:

a讀設備描述符;

b讀配置描述符;

c選擇接口、端點(管道),確定傳輸方式。

注意:在發(fā)送配置[,接口(1),端點(1),接口(2),端點(2),…,類,廠商等]聯(lián)合描述表時,各描述表的先后順序可隨意,主機USBD根據(jù)描述表類型標識區(qū)分各種分描述表。

2.3 固件主程序通信主程序

中斷后主程序主要是通過中斷事件標志判斷并且執(zhí)行相應的程序代碼。主程序流程簡圖如圖3所示。

主程序的示例程序代碼見網(wǎng)絡補充版(http://www.dpj.com.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]&0b01100000)= =0x00){

if(ENDPOINT_A0_FIFO[1]<=0x0C){

(*StandardFunctionTable[ENDPOINT_A0_FIFO[1]])();

return;

}

}

[1]處理主機標準控制請求:

void SetAddress(void){

if(ENDPOINT_A0_FIFO[0]= =0b00000000){

//保存USB地址x80|ENDPOINT_A0_FIFO[2];

}

}

注:SetAddress請求實際可分成三個階段:第一階段,Setup包被送至設備;第二個階段是可有可無的階段,數(shù)據(jù)在設備與主機之間傳送;第三階段,狀態(tài)信息在主機與設備之間傳送。

數(shù)據(jù)與狀態(tài)傳送的方向要看是主機發(fā)數(shù)據(jù)給設備還是設備發(fā)數(shù)據(jù)給主機。狀態(tài)的傳送方向總是與數(shù)據(jù)傳送方向是相反的。如果沒有數(shù)據(jù)傳輸階段,則狀態(tài)由設備傳向主機。

Setup包傳送以后的兩個階段的地址保持與Setup包傳送階段一致。USB設備只有在Status階段過后才能改變設備地址。

獲取設備描述符的程序網(wǎng)絡補充版(http://www.dpj.com.cn)。

2.6 數(shù)據(jù)通信處理以及安全認證處理程序

由于本模塊的主要功能是作為電子商務中的鑰匙和證明書,因此是關鍵技術。其中以內(nèi)部密鑰的處理過程及加密解密算法模塊為核心技術。

get_report和set_report是HID類設備與主機通信的特定方式,HID規(guī)范定義的特定的標準請求。當主機與HID設備通過get_report(主機從設備獲?。┗騭et_report(設備接受數(shù)據(jù))傳遞數(shù)據(jù)時,必須有一個密鑰的傳送遞鑒定過程。圖5是主機和模塊讀取數(shù)據(jù)的過程描述。

值得指出的是,EEPROM中的數(shù)據(jù)都是經(jīng)過CPU加密寫入的,同時對重要數(shù)據(jù)設置了保護,即使別人獲取也很難短破譯;用戶只要申請丟失,即可馬上報廢。

3 HID類應用軟件設計

建立設備驅(qū)動程序與Windows應用程序接口有兩種方法:

① 設備驅(qū)動程序創(chuàng)建內(nèi)核設備名和符號連接名,Widows應用程序調(diào)用。

CreateFile(" u31526符號連接名",

GENERIC_READ|GENERIC_WRITE,

FILE_SHARE_READ|FILE_SHARE_WRITE,

NULL,OPEN_EXISTING,F(xiàn)ILE_ATTRIBUTE_NORMAL,NULL);

②設備驅(qū)動程序創(chuàng)建設備接口。Windows應用程序可調(diào)用下列包裝好的函數(shù),打開一個設備,見網(wǎng)絡補充版。

③應用API函數(shù)進行應用程序和硬件設備的通信,常用方法:ReadFile WriteFile DeviceIoControl CloseHandle。

為應用USB_Createfile需包含下列頭文件:

#include Setupapi.h

#include initguid.h

#include winioctl.h

結(jié)語

USB接口硬件認證模塊裝上計算機后會立刻被系統(tǒng)識別為HID類設備,并且自動裝上驅(qū)動程序。實際證明,該無驅(qū)動的認證模塊已經(jīng)在我公司的應用中起到了不可替代的作用,時它的安全性、控制的靈活性、無驅(qū)動的方便性也使客戶非常滿意。

本站聲明: 本文章由作者或相關機構(gòu)授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟和信息化委員會、上海市發(fā)展和改革委員會、上海市商務委員會、上海市教育委員會、上海市科學技術委員會指導,東浩蘭生(集團)有限公司主辦,東浩蘭生會展集團上海工業(yè)商務展覽有...

關鍵字: 電子 BSP 芯片 自動駕駛

深圳2025年8月26日 /美通社/ -- 8月26日,由博聞創(chuàng)意會展主辦的 第22屆深圳國際電子展暨嵌入式展(elexcon2025)在深圳(福田)會展中心隆重開幕。 作為中國電子與嵌入式技術領域的專業(yè)大展,本屆展會...

關鍵字: 嵌入式 電子 高通 AI

超高功率密度AI電源模塊MPC24380破解算力升級的能源與散熱難題 上海2025年8月27日 /美通社/ -- 8月26日,elexcon2025-第22屆深圳國際電子展正式拉開帷幕。為了表彰在"AI與雙碳"雙線技術...

關鍵字: 電子 AI芯片 PS BSP

上海2025年8月26日 /美通社/ -- 奧特斯亮相在深圳會展中心(福田)舉辦的第22屆深圳國際電子展(ELEXCON 2025)。奧特斯展示了其在高性能半導體封裝載板、高密度互連印制電路板及系統(tǒng)級封裝模塊方面的最新創(chuàng)...

關鍵字: 電子 高性能計算 半導體封裝 封裝技術

首展AI感測機器人 虛實整合方案打造智能工廠 上海2025年8月25日 /美通社/ -- 臺達20日宣布以"AI 賦能 創(chuàng)變永續(xù)智造"為主軸,于2025臺北國際自動化工業(yè)大展登場,展示全球...

關鍵字: 自動化 智能制造 協(xié)作機器人 電子

上海2025年8月19日 /美通社/ -- 隨著科技的迅速發(fā)展,零售市場正經(jīng)歷前所未有的變革。消費者對便捷、高效且安全的購物體驗需求日益提升,促使零售業(yè)者積極尋求創(chuàng)新解決方案,以提升服務質(zhì)量與營運效率。根據(jù)市場研究機構(gòu)G...

關鍵字: POS 平板 電子 BSP

2025年8月13日 – 提供超豐富半導體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Asahi Kasei Microdevices (AKM) 的...

關鍵字: 數(shù)模轉(zhuǎn)換器 USB 無線揚聲器

物聯(lián)網(wǎng)與智能化設備快速普及,供電方式的選擇直接影響設備部署的靈活性、成本與可靠性。PoE(以太網(wǎng)供電)與USB供電作為兩大主流技術,分別在工業(yè)網(wǎng)絡、智能家居、消費電子等領域占據(jù)關鍵地位。本文將從設備適配性、傳輸距離、功率...

關鍵字: PoE USB

在無線技術的發(fā)展歷程中,部署的簡便性往往是成功的關鍵。像Wi-Fi、藍牙和早期的蜂窩技術,只有在集成變得簡單、無縫且實惠時,才能實現(xiàn)大規(guī)模的應用。而如今,Wi-Fi HaLow——一種專為物聯(lián)網(wǎng)(IoT)設計的遠距離、低...

關鍵字: 物聯(lián)網(wǎng) Wi-Fi USB

2025年8月5日 – 專注于引入新品的全球電子元器件和工業(yè)自動化產(chǎn)品授權代理商貿(mào)澤電子 (Mouser Electronics)即日起開售Microchip Technology的新款AVR? SD 8位MCU。AVR...

關鍵字: MCU 工業(yè)自動化 USB
關閉