99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

C29F_xilinx_inc ? 來(lái)源:賽靈思 ? 作者:賽靈思 ? 2022-02-19 19:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 概述

libusb是一個(gè)免費(fèi)的跨平臺(tái)USB庫(kù),本文在windows平臺(tái)下使用libusb庫(kù)開(kāi)發(fā)上位機(jī)程序與ZYNQ的USB接口進(jìn)行數(shù)據(jù)收發(fā)測(cè)試。libusb可以支持WinUSB驅(qū)動(dòng),因此為ZYNQ的USB接口設(shè)備安裝WinUSB驅(qū)動(dòng)。

libusb網(wǎng)址:https://libusb.info/

windows下開(kāi)發(fā)指南:https://github.com/libusb/libusb/wiki/Windows

2 libusb庫(kù)

https://libusb.info/可以下載libusb庫(kù),目前的最新版本是1.0.23。解壓后的目錄如下:

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

使用VS作為上位機(jī)驅(qū)動(dòng)的開(kāi)發(fā)環(huán)境,因此需要使用MS32或者M(jìn)S64文件夾下的dll和lib文件。以及include里的頭文件。

3 ZYNQ裸機(jī)程序設(shè)計(jì)

PS端的USB接口作為Endpoint Device。設(shè)計(jì)了3個(gè)Endpoint,分別為:

Endpoint 0:control endpoint
Endpoint 1:BULK endpoint
Endpoint 2:interrupt endpoint

分別對(duì)應(yīng)控制傳輸、塊傳輸和中斷傳輸。

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

USB的PID設(shè)為0x0007,PID設(shè)為0x0001。

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

設(shè)計(jì)USB設(shè)備的字符串描述。

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

4 上位機(jī)測(cè)試程序設(shè)計(jì)

PC機(jī)作為HOST,調(diào)用libusb的API函數(shù)設(shè)計(jì)上位機(jī)程序,分別測(cè)試電腦與開(kāi)發(fā)板USB接口之間的BULK和interrupt模式傳輸速率。實(shí)現(xiàn)如下功能:

  • PC->ZYNQ BULK模式發(fā)送數(shù)據(jù)
  • PC->ZYNQ->PC BULK模式數(shù)據(jù)回環(huán)
  • PC->ZYNQ interrupt模式發(fā)送數(shù)據(jù)
  • PC->ZYNQ->PC interrupt模式數(shù)據(jù)回環(huán)

5 USB驅(qū)動(dòng)安裝

安裝libusb驅(qū)動(dòng)。使用Zadig軟件生產(chǎn)使用WinUSB內(nèi)核的USB驅(qū)動(dòng),選擇Create New Device。

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

選擇advance mode

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

選擇提取驅(qū)動(dòng)文件。

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

輸入設(shè)備名稱(chēng)ZYNQ USB DEVICE,VID 0x0007,PID0x0001。

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

選擇驅(qū)動(dòng)文件提取的存放目錄,然后點(diǎn)擊Extract Files

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

完成后,打開(kāi)驅(qū)動(dòng)文件所在目錄,可以找到生成的驅(qū)動(dòng)文件。

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

對(duì)于Win10系統(tǒng),首先要禁用數(shù)字簽名。將開(kāi)發(fā)板USB口與電腦連接,將程序通過(guò)SDK下載到開(kāi)發(fā)板中,此時(shí)電腦設(shè)備管理器提示發(fā)現(xiàn)新的USB設(shè)備。選擇設(shè)備,安裝上述目錄下已經(jīng)生成的USB驅(qū)動(dòng)程序。

6 USB傳輸速率測(cè)試

6.1 BULK模式

6.1.1 PC向ZYNQ單向發(fā)送

8字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

64字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

256字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

1024字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

2048字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

4096字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

6.1.2 PC與ZYNQ間數(shù)據(jù)回環(huán)

實(shí)際速率需要將圖中的速率乘以2倍

8字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

64字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

256字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

1024字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

2048字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

4096字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

6.2 interrupt模式

6.2.1 PC向ZYNQ單向發(fā)送數(shù)據(jù)

8字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

64字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

256字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

1024字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

2048字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

4096字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

6.2.2 PC與ZYNQ間數(shù)據(jù)回環(huán)

實(shí)際速率需要將圖中的速率乘以2倍

8字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

64字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

256字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

1024字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

2048字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信

4096字節(jié)包

通過(guò)libusb實(shí)現(xiàn)PC和ZYNQ之間的USB通信
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    8193

    瀏覽量

    273195
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6207

    瀏覽量

    137871
  • PC
    PC
    +關(guān)注

    關(guān)注

    9

    文章

    2152

    瀏覽量

    156602
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何通過(guò)USS協(xié)議實(shí)現(xiàn)變頻器與PLC之間通信?

    USS協(xié)議(Universal Serial Interface Protocol)是西門(mén)子公司專(zhuān)為驅(qū)動(dòng)設(shè)備設(shè)計(jì)的基于串行通信的通用協(xié)議,它通過(guò)RS485物理接口實(shí)現(xiàn)PLC與變頻器等設(shè)備的經(jīng)濟(jì)高效
    的頭像 發(fā)表于 06-07 17:21 ?314次閱讀
    如何<b class='flag-5'>通過(guò)</b>USS協(xié)議<b class='flag-5'>實(shí)現(xiàn)</b>變頻器與PLC<b class='flag-5'>之間</b>的<b class='flag-5'>通信</b>?

    CYUSB3014與PC通信幾小時(shí)后斷開(kāi),通過(guò)bus hound抓不到任何通信數(shù)據(jù),為什么?

    PC是WIN7系統(tǒng),PC端APP通過(guò)USB3與下位機(jī)通信幾個(gè)小時(shí)以后,通信就會(huì)斷開(kāi),
    發(fā)表于 06-04 08:27

    MCU是否可以使用普通IO口和數(shù)據(jù)總線(xiàn)控制cy7c68013a,用異步slavefifo模式增加一個(gè)與PC通信USB口?

    cy7c68013a的固件已經(jīng)配置成異步slave模式,是否有MCU用IO口控制cy7c68013a通過(guò)數(shù)據(jù)總線(xiàn)來(lái)實(shí)現(xiàn)PCUSB通信,
    發(fā)表于 05-30 06:32

    上位機(jī)和下位機(jī)之間通信通過(guò)什么實(shí)現(xiàn)

    上位機(jī)和下位機(jī)之間通信通過(guò)多種方式實(shí)現(xiàn),以下從有線(xiàn)通信和無(wú)線(xiàn)通信兩大類(lèi)別展開(kāi)介紹: 有線(xiàn)
    的頭像 發(fā)表于 05-29 09:24 ?290次閱讀

    CY7C65215-32LTXI插入USB查到PC上無(wú)法識(shí)別到USB端口怎么解決?

    目前的現(xiàn)象就是板子通過(guò)USB查到PC上無(wú)法識(shí)別到USB端口,沒(méi)有任何反應(yīng),電源都是正常的.幫看下電路圖設(shè)計(jì)是否有問(wèn)題,謝謝!
    發(fā)表于 05-28 06:47

    帶有USB C的便攜式設(shè)備可以通過(guò)USB C轉(zhuǎn)USB A電纜連接到計(jì)算機(jī)的USB A嗎?

    通過(guò) PC 進(jìn)行數(shù)據(jù)傳輸。 但是我們現(xiàn)在正在解決USB A到PC的向后兼容問(wèn)題,這樣即使沒(méi)有USB C連接器,用戶(hù)也可以將我們的設(shè)備連接到
    發(fā)表于 05-27 06:29

    使用libusb可以打開(kāi)libusb設(shè)備,但是無(wú)法燒寫(xiě)固件,為什么?

    我使用libusb可以打開(kāi)libusb設(shè)備,但是無(wú)法燒寫(xiě)固件,我需要在執(zhí)行燒錄固件之前,還需要做什么步驟
    發(fā)表于 05-23 07:34

    如何在FX3和FX10芯片上運(yùn)行/實(shí)現(xiàn)USB 3.0批量流?

    我們正在嘗試在 FX3 和 FX10 芯片上運(yùn)行/實(shí)現(xiàn) USB 3.0 批量流(單個(gè) IN 端點(diǎn)上的多個(gè)流)。 到目前為止,我們已經(jīng)能夠在 FX10 上實(shí)現(xiàn)它們(兩個(gè)流的枚舉),并嘗試 FX3 上
    發(fā)表于 05-09 06:10

    是否可以通過(guò)3014將數(shù)據(jù)從pc傳輸?shù)紽PGA?

    我正在設(shè)計(jì)一個(gè)系統(tǒng),通過(guò) USB 3.0 將圖片數(shù)據(jù)從 PC 下載到 FPGA,然后 FPGA 在 LCD 上顯示圖像。 我需要一種方法讓 FPGA 將狀態(tài)(下載了多少圖像以及 LCD 上顯示了
    發(fā)表于 05-08 06:56

    請(qǐng)問(wèn)k230可否和樹(shù)莓派通過(guò)USB-typeC線(xiàn)來(lái)通信

    能否讓一根線(xiàn)接樹(shù)莓派的USB接口同時(shí)接到k230的tpyeC接口,同時(shí)供電和通信,將k230視覺(jué)獲取的信息傳給樹(shù)莓派。這個(gè)能實(shí)現(xiàn)嗎有沒(méi)有什么學(xué)習(xí)的例程?求各位大佬教教 你好,可以讓樹(shù)莓派做us
    發(fā)表于 04-28 08:25

    zynq通過(guò)什么接口去控制DLP?

    我是用ZYNQ控制DLP,DLP的投影,給sensor采集。我的問(wèn)題是zynq通過(guò)什么接口去控制DLP。DLP和sensor沒(méi)有物理連接,sensor會(huì)直接拍DLP的投影
    發(fā)表于 02-21 06:56

    利用FPGA實(shí)現(xiàn)USB 2.0通信接口

    USB?2.0接口的實(shí)現(xiàn)方式 利用FPGA來(lái)實(shí)現(xiàn)USB 2.0接口的方式一般有兩種,一是借助外圍的USB接口芯片,二是FPGA內(nèi)部
    的頭像 發(fā)表于 12-30 13:59 ?2903次閱讀
    利用FPGA<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>USB</b> 2.0<b class='flag-5'>通信</b>接口

    可以不通過(guò)pc使用usb2any連接dac81416嗎?

    Q1:用軟件連接設(shè)置dac81416的每個(gè)通道的電壓值之后,怎樣可以斷開(kāi)usb2any之后,dac81416每個(gè)通道還能輸出之前設(shè)置的值。 Q2:可以不通過(guò)pc使用usb2any連接
    發(fā)表于 12-03 06:57

    UART通信協(xié)議介紹和數(shù)據(jù)傳輸工作流程

    UART是一種通用串行數(shù)據(jù)總線(xiàn),用于異步通信。該總線(xiàn)雙向通信,可實(shí)現(xiàn)全雙工傳輸和接收。UART通常用來(lái)實(shí)現(xiàn)PC
    的頭像 發(fā)表于 10-24 14:20 ?2284次閱讀
    UART<b class='flag-5'>通信</b>協(xié)議介紹和數(shù)據(jù)傳輸工作流程

    如何實(shí)現(xiàn)51單片機(jī)與PC機(jī)的串行通信

    51單片機(jī)與PC機(jī)的串行通信是一種常見(jiàn)的通信方式,它允許單片機(jī)通過(guò)串行接口與PC機(jī)進(jìn)行數(shù)據(jù)交換。這種通信
    的頭像 發(fā)表于 10-21 11:35 ?2684次閱讀