国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通過libusb實現PC和ZYNQ之間的USB通信

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

掃碼添加小助手

加入工程師交流群

1 概述

libusb是一個免費的跨平臺USB庫,本文在windows平臺下使用libusb庫開發上位機程序與ZYNQ的USB接口進行數據收發測試。libusb可以支持WinUSB驅動,因此為ZYNQ的USB接口設備安裝WinUSB驅動。

libusb網址:https://libusb.info/

windows下開發指南:https://github.com/libusb/libusb/wiki/Windows

2 libusb庫

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

通過libusb實現PC和ZYNQ之間的USB通信

使用VS作為上位機驅動的開發環境,因此需要使用MS32或者MS64文件夾下的dll和lib文件。以及include里的頭文件。

3 ZYNQ裸機程序設計

PS端的USB接口作為Endpoint Device。設計了3個Endpoint,分別為:

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

分別對應控制傳輸、塊傳輸和中斷傳輸。

通過libusb實現PC和ZYNQ之間的USB通信

USB的PID設為0x0007,PID設為0x0001。

通過libusb實現PC和ZYNQ之間的USB通信

設計USB設備的字符串描述。

通過libusb實現PC和ZYNQ之間的USB通信

4 上位機測試程序設計

PC機作為HOST,調用libusb的API函數設計上位機程序,分別測試電腦與開發板USB接口之間的BULK和interrupt模式傳輸速率。實現如下功能:

  • PC->ZYNQ BULK模式發送數據
  • PC->ZYNQ->PC BULK模式數據回環
  • PC->ZYNQ interrupt模式發送數據
  • PC->ZYNQ->PC interrupt模式數據回環

5 USB驅動安裝

安裝libusb驅動。使用Zadig軟件生產使用WinUSB內核的USB驅動,選擇Create New Device。

通過libusb實現PC和ZYNQ之間的USB通信

選擇advance mode

通過libusb實現PC和ZYNQ之間的USB通信

選擇提取驅動文件。

通過libusb實現PC和ZYNQ之間的USB通信

輸入設備名稱ZYNQ USB DEVICE,VID 0x0007,PID0x0001。

通過libusb實現PC和ZYNQ之間的USB通信

選擇驅動文件提取的存放目錄,然后點擊Extract Files

通過libusb實現PC和ZYNQ之間的USB通信

完成后,打開驅動文件所在目錄,可以找到生成的驅動文件。

通過libusb實現PC和ZYNQ之間的USB通信

對于Win10系統,首先要禁用數字簽名。將開發板USB口與電腦連接,將程序通過SDK下載到開發板中,此時電腦設備管理器提示發現新的USB設備。選擇設備,安裝上述目錄下已經生成的USB驅動程序。

6 USB傳輸速率測試

6.1 BULK模式

6.1.1 PC向ZYNQ單向發送

8字節包

通過libusb實現PC和ZYNQ之間的USB通信

64字節包

通過libusb實現PC和ZYNQ之間的USB通信

256字節包

通過libusb實現PC和ZYNQ之間的USB通信

1024字節包

通過libusb實現PC和ZYNQ之間的USB通信

2048字節包

通過libusb實現PC和ZYNQ之間的USB通信

4096字節包

通過libusb實現PC和ZYNQ之間的USB通信

6.1.2 PC與ZYNQ間數據回環

實際速率需要將圖中的速率乘以2倍

8字節包

通過libusb實現PC和ZYNQ之間的USB通信

64字節包

通過libusb實現PC和ZYNQ之間的USB通信

256字節包

通過libusb實現PC和ZYNQ之間的USB通信

1024字節包

通過libusb實現PC和ZYNQ之間的USB通信

2048字節包

通過libusb實現PC和ZYNQ之間的USB通信

4096字節包

通過libusb實現PC和ZYNQ之間的USB通信

6.2 interrupt模式

6.2.1 PC向ZYNQ單向發送數據

8字節包

通過libusb實現PC和ZYNQ之間的USB通信

64字節包

通過libusb實現PC和ZYNQ之間的USB通信

256字節包

通過libusb實現PC和ZYNQ之間的USB通信

1024字節包

通過libusb實現PC和ZYNQ之間的USB通信

2048字節包

通過libusb實現PC和ZYNQ之間的USB通信

4096字節包

通過libusb實現PC和ZYNQ之間的USB通信

6.2.2 PC與ZYNQ間數據回環

實際速率需要將圖中的速率乘以2倍

8字節包

通過libusb實現PC和ZYNQ之間的USB通信

64字節包

通過libusb實現PC和ZYNQ之間的USB通信

256字節包

通過libusb實現PC和ZYNQ之間的USB通信

1024字節包

通過libusb實現PC和ZYNQ之間的USB通信

2048字節包

通過libusb實現PC和ZYNQ之間的USB通信

4096字節包

通過libusb實現PC和ZYNQ之間的USB通信
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • usb
    usb
    +關注

    關注

    60

    文章

    8440

    瀏覽量

    284469
  • 通信
    +關注

    關注

    18

    文章

    6389

    瀏覽量

    140039
  • PC
    PC
    +關注

    關注

    9

    文章

    2167

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于ZYNQ-MZ702P開發板實現以太網通信

    本章以太網通信實驗是基于ZYNQ-MZ702P開發板進行實現,在配置方面,需要讀者自主修改不同的地方。文章末尾有本項目原工程壓縮包,提供參考。
    的頭像 發表于 02-11 11:42 ?907次閱讀
    基于<b class='flag-5'>ZYNQ</b>-MZ702P開發板<b class='flag-5'>實現以太網通信</b>

    如何在Zynq UltraScale+ MPSoC平臺上通過JTAG啟動嵌入式Linux鏡像

    在之前文章中,我們介紹了如何使用 XSCT 工具通過 JTAG 在 Zynq SoC 上啟動嵌入式 Linux 鏡像(從 JTAG 啟動 Zynq-7000 嵌入式 Linux:使用 XSCT 全
    的頭像 發表于 01-13 11:45 ?4402次閱讀

    NICE接口和協處理器之間怎樣實現通信

    NICE接口和協處理器之間怎樣實現通信
    發表于 11-05 12:42

    ZYNQ PS與PL數據交互方式

    ZYNQ SoC 的 PS (Processing System) 和 PL (Programmable Logic) 之間的數據交互是系統設計的核心。
    的頭像 發表于 10-15 10:33 ?1043次閱讀
    <b class='flag-5'>ZYNQ</b> PS與PL數據交互方式

    Texas Instruments USB-TO-GPIO2接口適配器技術解析

    橋接器。USB 接口適配器與主機 PC 之間通信通過 USB
    的頭像 發表于 09-10 15:47 ?992次閱讀

    MA35-RTT如何安裝 Python 和 Libusb (Windows) ?

    MA35-RTT:如何安裝 Python 和 Libusb (Windows) ?
    發表于 09-03 08:30

    請問新唐提供的ISP代碼(USB接口)如何判斷開機后是否需要ISP更新程序?

    并與之通信,并確定是否需要ISP更新。優點是不需要額外的硬件成本,缺點是USB識別需要一段時間。 通常,當使用 USB 作為 ISP 更新的接口時,會使用硬件判定,因為軟件判定需要更長的時間(幾秒鐘)來識別和
    發表于 08-27 07:13

    如何通過USS協議實現變頻器與PLC之間通信

    USS協議(Universal Serial Interface Protocol)是西門子公司專為驅動設備設計的基于串行通信的通用協議,它通過RS485物理接口實現PLC與變頻器等設備的經濟高效
    的頭像 發表于 06-07 17:21 ?1398次閱讀
    如何<b class='flag-5'>通過</b>USS協議<b class='flag-5'>實現</b>變頻器與PLC<b class='flag-5'>之間</b>的<b class='flag-5'>通信</b>?

    CYUSB3014與PC通信幾小時后斷開,通過bus hound抓不到任何通信數據,為什么?

    PC是WIN7系統,PC端APP通過USB3與下位機通信幾個小時以后,通信就會斷開,
    發表于 06-04 08:27

    MCU是否可以使用普通IO口和數據總線控制cy7c68013a,用異步slavefifo模式增加一個與PC通信USB口?

    cy7c68013a的固件已經配置成異步slave模式,是否有MCU用IO口控制cy7c68013a通過數據總線來實現PCUSB通信
    發表于 05-30 06:32

    上位機和下位機之間通信通過什么實現

    上位機和下位機之間通信通過多種方式實現,以下從有線通信和無線通信兩大類別展開介紹: 有線
    的頭像 發表于 05-29 09:24 ?1078次閱讀

    帶有USB C的便攜式設備可以通過USB C轉USB A電纜連接到計算機的USB A嗎?

    通過 PC 進行數據傳輸。 但是我們現在正在解決USB A到PC的向后兼容問題,這樣即使沒有USB C連接器,用戶也可以將我們的設備連接到
    發表于 05-27 06:29

    使用libusb可以打開libusb設備,但是無法燒寫固件,為什么?

    我使用libusb可以打開libusb設備,但是無法燒寫固件,我需要在執行燒錄固件之前,還需要做什么步驟
    發表于 05-23 07:34

    如何在FX3和FX10芯片上運行/實現USB 3.0批量流?

    我們正在嘗試在 FX3 和 FX10 芯片上運行/實現 USB 3.0 批量流(單個 IN 端點上的多個流)。 到目前為止,我們已經能夠在 FX10 上實現它們(兩個流的枚舉),并嘗試 FX3 上
    發表于 05-09 06:10

    請問k230可否和樹莓派通過USB-typeC線來通信

    能否讓一根線接樹莓派的USB接口同時接到k230的tpyeC接口,同時供電和通信,將k230視覺獲取的信息傳給樹莓派。這個能實現嗎有沒有什么學習的例程?求各位大佬教教 你好,可以讓樹莓派做us
    發表于 04-28 08:25