国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于PDIUSBD12的USB接口設計應用研究

2010-11-07 08:40:44劉彥黔南民族師范學院計算機科學系558000
中國科技信息 2010年9期
關鍵詞:枚舉描述符外設

劉彥 黔南民族師范學院計算機科學系 558000

基于PDIUSBD12的USB接口設計應用研究

劉彥 黔南民族師范學院計算機科學系 558000

USB設備的廣泛使用,使得USB接口的設計與開發(fā)越來越重要,PHILIPS公司的USB接口控制芯片PDIUSBD12性價比高簡單易用,是較為理想的USB接口設計開發(fā)芯片。文章主要從主機與PDIUSBD12之間的數(shù)據(jù)通信過程的層面來介紹USB設備的設計開發(fā)。

USB;PDIUSBD12;端點;描述符

1.引言

USB以其傳輸速度快、可靠性高、易于擴展、功耗低等優(yōu)點已被廣泛地應用在計算機外設中,已成為計算機與外設通信的主流接口。而PHILIPS公司的PDIUSBD12芯片以其價格便宜、接口方便、可靠性高等特點較為廣泛的在USB設備接口系統(tǒng)中被選用。PDIUSBD12芯片是純粹的USB接口芯片,僅負責處理USB的通信,設計時還必須要選用一個MCU來進行協(xié)議處理和數(shù)據(jù)交換。

2.USB設備的插入檢測

USB主機輪流查詢各個USB端口,當USB設備插入USB端口時由PDIUSBD12內(nèi)部集成的上拉電阻使主機檢測到D+與D-之間有電壓差,就認為有新的USB設置接入。

3.USB設備的枚舉

USB枚舉指的是USB主機從USB設備讀取USB的各種描述符信息,從而知道是什么設備,如何進行通信等,然后根據(jù)這些信息來加載合適的驅(qū)動程序。

3.1 獲取部分設備描述符請求

主機檢測到有新的USB設置接入等待100ms后向USB設備發(fā)出復位請求,USB設備接到復位請求后,設置其地址為0,并產(chǎn)生一個外部中斷信號通知主機,新接入的USB可以地址0來進行通信,然后USB主機向地址為0的設備的端點0發(fā)送獲取設備描述符請求,設備收到該請求后,按固定格式返回一個端點0所支持的最大數(shù)據(jù)包的設備描述符給主機。由于PDIUSBD12的端點0只有16個字節(jié)(在所獲取的設備描述符的第8個字節(jié)處可看到PDIUSBD12端點0的最大包長),而標準的設備描述符為18字節(jié),這一次的請求只能獲取部分(16個字節(jié))設備描述符。

3.2 設置USB設備地址

在第一次復位并獲取部分設備描述符后,USB主機再對設備復位一次,并往地址0的端點0發(fā)出一個SET_ADDRESS設置地址的請求(見表1),該地址是由USB主機負責分配并且是唯一的。USB設備在收到該地址后,返回0長度的狀態(tài)包,主機收到狀態(tài)包,就會返回一個應答包ACK給設備。設備在收到這個ACK之后,就可以啟用新的地址了。這樣設備就分配到了一個唯一的設備地址,以后主機就可以通過它來進行訪問該設備了。

表1 SET_ADDRESS請求的結構

3.3 獲取完整設備描述符請求

在USB設備啟用新地址后,USB主機重新向新地址發(fā)出獲取設備描述符的請求,這一次主機將分兩次從PDIUSBD12的端點0中獲取完整的18個字節(jié)(16+2)的設備描述符,從而獲知USB設備的基礎屬性,如支持的傳輸數(shù)據(jù)長度、所用USB協(xié)議版本、設備版本號、PID、VID等,設備描述符的結構見表2。

3.4 獲取配置描述符請求

在獲取完整的設備描述符之后,主機就會發(fā)送一個試探性的GET_CONFIGURATION獲取配置描述符的請求,USB設備收到該請求后就返回9字節(jié)的配置描述符(其結構見表3)。

3.5 獲取配置描述符集合請求

在第一次獲取配置描述符后,就可以知道配置描述符集合的總長度,然后再發(fā)一次GET_CONFIGURATION請求,這時主機將分三次從PDIUSBD12的端點0中獲取完整的34個字節(jié)(16+16+2)的配置描述符集合——9字節(jié)的配置描述符、9字節(jié)的接口描述符、9字節(jié)的HID描述符、7字節(jié)的端點描述符。

3.6 獲取其它描述符

在獲取了必須的設備描述符和配置描述符集合后,還可選擇是否獲取字符串描述符和報告描述符。字符串描述符可表述所要顯示的設備信息的文字,報告描述符是USB HID設備用來傳送數(shù)據(jù)的,這里不作詳細介紹。

完成USB設備的枚舉后,主機就能知道USB設備工作方式的各種特性,正式識別USB設備并能與之進行數(shù)據(jù)通信,就可以自己寫測驅(qū)動或使用通用驅(qū)動與計算機進行通信了。

4.PDIUSBD12驅(qū)動程序設計

PDIUSBD12的驅(qū)動程序設計主要實現(xiàn)三個功能:(1)初始化PDIUSBD12和與之相連的MCU,包括PDIUSBD12的復位和初始化全局變量;(2)在枚舉過程中為每一次的請求(如獲取設備描述符請求)編寫中斷服務程序;(3)用戶讀/寫端點的函數(shù)。

5.結束語

USB技術的日益成熟,越來越多的計算機外設使用USB接口,使得USB接口的設計開發(fā)顯得尤為重要,而設計開發(fā)USB接口設備必須對數(shù)據(jù)的通信過程有深入認識,本文以PDIUSBD12作為USB設備的接口控制芯片詳細深入地介紹了主機與USB接口間的數(shù)據(jù)通信過程,開發(fā)者可根據(jù)此過程編寫相應的服務程序便可完成USB設備的開發(fā)。

表2 設備描述符的結構

表3 設備描述符的結構

[1]范曉青,袁中凡,歐協(xié)峰.PDIUSBD12的USB接口設計中的應用[J].儀器儀表用戶.2009,2.

[2]張安生.PDIUSBD12在USB接口設計中的應用探析[J].現(xiàn)代教育設備.2008,2.

[3]劉榮.圈圈教你玩USB[M].北京航空航天大學出版社.2009.

10.3969/j.issn.1001-8972.2010.09.055

劉彥(1977-),男(仡佬族),貴州都勻,黔南民族師范學院計算機科學系講師,研究方向為硬件技術。

猜你喜歡
枚舉描述符外設
基于理解性教學的信息技術教學案例研究
速讀·上旬(2022年2期)2022-04-10 16:42:14
基于結構信息的異源遙感圖像局部特征描述符研究
測繪學報(2022年12期)2022-02-13 09:13:01
一種高效的概率圖上Top-K極大團枚舉算法
基于AKAZE的BOLD掩碼描述符的匹配算法的研究
Linux單線程并發(fā)服務器探索
利用CNN的無人機遙感影像特征描述符學習
基于太陽影子定位枚舉法模型的研究
Microchip推出具備雙ADC外設的全新器件,擴展其低成本8位PIC?單片機產(chǎn)品線
USB開發(fā)中易混淆的概念剖析
貼身呵護 必不可少的PSP外設
尚义县| 广汉市| 安远县| 荥经县| 政和县| 三原县| 河津市| 上林县| 通榆县| 延安市| 都安| 介休市| 永丰县| 阿城市| 建宁县| 永泰县| 宁津县| 许昌市| 茶陵县| 邳州市| 扬中市| 蚌埠市| 京山县| 昔阳县| 大姚县| 白玉县| 莲花县| 乌苏市| 弋阳县| 吉木乃县| 连平县| 聊城市| 金塔县| 博爱县| 盐亭县| 石河子市| 呼伦贝尔市| 大悟县| 隆回县| 枞阳县| 广德县|