ip打包后如何加入 xilinx_科普!插上USB设备后电脑是怎么识别的呢?
歡迎FPGA工程師加入官方微信技術(shù)群
每次當插上鼠標或者U盤的時候,電腦是怎么知道是什么設(shè)備的呢?這里用到的就是枚舉了。枚舉,其實就是讓HOST認識這個USB涉筆,并且為該設(shè)備準備資源,建立好主機和設(shè)備之間的數(shù)據(jù)傳遞機制。USB設(shè)備枚舉過程可以分為8個部分:1、? 獲取設(shè)備描述符2、? 復(fù)位3、? 設(shè)置地址4、? 再次獲取設(shè)備描述符5、? 獲取配置描述符6、? 獲取接口、端點描述符7、? 獲取字符串描述符8、? 選擇設(shè)備配置先看一下上篇文章看的USB鼠標枚舉的包吧。那樣更加明顯易懂。
?把枚舉過程和這幅圖對比下,是不是一樣呢?好了,接下去就一部分一部分慢慢分析吧。1、? 獲取設(shè)備描述符這次傳輸方式是控制傳輸,她由5個事務(wù)組成,分別是SETUP、IN、IN、IN、OUT。
首先看第一個事務(wù)即SETUP事務(wù)的data數(shù)據(jù),根據(jù)其數(shù)據(jù)再根據(jù)usb協(xié)議中的setup協(xié)議可以知道其含義了。下面按照自己來看協(xié)議?a、80,她表示的就是設(shè)備要發(fā)送數(shù)據(jù)給主機。b、06,就是獲取描述符。c、00 01,和bRequest對應(yīng),就是??????????? DEVICE,就是設(shè)備的描述符。d、00 00,zeroe、40 00,設(shè)備描述符長度?然后看IN包,就是設(shè)備把她的設(shè)備描述符發(fā)給了主機。??2、? 復(fù)位?這個沒什么好講的了。??3、? 設(shè)置地址
簡單分析下,首先是setup事務(wù),根據(jù)所發(fā)的數(shù)據(jù)和USB的協(xié)議可以知道05:02;?然后是一個IN事務(wù)。?4、? 再次獲取設(shè)備描述符這個是第2部分是一樣的,就不再分析了。??5、? 獲取配置描述符
看第一行就知道了這個是GET_DESCRIPTOR,CONFIGURATION descriptor。下面還是看下具體的事務(wù)吧。
首先還是SETUP事務(wù)了,看數(shù)據(jù)80 06就可以知道了是設(shè)備要發(fā)描述符給主機,而02就表示configuration,就是配置描述符了,
接著就是IN事務(wù),設(shè)備給主機發(fā)送數(shù)據(jù)了。具體的數(shù)據(jù)含義看下圖。
最后就是OUT事務(wù)。
6、? 獲取接口、端點描述符還是老方法,看SETUP事務(wù),和上一個一樣,是獲取配置描述符,這里的配置描述符。
具體含義,看下面的圖就明白了。7、? 獲取字符串描述符
?這里就不多做分析了。??8、? 選擇設(shè)備配置這里,SETUP事務(wù),主要是DEVICE?的?SET_CONFIGURATION。?好了,差不多USB的枚舉就是這么回事了。歡迎通信工程師和FPGA工程師關(guān)注公眾號
FPGA微信技術(shù)群
歡迎大家加入全國FPGA微信技術(shù)群,這里有一群熱愛技術(shù)的工程師,在這里可以一起交流討論技術(shù)!
用手指按住就可以加入FPGA全國技術(shù)群哦
FPGA IP核服務(wù):各類優(yōu)質(zhì)IP核服務(wù)商,服務(wù)到位,有保障!有需求的可以直接聯(lián)系群主!
FPGA技術(shù)群平臺自營:Xilinx?Altera 鎂光、三星、海力士、ADI TI ST NXP 等品牌的優(yōu)勢代理分銷商,歡迎大家有需求隨時發(fā)型號清單,我們將在第一時間為您提供最優(yōu)競爭力的報價!價格低于您原有供應(yīng)商5%以上!歡迎詢價-直接把需求發(fā)給群主!
FPGA技術(shù)群官方鳴謝品牌:Xilinx、 intel(Altera)、microsemi(,Actel)、LattIC e,Vantis,Quicklogic,Lucent等
總結(jié)
以上是生活随笔為你收集整理的ip打包后如何加入 xilinx_科普!插上USB设备后电脑是怎么识别的呢?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cfree运行程序错误的原因_Pytho
- 下一篇: .npy文件_Numpy库使用入门(六)